backpropagation - Momentum in neural networks -


तंत्रिका नेटवर्क और गति

क्या गति कारक प्राथमिकता [दोनों डाटासेट उदाहरण और व्यक्ति से संबंधित हैं] वज़न] या [केवल वज़न] ईजी:

  def get_momentum (उदाहरण, वजन): वापस फ्लोट आवृत्ति 1 = वेक्टर 1xn उदाहरण 2 = वेक्टर 1xn वजन = वेक्टर 1xn # विकल्प 1 मिलते हैं_मॉमेंटम (उदाहरण 1, वजन [0]) # उदा रिटर्न 0.1 get_momentum (उदाहरण 2, वजन [0]) # उदा रिटर्न 0.3 & lt; - वही वजन, अलग गति # विकल्प 2 get_mementum (उदाहरण 1, वजन [0]) # उदा 0.1 get_momentum (उदाहरण 2, वजन [0]) # उदा रिटर्न 0.1   

दूसरा विकल्प कम स्मृति की जटिलता होती। मेरा मानना ​​है कि इससे सीखने के एल्गोरिथ्म को भी पहले विकल्प की तुलना में स्थानीय ऑप्टिमा में फंसने की अधिक संभावना होगी। विकल्प 1 को एक मजबूत गति "पुल" होना चाहिए

परीक्षण किया गया

मैंने अपनी परिकल्पना के कुछ परीक्षण किए हैं दोनों दृष्टिकोण लगभग समान दिखते हैं, लेकिन पहले विकल्प का उपयोग करके एक स्पष्ट सुधार है।

गति डेटा संरचना की मेमोरी की जटिलता:

  • दृष्टिकोण 1: हे (उदाहरण * वजन)
  • दृष्टिकोण 2 : ओ (वज़न)

    परिणाम:

    प्रत्येक दौर एक पूर्वनिर्धारित वजन सेट का उपयोग करता है। दोनों संस्करणों को उसी वज़न सेट पर प्रशिक्षित किया गया था।

      $ pypy backprop.py # पहले दृष्टिकोण गोल: 1/10 आवश्यक युग: 40995 गोल: 2/10 आवश्यक युग: 40997 दौर: 3/10 आवश्यक युग: 40996 दौर: 4/10 आवश्यक युग: 40997 दौर: 5/10 आवश्यक युग: 40997 दौर: 6/10 आवश्यक युग: 40997 दौर: 7/10 आवश्यक युग: 40999 दौर: 8/10 आवश्यक युग: 40996 दौर: 9/10 आवश्यक युग: 40996 दौर: 10/10 आवश्यक युग: 40997 $ pypy backprop.py # दूसरा दृष्टिकोण गोल: 1/10 आवश्यक युग: 41070 दौर: 2/10 आवश्यक युग: 41072 राउंड: 3/10 आवश्यक युग: 41069 दौर: 4/10 आवश्यक युग: 41069 दौर: 5/10 आवश्यक युग: 41070 दौर: 6/10 आवश्यक युग: 41071 दौर: 7/10 आवश्यक युग: 41072 गोल: 8/10 आवश्यक युग : 41069 राउंड: 9/10 आवश्यक युग: 41070 दौर: 10/10 आवश्यक युग: 41071   

    जैसा कि हम परीक्षणों से पढ़ सकते हैं, दूसरा दृष्टिकोण (जिसकी कम स्मृति जटिलता है) की आवश्यकता है रीक से पहले प्रशिक्षण के कुछ और युग आवश्यक परिशुद्धता के हिंग

    निष्कर्ष

    मामूली प्रशिक्षण सुधार की तुलना में बढ़ी हुई स्मृति जटिलता एक योग्य त्याग नहीं हो सकती है।

Comments

Popular posts from this blog

Pass DB Connection parameters to a Kettle a.k.a PDI table Input step dynamically from Excel -

multithreading - PhantomJS-Node in a for Loop -

c++ - MATLAB .m file to .mex file using Matlab Compiler -