回帰型ニューラルネットワーク

歴史

回帰型ニューラルネットワークは1986年のデビッド・ラメルハートの研究に基づく。ホップフィールド・ネットワークは1982年にジョン・ホップフィールドによって見出された。1993年、ニューラルヒストリー圧縮システムが、時間に展開されたRNN中で1000以上の層を必要とする「非常に深い学習」問題を解決した。

LSTM

長・短期記憶（long short-term memory、LSTM）は、1997年にホッフライターとシュミットフーバーによって見出され、複数の応用領域において精度の記録を作った。
2007年頃、LSTMは音声認識に革命をもたらし始め、特定の音声認識への応用において伝統的なモデルをしのいだ。2009年、コネクショニスト時系列分類（CTC）で訓練されたLSTMネットワークは、パターン認識大会で優勝した初のRNNとなった。このネットワークはつながった手書き文字認識の複数の大会で優勝した。2014年、中国の大手検索サイト百度は、伝統的な音声処理法を用いることなくSwitchboard Hub5'00音声認識ベンチマークを破るためにCTCで訓練されたRNNを用いた。
LSTMはまた、大規模語彙音声認識およびテキスト音声合成を改良し、Google Androidにおいて使われた.。2015年、GoogleはCTCで訓練されたLSTMによって音声認識の劇的な性能向上が達成されたと報告され、この技術はGoogle Voice Searchで使用された。
LSTMは機械翻訳、言語モデリング、多言語処理の記録を破った。畳み込みニューラルネットワーク（CNN）と組み合わされたLSTMは自動画像キャプション（短い説明文）付けを向上させた。

構造

RNNには多くの派生形式がある。

完全回帰型

基本的なRNNは連続する「層」へと編成されたニューロン的ノードのネットワークであり、所定の層中の個々のノードは次の層中の全てのノードと有向（一方向）結合により結合されている。個々のノード（ニューロン）は時間変動する実数値の活性化を有する。個々の結合（シナプス）は変更可能な実数値の重みを有する。ノードは（ネットワーク外からデータを受け取る）入力ノード、（結果を得る）出力ノード、（入力から出力への途上でデータを修正する）隠れノードのいずれかである。
離散時間設定における教師あり学習のため、実数値入力ベクトルの配列は入力ノードに到着する（一度に1つのベクトル）。任意の時間ステップにおいて、個々の非入力ユニットはそれに結合した全てのユニットの活性化の加重和の非線形関数としてその現在の活性化（結果）を計算する。ある時間ステップにおける一部の出力ユニットのために教師が与えられた目標活性化を提供することができる。例えば、入力配列が数字音声に対応した音声シグナルであるならば、配列の最後における最終目標出力は数字を分類するラベルとなるだろう。
強化学習のセッティングでは、教師は目標シグナルを与えない。代わりに、適合度関数または報酬関数がRNNの性能を評価するために使われることがある。これは環境に影響を与えるアクチュエータに結合された出力ユニットを通してその入力ストリームに影響する。これは、進行が勝ち取った点数によって測定されるゲームをプレーするために使うことができるかもしれない。
個々の配列は、全ての目標シグナルのネットワークによって計算された対応する活性化からのずれの和として誤差を生じる。膨大な配列のセットを訓練では、全誤差は全ての個別の配列の誤差の和である。

ホップフィールド

ホップフィールドネットワークは全ての結合が対称的なRNNである。定常入力を必要とし、複数パターンの配列を処理しないため、汎用RNNではない。ホップフィールドネットワークは収束することを保証している。もし結合がヘッブの学習を用いて訓練されるならば、ホップフィールドネットワークは結合変化に抵抗性のある頑強な連想メモリとして機能することができる。

双方向連想メモリ

Bart Koskoによって発表された双方向連想メモリ（bidirectional associative memory、BAM）ネットワークは、ベクトルとして連想データを貯蔵するホップフィールドネットワークの一変型である。双方向性は行列とその転置行列を通って情報が流れることから来ている。典型的には、双極符号化が連想対の二値符号化よりも選好される。最近、マルコフ飛び（ステッピング）を用いた確率的BAMモデルが増強したネットワーク安定化ために最適化され、現実世界の応用と関わりを持った。
BAMネットワークは2つの層を持ち、そのうちのどちらかを、連想を思い出し、もう一方の層上へ出力を生成するための入力として動作させることができる。

