web-dev-qa-db-ja.com

LSTM RNNを使用したトレーニングデータのシャッフル

LSTM RNNは以前のイベントを使用して現在のシーケンスを予測するので、なぜトレーニングデータをシャッフルするのですか?トレーニングデータの時間的順序は失われませんか?シャッフルされたトレーニングデータでトレーニングされた後、予測を行う上で、どのようにまだ効果的ですか?

18
hellowill89

一般に、トレーニングデータ(シーケンスのセット)をシャッフルするとき、シーケンスがRNNに供給される順序をシャッフルしますが、個々のシーケンス内の順序はシャッフルしません。ネットワークがステートレスの場合、これは問題ありません。

ステートレスケース:

ネットワークのメモリは、シーケンスの間だけ持続します。ネットワークのメモリ状態はシーケンス間で保持されないため、シーケンスAの前にシーケンスBでトレーニングすることは重要ではありません。

一方:

ステートフルケース:

ネットワークのメモリはシーケンスを超えて持続します。ここでは、盲目的にデータをシャッフルして、最適な結果を期待することはできません。 AはBの前に来るため、シーケンスAはシーケンスBの前にネットワークに供給される必要があり、ネットワークはシーケンスBをシーケンスAにあったもののメモリで評価する必要があります。

27