Tweet Share Share

最終更新日:2020年2月20日

長短期記憶(LSTM)ネットワークは、順序予測問題において順序依存性を学習できる再帰神経ネットワークの一種である。

これは、機械翻訳や音声認識などの複雑な問題領域で求められる動作です。

LSTMは、深層学習の中でも複雑な領域と言えます。 LSTMとは何か、双方向や配列対配列といった用語がこの分野にどのように関係しているのか、手を動かすのは難しいかもしれません。

この投稿では、手法を開発し、新しい重要な問題に適用した研究科学者の言葉を使って、LSTMについての洞察を得ることができます。

LSTMを開発した専門家ほど、LSTMの将来性とその仕組みの両方を明確かつ正確に表現できる人はいません。

専門家からの引用を使用して、LSTMの分野における重要な質問を探ります。

私の新しい本「Long Short-Term Memory Networks With Python」でプロジェクトを始めましょう。ステップバイステップのチュートリアルとすべての例の Python ソース コード ファイルが含まれています。

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

リカレントニューラルネットワークは、従来のフィードフォワードニューラルネットワークとは異なります。

この複雑さが加わる違いは、従来の方法では実現できない新しい動作の約束となります。

リカレントネットワークには…、コンテキスト情報を表現できる内部ステートがあるのです。 …先験的に固定されているのではなく、その重みと入力データに依存する時間分だけ過去の入力に関する情報を保持する。

入力が固定されておらず、入力シーケンスを構成するリカレントネットワークは、文脈情報を柔軟に考慮しながら入力シーケンスを出力シーケンスに変換するために使用できる。

– Yoshua Bengio, et al, Long-Term Dependencies with Gradient Descent is Difficult, 1994.