エコー状態

エコー状態ネットワーク（Echo state network、ESN）は、疎らに結合されたランダム隠れ層を持つ。出力ニューロンの重みは変更可能な（訓練可能な）ネットワークの一部でしかない。ESNは特定の時系列の再現に秀でている。スパイキングニューロンのための派生形式は液体状態マシンとして知られる。

独立RNN (IndRNN)

独立回帰型ニューラルネットワーク（Independently recurrent neural network、IndRNN）は、従来の完全結合型RNNにおける勾配消失および爆発問題に対処する。1つの層中の個々のニューロンは（この層中の他の全てのニューロンへの完全な結合の代わりに）文脈情報としてそれ自身の過去状態のみを受け取り、ゆえにニューロンは互いの履歴に独立である。勾配バックプロパゲーションは、長期または短期記憶を保持するため、勾配消失および爆発を避けるために制御することができる。ニューロン間情報は次の層において探索される。IndRNNはReLUといった非飽和非線形関数を使って確実に訓練することができる。スキップコネクションを使うことで、深いネットワークを訓練することができる。

再帰型

再帰型ニューラルネットワーク（recursive neural network）は、トポロジカル順序で可微分なグラフ様構造を横断することによって、同じ一連の重みを構造に再帰的に適用することによって作られる。このようなネットワークは典型的に自動微分の反転モードによって訓練することもできる。再帰型ニューラルネットワークは、論理項といった構造の分散表現を処理することできる。再帰型ニューラルネットワークの特殊な場合が、構造が直鎖に対応するRecurrent（回帰型）NNである。再帰型ニューラルネットワークは自然言語処理に応用されてきた。再帰型ニューラルテンソルネットワークは、木中の全てのノードに対してテンソルベースの合成関数を使用する。

ニューラルヒストリーコンプレッサ

ニューラルヒストリーコンプレッサ（neural history compressor）はRNNの教師なしスタックである。入力レベルにおいて、前の入力から次の入力を予測することを学習する。この階層型構造において一部のRNNの予測不可能な入力のみが次のより高いレベルのRNNへの入力となる。したがって、極めてまれにしかその内部状態は再計算されない。ゆえに、個々のより高位のRNNは下位RNN中の情報の圧縮表現を学ぶ。これは、入力配列がより高レベルにおける表現から正確に再構成できるような方法で行われる。
このシステムは、記述長またはデータの確率の負の対数を効果的に最小化する。入ってくるデータ配列中の多量の学習可能な予測可能性を考えると、最高レベルのRNNは、重要な事象間に長い間隔がある深い配列でさえも容易に分類するために教師あり学習を用いることができる。
このRNN階層を2つのRNN、「意識的」チャンカー（高位）と「無意識的」オートマタイザー（下位）に抜き出すことが可能である。チャンカーがオートマタイザーによって予測不可能な入力の予測と圧縮を学習すると、次にオートマタイザーは次の学習フェーズにおいて追加ユニットを通して、よりゆっくりと変化するチャンカーの隠れ層を予測または模倣することになる。これによってオートマタイザーが、長い間隔を超えて適切な、めったに変化しない記憶を学習することが容易になる。次に、チャンカーが残った予測不可能な事象に注視できるように、これはオートマタイザーが以前は予測不可能だった入力の多くを予測できるものとするのを助ける。
生成モデルは、1992年に自動微分またはバックプロパゲーションの勾配消失問題を部分的に克服した。1993年、こういったシステムは時間方向に展開されたRNN中に1000を超える後続層を必要とする「非常に深い学習」課題を解決した。

二次RNN

二次（second order）RNNは、標準的な重みの代わりにより高次の重みを用い、状態は積となる。これによって、訓練、安定性、表現において有限状態機械への直接的マッピングが可能となる。長・短期記憶（LSTM）はこの一例であるが、こういった形式的マッピングまたは安定性の証明は持たない。

長・短期記憶

