# Neural Turing Machines
> [!abstract] 概要
> ニューラルネットワークのコントローラに、注意機構で読み書きする外部メモリを結合した[[Neural Turing Machine]](NTM)を提案する。読み出し、消去、追加、アドレス指定をすべて微分可能にし、入出力例だけからコピー、連想想起、整列などの単純なアルゴリズムを勾配降下法で学習させた予備的研究である。
## 論文情報
- **著者**: Alex Graves、Greg Wayne、Ivo Danihelka
- **所属**: Google DeepMind(現[[DeepMind]])、ロンドン
- **公開**: arXiv:1410.5401、2014年10月20日
- **原典**: [arXiv](https://arxiv.org/abs/1410.5401)
- **30papers掲載情報**: [[.raw/articles/30papers-neural-turing-machines-2026-07-28.md]]
## 問題設定
[[RNN]]は理論上チューリング完全でも、固定次元の内部状態だけで任意の手続きを学習することが実用上容易とは限らない。NTMは、コントローラを計算装置、メモリ行列をRAMに見立て、アドレス可能な外部メモリを明示的に追加する。目的は記号プログラムを直接与えることではなく、入出力例から単純な手続きを学習することである。(Source: [arXiv原典](https://arxiv.org/abs/1410.5401))
## アーキテクチャ
NTMはニューラルネットワークのコントローラ、$N\times M$のメモリ行列、複数の読み出し・書き込みヘッドからなる。コントローラはフィードフォワードネットワークまたは[[LSTM]]を使える。LSTMコントローラの内部状態はプロセッサのレジスタ、外部メモリはRAMに相当する。(Source: [arXiv原典](https://arxiv.org/abs/1410.5401))
![[_attachments/30papers-neural-turing-machines/fig01-architecture.png]]
*コントローラが読み出し・書き込みヘッドを通して外部メモリを操作するNTMの全体構成。*
### 読み出しと書き込み
各ヘッドはメモリ位置に対する正規化重み $w_t(i)$ を出力する。読み出しベクトルはメモリ行の凸結合であり、一つの位置を鋭く参照することも、複数位置をぼかして参照することもできる。
$r_t=\sum_i w_t(i)M_t(i)$
書き込みは、LSTMのゲートに着想を得た消去と追加の二段階で行う。消去ベクトル $e_t$ と追加ベクトル $a_t$ により、位置ごと・成分ごとに内容を更新する。全操作が連続値で表されるため、メモリ操作まで含めて誤差逆伝播できる。(Source: [arXiv原典](https://arxiv.org/abs/1410.5401))
### 二つのアドレス指定
- **内容アドレス指定**: コントローラが出す鍵と各メモリ行のコサイン類似度から参照位置を選ぶ。
- **位置アドレス指定**: 前時刻の重みとの補間、循環畳み込みによる相対移動、べき乗による焦点の鋭化を順に行う。
内容アドレス指定は保存値に似た鍵から検索し、位置アドレス指定は連続領域の走査や相対位置への移動を担う。論文では、位置アドレス指定を原始操作として与えることが、一部タスクの訓練範囲外への汎化に不可欠だった。(Source: [arXiv原典](https://arxiv.org/abs/1410.5401))
![[_attachments/30papers-neural-turing-machines/fig02-addressing.png]]
*内容検索、前時刻との補間、相対移動、鋭化からなるアドレス指定機構。*
## 実験
すべて合成データによる教師あり学習であり、NTMのフィードフォワードコントローラ版、LSTMコントローラ版、通常のLSTMを比較した。評価は訓練損失だけでなく、訓練時より長い系列への外挿を重視する。(Source: [arXiv原典](https://arxiv.org/abs/1410.5401))
### コピーと反復コピー
コピー課題では長さ1〜20の8ビット系列で訓練した。NTMは通常のLSTMより速く学習し、長さ50までほぼ正確、長さ120でも局所的な誤りを除いてコピーした。LSTMは長さ20を越えると急速に悪化した。メモリの観察から、NTMは入力を連続位置へ書き、開始位置へ戻って同じ順序で読む手続きを獲得したと解釈できる。(Source: [arXiv原典](https://arxiv.org/abs/1410.5401))
![[_attachments/30papers-neural-turing-machines/fig03-copy-memory-use.png]]
*コピー課題で、書き込み位置と読み出し位置が時間とともに同じ順序で移動する様子。*
反復コピーでは、NTMは訓練時より長い系列と10回を越える反復にも概ね対応したが、反復回数の計数を外挿できず、終了記号を正しく出せなかった。著者らは、反復回数を連続値で与えた表現が固定範囲外へ一般化しにくいことを原因候補としている。(Source: [arXiv原典](https://arxiv.org/abs/1410.5401))
### 連想想起・動的N-gram・優先度付き整列
- **連想想起**: 2〜6項目で訓練し、フィードフォワードコントローラ版は12項目までほぼ完全に汎化した。LSTMは100万エピソード後も損失ゼロへ到達しなかった。
- **動的N-gram**: NTMはLSTMをわずかに上回ったが、ベイズ最適推定器には届かなかった。
- **優先度付き整列**: NTMはLSTMを大きく上回り、優先度をメモリ位置へ写像して昇順に読み出す挙動を示した。
(Source: [arXiv原典](https://arxiv.org/abs/1410.5401))
## 評価と限界
NTMの重要性は、モデルパラメータに埋め込まれた固定次元状態と、実行時に拡張できるアドレス可能なメモリを分離した点にある。メモリ位置数を増やしてもモデルパラメータ数は増えず、内容と位置という二種類の参照を学習できる。この構成は[[メモリ拡張ニューラルネットワーク]]の基礎例となった。(Source: [arXiv原典](https://arxiv.org/abs/1410.5401))
一方、結果は単純な合成課題に限定された予備実験であり、各課題を別々に訓練している。ソフトなアドレス指定は厳密な離散操作ではなく、長い反復では重みがぼやける。コピー課題では128位置の固定メモリを越えると循環移動が一周して既存の書き込みを上書きする。したがって、論文は汎用プログラム実行器や形式的に正しいアルゴリズム学習を実証したものではない。(Source: [arXiv原典](https://arxiv.org/abs/1410.5401))
## 関連
- モデル: [[Neural Turing Machine]]
- 概念: [[メモリ拡張ニューラルネットワーク]]
- 基盤: [[RNN]] / [[LSTM]]
- 所属: [[DeepMind]]
- 現代の比較対象: [[エージェントメモリ]]