HyperAI超神経

長期短期記憶長期短期記憶

長短期記憶(英語: Long Short-Term Memory、LSTM) は、時間再帰型ニューラル ネットワーク (RNN) であり、この論文は 1997 年に初めて発表されました。 LSTM は、独自の設計構造により、非常に長い間隔と遅延を伴う時系列の重要なイベントの処理と予測に適しています。

LSTM は一般に、非セグメント化された連続手書き認識など、時間的リカレント ニューラル ネットワークや隠れマルコフ モデル (HMM) よりも優れたパフォーマンスを発揮します。 2009 年、LSTM で構築された人工ニューラル ネットワーク モデルが ICDAR 手書き認識コンペティションで優勝しました。 LSTM は自律音声認識にも一般的に使用されており、2013 年には TIMIT 自然音声データベースが使用され、17.7% のエラー率の記録を達成しました。非線形モデルとして、LSTM は、より大規模なディープ ニューラル ネットワークを構築するための複雑な非線形ユニットとして使用できます。

長短期記憶(英語: Long Short-Term Memory、LSTM) は、時間再帰型ニューラル ネットワーク (RNN) であり、この論文は 1997 年に初めて発表されました。 LSTM は、独自の設計構造により、非常に長い間隔と遅延を伴う時系列の重要なイベントの処理と予測に適しています。

LSTM は一般に、非セグメント化された連続手書き認識など、時間的リカレント ニューラル ネットワークや隠れマルコフ モデル (HMM) よりも優れたパフォーマンスを発揮します。 2009 年、LSTM で構築された人工ニューラル ネットワーク モデルが ICDAR 手書き認識コンペティションで優勝しました。 LSTM は自律音声認識にも一般的に使用されており、2013 年には TIMIT 自然音声データベースが使用され、17.7% のエラー率の記録を達成しました。非線形モデルとして、LSTM は、より大規模なディープ ニューラル ネットワークを構築するための複雑な非線形ユニットとして使用できます。

LSTM ネットワークを理解する

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

人間は常にゼロから考えるわけではありません。この記事を読めば、これまでの単語を踏まえてそれぞれの単語を理解できるので、すべてを捨てて一から考える必要はありません。あなたの思考には連続性があります。

従来のニューラル ネットワークではこれができず、これが大きな欠点となります。たとえば、映画の中で起こっている出来事について判断する必要があると想像してください。従来のニューラル ネットワークが以前のイベントに基づいて将来のイベントをどのように予測できるかは不明です。

この問題を解決するためにリカレント ニューラル ネットワークが使用されます。リカレント ニューラル ネットワーク内には、情報の連続性を維持するためのループがあります。

上の図では、ローカル ニューラル ネットワーク - ????A があり、入力値は ???????xt、出力値は ℎ??????ht です。ループにより、情報がネットワークを段階的に通過することが保証されます。

これらのループにより、リカレント ニューラル ネットワークの理解が困難になります。しかし、よく考えてみると、通常のニューラルネットワークと何ら変わらないことがわかります。リカレント ニューラル ネットワークは、それぞれが情報を次のネットワークに渡す一連の同一のネットワークと考えることができます。ループを展開すると、次のようになります。

この連鎖構造から、リカレント ニューラル ネットワークとシーケンスがリストと密接に関連していることが自然に明らかになります。これは、シーケンス データの処理に使用されるニューラル ネットワークの自然なアーキテクチャです。

もちろんそれも可能です。近年、RNN は音声認識、言語モデリング、翻訳、画像記述などの分野で驚くべき成功を収めています。 RNN で達成された結果についての議論は Andrej Karpathy のブログに任せます。 RNNって本当にすごいですね!

これらの成功の鍵は「LSTM」です。これは、多くの問題において標準バージョンの RNN よりもはるかに優れた特別なタイプのリカレント ニューラル ネットワークです。リカレント ニューラル ネットワークによって達成されるほとんどすべての優れた結果は、LSTM の使用から生まれています。この記事ではLSTMについて紹介します。

長期的な依存関係の問題

RNN の魅力の 1 つは、以前の情報を現在の問題に結び付ける能力です。たとえば、以前のビデオ映像を使用して現在の映像への理解を促すことができます。 RNN がこれを実行できれば、非常に便利になります。しかし、それはできるでしょうか?まあ、条件はあるんですけどね。

現在の問題に対処するために、最新の情報だけを確認する必要がある場合があります。たとえば、言語モデルは、前の単語に基づいて次の単語を予測しようとします。 「雲が近づいている」と予測しようとすると、 ” の最後の単語です。これ以上の文脈は必要ありません。次の単語がこうなるのは明らかです。  。この場合、関連する情報とその位置との間の距離は小さく、RNN は過去の情報を使用することを学習できます。

