時系列データでは、観測間に依存関係があるため、相互に独立していません。ただし、従来のニューラル ネットワークは各観測値を独立したものとして扱うため、時系列データをモデル化するモデルの能力が制限されます。この問題を解決するために、リカレント ニューラル ネットワーク (RNN) が導入されました。これは、ネットワーク内のデータ ポイント間の依存関係を確立することにより、時系列データの動的特性をキャプチャするためのメモリの概念を導入しました。反復接続を通じて、RNN は以前の情報を現在の観測値に渡して、将来の値をより適切に予測できます。このため、RNN は時系列データを含むタスクにとって強力なツールになります。
しかし、RNN はどのようにしてこの種の記憶を実現するのでしょうか?
RNN は、ニューラル ネットワークのフィードバック ループを通じて記憶を実現します。これが、RNN と従来のニューラル ネットワークの主な違いです。フィードバック ループでは層内で情報を渡すことができますが、フィードフォワード ニューラル ネットワークでは層間でのみ情報が渡されます。したがって、さまざまな種類の RNN があります。
この記事では、RNN、LSTM、GRU の概念、類似点と相違点、およびそれらの長所と短所のいくつかを紹介します。 。
フィードバック ループを通じて、RNN ユニットの出力は同じユニットによる入力としても使用されます。 。したがって、すべての RNN には過去と現在という 2 つの入力があります。過去の情報を使用すると、短期記憶が作成されます。
よりよく理解するために、RNN ユニットのフィードバック ループを拡張できます。拡張されたセルの長さは、入力シーケンスのタイム ステップ数と等しくなります。
過去の観測が、展開されたネットワークを介して隠れ状態としてどのように渡されるかを確認できます。各セルでは、現在のタイム ステップからの入力、前のタイム ステップからの隠れ状態、およびバイアスが結合され、アクティブ化関数によって制約されて、現在のタイム ステップでの隠れ状態が決定されます。
RNN は、1 対 1、1 対多、多対 1、および多対多の予測に使用できます。
RNN は、その短期記憶により、連続データを処理し、履歴データのパターンを識別できます。さらに、RNN はさまざまな長さの入力を処理できます。
RNN には、勾配降下消失の問題があります。この場合、バックプロパゲーション中に重みを更新するために使用される勾配は非常に小さくなります。ゼロに近い勾配で重みを乗算すると、ネットワークが新しい重みを学習できなくなります。学習を停止すると、RNN は長いシーケンスで見たことを忘れてしまいます。消失勾配降下の問題は、ネットワーク層の数に応じて増加します。
RNN は最新の情報のみを保持するため、過去の観測を考慮する場合、モデルには問題があります。したがって、RNN には短期記憶のみがあり、長期記憶はありません。
さらに、RNN はバックプロパゲーションを使用して重みを時間内に更新するため、ネットワークも勾配爆発の影響を受けます。また、ReLu 活性化関数が使用されている場合は、デッド ReLu の影響を受けます。単位。前者は収束の問題を引き起こす可能性があり、後者は学習の停止を引き起こす可能性があります。
LSTM は、RNN における勾配消失の問題を解決する特別なタイプの RNN です。
LSTM の鍵となるのはセルの状態であり、セルの入力から出力に渡されます。セル状態では、3 つのゲートを通る小さな直線アクションだけで、情報がチェーン全体に沿って流れることができます。したがって、セル状態は LSTM の長期メモリを表します。これら 3 つのゲートは、それぞれフォーゲット ゲート、入力ゲート、出力ゲートと呼ばれます。これらのゲートはフィルターとして機能し、情報の流れを制御し、どの情報を保持するか無視するかを決定します。
忘却の門は、どれだけの長期記憶を保持すべきかを決定します。この目的のために、シグモイド関数を使用してセル状態の重要性を考慮します。出力は 0 と 1 の間で変化し、0 は情報を保持せず、1 はセル状態に関するすべての情報を保持します。
入力ゲートは、セルの状態、つまり長期記憶にどのような情報を追加するかを決定します。
#出力ゲートは、セル状態のどの部分が出力を構築するかを決定します。したがって、出力ゲートは短期記憶を担当します。 一般に、状態は忘却ゲートと入力ゲートを通じて更新されます。 LSTM の利点 LSTM の利点は RNN と似ており、主な利点は長期と短期の両方をキャプチャできることです。 -term シーケンスのパターン。したがって、これらは最も一般的に使用される RNN です。 LSTM の欠点 LSTM は構造がより複雑であるため、計算コストが高くなり、トレーニング時間が長くなります。 LSTM は重みを更新するために時間逆伝播アルゴリズムも使用するため、LSTM にはデッド ReLu ユニット、勾配爆発などの逆伝播の欠点があります。 ゲート型再帰ユニット (GRU) LSTM と同様に、GRU は単純な RNN の勾配消失問題を解決します。ただし、LSTM との違いは、GRU では使用するゲートの数が少なく、別個の内部メモリ (セル状態) を持たないことです。したがって、GRU はメモリとして隠れた状態に完全に依存しており、アーキテクチャがより単純になります。 リセット ゲートは、どれだけの過去の情報を保持し無視するかを決定するため、短期記憶を担当します。 更新ゲートは長期記憶を担当し、LSTM の忘却ゲートに相当します。現在のタイム ステップの隠れ状態は 2 つのステップに基づいて決定されます。
最初に、隠れ状態の候補を決定します。候補状態は、現在の入力と前のタイム ステップの隠れ状態、および活性化関数の組み合わせです。候補隠れ状態に対する前の隠れ状態の影響は、リセット ゲートによって制御されます。
2 番目のステップでは、候補の隠れ状態と前のタイム ステップの隠れ状態を組み合わせて、現在の隠れ状態を生成します。以前の隠れ状態と候補の隠れ状態がどのように組み合わされるかは、更新ゲートによって決定されます。
更新ゲートによって与えられた値が 0 の場合、前の隠れ状態は完全に無視され、現在の隠れ状態は候補の隠れ状態と同じになります。更新ゲートの値が 1 の場合は、その逆が当てはまります。
GRU は、LSTM に比べてアーキテクチャがシンプルであるため、計算効率が高く、トレーニング速度が速く、必要なメモリが少ないだけです。 。
さらに、GRU は小規模なシーケンスに対してより効果的であることが示されています。
GRU には個別の隠れ状態とセル状態がないため、 LSTM のような過去の観察が考慮されない可能性があります。
RNN や LSTM と同様に、GRU もバックプロパゲーションと重みのタイムリーな更新の欠点、つまりデッド ReLu ユニットと勾配爆発に悩まされる可能性があります。
以上がRNN、LSTM、GRU の概念、違い、長所と短所を調べるの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。