मशीन लर्निंग इंजीनियर इंटरव्यू सवाल

किसी deep network में vanishing gradients की वजह क्या होती है, और आजकल के आर्किटेक्चर उससे कैसे बचते हैं?

इंटरव्यूअर असल में क्या परख रहा है, अपना जवाब कैसे स्ट्रक्चर करें, और एक बोला हुआ उदाहरण जिसे आप अपना सकते हैं।

छोटा जवाब

gradients तब गायब होते हैं जब backpropagation के दौरान छोटे derivatives का बार बार गुणा signal को शुरुआती layers तक पहुंचने से पहले ही शून्य की तरफ सिकोड़ देता है, और वे layers सीखना बंद कर देती हैं। sigmoid और tanh जैसे saturating activations इसकी क्लासिक वजह हैं। आजकल के इलाज हैं ReLU परिवार के activations, residual connections जो gradients को सीधा रास्ता देते हैं, He या Xavier जैसा scaled initialization, और normalization layers।

इंटरव्यूअर यह क्यों पूछते हैं

यह परखता है कि आप समझते हैं कि आर्किटेक्चर ऐसे क्यों दिखते हैं, या आप बस उनके नाम जानते हैं। इंटरव्यूअर को chain rule वाली व्याख्या चाहिए, buzzword नहीं। यह बताना कि residual connections gradient को एक identity रास्ता देते हैं, और normalization activations को अच्छी तरह conditioned रेंज में रखता है, दिखाता है कि ट्रेन होने से इनकार करते किसी deep model को आप सचमुच debug कर सकते हैं।

अपना जवाब कैसे स्ट्रक्चर करें

  • chain rule का वह गुणा समझाएं जो signal को सिकोड़ता है।
  • जो saturating activations इसकी वजह बनते हैं, उनका नाम लें।
  • residual connections को gradients के identity रास्ते की तरह समझाएं।
  • इलाज के दूसरे आधे हिस्से के तौर पर initialization और normalization जोड़ें।

उदाहरण जवाब

बोला हुआ उदाहरण, पहले व्यक्ति में

backprop derivatives को layer दर layer गुणा करता है। अगर हर layer का local derivative एक से कम है और आपके पास पचास layers हैं, तो गुणनफल exponentially शून्य की तरफ जाता है और शुरुआती layers को लगभग कोई gradient मिलता ही नहीं, इसलिए वे अपने initialization से हिलती ही नहीं। sigmoid क्लासिक अपराधी है क्योंकि उसका derivative ज्यादा से ज्यादा 0.25 तक जाता है, यानी सबसे अच्छी हालत में भी हर layer पर आप कम से कम तीन चौथाई signal खो देते हैं। इलाज एक के ऊपर एक चढ़ते हैं। ReLU का derivative positive तरफ ठीक एक है, इसलिए वह कुछ सिकोड़ता ही नहीं। residual connections सबसे बड़ी चीज हैं: output x plus f of x होता है, इसलिए gradient को सीधा identity रास्ता मिल जाता है, और अगर कोई block कुछ काम का न भी दे, तो भी signal उसके नीचे की layers तक पहुंच जाता है। इसीलिए हम इतने deep stacks ट्रेन कर पाते हैं। फिर fan in के हिसाब से scaled initialization, ReLU के लिए He, शुरुआत में activation variance स्थिर रखता है, और layer norm उसे ट्रेनिंग के दौरान स्थिर रखता है। जब मुझे कोई deep model दिखता है जिसका loss मुश्किल से हिलता है, तो सबसे पहले मैं per layer gradient norm plot करता हूं, क्योंकि उससे तुरंत पता चल जाता है कि network के निचले हिस्से तक कुछ पहुंच भी रहा है या नहीं।

जल्दी ही यह इंटरव्यू देने जा रहे हैं? GhostPilot आपकी लाइव कॉल सुनता है, सवाल पूछे जाते ही उसे पकड़ लेता है, और रियल-टाइम में एक स्ट्रक्चर्ड जवाब आपकी स्क्रीन पर डाल देता है। अगले मॉक में इसे आजमाएं, या ले लें एक $29 Session Pass, कोई सब्सक्रिप्शन नहीं, असली इंटरव्यू के लिए।

देखें यह कैसे काम करता है

फॉलो-अप सवाल जिनकी उम्मीद रखें

  • exploding gradient वाला केस कैसा दिखता है, और आप उसे कैसे संभालते हैं?
  • gradient clipping से मदद क्यों मिलती है, और आप उसे कहां लगाते हैं?
  • residual connections किसी network की effective depth को कैसे बदल देते हैं?

मशीन लर्निंग इंजीनियर के और सवाल

आपका इंटरव्यूअर इसका अपना वर्ज़न पूछेगा। फ्री Question Predictor में अपना असली जॉब डिस्क्रिप्शन पेस्ट कीजिए और वो 20 सवाल पाइए जो उस रोल में सबसे ज्यादा पूछे जाने की संभावना है, साथ में यह भी कि हर सवाल असल में क्या टटोल रहा है।

मेरे सवाल प्रेडिक्ट करें

मुश्किल सवाल पूछे जाने से पहले उनकी रिहर्सल कीजिए

एक लाइव कोपायलट के साथ प्रैक्टिस कीजिए, फिर तैयार होकर अंदर जाइए। $29 Session Pass आपको इंटरव्यू पार करा देता है, न कोई सब्सक्रिप्शन, न कोई लॉक-इन।

GhostPilot पाएं