しかし、より多くのコンテキストが必要な場合もあります。 「私はフランスで育ちました…私は流暢に話します」と予測してみてください。 フランス語「 の最後の単語。」 最近の情報では、次の単語が言語の名前である可能性があることが示唆されていますが、どの言語に特化したい場合は、さらに離れた場所からのコンテキストが必要です。つまり、フランスである可能性は十分にあります。関連する情報とその位置との間の距離が非常に大きい。

残念ながら、距離が離れると、RNN は情報を接続できなくなります。

理論上、RNN はこの「長期依存関係」を完全に処理できます。人間はパラメータを慎重に選択することで、この形式の「おもちゃの問題」を解決できます。残念ながら、実際には、RNN はそれらを学習できないようです。この問題は、Hochreiter と Bengio らによって詳しく調査されました。彼は問題が難しくなっている根本原因を発見しました。

ありがたいことに、LSTM にはこの問題はありません。

LSTMネットワーク

長短期記憶ネットワーク (LSTM と呼ばれることが多い) は、長期の依存関係を学習できる特別なタイプの RNN です。 Hochreiter と Schmidhuber (1997) によって提案され、その後の研究で多くの人々によって改良および推進されました。 LSTM はさまざまな問題に対して非常に優れたパフォーマンスを発揮し、現在広く使用されています。

LSTM は、長期的な依存関係の問題を回避するように明示的に設計されています。情報を長期間記憶することは、実際には LSTM のデフォルトの動作であり、習得するのに大変な努力が必要なものではありません。

すべてのリカレント ニューラル ネットワークには、ニューラル ネットワークの繰り返しモジュールが連鎖しています。標準的な RNN では、この繰り返しモジュールは単一の Tanh 層のみなど、非常に単純な構造を持っています。

LSTM にも同様のチェーン構造がありますが、反復モジュールの構造は異なります。ニューラル ネットワーク層は 1 つではなく 4 つあり、それらは非常に特殊な方法で相互作用します。

細かいことは気にしないでください。 LSTM の図については後ほど説明します。ここで、使用する記号について理解してみましょう。

上の図では、各行には、1 つのノードの出力から他のノードの入力までの完全なベクトルが含まれています。ピンクの円はベクトル加算などのポイントごとの操作を表し、黄色のボックスは学習されたニューラル ネットワーク層を表します。行のマージは連結を意味しますが、分岐はその内容がコピーされ、そのコピーが別の場所に移動することを意味します。

LSTMの核となる考え方

LSTM の鍵となるのはセルの状態 (図の上の水平線) です。

セルラーの状態はベルトコンベアに似ています。これはチェーン全体にわたって実行され、いくつかの小さな線形相互作用のみが行われます。情報は簡単かつ変化なく流れます。

LSTM は、ゲートと呼ばれる精巧な構造を通じてセル状態に情報を追加または削除できます。

ゲートは情報を選択的に通過させることができます。これらは、S 字型ニューラル ネットワーク層と点単位の乗算演算で構成されます。

S 字型ネットワークの出力値は 0 ~ 1 で、通過する情報の量を示します。値 0 は「メッセージが渡されない」ことを意味し、値 1 は「メッセージがすべて渡された」ことを意味します。

LSTM には、セル状態を維持および制御するためのゲートが 3 つあります。

LSTM プロセスの段階的な分析

LSTM の最初のステップは、セル状態からどの情報を破棄するかを決定することです。この決定は、「フォーゲットゲート層」と呼ばれるS字型ネットワーク層によって行われます。 ℎ??????-1ht-1 と ???????xt を受け取り、セル状態 ????????-1Ct-1 の各数値の出力値は 0 から 1 の間になります。 。 1 は「完全に受け入れる」を意味し、0 は「完全に無視する」を意味します。

言語モデルの例に戻り、前の単語を使用して次の単語を予測してみましょう。この質問では、セルの状態に現在の主語の品詞が含まれる可能性があるため、正しい代名詞を使用できます。新しい主題を見たとき、前の主題の品詞を忘れる必要があります。

次のステップは、セル状態にどのような新しい情報を保存する必要があるかを決定することです。これは 2 つの部分に分かれています。最初の部分では、「入力ゲート層」と呼ばれる S 字型のネットワーク層が、どの情報を更新する必要があるかを決定します。 2 番目の部分では、tanh 形状のネットワーク層が、セル状態に追加できる候補値の新しいベクトル - ???? ????C~t を作成します。次のステップでは、上記の 2 つの部分を結合して、状態の更新を生成します。

私たちの言語モデルでは、忘れる必要がある古い主語を置き換えるために、新しい主語の品詞を状態に追加する必要があります。

