ماڊل جي ڪارڪردگي کي بهتر ڪرڻ جو بنيادي طريقو نقصان جو اندازو آهي. توهان کي پڪ ڪرڻ جي ضرورت آهي ته نقصان مناسب آهي مسئلي سان ۽ نقصان جي ڪم کي درست پيماني تي درجه بندي ڪئي وئي آهي. جيڪڏهن توهان هڪ کان وڌيڪ نقصان جي قسم استعمال ڪندا آهيو، پڪ ڪريو ته اهي سڀئي ساڳيا ترتيب آهن ۽ صحيح طور تي ماپيل آهن.
اهو ضروري آهي ته ابتدائي نقصان تي ڌيان ڏيڻ گهرجي. چيڪ ڪريو ته حقيقي نتيجو متوقع نتيجن کي ڪيترو ويجهو آهي جيڪڏهن ماڊل هڪ بي ترتيب اندازي سان شروع ڪيو. IN Andrey Karpathy جي ڪم هيٺ ڏنل مشورو ڏئي ٿو:: "پڪ ڪريو ته توھان اھو نتيجو حاصل ڪندا آھيو جنھن جي توھان توقع ڪندا آھيو جڏھن توھان شروع ڪندا آھيو ھڪڙي ننڍڙي تعداد سان. اهو بهتر آهي ته فوري طور تي ڊيٽا جي نقصان جي جانچ ڪريو (صفر تي مقرر ڪيل ريگيوليشن جي درجي سان). مثال طور، CIFAR-10 لاءِ Softmax classifier سان، اسان کي ابتدائي نقصان 2.302 ٿيڻ جي اميد آهي ڇاڪاڻ ته متوقع ڊفيوز امڪان هر طبقي لاءِ 0,1 آهي (جيئن ته 10 طبقا آهن) ۽ Softmax نقصان صحيح طبقي جي منفي لاگ جو امڪان آهي. جيئن - ln (0.1) = 2.302.
بائنري مثال لاءِ، ھڪڙو ساڳيو حساب صرف ھر ھڪڙي طبقي لاءِ ٺاھيو ويو آھي. هتي، مثال طور، ڊيٽا آهي: 20٪ 0 جي ۽ 80٪ 1 جي. متوقع ابتدائي نقصان -0,2ln (0,5) -0,8ln (0,5) = 0,693147 تائين ٿيندو. جيڪڏهن نتيجو 1 کان وڌيڪ آهي، اهو ظاهر ڪري سگھي ٿو ته نيورل نيٽ ورڪ وزن صحيح طور تي متوازن نه آهي يا ڊيٽا عام نه آهي.
وچولي نتيجا ۽ ڪنيڪشن چيڪ ڪرڻ
هڪ اعصابي نيٽ ورڪ کي ڊيب ڪرڻ لاء، اهو ضروري آهي ته نيٽ ورڪ جي اندر عمل جي متحرڪ ۽ انفرادي وچولي تہه جي ڪردار کي سمجهڻ لاء جيئن اهي ڳنڍيل آهن. هتي اهي عام غلطيون آهن جن کي توهان منهن ڏئي سگهو ٿا:
گريڊ اپڊيٽ لاء غلط اظهار؛
وزن اپڊيٽ لاڳو نه آهن؛
ڌماڪيدار مادو.
جيڪڏهن تدريسي قدر صفر آهن، ان جو مطلب اهو آهي ته اصلاح ڪندڙ ۾ سکيا جي شرح تمام سست آهي، يا اهو آهي ته توهان گريڊينٽ کي اپڊيٽ ڪرڻ لاءِ غلط اظهار کي منهن ڏئي رهيا آهيو.
ان کان سواء، اهو ضروري آهي ته هر هڪ پرت جي چالو ڪرڻ جي ڪارڪردگي، وزن ۽ تازه ڪاري جي قدرن جي نگراني ڪرڻ. مثال طور، پيٽرولر اپڊيٽ جي شدت (وزن ۽ تعصب) 1-e3 هجڻ گهرجي.
اتي ھڪڙو رجحان آھي "مرڻ ReLU" يا "گم ٿيڻ واري تدريسي مسئلو"، جڏهن ري ايل يو نيورسن پنهنجي وزن لاءِ وڏي منفي تعصب جي قيمت سکڻ کان پوءِ صفر کي ٻاھر ڪڍندو. اهي نيورون ڪڏهن به ڊيٽا ۾ ڪنهن به نقطي تي ٻيهر فائر نه ڪيا ويا آهن.
توھان انھن غلطين کي سڃاڻڻ لاءِ گريڊيئنٽ چيڪنگ استعمال ڪري سگھو ٿا انگن اکرن کي استعمال ڪندي گريڊيئنٽ کي لڳ ڀڳ. جيڪڏهن اهو ڳڻپيوڪر گريجوئيٽ جي ويجهو آهي، ته پوءِ پٺڀرائي صحيح طريقي سان لاڳو ڪئي وئي هئي. گريجوئيٽ چيڪ ٺاهڻ لاءِ، CS231 کان هنن عظيم وسيلن کي چيڪ ڪريو هتي и هتي، انهي سان گڏ سبق Andrew Nga هن موضوع تي.
فيضان شيخ هڪ اعصابي نيٽ ورڪ کي ڏسڻ لاء ٽي مکيه طريقا ڏيکاري ٿو:
ابتدائي سادي طريقا آھن جيڪي اسان کي تربيتي ماڊل جي عام جوڙجڪ ڏيکاريندا آھن. انهن ۾ شامل آهن شڪلين جي پيداوار يا فلٽرن جي انفرادي پرتن جي نيورل نيٽ ورڪ ۽ هر پرت اندر پيرا ميٽر.
فعال ٿيڻ جي بنياد تي. انهن ۾، اسان انفرادي نيورسن يا نيورسن جي گروپن جي سرگرمين کي سمجھڻ لاء انهن جي افعال کي سمجھندا آهيون.
گريجوئيٽ جي بنياد تي. اهي طريقا گريجوئيٽ کي هٿي وٺرائيندا آهن جيڪي ماڊل ٽريننگ جي اڳتي ۽ پوئتي پاسن مان ٺاهيا ويندا آهن (بشمول سلائيسي نقشا ۽ ڪلاس ايڪٽيويشن نقشا).
انفرادي پرت جي چالو ڪرڻ ۽ ڪنيڪشن کي ڏسڻ لاءِ ڪيترائي مفيد اوزار آھن، مثال طور. ڪنڪس и ٽينسر بورڊ.
پيٽرولر جي تشخيص
اعصابي نيٽ ورڪن وٽ ڪيترائي پيٽرول آھن جيڪي ھڪ ٻئي سان لهه وچڙ ۾ آھن، جيڪي اصلاح کي پيچيده ڪن ٿا. دراصل، هي سيڪشن ماهرن جي فعال تحقيق جو موضوع آهي، تنهن ڪري هيٺ ڏنل تجويزن کي صرف مشوري طور سمجهيو وڃي، شروعاتي نقطي جنهن مان تعمير ڪجي.
پيڪيج جي ماپ (بيچ جي سائيز) - جيڪڏھن توھان چاھيو ٿا ته بيچ جي سائيز ايتري وڏي ھجي جو صحيح نقص جي گريڊيئنٽ تخميني حاصل ڪري سگھي، پر توھان جي نيٽ ورڪ کي باقاعده ڪرڻ لاءِ اسٽوچسٽڪ گريڊيئنٽ ڊيسينٽ (SGD) لاءِ ڪافي آھي. ٽريننگ جي عمل دوران شور ۽ بعد ۾ اصلاح جي مشڪلاتن جي ڪري ننڍي بيچ جي سائيز تيزيءَ سان ڪنورجنسي ٿيندي. اهو وڌيڪ تفصيل سان بيان ڪيو ويو آهي هتي.
سکيا جي شرح - تمام گھٽ ھلندو سست ڪنورجنسي يا مقامي مينيما ۾ ڦاسي وڃڻ جو خطرو. ساڳئي وقت، هڪ اعلي سکيا جي شرح اصلاح جي ڦيرڦار جو سبب بڻائيندو ڇو ته توهان نقصان جي فنڪشن جي گہرے پر تنگ حصي ذريعي جمپ ڪرڻ جو خطرو آهي. ڪوشش ڪريو رفتار جي شيڊول کي گھٽائڻ لاءِ ان کي گھٽائڻ لاءِ جڏهن نيورل نيٽ ورڪ کي تربيت ڏيو. CS231n سان تاريخ تائين اتي هڪ وڏو حصو هن مسئلي لاء وقف آهي.
گريجوئيٽ ڪلپنگ - وڌ ۾ وڌ قدر يا حد کان گهٽ معيار تي پوئتي پروپئگيشن دوران پيراميٽر گريڊينٽ کي تراشڻ. ڪنهن به ڌماڪي واري درجي جي مسئلن کي حل ڪرڻ لاءِ مفيد آهي توهان کي پوائنٽ ٽي ۾ منهن ڏئي سگهو ٿا.
بيچ normalization - هر پرت جي ان پٽ ڊيٽا کي عام ڪرڻ لاءِ استعمال ڪيو ويو، جيڪو اسان کي اندروني ڪووريٽ شفٽ جي مسئلي کي حل ڪرڻ جي اجازت ڏئي ٿو. جيڪڏهن توهان ڊراپ آئوٽ ۽ بيچ نارما گڏجي استعمال ڪري رهيا آهيو، هي آرٽيڪل ڏسو.
اسٽوچاسٽڪ گرڊيئينٽ ڊيسنٽ (SGD) - SGD جا ڪيترائي قسم آھن جيڪي استعمال ڪن ٿا رفتار، موافقت واري سکيا جي شرح ۽ Nesterov طريقو. تنهن هوندي، انهن مان ڪنهن کي به واضح فائدو نه آهي ٻنهي سکيا جي ڪارڪردگي ۽ عام ڪرڻ جي لحاظ کان (تفصيل هتي).
باقاعدي - هڪ عام قابل ماڊل تعمير ڪرڻ لاء اهم آهي، ڇاڪاڻ ته اهو ماڊل پيچيدگي يا انتهائي پيٽرولر جي قيمت لاء سزا شامل ڪري ٿو. هي هڪ طريقو آهي ماڊل ويرينس کي گهٽائڻ جو بغير ان جي تعصب وڌائڻ کان سواءِ. وڌيڪ تفصيلي ڄاڻ - هتي.
پنهنجو پاڻ کي هر شي جو جائزو وٺڻ لاء، توهان کي باقاعده ڪرڻ کي غير فعال ڪرڻ جي ضرورت آهي ۽ پاڻ کي ڊيٽا جي نقصان جي درجه بندي کي جانچڻ جي ضرورت آهي.
ڇڏڻ توهان جي نيٽ ورڪ کي هموار ڪرڻ جو هڪ ٻيو طريقو آهي ڪنجيشن کي روڪڻ لاءِ. ٽريننگ دوران، ڊراپ آئوٽ صرف نيورون جي سرگرمي کي برقرار رکڻ سان ڪيو ويندو آهي هڪ خاص امڪاني پي (هائپر پيراميٽر) سان يا ان جي سامهون واري صورت ۾ صفر کي ترتيب ڏيڻ سان. نتيجي طور، نيٽ ورڪ کي لازمي طور تي هر ٽريننگ بيچ لاءِ پيٽرول جو مختلف ذيلي سيٽ استعمال ڪرڻ گهرجي، جيڪو ڪجهه پيٽرولر ۾ تبديلين کي گھٽائي ٿو جيڪو غالب ٿي وڃي ٿو.
اھم: جيڪڏھن توھان استعمال ڪري رھيا آھيو ٻئي ڊراپ آئوٽ ۽ بيچ نارملائيزيشن، انھن عملن جي ترتيب جي باري ۾ محتاط رھو يا انھن کي گڏجي استعمال ڪرڻ سان. اهو سڀ اڃا تائين فعال طور تي بحث ڪيو پيو وڃي ۽ اضافي طور تي. هتي هن موضوع تي ٻه اهم بحث آهن Stackoverflow تي и آرڪسائيو.
ڪم جو ڪنٽرول
اهو ڪم فلوز ۽ تجربن کي دستاويز ڪرڻ بابت آهي. جيڪڏھن توھان ڪجھ به دستاويز نه ڪريو، توھان وساري سگھو ٿا، مثال طور، ڪھڙي سکيا جي شرح يا ڪلاس وزن استعمال ڪيا ويا آھن. ڪنٽرول ڪرڻ جي مهرباني، توهان آساني سان ڏسي سگهو ٿا ۽ اڳئين تجربن کي ٻيهر پيدا ڪري سگهو ٿا. هي توهان کي نقل ڪيل تجربن جي تعداد کي گهٽائڻ جي اجازت ڏئي ٿو.
بهرحال، دستي دستاويزن ڪم جي وڏي مقدار جي صورت ۾ هڪ ڏکيو ڪم بڻجي سگهي ٿو. هي اهو آهي جتي ٽولز جهڙوڪ Comet.ml توهان کي خودڪار طريقي سان لاگ ان ڊيٽا سيٽ، ڪوڊ تبديلين، تجرباتي تاريخ، ۽ پيداوار جا ماڊل، بشمول توهان جي ماڊل بابت اهم معلومات (هائيپرپيراميٽر، ماڊل ڪارڪردگي ميٽرڪس، ۽ ماحولياتي معلومات) شامل ڪرڻ ۾ مدد ڏيڻ لاء.
هڪ اعصابي نيٽ ورڪ ننڍڙي تبديلين لاء تمام حساس ٿي سگهي ٿو، ۽ اهو ماڊل ڪارڪردگي ۾ گهٽتائي جو سبب ٿيندو. توهان جي ڪم کي ٽريڪ ڪرڻ ۽ دستاويز ڪرڻ پهريون قدم آهي جيڪو توهان وٺي سگهو ٿا پنهنجي ماحول ۽ ماڊلنگ کي معياري بڻائڻ لاءِ.
مون کي اميد آهي ته هي پوسٽ توهان جي نيورل نيٽ ورڪ کي ڊيبگ ڪرڻ شروع ڪرڻ لاء هڪ شروعاتي نقطو ٿي سگهي ٿو.