logo

LSTM – 長短期記憶とは何ですか?

LSTM はシーケンス予測タスクに優れ、長期的な依存関係を捕捉します。順序依存性があるため、時系列、機械翻訳、音声認識に最適です。この記事では、LSTM モデル、アーキテクチャ、動作原理、およびさまざまなアプリケーションで果たす重要な役割をカバーする LSTM について詳しく説明します。

LSTMとは何ですか?

長短期記憶 Hochreiter & Schmidhuber によって設計されたリカレント ニューラル ネットワークの改良版です。



伝統的な RNN 時間の経過とともに通過する単一の隠れた状態を持っているため、ネットワークが長期的な依存関係を学習することが困難になる可能性があります。 LSTM モデル この問題は、長期間情報を保持できるコンテナであるメモリ セルを導入することで解決されます。

LSTM アーキテクチャは、シーケンシャル データの長期的な依存関係を学習できるため、次のようなタスクに適しています。 言語翻訳 、音声認識、および 時系列予測

LSTM は、次のような他のニューラル ネットワーク アーキテクチャと組み合わせて使用​​することもできます。 畳み込みニューラル ネットワーク (CNN) 画像およびビデオ分析用。



LSTM アーキテクチャ

LSTM アーキテクチャには、入力ゲート、忘却ゲート、出力ゲートの 3 つのゲートによって制御されるメモリ セルが含まれます。これらのゲートは、メモリ セルにどの情報を追加、メモリ セルから削除、およびメモリ セルから出力するかを決定します。

  • 入力ゲートは、メモリセルにどのような情報を追加するかを制御します。
  • フォーゲット ゲートは、メモリ セルからどの情報を削除するかを制御します。
  • 出力ゲートは、メモリセルからどのような情報が出力されるかを制御します。

これにより、LSTM ネットワークは、ネットワーク内を流れる情報を選択的に保持または破棄できるようになり、長期的な依存関係を学習できるようになります。

LSTM は、ネットワークの短期メモリとして機能する隠れた状態を維持します。隠し状態は、入力、以前の隠し状態、およびメモリ セルの現在の状態に基づいて更新されます。



双方向LSTMモデル

双方向LSTM (Bi LSTM/BLSTM) は、順方向と逆方向の両方で順次データを処理できるリカレント ニューラル ネットワーク (RNN) です。これにより、Bi LSTM は、連続データを一方向にのみ処理できる従来の LSTM よりも、連続データ内のより広範囲の依存関係を学習できるようになります。

  • Bi LSTM は 2 つの LSTM ネットワークで構成されており、1 つは入力シーケンスを順方向に処理し、もう 1 つは入力シーケンスを逆方向に処理します。
  • 次に、2 つの LSTM ネットワークの出力が結合されて、最終出力が生成されます。

Bi LSTM を含む LSTM モデルは、機械翻訳、音声認識、テキスト要約などのさまざまなタスクにわたって最先端のパフォーマンスを実証しています。

LSTM アーキテクチャのネットワークをスタックして深いアーキテクチャを作成すると、連続データ内のさらに複雑なパターンや階層を学習できるようになります。スタック構成の各 LSTM レイヤーは、入力データ内のさまざまなレベルの抽象化と時間依存関係をキャプチャします。

LSTMの作業

LSTM アーキテクチャには、4 つのニューラル ネットワークと、と呼ばれる異なるメモリ ブロックを含むチェーン構造があります。 細胞

情報は細胞によって保持され、記憶操作は細胞によって行われます。 門。 ゲートは3つあります –

忘れの門

セル状態で役に立たなくなった情報は、フォーゲット ゲートによって削除されます。 2つの入力 バツ t (特定の時間に入力) および h t-1 (前のセルの出力) がゲートに供給され、重み行列と乗算され、その後バイアスが追加されます。結果は、バイナリ出力を与えるアクティベーション関数を通過します。特定のセル状態の出力が 0 の場合、その情報は忘れられ、出力 1 の場合、情報は将来の使用のために保持されます。フォーゲット ゲートの方程式は次のとおりです。

f_t = σ(W_f · [h_{t-1}, x_t] + b_f)
どこ:

  • W_f は、フォーゲット ゲートに関連付けられた重み行列を表します。
  • [h_t-1, x_t] は、現在の入力と前の隠れ状態の連結を示します。
  • b_f は忘却ゲートによるバイアスです。
  • σ はシグモイド活性化関数です。

