एक सजा तंत्रिका नेटवर्क का प्रशिक्षण


11

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

New Weight  = Old Weight +  LEARNING_RATE * 1 * Output Of InputNeuron * Delta

हालाँकि, चूंकि दोषपूर्ण तंत्रिका नेटवर्क में, वजन साझा किए जाते हैं, प्रत्येक वजन का उपयोग कई न्यूरॉन्स के साथ किया जाता है, इसलिए मैं कैसे तय करता हूं कि किसका Output of InputNeuronउपयोग किया जाता है?

दूसरे शब्दों में, चूंकि वज़न साझा किया जाता है, मैं कैसे तय करूं कि वेट को कितना बदलना है?

जवाबों:


13

आपको पहले अपने सभी अपडेट की गणना करने की आवश्यकता है जैसे कि wieghts साझा नहीं किए गए थे, लेकिन बस उन्हें स्टोर करें, वास्तव में अभी तक कोई भी अपडेट नहीं करें।

wमैं={(मैं,जे):wमैं,जे=w}Δwमैं,जे=-ηजेwमैं,जेηजेwमैं,जे

wमैं,जे=wमैं,जे+Δwमैं,जे
Δw=Σ(मैं,जे)मैंΔwमैं,जे
w=w+Δw

1
क्या आपके पास इसके लिए कोई संदर्भ है? आगे पढ़ने के लिए
जॉन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.