पहले यह साबित कीजिए कि मॉडल सीख सकता है: एक छोटे batch को लगभग शून्य loss तक overfit कीजिए। अगर वह नहीं कर पाता, तो बग मॉडल, loss या optimizer में है, डेटा की मात्रा में नहीं। फिर learning rate को दोनों सिरों पर जांचिए, पक्का कीजिए कि labels inputs से सही मेल में हैं, gradients बह रहे हैं इसकी पुष्टि कीजिए, और यह भी कि optimizer को सचमुच वही parameters मिले जो आप समझ रहे हैं।
इंटरव्यूअर यह क्यों पूछते हैं
deep learning के काम में यह सबसे आम व्यावहारिक नाकामी है, और जवाब से पता चलता है कि आप व्यवस्थित तरीके से debug करते हैं या hyperparameters पलटने लगते हैं। एक ही batch को overfit करना पहला मानक कदम है क्योंकि वह क्षमता को डेटा से अलग कर देता है, और इंटरव्यूअर खास तौर पर उसी को सुनते हैं। gradient norms और label alignment जांचना दिखाता है कि आप जानते हैं असली बग आम तौर पर कहां छिपते हैं।
अपना जवाब कैसे स्ट्रक्चर करें
- समस्या अलग करने के लिए एक batch वाले overfit टेस्ट से शुरू करें।
- learning rate को दोनों सिरों पर जांचें।
- पुष्टि करें कि gradients बह रहे हैं और parameters optimizer में दर्ज हैं।
- डेटा का रास्ता जांचें: label alignment, normalization, shuffling।
उदाहरण जवाब
पहला कदम हमेशा एक ही होता है: करीब आठ examples का एक batch लीजिए और उस पर loss को लगभग शून्य तक ले जाने की कोशिश कीजिए। चलता हुआ मॉडल आठ examples कुछ सौ steps में रट लेता है। अगर वह नहीं कर पाता तो समस्या डेटा की मात्रा या regularization नहीं है, मॉडल, loss या optimizer में कुछ टूटा है, और मैंने खोज का दायरा बहुत घटा लिया है। वहां से मैं learning rate को दोनों सिरों पर जांचता हूं, क्योंकि बहुत ज्यादा होने पर loss उछलता है या NaN हो जाता है, और बहुत कम होने पर वह सपाट लकीर जैसा दिखता है जो असल में रेंग रही होती है। मैं per layer gradient norms प्रिंट करता हूं, जो तुरंत बता देता है कि signal मर रहा है या किसी layer को कुछ मिल ही नहीं रहा क्योंकि वह गलती से freeze हो गई या optimizer को दी ही नहीं गई। फिर डेटा का रास्ता, और सच कहूं तो बग आम तौर पर यहीं होता है: shuffle के बाद labels inputs से एक खिसक गए, normalization दो बार लग गया, या filtering के बग की वजह से targets tensor पूरा एक ही class का है। मैं आर्किटेक्चर को दोष देने से पहले हमेशा गिने चुने decode किए examples को उनके labels के साथ आंख से देख लेता हूं।
जल्दी ही यह इंटरव्यू देने जा रहे हैं? GhostPilot आपकी लाइव कॉल सुनता है, सवाल पूछे जाते ही उसे पकड़ लेता है, और रियल-टाइम में एक स्ट्रक्चर्ड जवाब आपकी स्क्रीन पर डाल देता है। अगले मॉक में इसे आजमाएं, या ले लें एक $29 Session Pass, कोई सब्सक्रिप्शन नहीं, असली इंटरव्यू के लिए।
देखें यह कैसे काम करता हैफॉलो-अप सवाल जिनकी उम्मीद रखें
- कुछ सौ steps के बाद NaN हो जाने वाला loss क्या इशारा करेगा?
- आपका data loader ठीक से shuffle कर रहा है, यह आप कैसे जांचेंगे?
- अगर training loss गिरे लेकिन validation loss कभी न गिरे तो इसका क्या मतलब है?
मशीन लर्निंग इंजीनियर के और सवाल
आपका इंटरव्यूअर इसका अपना वर्ज़न पूछेगा। फ्री Question Predictor में अपना असली जॉब डिस्क्रिप्शन पेस्ट कीजिए और वो 20 सवाल पाइए जो उस रोल में सबसे ज्यादा पूछे जाने की संभावना है, साथ में यह भी कि हर सवाल असल में क्या टटोल रहा है।
मेरे सवाल प्रेडिक्ट करें