長・短期記憶（LSTM）は勾配消失問題を回避するディープラーニング（深層学習）システムである。LSTMは通常、「忘却」ゲートと呼ばれる回帰型ゲートによって拡張されている。LSTMは勾配の消失または爆発からの逆伝播誤差を防ぐ。代わりに、誤差は空間方向に展開された無制限の数のバーチャル層を通して逆向きに流れる。すなわち、LSTMは、数千または数百万離れた時間段階前に起こった事象の記憶を必要とする課題を学習できる。問題特化型のLSTM的トポロジーを発展させることができる。。LSTMは重要な事象間に長い遅延が与えられても機能し、低周波数と高周波数成分を混合した信号を扱うことができる。
多くの応用がLSTM RNNのスタックを用いており、訓練セット中のラベル配列の確率を最大化するRNN重み行列を見付けるためにそれらをコネクショニスト時系列分類（CTC）によって訓練している。CTCはアラインメントと認識の両方を達成する。
LSTMは隠れマルコフモデル（HMM）や類似の概念に基づく以前のモデルとは異なり、文脈依存言語を認識することを学習することができる。

ゲート付き回帰型ユニット

ゲート付き回帰型ユニット（GRUs）は2014年に発表された回帰型ニューラルネットワークにおけるゲート機構である。完全な形式やいくつかの単純化された方式で使われている。多声音楽モデリングおよび音声信号モデリングにおけるそれらの性能は長・短期記憶の性能と似ていることが明らかにされた。これらは出力ゲートを持っていないため、LSTMよりもパラメータが少ない。

双方向性

双方向性（bi-directional）RNNsは要素の過去および未来の文脈に基づいて配列の個々の要素を予測あるいはラベル付けするために有限配列を用いる。これは、2つのRNNの出力を統合することによってなされる。一方のRNNは配列を左から右へ、もう一方は右から左へと処理する。統合された出力は教師が与えられた対象シグナルの予測である。この技法はLSTM RNNsを組み合わせた時に特に有用であることが証明されている。

階層的

階層的（hierarchical）RNNsは、階層的振る舞いを有用なサブプログラムへと分解するために様々なやり方でそれらのニューロンを結合する。

回帰型多層パーセプトロンネットワーク

一般に、回帰型多層パーセプトロン（Recurrent Multi-Layer Perceptron、RMLP）ネットワークは直列のサブネットワークから構成され、それぞれのサブネットワークは多層のノードを含む。これらのサブネットワークのそれぞれは、フィードバック結合を持ちうる最終層を除いて順伝播型である。これらのサブネットワークのそれぞれは、順伝播型結合によってのみ結合されている。

多重時間スケールモデル

多重時間スケール（multiple timescales）回帰型ニューラルネットワーク（MTRNN）は、ニューロン間の空間的結合および異なる種類のニューロン活動（個々は異なる時間特性を持つ）に依存した自己組織化を通して脳の機能的階層をシミュレートできるニューラルネットワークに基づいた計算モデルである。こういった変化に富んだ神経活動により、一連の挙動の連続的変化が再使用可能なプリミティブへと分割され、それらは次に多様な逐次的挙動へと柔軟に統合される。こういった種類の階層の生物学的同意は、ジェフ・ホーキンスによる著書『考える脳 考えるコンピューター 』（2005年）中の脳機能の自己連想記憶理論において議論された。

ニューラルチューリングマシン

ニューラルチューリングマシン（Neural Turing machine、NTM）は、回帰型ニューラルネットワークを外部記憶装置を連結することによってそれらを拡張する手法である。RNNは注意（attention）過程によって外部記憶装置と相互作用できる。組み合わされた系はチューリングマシンまたはフォン・ノイマン構造と類似しているが、端から端まで微分可能であり、これによって最急降下法を用いて効率的に学習することが可能となる。

微分可能ニューラルコンピュータ

微分可能ニューラルコンピュータ（differentiable neural computer、DNC）はニューラルチューリングマシンの拡張であり、曖昧な量の個々のメモリアドレスと出来事の配列の記憶を使うことができる。

ニューラルネットワーク・プッシュダウン・オートマトン

ニューラルネットワーク・プッシュダウン・オートマトン（NNPDA）はNTMと似ているが、（入力）テープは微分可能で、訓練される類似スタックによって置き換えられる。このようにして、NNPDAは文脈自由文法（CFG）の認識器と複雑さが似ている。

最急降下法