ここで、古いセル状態 ??????????-1Ct-1 を ??????????Ct に更新します。前の手順で何をすべきかがすでに決まっているので、それに従うだけです。

忘れると決めたことを忘れるために、古い状態に????????ftを掛けます。次に、各状態に対して決定した更新値に基づいてスケーリングされた新しい候補値である ??????????∗??????ə ????it∗C~t を追加します。

言語モデルの例では、ここで古い主語の品詞を破棄し、前のステップに基づいて新しい主語の品詞を追加します。

最後に、出力値を決定する必要があります。出力はセルの状態によって異なりますが、「フィルターされた」バージョンになります。まず、シグモイド ネットワーク層を実行して、セル状態のどの部分を出力できるかを決定します。そして、セルの状態をtanhtanh(−1−1〜11の間で値を調整)に入力し、S字ネットワーク層の出力値と乗算することで、所望の出力部分を出力することができます。

言語モデルを例に挙げると、主語が現れると、その主語の情報が後続の動詞に影響を与えます。たとえば、主語が単数か複数かを知ることで、次の動詞の形式を知ることができます。

長期短期記憶のバリエーション

これまで説明してきたのは、ごく一般的な LSTM ネットワークにすぎません。ただし、すべての LSTM ネットワークが前述したものと同じであるわけではありません。実際、ほとんどすべての記事は LSTM ネットワークの特定のバージョンを改善しています。違いはわずかですが、これらのバリエーションを認識する必要があります。

Gers と Schmidhuber によって提案された一般的な LSTM バリアントは、LSTM に「のぞき穴接続」を追加します。これは、ゲート ネットワーク層にセル状態を入力させることができることを意味します。

上の写真ではすべてのドアにのぞき穴を追加していますが、多くの論文では一部のドアにのみのぞき穴が追加されています。

別の変形では、忘却と入力ゲートを組み合わせます。忘れるべき情報と追加すべき新しい情報を、個別にではなく同時に特定します。入力すると忘れられ、古い情報を忘れた場合にのみ新しいデータが入力されます。

より興味深い LSTM バリアントは、Cho らによって提案された Gated Recurrent Unit (GRU) と呼ばれます。 GRU は、忘却ゲートと入力ゲートを「更新ゲート」にマージし、セル状態を非表示状態とマージし、その他の変更を行います。そうすることで、GRU は標準の LSTM モデルよりもシンプルになるため、人気が高まっています。

これらは、いくつかのよく知られた LSTM 亜種のうちのほんの一部です。 Yaoらによって提案されたDepth Gated RNNなど、他の亜種もあります。 Koutnikらによって提案されたClockwork RNNなど、長期的な依存関係に対処するためのまったく異なる方法もいくつかあります。

これらのバリエーションのうちどれが最適ですか?それらの違いは重要ですか? Greff らは研究を行い、一般的な亜種を注意深く比較したところ、それらはほぼすべて同じであることがわかりました。 Jozefowicz らは 10,000 を超える RNN アーキテクチャをテストし、特定の問題に関して一部のアーキテクチャが LSTM よりも優れたパフォーマンスを発揮することを発見しました。

結論は

先ほど、一部の人々が RNN を使用して顕著な成果を達成していることに気づきましたが、そのほとんどすべてが LSTM ネットワークで行われました。ほとんどの問題については、LSTM の方が優れています。

たくさんの数式を列挙すると、LSTM は怖く見えます。幸いなことに、記事内の段階的な分析により、これらの意見は受け入れやすくなっています。

LSTM は RNN の大きな進歩です。 「他に改善の余地はあるのか?」と尋ねるのは自然なことです。研究者からの一般的な答えは次のとおりです。まだまだ改善の余地あり、注目です!アテンションの考え方は、RNN の各ステップでより情報が豊富な場所から情報を抽出できるようにすることです。たとえば、RNN を使用して画像の説明を生成する場合は、画像の一部を抽出して出力テキストを生成する必要もあります。実際、Xu らはまさにそれを行いました。注目を集めるには、これが出発点として非常に適しています。アテンションを活用した優れた成果は数多くありますが、アテンションは今後さらに強力になるでしょう...

RNN 研究における興味深いアイデアは、注意だけではありません。 Kalchbrenner らによって提案された Grid LSTM には大きな可能性があるようです。生成モデルで RNN を使用する Gregor ら、Chung ら、または Bayer と Osendorfer のアイデアも非常に興味深いものです。過去数年はリカレント ニューラル ネットワークの最盛期であり、新しい結果はさらに有望なものになるでしょう。

より転載 https://www.cnblogs.com/xuruilong100/p/8506949.html