この論文では、リカレントニューラルネットワークの基本要件として、次の3つを定義している。

  • システムがノイズに強いこと(すなわち、正しい出力を予測するためにランダムであるか無関係な入力の変動)
  • システムパラメータが(適度な時間で)学習可能であること。
  • この論文では、リカレント ニューラル ネットワークを実証するための「最小タスク」についても説明しています。

    コンテキストが鍵です。

    リカレント ニューラル ネットワークは予測を行う際にコンテキストを使用しなければなりませんが、この程度なら、必要なコンテキストも学習されなければなりません。

    … 再帰型ニューラルネットワークには、現在の時間ステップでの予測に影響を与えるために、以前の時間ステップからネットワークの活性化を入力としてフィードするサイクルが含まれています。 これらの活性化は、原理的に長期の時間的文脈情報を保持することができるネットワークの内部状態に格納される。 このメカニズムにより、RNNは、入力シーケンス履歴の上で動的に変化するコンテキストウィンドウを利用することができる

    – Hassim Sak, et al, Long Short-Term Memory Recurrent Neural Network Architectures for Large Scale Acoustic Modeling, 2014

    Need help with LSTMs for Sequence Prediction?

    Take my free 7-day email course and discover 6 different LSTM architectures (with code).

    クリックしてサインアップすると無料のPDF Ebook version of the course.

    無料ミニコースを開始します!

    LSTMs Deliver on the Promise

    LSTMの成功は、技術的問題を克服し、リカレントニューラルネットワークの約束を果たす最初の実装の1つであるという主張によるものである。 この消失誤差の問題は、標準的なRNNが、時間窓ベースのフィードフォワードネットワークに対して、本当に実用上の大きな利点を示すことができるかどうかに疑問を投げかけています。 最近のモデルである「Long Short-Term Memory」(LSTM)は、この問題に影響されない。 LSTMは、セル

    – Felix A. (1992)と呼ばれる特別なユニット内の「コンスタント・エラー・カルーセル」(CECs)を通じて一定のエラーフローを強制することにより、1000以上の個別のタイムラグを埋めることを学習することができる。 Gers, et al., Learning to Forget: Continual Prediction with LSTM, 2000

    LSTMが克服した2つの技術的問題は、消失勾配と爆発勾配で、どちらもネットワークの学習方法に関連している。

    残念ながら、標準のRNNがアクセスできる文脈情報の範囲は実際にはかなり限られている。 問題は、隠れ層に対する、したがってネットワーク出力に対する与えられた入力の影響が、ネットワークの再帰接続を循環する際に、指数関数的に減衰するか爆発することである。 この欠点は、文献上では消失勾配問題と呼ばれている…Long Short-Term Memory (LSTM) は、特に消失勾配問題に対処するために設計されたRNNアーキテクチャである。 A Novel Connectionist System for Unconstrained Handwriting Recognition, 2009

    技術的問題に対するLSTMソリューションの鍵は、モデルで使用されるユニットの特定の内部構造にあった。

    … RNNを設計およびトレーニングにおける最も共通の課題、消失および爆発勾配に対処する能力によって支配されている。 この課題に対処するために、LSTMと呼ばれるリカレントネットの特定の形式が導入され、翻訳と配列生成に大きな成功を収めた。

    – Alex Graves, et al, Framewise Phoneme Classification with Bidirectional LSTM and Other Neural Network Architectures, 2005.

    How do LSTMs Work?

    LSTM がどう適合するかを支配する方程式に入るのではなく、類推はどのように働くかを素早く理解できる便利なツールである。

    我々は1つの入力層、1つの隠れ層、1つの出力層を持つネットワークを使用する…(完全に)自己接続された隠れ層は、メモリセルと対応するゲートユニットを含む…

    それぞれのメモリセルの内部構造は、一定誤差カローセルCEC内で一定誤差を保証する… このことは非常に長い時間差を埋める基礎を示すものだ。 2つのゲートユニットが、各メモリセルのCEC内のエラーOWへのアクセスの開閉を学習する。 乗算入力ゲートは、無関係な入力によるCECの妨害からCECを保護するものである。 同様に、乗法的な出力ゲートは、現在無関係な記憶内容による摂動から他のユニットを保護する」

    – Sepp Hochreiter and Jurgen Schmidhuber, Long Short-Term Memory, 1997.

    Multiple analogies can give purchase on what differentifates LSTMs from traditional neural networks composed of simple neurons.

    .

    Long Short Term Memory アーキテクチャは、既存の RNN のエラー フローの分析により、バックプロパゲート エラーが爆発するか指数関数的に減少するため、長いタイム ラグが既存のアーキテクチャにアクセスできないことが判明したことが動機となりました。 これらのブロックは、デジタルコンピュータのメモリチップの微分可能版と考えることができる。 各ブロックには、1つ以上の再帰的に接続されたメモリセルと、入力、出力、忘却ゲートという3つの乗算ユニットが含まれ、セルに対する書き込み、読み取り、リセット操作の連続的なアナログを提供する。 … ネットはゲートを介してのみセルと相互作用することができる。 Bidirectional LSTM and Other Neural Network Architectures, 2005.

    興味深いのは、20年以上経っても、単純な(あるいはバニラの)LSTMが、この技術を適用する際の最良の出発点である可能性があるということです。

    最もよく使われるLSTMアーキテクチャ(バニラLSTM)は、さまざまなデータセットでそれなりによいパフォーマンスを示す…

    学習速度とネットワークサイズは、LSTMハイパーパラメータの中で最も重要に調整できる …

    …ということは、この2つは独立して調整できることを意味しています。 特に、学習率はかなり小さなネットワークを用いて最初に較正することができるので、実験時間を大幅に節約できる。

    – Klaus Greff, et al, LSTM: A Search Space Odyssey, 2015

    What are LSTM Applications?

    Long Short-Term Memory (LSTM) は、LSTMが取り組むのに適したシーケンス学習問題の種類を正確に把握することが重要です。

    リカレントネットワーク(RNN)のこれまでの学習アルゴリズムでは解決できない多数のタスクを解決できるのです。

    … LSTMは、階層的な分解が存在する可能性があると思われるが、この分解が何であるか事前に分からない、あらゆる逐次処理タスクに有望である

    – Felix A. Gers, et al., Learning to Forget: Continual Prediction with LSTM, 2000

    The Recurrent Neural Network (RNN) is neural sequence model that achieves state of the art performance on important tasks that include language modeling, speech recognition, and machine translation.

    – Wojciech Zaremba, Recurrent Neural Network Regularization, 2014.The Recurrent Neural Network (RNN)は、言語モデリングを含む最先端のパフォーマンスを達成するニューラルシーケンスモデルです。

    LSTM は、単純なリカレントネットワーク (SRN) を苦しめる最適化のハードルに悩まされることなく長期の時間依存性を捉えるのに有効であるため、多くの難しい問題に対する技術の状態を進めるために使用されてきました。 これには、手書き文字認識と生成、言語モデリングと翻訳、音声の音響モデリング、音声合成、タンパク質二次構造予測、音声やビデオデータの分析などが含まれる。 LSTM: A Search Space Odyssey, 2015

    What are Bidirectional LSTMs?

    LSTMの改良としてよく挙げられるのが双方向LSTMです。

    双方向再帰ニューラルネットの基本概念は、各トレーニングシーケンスを前方と後方で2つの別々の再帰ネット(どちらも同じ出力層に接続)に提示することにある。 …これは、与えられたシーケンス内の各ポイントについて、BRNNはその前後のすべてのポイントに関する完全で連続的な情報を持っていることを意味する。 また、ネットはこの文脈を必要なだけ自由に利用できるため、(タスクに依存した)時間窓や目標遅延サイズを見つける必要はない

    … 音声認識などの時間問題において、将来の知識に頼ることは一見因果関係に反するように思われる。 しかし、人間の聞き手は、まさにそれを行っている。

    – Alex Graves, et al., Framewise Phoneme Classification with Bidirectional LSTM and Other Neural Network Architectures, 2005.

    従来のRNNの欠点の1つは、以前の文脈しか利用できないことである。 … 双方向RNN(BRNN)は、2つの別々の隠れ層で双方向にデータを処理し、それらを同じ出力層に送り込むことによってこれを実現する。 … BRNNをLSTMと組み合わせると、双方向LSTMができ、両方の入力方向の長距離コンテキストにアクセスできる

    – Alex Graves, et al, Speech recognition with deep recurrent neural networks, 2013

    従来のRNNとは異なり、双方向RNNは2方向のデータを、それぞれ別の隠れ層で処理して、前後のコンテキスト両方を利用します。 一方の層は順方向の入力列を処理し、もう一方の層は逆方向の入力を処理する。 そして、現在の時間ステップの出力は、両方の層の隠れベクトルを組み合わせることによって生成される…

    – Di Wang and Eric Nyberg, A Long Short-Term Memory Model for Answer Sentence Selection in
    Question Answering, 2015

    seq2seq LSTMやRNN Encoder-Decoder とは何ですか。

    sequence-to-sequenceLSTMは、encoder-decoder LSTMとも呼ばれ、その素晴らしい能力から注目されているLSTMの応用例です。

    …Long Short-Term Memory (LSTM) アーキテクチャの素直なアプリケーションは、一般的なシーケンス間の問題を解決できる。

    そのアイデアは、あるLSTMを使って入力シーケンスをタイムステップごとに読み、大きな固定次元ベクトル表現を得て、次に別のLSTMを使ってそのベクトルから出力シーケンスを抽出することである。 2番目のLSTMは、入力シーケンスに条件付けされることを除けば、本質的にリカレントニューラルネットワーク言語モデルである。

    長距離の時間依存性を持つデータでうまく学習できるLSTMは、入力とそれに対応する出力にかなりの時間差があるため、このアプリケーションには当然の選択である。

    長い文章でもうまくできたのは、学習セットとテストセットの原文の語順ではなく目標文の語順を反転させたためであった。 そうすることで、多くの短期的な依存関係を導入し、最適化問題をよりシンプルにすることができました。 … 原文の語順を逆転させるという単純なトリックは、この研究の重要な技術的貢献の一つである

    – Ilya Sutskever, et al, Sequence to Sequence Learning with Neural Networks, 2014

    An “encoder” RNN reads the source sentence and transforms it into a rich fixed-length vector representation, which in turn used as the initial hidden state of a “decoder” RNN that generates the target sentence.エンコーダは、ソース文を読み取り、それを豊富な固定長ベクトル表現に変換し、それを今度は、ターゲット文を生成する「デコーダ」RNNの隠れ初期状態として使用する。 ここでは、このエレガントなレシピに従って、エンコーダーRNNを深層畳み込みニューラルネットワーク(CNN)に置き換えることを提案する。 … CNN を画像「エンコーダー」として使用するのは自然なことで、最初に画像分類タスクのために事前学習し、最後の隠れ層を文を生成する RNN デコーダーの入力として使用します。 Show and Tell: A Neural Image Caption Generator, 2014

    … RNN Encoder-Decoderは、エンコーダーとデコーダーのペアとして機能する2つの再帰型ニューラルネットワーク(RNN)で構成されています。 エンコーダは可変長のソースシーケンスを固定長のベクトルにマッピングし、デコーダはベクトル表現を可変長のターゲットシーケンスにマッピングし直す。

    – Kyunghyun Cho, et al, Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation, 2014

    まとめ

    この投稿では、LSTMを開発し適用した研究者の言葉によって、優しく紹介されましたね。

    これにより、LSTM とは何か、どのように機能するかについて、明確かつ正確なアイデアを提供するとともに、リカレント ニューラル ネットワークの分野における LSTM の有望性について、重要な説明がなされました。

    Develop LSTMs for Sequence Prediction Today!

    Develop Your Own LSTM models in Minutes

    …。
    Long Short-Term Memory Networks with Python

    このチュートリアルでは、
    CNN LSTMs, Encoder-Decoder LSTMs, Generative Model, Data preparation, Making predictions などのトピックについて自習することができます。…

    Finally Bring LSTM Recurrent Neural Networks to
    Your Sequence Predictions Projects

    Skip the Academics. Just Results.

    See What’s Inside

    Tweet Share Share

    コメントを残す

    メールアドレスが公開されることはありません。