LSTMのアーキテクチャ

入力ゲート

セル状態への有用な情報の追加は、入力ゲートによって行われます。まず、シグモイド関数を使用して情報を調整し、入力を使用して忘却ゲートと同様に記憶する値をフィルタリングします。 h t-1 そして バツ t 。次に、次を使用してベクトルが作成されます。 胡散臭い -1 から +1 までの出力を与える関数。これには h のすべての可能な値が含まれます。t-1そして バツ t 。最後に、ベクトルの値と規制値を乗算して、有用な情報を取得します。入力ゲートの方程式は次のとおりです。

i_t = σ(W_i · [h_{t-1}, x_t] + b_i)

Ĉ_t = tanh(W_c · [h_{t-1}, x_t] + b_c)

前の状態に f を掛けます。t、以前に無視することを選択した情報は無視されます。次に、i を含めます。t∗Ct。これは、各状態値を更新するために選択した量に合わせて調整された、更新された候補値を表します。

C_t = f_t ⊙ C_{t-1} + i_t ⊙ Ĉ_t

どこ

  • ⊙ は要素ごとの乗算を示します
  • Tanh は Tanh 活性化関数です

出力ゲート

現在のセル状態から有用な情報を抽出して出力として表示するタスクは、出力ゲートによって実行されます。まず、セルにtanh関数を適用してベクトルを生成します。次に、情報はシグモイド関数を使用して調整され、入力を使用して記憶される値によってフィルターされます。 h_{t-1} そしてx_t。最後に、ベクトルの値と規制値が乗算されて出力として送信され、次のセルに入力されます。出力ゲートの方程式は次のとおりです。

数学ランダムJava

o_t = σ(W_o · [h_{t-1}, x_t] + b_o)

LSTMの応用

LSTM の有名なアプリケーションには次のものがあります。

  • 言語モデリング: LSTM は、言語モデリング、機械翻訳、テキスト要約などの自然言語処理タスクに使用されてきました。文中の単語間の依存関係を学習することで、一貫性があり文法的に正しい文を生成するように訓練することができます。
  • 音声認識: LSTM は、音声のテキストへの転写や音声コマンドの認識などの音声認識タスクに使用されています。音声のパターンを認識し、対応するテキストと照合するように訓練することができます。
  • 時系列予測: LSTM は、株価、天気、エネルギー消費量の予測などの時系列予測タスクに使用されてきました。彼らは時系列データのパターンを学習し、それを使用して将来の出来事についての予測を行うことができます。
  • 異常検出: LSTM は、詐欺やネットワーク侵入の検出などの異常検出タスクに使用されてきました。データ内の標準から逸脱したパターンを特定し、潜在的な異常としてフラグを立てるようにトレーニングすることができます。
  • 推奨システム: LSTM は、映画、音楽、書籍の推奨などの推奨タスクに使用されてきました。ユーザーの行動パターンを学習し、それを使用してパーソナライズされた推奨事項を作成できます。
  • ビデオ分析: LSTM は、物体検出、アクティビティ認識、アクション分類などのビデオ分析タスクに使用されています。これらを畳み込みニューラル ネットワーク (CNN) などの他のニューラル ネットワーク アーキテクチャと組み合わせて使用​​すると、ビデオ データを分析し、有用な情報を抽出できます。

LTSM 対 RNN

特徴

LSTM (長短期記憶)

RNN (リカレント ニューラル ネットワーク)

メモリ

シーケンシャルデータの長期的な依存関係を学習できる特別なメモリユニットを備えています

メモリーユニットが無い

方向性

順方向と逆方向の両方で順次データを処理するようにトレーニング可能

連続データを一方向に処理するようにのみトレーニングできます

トレーニング

ゲートとメモリユニットが複雑なため、RNN よりもトレーニングが困難

LSTM よりもトレーニングが簡単

vlc メディア プレーヤー ダウンロード youtube

長期的な依存関係の学習

はい

限定

シーケンシャルデータを学習する機能

はい

はい

アプリケーション

機械翻訳、音声認識、テキスト要約、自然言語処理、時系列予測

自然言語処理、機械翻訳、音声認識、画像処理、映像処理

RNN における長期依存関係の問題

