ホームページ > バックエンド開発 > Python チュートリアル > タイム ステップと機能は LSTM モデルのパフォーマンスとステートフル トレーニングにどのような影響を与えますか?

タイム ステップと機能は LSTM モデルのパフォーマンスとステートフル トレーニングにどのような影響を与えますか?

DDD
リリース: 2024-11-25 18:13:27
オリジナル
838 人が閲覧しました

How Do Time Steps and Features Affect LSTM Model Performance and Stateful Training?

LSTM のタイム ステップと特徴について

LSTM モデルでは、タイム ステップと特徴は入力データの次元を指します。タイム ステップはシーケンス内のデータ ポイントの数を表し、特徴量は各データ ポイント内のさまざまな変数または次元を表します。

この例では、入力データは次の次元の 3D 配列に再形成されます。

  • サンプル (バッチ サイズ)
  • 時間ステップ (この場合はシーケンスの長さ) 3)
  • 特徴 (入力変数の数、この場合は 1)

したがって、各サンプルは 3 つのデータ ポイントのシーケンスであり、各データ ポイントは 1 つの入力で構成されます。変数。

ステートフルLSTM

ステートフル LSTM は、タイム ステップごとに更新される非表示の状態を維持します。これにより、モデルは過去の入力から学習し、コンテキストに基づいて予測を行うことができます。 stateful=True の場合、LSTM はバッチ間の非表示状態を記憶するため、連続データに役立ちます。

コードでは、バッチ サイズ 1 を使用し、モデルを 100 エポックトレーニングしています。ただし、model.reset_states() を使用して各エポックの後に状態をリセットすることもできます。これは、モデルが実際にはバッチ間の過去の入力から学習しておらず、基本的に各バッチを新しいシーケンスとして扱っていることを意味します。

ステートフル LSTM を正しくトレーニングするには、トレーニング中に状態をリセットしないようにする必要があります。代わりに、新しいシーケンスを開始する場合、または新しいデータ ポイントで予測を行う場合にのみ状態をリセットする必要があります。

展開された図

提供した図は、LSTM ネットワークの展開されたアーキテクチャを示しています。どちらの場合も、赤いボックスは入力ステップを表し、緑のボックスは非表示の状態を表します。

編集 1:

次の図は、最初に展開された図に対応します。あなたが提供した図:

[タイム ステップごとに 1 つの入力ステップを持つ展開された図の画像]

あなたが提供した図2 番目の展開図に対応します:

[すべての入力ステップを一度に展開した展開図の画像]

編集 2:

タイム ステップとfeature 引数は LSTM モデルに不可欠です。詳細については、元の投稿とコメントで提供されているリソースを参照してください。

追加メモ:

  • LSTM レイヤーは、次のようなさまざまな形式でデータを処理できます。 -対多、多対一、多対多の構成。
  • return_sequences 引数。
  • 元の投稿には、将来のステップ予測タスクでのステートフル LSTM の使用に関する貴重な情報も含まれています。

以上がタイム ステップと機能は LSTM モデルのパフォーマンスとステートフル トレーニングにどのような影響を与えますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート