ここ数日間、これまでの成功を垣間見ることなく、LSTMを使用して単純な正弦波シーケンス生成を構築しようとしています。
時系列予測の例 から始めました
私が別の方法でやりたかったことはすべて次のとおりです。
これは my code へのリンクです。 「experiment.py」がメインファイルです
私がしていることは:
何が起こるか:
何が問題なのかわからない。私はこれを1週間遊んでいますが、何の進歩もありません。どんな助けにも感謝します。
ありがとうございました
これは正常な動作であり、ネットワークが入力の品質に自信を持ちすぎており、過去(内部状態)に十分に依存することを学習せず、入力のみに依存しているために発生します。生成設定でネットワークを独自の出力に適用すると、ネットワークへの入力は、実際の入力を得たトレーニングまたは検証の場合ほど信頼性が低くなります。
私には2つの解決策があります。
1つ目は最も単純ですが直感的ではありません。ガウスノイズを少し入力に追加します。これにより、ネットワークは非表示状態にさらに依存するようになります。
2番目は、最も明白な解決策です。トレーニング中に、実際の入力ではなく、特定の確率pで生成された出力を供給します。 p = 0でトレーニングを開始し、徐々に増やして、独立してより長いシーケンスを一般化することを学習します。これはスケジュールされたサンプリングと呼ばれ、詳細については https://arxiv.org/abs/1506.03099 を参照してください。