リカレント ニューラル ネットワーク (RNN) は、前のタイム ステップから情報を取得する隠れた状態を維持することによって、順次データを処理するように設計されています。ただし、長期的な依存関係を学習する際には、正確な予測を行うために遠くの時間ステップからの情報が重要になるという課題に直面することがよくあります。この問題は、勾配消失問題または勾配爆発問題として知られています。

よくある問題のいくつかを以下に示します。

消失グラデーション

時間によるバックプロパゲーション中に、反復接続のチェーンを通じて勾配が乗算されるため、勾配が非常に小さくなる可能性があり、モデルが多くのタイム ステップで区切られた依存関係を学習することが困難になります。

爆発するグラデーション

逆に、バックプロパゲーション中に勾配が爆発して数値が不安定になり、モデルの収束が困難になる可能性があります。

長短期記憶のさまざまな変異

時間の経過とともに、元の LSTM アーキテクチャに対するいくつかの変形と改良が提案されてきました。

バニラLSTM

これは、Hochreiter と Schmidhuber によって提案されたオリジナルの LSTM アーキテクチャです。これには、情報の流れを制御するための入力ゲート、忘却ゲート、および出力ゲートを備えたメモリ セルが含まれています。重要なアイデアは、ネットワークがメモリ セルからの情報を選択的に更新したり忘れたりできるようにすることです。

のぞき穴接続

ピープホール LSTM では、ゲートは隠れた状態に加えてセルの状態を確認することができます。これにより、ゲートが意思決定を行う際にセルの状態を考慮できるようになり、より多くのコンテキスト情報が提供されます。

ゲート型リカレント ユニット (GRU)

GRU は LSTM の代替手段であり、よりシンプルで計算効率が高くなるように設計されています。入力ゲートと忘却ゲートを 1 つの更新ゲートに結合し、セル状態と非表示状態をマージします。 GRU のパラメータは LSTM よりも少ないですが、実際には同様に機能することが示されています。

結論

Long Short-Term Memory (LSTM) は、長期依存関係のあるシーケンシャル データの処理に適した強力なタイプのリカレント ニューラル ネットワーク (RNN) です。ネットワークを介した情報の流れを制御するゲート メカニズムを導入することで、RNN の一般的な制限である勾配消失問題に対処します。これにより、LSTM は過去の情報を学習して保持できるため、機械翻訳、音声認識、自然言語処理などのタスクに効果的になります。

以下もチェックしてください:

よくある質問 (FAQ)

1. LSTM とは何ですか?なぜ使用されるのですか?

LSTM (Long Short-Term Memory) は、シーケンス タスク用に設計されたリカレント ニューラル ネットワークの一種で、データの長期依存関係の捕捉と利用に優れています。

2. LSTM はどのように機能しますか?

LSTM はセル状態を使用して、過去の入力に関する情報を保存します。このセル状態はネットワークの各ステップで更新され、ネットワークはそれを使用して現在の入力についての予測を行います。セルの状態は、セルに出入りできる情報の量を制御する一連のゲートを使用して更新されます。

3. LSTM の例とは何ですか?

LSTM (Long Short-Term Memory) の例には、音声認識、機械翻訳、時系列予測などがあり、シーケンシャル データの長期依存関係をキャプチャする機能を活用します。

4. LSTM とゲート型リカレント ユニット (GRU) の違いは何ですか?

LSTM には情報フローを制御するセル状態とゲート メカニズムがあり、GRU にはより単純な単一ゲート更新メカニズムがあります。 LSTM はより強力ですが、トレーニングに時間がかかりますが、GRU はよりシンプルで高速です。

5. LSTM と RNN の違いは何ですか?

  • RNN 一方向の情報フローを持つ単純な再帰構造を持っています。
  • LSTM 情報の流れと長期記憶のための細胞状態を制御するゲート機構を持っています。
  • LSTM 一般に、長期的な依存関係の学習が必要なタスクでは RNN よりも優れたパフォーマンスを発揮します。

6. LSTM は CNN より高速ですか?

いいえ、LSTM と CNN は異なる目的を果たします。 LSTM は順次データ用です。 CNN は空間データ用です。

7. LSTM は GRU より高速ですか?

一般的にはそうです。 GRU にはパラメーターが少ないため、LSTM と比較してトレーニングが高速化されます。