machine learning - Caffe में `weight_decay` मेटा पैरामीटर क्या है?




machine-learning neural-network (2)

BVLC / caffe git पर पोस्ट किए गए एक उदाहरण 'solver.prototxt' को देखते हुए, एक प्रशिक्षण मेटा पैरामीटर है

weight_decay: 0.04

इस मेटा पैरामीटर का क्या मतलब है? और मुझे इसे किस मूल्य पर असाइन करना चाहिए?


वजन घटाना एक नियमितीकरण शब्द है जो बड़े वजन को दंडित करता है। जब वज़न घटने का गुणांक बड़ा होता है तो बड़े वज़न के लिए जुर्माना भी बड़ा होता है, जब यह छोटा वज़न होता है तो स्वतंत्र रूप से बढ़ सकता है।

बेहतर स्पष्टीकरण के लिए इस उत्तर को देखें (कैफ़े के लिए विशिष्ट नहीं): तंत्रिका जाल "वज़न क्षय" और "सीखने की दर" के बीच अंतर


weight_decay मेटा पैरामीटर तंत्रिका जाल के नियमितीकरण शब्द को नियंत्रित करता है।

प्रशिक्षण के दौरान बैकप्रॉप ग्रेडिएंट की गणना करने के लिए नेटवर्क के नुकसान में एक नियमितीकरण शब्द जोड़ा जाता है। weight_decay मान यह निर्धारित करता है कि weight_decay संगणना में यह नियमितीकरण शब्द कितना प्रभावी होगा।

अंगूठे के एक नियम के रूप में, आपके पास जितने अधिक प्रशिक्षण उदाहरण हैं, उतना कमजोर यह शब्द होना चाहिए। आपके पास जितने अधिक पैरामीटर (यानी, गहरा जाल, बड़े फिल्टर, बड़ी इनर प्रॉडक्शन लेयर्स आदि) उतनी ही अधिक अवधि होनी चाहिए।

कैफ भी आपको सेटिंग द्वारा L2 नियमितीकरण (डिफ़ॉल्ट) और L1 नियमितीकरण के बीच चयन करने की अनुमति देता है

regularization_type: "L1"

हालाँकि, चूंकि ज्यादातर मामलों में वज़न छोटी संख्याएँ होती हैं (यानी -1<w<1 ), वज़न का L2 मान उनके L1 मानदंड से काफी छोटा होता है। इस प्रकार, यदि आप regularization_type: "L1" का उपयोग करना चुनते हैं regularization_type: "L1" तो आपको काफी छोटे मूल्य पर weight_decay को ट्यून करने की आवश्यकता हो सकती है।

प्रशिक्षण के दौरान सीखने की दर (और आमतौर पर होती है) बदल सकती है, नियमितीकरण का भार पूरे समय तय होता है।





gradient-descent