विशेष रूप से TensorFlow कार्यान्वयन के संबंध में मूल प्रश्न था। हालांकि, उत्तर सामान्य रूप से कार्यान्वयन के लिए हैं। यह सामान्य उत्तर TensorFlow के लिए सही उत्तर भी है।
TensorFlow (विशेष रूप से contrib.layers का उपयोग करके) में बैच के सामान्यीकरण और ड्रॉपआउट का उपयोग करते समय क्या मुझे ऑर्डर करने के बारे में चिंतित होने की आवश्यकता है?
यह संभव है कि अगर मैं बैच के सामान्य होने के तुरंत बाद ड्रॉपआउट का उपयोग करता हूं तो परेशानी हो सकती है। उदाहरण के लिए, यदि बैच सामान्यीकरण में प्रशिक्षण के बड़े पैमाने पर संख्या में प्रशिक्षण आउटपुट को प्रशिक्षित करता है, लेकिन फिर उसी बदलाव को परीक्षण के दौरान ड्रॉपआउट के बिना छोटे (अधिक आउटपुट होने के मुआवजे के कारण) पैमाने पर लागू किया जाता है, तब शिफ्ट बंद हो सकती है। क्या TensorFlow बैच के सामान्यीकरण की परत स्वचालित रूप से इसके लिए क्षतिपूर्ति करती है? या ऐसा किसी कारण से नहीं हो रहा है जो मुझे याद आ रहा है?
इसके अलावा, क्या इन दोनों को एक साथ इस्तेमाल करने के दौरान अन्य नुकसान देखने को मिलेंगे? उदाहरण के लिए, मैं ऊपर करने के लिए सही क्रम में उन्हें उपयोग कर रहा हूँ संबंध में यह सोचते हैं (यह मानते हुए वहाँ है एक सही क्रम), वहाँ सकता है दोनों बैच सामान्य और कई क्रमिक परतों पर छोड़ने वालों का उपयोग कर के साथ समस्या हो सकता है? मुझे तुरंत इसके साथ कोई समस्या नहीं दिख रही है, लेकिन मुझे कुछ याद आ रहा है।
बहुत धन्यवाद!
अपडेट करें:
एक प्रयोगात्मक परीक्षण से लगता है कि आदेश देने से कोई फर्क नहीं पड़ता। मैंने केवल बैच मानदंड और ड्रॉपआउट रिवर्स के साथ एक ही नेटवर्क को दो बार चलाया। जब ड्रॉपआउट बैच के मानदंड से पहले होता है, तो सत्यापन हानि होने लगती है क्योंकि प्रशिक्षण हानि कम हो रही है। वे दोनों दूसरे मामले में नीचे जा रहे हैं। लेकिन मेरे मामले में चाल धीमी है, इसलिए अधिक प्रशिक्षण के बाद चीजें बदल सकती हैं और यह सिर्फ एक परीक्षण है। एक अधिक निश्चित और सूचित उत्तर की सराहना की जाएगी।