2017-04-17 14 views
16

का उपयोग करके कई दिनों से, मैं अब तक सफलता की किसी भी झलक के बिना एलएसटीएम का उपयोग करके एक साधारण साइन-वेव अनुक्रम पीढ़ी बनाने की कोशिश कर रहा हूं।पीएसटीएम समय अनुक्रम पीढ़ी पीईटीओआर

मैं time sequence prediction example

से शुरू कर दिया है कि मैं क्या सभी को अलग ढंग से करना चाहता था है:

  • उपयोग अलग अनुकूलक (जैसे RMSprob) LBFGS से
  • विभिन्न संकेतों का प्रयास करें (अधिक साइन-लहर घटकों)

यह my code का लिंक है। "Experiment.py" मुख्य फाइल है

मुझे क्या करना है:

  • मैं कृत्रिम समय श्रृंखला डेटा (साइन तरंगों) उत्पन्न
  • मैं छोटे दृश्यों
  • में उन समय श्रृंखला डेटा कटौती
  • अपने मॉडल के लिए इनपुट समय 0 का एक क्रम है ... टी, और उत्पादन समय 1 का क्रम है ... टी + 1

क्या होता है:

  • प्रशिक्षण और मान्यता घाटा नीचे चला जाता है सुचारू रूप से
  • परीक्षण नुकसान बहुत कम है
  • हालांकि जब मैं मनमाना-लंबाई दृश्यों उत्पन्न करने के लिए, (परीक्षण डाटा से एक यादृच्छिक अनुक्रम) एक बीज से शुरू करने का प्रयास , सब कुछ गलत हो जाता है। उत्पादन हमेशा

Shape of the generated signal

मैं बस नहीं दिख रहा है कि समस्या क्या है बाहर फ्लैट। मैं इस सप्ताह एक सप्ताह के लिए खेल रहा हूं, बिना किसी प्रगति के। मैं किसी भी मदद के लिए बहुत आभारी होंगे।

आप

+6

जब मैंने समस्या को दोहराने की कोशिश की तो यह पता चला कि यह पहले से ही गिट हब कोड में तय किया गया है। ऐसा प्रतीत होता है कि प्रश्न पहले ही पूछे जा चुके हैं और उत्तर दिया [यहां] (https://discuss.pytorch.org/t/lstm-time-sequence- जनरेशन/1 9 16)। @OmarSamir शायद आप यहां समाधान भी पोस्ट कर सकते हैं। इसके अलावा आपको शायद एक जिथब के विशिष्ट कामों के लिए समस्याएं जोड़नी चाहिए (आपके प्रश्न को देखकर एसपी लोग एक ही आउटपुट देखेंगे)। – kabdulla

उत्तर

2

धन्यवाद यह सामान्य व्यवहार है और इसलिए होता है क्योंकि अपने नेटवर्क इनपुट की गुणवत्ता का भी पूरा भरोसा है और अतीत पर भरोसा करना सीखना नहीं करता है (पर यह आंतरिक स्थिति है) पर्याप्त, पर को केवल भरोसा इनपुट। जब आप पीढ़ी की सेटिंग में अपने स्वयं के आउटपुट में नेटवर्क लागू करते हैं, तो नेटवर्क में इनपुट उतना भरोसेमंद नहीं है जितना प्रशिक्षण या सत्यापन मामले में था जहां इसे सही इनपुट मिला।

  • पहले सरल लेकिन कम सहज एक है: गाऊसी शोर का एक छोटा सा अपने इनपुट में जोड़े

    मैं तुम्हारे लिए दो संभव समाधान है। यह नेटवर्क को अपने छिपे हुए राज्य पर अधिक भरोसा करने के लिए मजबूर करेगा।

  • दूसरा, सबसे स्पष्ट समाधान है: प्रशिक्षण के दौरान, इसे सही इनपुट नहीं खिलाएं लेकिन इसकी एक निश्चित संभावना पी के साथ जेनरेट आउटपुट पी। पी = 0 के साथ प्रशिक्षण शुरू करें और धीरे-धीरे इसे बढ़ाएं ताकि यह सामान्य रूप से सामान्य और लंबे अनुक्रमों को स्वतंत्र रूप से सीख सके। इसे शेड्यूल किए गए नमूने कहा जाता है, और आप इसके बारे में यहां और अधिक पढ़ सकते हैं: https://arxiv.org/abs/1506.03099

संबंधित मुद्दे