最急降下法は、関数の極小値を探し出すための一次の反復的最適化アルゴリズムである。ニューラルネットワークでは、非線形活性化関数が可微分であるという条件で、重みに関する誤差の微分係数に比例して個々の重みを変化させることによって誤差項を最小化するために使うことができる。これを行うための様々な手法はワーボス、ウィリアムス、ロビンソン、シュミットフーバー、ホッフライター、パールマターらによって1980年代と1990年代初頭に開発された。
標準的手法は「通時的誤差逆伝播法（Backpropagation through time、BPTT）」と呼ばれ、順伝播型ネットワークのための誤差逆伝播法の一般化である。誤差逆伝播法と同様に、BPTTはポントリャーギンの最小値原理の後ろ向き連鎖（reverse accumulation）モードにおける自動微分の実例である。計算コストがより高いオンライン版は「実時間リカレント学習（Real-Time Recurrent Learning、RTRL）」と呼ばれる。これは、積み重ねられた接ベクトルを持つ前向き連鎖（forward accumulation）モードにおける自動微分の実例である。BPTTとは異なり、このアルゴリズムは時間について局所的だが、空間については局所的でない。
この文脈において、空間について局所的とは、単一ユニットの更新計算量が重みベクトルの次元において線形であるように、ユニットの重みベクトルが結合されたユニットとユニットそれ自身に蓄えられた情報のみを用いて更新できることを意味する。時間について局所的とは、更新が連続的に（オンラインで）起こり、BPTTのように任意の時間地平線内の複数の時間ステップではなく最も近い時間ステップにのみ依存することを意味する。生物学的ニューラルネットワークは時間と空間の両方に関して局所的であるように見える。
偏微分の再帰的計算について、RTRLはヤコビ行列を計算するために時間ステップ毎にO(隠れ層の数 × 重みの数) の時間計算量を持つのに対して、BPTTは任意の時間地平線内の全ての順方向活性化を記憶するという代償を払って、時間ステップ毎にO(重みの数) しか取らない。BPTTとRTRLの中間の計算量を持つオンラインハイブリッド版や、連続時間版が存在する。

標準的なRNN構造に対する最急降下法の大きな問題は、誤差勾配が重要な事象間の時間差の大きさに伴い指数関数的に急速に消失することである。BPTT/RTRL混成学習手法を組み合わされたLSTMはこれらの問題の克服を試みている。この問題は、ニューロンの文脈をそれ自身の過去状態に減らすことによって独立回帰型ニューラルネットワーク（IndRNN）でも解決され、次にニューロン横断的情報は続く層において探索できる。長期記憶を含む異なる範囲の記憶は勾配消失および爆発問題を起こさずに学習できる。
因果的再帰誤差逆伝播法（causal recursive backpropagation、CRBP）は、局所的に回帰したネットワークのためにBPTTおよびRTRL枠組みを実装し、組み合わせる。CRBPは最も一般的な局所回帰型ネットワークと連携する。CRBPアルゴリズムは大域誤差項を最小化できる。この事実はアルゴリズムの安定性を向上し、これは局所フィードバックを持つ回帰型ネットワークのための勾配計算技法に関する統一的な概観をもたらす。
任意の構造を持つRNNにおける勾配情報の計算のためのある手法は、シグナルフローグラフ図式導出（signal-flow graphs diagrammatic derivation）に基づく。この手法はBPTTバッチアルゴリズムを用い、ネットワーク感度計算に関するLeeの定理に基づく。これはWanおよびBeaufaysによって提案されたが、その高速なオンライン版はCampolucci、Uncini、およびPiazzaによって提案された。

関連分野およびモデル

RNNはカオス的に振る舞いうる。こういった場合、力学系理論を分析のために使うことができる。
RNNは実のところ具体的な構造（直鎖構造）を持つ再帰型ニューラルネットワークである。再帰型ニューラルネットワークは、子供表現を親表現へと統合するいかなる階層構造上でも動作するが、回帰型ニューラルネットワークは以前の時間ステップおよび隠れ表現を現在の時間ステップ表現へと統合する直線的時間進行上で動作する。
具体的には、RNNは有限インパルス応答および無限インパルス応答フィルターの非線形版として見ることができ、また非線形自己回帰外因性モデル（nonlinear autoregressive exogenous model、NARX）と見ることもできる。