मैंने रात में एक tensorflow.keras मॉडल को प्रशिक्षित किया है और प्रशिक्षण प्रक्रिया के बारे में आश्चर्यचकित था (कृपया संलग्न चित्र देखें)। क्या कोई मुझे बता सकता है कि प्रशिक्षण के दौरान ऐसा क्या प्रभाव पैदा कर सकता है? मैंने एमएसई (दाएं) और प्रदर्शित एक अन्य नुकसान (बाइनरी क्रॉसेंट्रॉपी) के साथ प्रशिक्षण लिया है। मैंने 'सामान्य' नमूनों के साथ एक ऑटोएन्कोडर को प्रशिक्षित किया है। सत्यापन नमूने 'विसंगति' नमूने हैं।

अगर आपको और जानकारी चाहिए तो कृपया मुझे बताएं।

enter image description here

संपादित करें: मुझे इसका कारण मिल सकता है, लेकिन मुझे यकीन नहीं है: मेरे पास इनपुट-डेटा के रूप में विशेषताएं हैं, जिनका मान सख्ती से [0,1] में नहीं है, वास्तव में मेरे पास [0,1] में लगभग सभी मान हैं। 0,1] लेकिन कुछ मान 1 से थोड़ा बड़ा है। जैसा कि मैं एमएसई के साथ प्रशिक्षण कर रहा हूं, मैंने सोचा कि यह कोई समस्या नहीं होनी चाहिए, लेकिन संदर्भ के रूप में मैं बाइनरी क्रॉसेंट्रॉपी लॉस का भी उपयोग करता हूं ([0,1 में मूल्यों की आवश्यकता है) ]). यह प्रशिक्षण के लिए कुछ जलन पैदा कर सकता है। मैं उपयोग कर रहा हूँ:

loss = tensorflow.keras.losses.MeanSquaredError(name='MeanSquaredError')
autoencoder.compile(optimizer=tensorflow.keras.optimizers.Adam(lr=learning_rate), loss=loss, metrics=[tensorflow.keras.metrics.BinaryCrossentropy()])

और लाइवलॉसप्लॉट:

callbacks=[PlotLossesKeras(outputs=[MatplotlibPlot(figpath=save_string_plot)]),TensorBoard(log_dir="autoencoder\\" + string_name_model)],

फिलहाल मैं फीचर वैल्यू वाले मॉडल को सख्ती से [0,1] में फिर से प्रशिक्षित कर रहा हूं।

-> पुनर्प्रशिक्षण युग 175 तक पहुंच गया और फिर दुर्घटनाग्रस्त हो गया, इसलिए मुझे लगता है कि यह समाधान नहीं था (सुविधा को सख्ती से [0,1] में अनुकूलित करें)। आइए दूसरे संभावित समाधान (ग्रेडिएंट क्लिपिंग) का प्रयास करें। बने रहें। :)

enter image description here

संपादित करें: एक अन्य समाधान ग्रेडिएंट क्लिपिंग हो सकता है, देखें:

https://neptune.ai/blog/understanding-gradient-clipping-and-how-it-can-fix-exploding-gradients-problem

--> साथ ही यह ट्रेनिंग भी कारगर नहीं हुई। 175 युगों में भी हानि का विस्फोट होता है।

दो संभावित समाधानों के साथ नई तस्वीरें, जो कारगर नहीं हुईं (लेकिन दोनों लगभग एक ही स्थिति में फट गईं):

enter image description here

संपादित करें: मैंने नुकसान विस्फोट से बचने के लिए बैच सामान्यीकरण की भी कोशिश की, लेकिन यह भी कोशिश नहीं की।

0
Romaxx 19 सितंबर 2021, 09:21
दोनों संभावित समाधान काम नहीं कर पाए, दोनों ही मामलों में ([0,1] में सख्ती से और क्लिपनॉर्म = 1 के साथ ग्रेडिएंट क्लिपिंग की विशेषताएं) मुझे लगभग एक ही प्रशिक्षण प्लॉट मिले (युग 175 के आसपास नुकसान विस्फोट, आंकड़ा देखें)।
 – 
Romaxx
20 सितंबर 2021, 09:34

1 उत्तर

सबसे बढ़िया उत्तर

मुझे एक समाधान मिला:

-मैंने पूरी तरह से अजगर को फिर से स्थापित किया और सीखने की दर को एक छोटे मूल्य में बदल दिया (मुझे लगता है कि सीखने की दर मुख्य कारक थी) और तब से, कोई नुकसान नहीं हुआ (अब कई बार प्रशिक्षित)।

0
Romaxx 26 सितंबर 2021, 13:49