1

私はシーケンスによって LSTM をトレーニングし、いくつかの出力シーケンスを合成できるかどうかをテストしようとしましたが、興味深いことに残念なことに、非常に迅速に、つまり 2 つの時間ステップの後、固定出力に安定し、まったく同じ値のシーケンスを意味します。 .

今、初期化を変更しましたが、出力は常に 2 つのステップの後と同じです。トレーニングまたはサンプリングで何が間違っている可能性がありますか?

プログラム全体が大きすぎてここに投稿できないため、これ以上のコンテキストを提供できず申し訳ありません。

4

1 に答える 1

0

トレーニングやサンプリングに問題はありません。これは、「純粋な」LSTM ネットワークで想定される動作です。データの分散をモデル化するには、ネットワークに次の時間ステップでの値を直接予測させないでください。むしろ、ネットワークは、次の時間ステップで可能な値の確率分布を提供する必要があり、そこからサンプリングできます。

これを行う方法の 2 つの例:

  • テキストなどの離散データ: LSTM の上にソフトマックス レイヤーをスタックします。これにより、各文字の確率が得られます。次に、これらの確率からサンプリングします。これは、Karparthy の悪名高いchar-rnnにも実装されています。「温度」の段落を参照してください。
  • 時系列などの連続データ: ネットワークに混合分布 (つまり、ガウス分布の線形結合) のパラメーターを予測させてから、これからサンプリングします - Graves 2013の手書き予測に関するセクションを強くお勧めします。このレポートの第 5 章は、私が最近研究プロジェクトのために書いたものです。
于 2016-06-27T00:49:05.190 に答える