RNNがモデル化するための実行可能なシーケンス長とは何ですか?


15

私は、時系列データのモデリングにリカレントニューラルネットワーク(RNN)のLSTM(長期短期記憶)バージョンを使用することを検討しています。データのシーケンス長が長くなると、ネットワークの複雑さが増します。したがって、どの長さのシーケンスが良好な精度でモデル化するのに適しているのでしょうか?

最先端のアプローチを実装するのが難しいことなく、LSTMの比較的単純なバージョンを使用したいと思います。私の時系列の各観測値には、おそらく4つの数値変数があり、観測値の数は約100.000〜1.000.000です。

回答:


8

データの性質と内部相関に完全に依存するため、経験則はありません。ただし、大量のデータがある場合は、2層LSTMで大量の時系列問題/ベンチマークをモデル化できます。

さらに、系列全体に時間を逆伝播するのではなく、通常(200〜300)の最後のステップに逆伝播します。最適な値を見つけるには、グリッド検索またはベイジアン最適化を使用して相互検証できます。さらに、パラメーターはhttps://github.com/wojzaremba/lstm/blob/master/main.luaで確認できます

そのため、シーケンスの長さはモデルのトレーニングに実際には影響しませんが、トレーニングの例が増えたように、リセットするのではなく前の状態を維持するだけです。


感情分析を行う必要があるとしましょう。これは多対 1のアプローチです(karpathy.github.io/2015/05/21/rnn-effectivenessを参照)。これらのセンテスはそれぞれ非常に長い(> 200ワード)。通常の35ステップだけを逆伝播する場合、それは問題になりませんか?教師あり学習なので、バイナリ分類ターゲットを「ヒット」した場合にのみ逆伝播できると想定していますy。このように、RNNはBPTTに選択された35のステップの前に何かに基づいてどのように重みを調整しますか?
pir

1
次のトレーニングステップで同じウェイトが再利用されるため、問題にはなりません。さらに、ステップ36でソースコードが表示された場合(たとえば)、初期化ベクトルはゼロではなく、ステップ35の状態です。したがって、小さなステップを実行することにより、BPTTを使用してコスト関数を最適化します。
ヤニスアサエル

1
明確にするために、BPTTは1つの文に対して1回実行されるのですか、それとも複数回実行されるのですか?一度だけ実行される場合、文の最初の数語のみに影響するパターンは、隠された状態にのみ影響しますよね?つまり、入力のその部分に関して勾配が計算されることはありません。
pir

1
私はこれを別の質問として尋ねました。あなたが見てくれることを願っています:) stats.stackexchange.com/questions/167482/…–
pir

2
「大量のデータがある場合、2層LSTMはほとんどすべての時系列をモデル化できます。」証拠はどこですか?
nbro
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.