# メモリ拡張ニューラルネットワーク ## 定義 メモリ拡張ニューラルネットワーク(Memory-Augmented Neural Network; MANN)は、ニューラルネットワークのコントローラと、実行時に読み書きできるアドレス可能なメモリを分離したモデル群である。[[Neural Turing Machine]]では、読み出し・消去・追加・アドレス指定を微分可能な注意重みとして表し、メモリ操作を含む系全体を勾配降下法で学習する。(Source: [[@2026__30papers__Neural Turing Machines]]) ## 中核設計 ### コントローラとメモリの分離 コントローラは入力から出力とメモリ操作命令を生成する。外部メモリは、モデルパラメータとは別の実行時状態を保持する。NTMではメモリ位置数を増やしてもコントローラのパラメータ数は増えず、固定次元の隠れ状態だけへ全履歴を圧縮する必要を緩和する。(Source: [[@2026__30papers__Neural Turing Machines]]) ### 微分可能なアドレス指定 NTMは、保存内容との類似度で探す内容アドレス指定と、直前の参照位置から相対移動する位置アドレス指定を組み合わせる。前者は連想検索、後者は配列の走査や連続領域へのアクセスに向く。離散的な一位置の選択を確率重みへ緩和することで学習可能になる一方、長い操作列では焦点がぼやける可能性がある。(Source: [[@2026__30papers__Neural Turing Machines]]) ### 学習されたメモリ操作 コピー課題では、入力を連続位置へ書き、開始位置へ戻り、同じ順序で読む操作が学習された。連想想起では、項目の圧縮表現を内容検索し、位置を一つずらして後続項目を取得した。学習結果は出力精度だけでなく、読み書き重みを観察して操作手順を解釈できる。(Source: [[@2026__30papers__Neural Turing Machines]]) ## 横断的知見 - [[LSTM]]は固定次元のセル状態をゲートで保持・更新するのに対し、[[Neural Turing Machine]]は同じ消去・追加の発想を外部メモリの任意位置へ拡張する。両者は加法的状態更新を共有するが、NTMは記憶容量とコントローラのパラメータ数を分離し、長い系列を固定次元状態へ圧縮する制約を緩めた。(Source: [[@2026__30papers__Understanding LSTM Networks]], [[@2026__30papers__Neural Turing Machines]]) - NTMと現代の[[エージェントメモリ]]は、計算主体とメモリを分離する点では共通する。一方、NTMのメモリはエピソード開始時にリセットされる潜在行列で、微分可能な注意により訓練と実行を一体化する。現代のエージェントメモリはトークン・グラフ・ベクトルストアなどを使い、複数対話にわたる形成・更新・検索を離散的な処理として扱う。外部メモリという共通構想が、短期アルゴリズム実行から長期経験管理へ拡張されたと整理できる。(Source: [[@2026__30papers__Neural Turing Machines]], [[@2025__arXiv__Memory in the Age of AI Agents]]) - NTMの注意は、可変内容を持つメモリへ逐次的に読み書きする操作である。Transformerの自己アテンションは、各層で入力表現間の関係を計算するが、その原型では別個の永続的な書き込みメモリを持たない。両者は「参照先を連続重みで選ぶ」原理を共有しつつ、NTMは状態変更、Transformerは表現変換を主目的とする。(Source: [[@2026__30papers__Neural Turing Machines]], [[@2017__NeurIPS__Attention Is All You Need]]) - **『ディープラーニングを支える技術』は、本ページが個別に扱う「内部記憶(LSTM/RNN)」と「外部メモリ(NTM)」を、活性値/内部状態・重み/パラメータ・注意機構による読み出しという3段階の時間スケールを持つ単一の記憶体系として統一的に位置づける**: 同書第4章 §4.4は、ニューラルネットワークが扱う記憶を(1) 活性値/内部状態(今処理中のデータの記憶。小容量ですぐアクセスできる)、(2) 重み/パラメータ(訓練データ全体の記憶。勾配降下法によりhe^Tの蓄積として構成されるため超長期・大容量)、(3) 注意機構による過去の内部状態の読み出し(内部状態より長期、重みより短期の中間的な記憶)という3段階として整理する。本ページのNTM(外部メモリ)とLSTM(内部記憶)の対比は、この枠組みでは(3)の変種同士の対比(NTMは明示的な外部メモリ行列への注意、Transformerの自己アテンションは前の層の出力への注意)として位置づけられ、LSTM/RNNのセル状態・隠れ状態はむしろ(1)の内部状態(ゲートによる更新はあるが記憶容量は固定)に分類される。同書はさらに、重みを一時的に変化させ元に戻すFast Weightを(1)と(2)の中間的な記憶として紹介しており、これは本ページのどの既存分類にも直接対応しない4つ目の記憶形態を追加する。(Source: [[@2026__30papers__Neural Turing Machines]], [[@2026__30papers__Understanding LSTM Networks]], [[@2022__Gihyo__ディープラーニングを支える技術 - Chapter 4 ディープラーニングの発展]] §4.4) - **NTMの内容アドレス指定(保存内容との類似度で探す)は、本ページ「中核設計」節が説明する具体的な検索メカニズムを持つが、『ディープラーニングを支える技術』が与える一般的な注意機構の定式化(クエリq・キーk_i・値v_iの内積α_i=⟨q,k_i⟩)と同一の計算構造を持つ**: NTM論文はこの機構を「保存内容との類似度」という具体的な記憶操作の文脈で導入するが、同書第4章はクエリ・キー・値という一般化された枠組みを、RNNの内部状態圧縮問題への解として独立に導出し、「クエリとキーは高次元空間中の一種のルックアップテーブル」であり「似たクエリ・キーは似た位置に集まる」ため新しいデータへも汎化できると説明する。NTMの内容アドレス指定はこの一般的なQKV注意機構の、外部メモリという特定の記憶構造への早期の適用例(2014年)として位置づけられる。(Source: [[@2026__30papers__Neural Turing Machines]], [[@2022__Gihyo__ディープラーニングを支える技術 - Chapter 4 ディープラーニングの発展]] §4.4) ## 未解決の問い - ソフトなアドレス指定で、長いアルゴリズムを実行しても誤差が累積しない離散的な操作をどう学習するか。 - 訓練時と異なるメモリ容量・系列長・操作回数へ、内容と位置のアドレス指定をどこまで外挿できるか。 - 微分可能な潜在メモリと、現代の検索・グラフ・ファイル型エージェントメモリを統一する設計は可能か。 - 読み書き重みから推定した「学習済みアルゴリズム」が、入力分布を変えても同じ手続きとして維持されることをどう検証するか。 - Fast Weight(重みを一時的に変化させる記憶)は、本ページの内部記憶(活性値/内部状態)・外部メモリ(NTM)のどちらの性質に近いか。それとも独立した第3のカテゴリとして扱うべきか。容量・アクセス速度・忘却特性を定量的に比較する実験は存在するか。 ## 関連 - 原典: [[@2026__30papers__Neural Turing Machines]] - モデル: [[Neural Turing Machine]] - 内部記憶: [[LSTM]] / [[RNN]] - 長期記憶: [[エージェントメモリ]] - 注意機構: [[@2017__NeurIPS__Attention Is All You Need]] / [[注意機構]] - 記憶の時間スケールの統一的整理: [[@2022__Gihyo__ディープラーニングを支える技術 - Chapter 4 ディープラーニングの発展]] ## 出典 - [[@2026__30papers__Neural Turing Machines]] - [[@2026__30papers__Understanding LSTM Networks]] - [[@2025__arXiv__Memory in the Age of AI Agents]] - [[@2017__NeurIPS__Attention Is All You Need]] - 岡野原大輔, 『ディープラーニングを支える技術』, 技術評論社, 2022, 第4章, §4.4.