微分可能ニューラルコンピュータ(DNC)は、完全に微分可能な方法で読み書きできる外部メモリバンクを備えた人工ニューラルネットワークの一種である。情報を重みや隠れ状態に暗黙的に格納する標準的なニューラルネットワークとは異なり、DNCは学習されたアテンションメカニズムを使用してアクセスできる明示的なメモリ行列を持つ。この設計により、ネットワークは長い時間軸にわたって情報を保存および取得することを学習でき、アルゴリズム的推論、質問応答、構造化データ操作を含むタスクに適している。このアーキテクチャは、2016年にGoogle DeepMindの研究者によって導入され、ニューラルチューリングマシンに関する初期の研究に基づいている。
DNCの重要な革新は、その微分可能なメモリアクセスである。コントローラ(通常はリカレントニューラルネットワーク)は、メモリ位置に対するアテンション分布を生成する読み取りヘッドと書き込みヘッドを発行する。これらの分布はソフトマックス関数を使用して計算され、読み取りと書き込みのプロセス全体を微分可能にし、ネットワークが勾配降下法を使用してエンドツーエンドでトレーニングできるようにする。メモリは実数値ベクトルの行列として編成され、コントローラは新しいデータを書き込み、既存のデータを消去し、複数の位置から同時に読み取ることができる。ネットワークが重要な情報を上書きするのを防ぐために、DNCにはメモリ位置が書き込まれた順序を追跡する時間的リンク行列も含まれており、ネットワークが操作のシーケンスを呼び出すことを可能にする。
DNCは、複雑な推論と長期記憶を必要とするいくつかのタスクで実証された。元の2016年の論文では、著者らはDNCをトレーニングして、物語に関する質問に答え、仮想迷路をナビゲートし、グラフから欠落情報を推測した。ネットワークは、任意の長さのシーケンスをコピーし、リストをソートし、グラフトラバーサルを実行することを学習することに成功した。これらのタスクは、標準的なリカレントネットワークにとっては困難である。DNCはまた、トレーニング中に見られた入力サイズよりも大きい入力サイズに一般化する能力を示し、これはアルゴリズムタスクにとって重要な特性である。
アーキテクチャとコンポーネント
DNCは、コントローラ、メモリ行列、および一連の読み取りヘッドと書き込みヘッドの3つの主要コンポーネントで構成されている。コントローラは通常、長短期記憶(LSTM)ネットワークまたはリカレント接続を持つフィードフォワードネットワークである。各タイムステップで、コントローラは入力と前のタイムステップからの読み取りヘッドの出力を受け取る。次に、メモリへのアクセス方法を決定する一連の制御信号を生成する。これらの信号には、書き込み位置、書き込みコンテンツ、消去ベクトル、および読み取り位置が含まれる。
メモリ行列はN×Mの次元を持ち、Nはメモリ位置の数、Mは各位置のサイズである。書き込みヘッドは、コンテンツベースのアドレッシングとロケーションベースのアドレッシングの組み合わせを使用する。コンテンツベースのアドレッシングは、書き込みキーと各メモリ位置の間の類似性を計算し、ロケーションベースのアドレッシングは、時間的リンク行列を使用して近くの位置にアテンションをシフトする。読み取りヘッドも同様に動作し、メモリコンテンツの加重和を計算するために使用される読み取り重みを生成する。
時間的リンク行列はDNCの重要な機能である。これは、メモリ位置が最後に書き込まれた順序を記録し、ある位置が別の位置の直後に書き込まれたかどうかを示すエントリを持つ。これにより、ネットワークはシーケンシャルな順序でメモリを読み取ることができ、シーケンスのコピーやグラフのトラバーサルなどのタスクに不可欠である。リンク行列は、書き込み重みに基づいて各タイムステップで更新され、読み取りヘッドの後方および前方シフトを計算するためにも使用される。
トレーニングと最適化
DNCは、標準的な時間方向逆伝播を使用してトレーニングされ、損失関数はタスクに応じて通常、クロスエントロピーまたは平均二乗誤差である。メモリアクセス内のすべての操作が微分可能であるため、勾配はアテンションメカニズムとメモリ更新を通じて流れることができる。ただし、パラメータ数が多く、慎重な初期化が必要なため、DNCのトレーニングは困難な場合がある。著者らは、勾配クリッピングと学習率スケジュールの組み合わせを使用してトレーニングを安定させた。また、トレーニング中に少量のノイズを使用すると、ネットワークの一般化が向上することも発見した。
主な困難の1つは、メモリがさまざまな方法で使用される可能性があり、ネットワークがメモリを効率的に割り当てることを学習する必要があることである。これに対処するために、DNCには現在使用されていないメモリ位置を追跡するフリーリストが含まれている。書き込みヘッドはフリーリスト上の位置に優先的に書き込み、書き込み後、その位置は読み取られて解放されるまでフリーリストから削除される。このメカニズムは、ネットワークがメモリを再利用することを促進し、重要なデータの上書きを防ぐ。
アプリケーションと制限
DNCは、元のデモンストレーションを超えて、さまざまなタスクに適用されてきた。プログラム合成に使用され、ネットワークがコードを生成したり、単純なプログラムを実行したりすることを学習する。また、ナレッジベースでの質問応答にも探求されており、メモリが事実を格納し、ネットワークがそれらを取得して組み合わせることを学習する。機械学習の分野では、DNCは明示的な推論と記号データの操作を実行できるニューラルネットワークへの重要なステップとしてしばしば引用される。
ただし、DNCにはいくつかの制限がある。時間的リンク行列のために、メモリアクセス操作がステップごとにO(N^2)の時間を必要とするため、計算コストが高い。これにより、大きなメモリサイズへのスケーリングが困難になる。また、メモリが乱雑になり、アテンションメカニズムが正しい位置に焦点を合わせられない可能性があるため、非常に長いシーケンスでも苦労する。その結果、DNCは、入力シーケンス全体にわたって情報にアクセスするために自己アテンションを使用するTransformerなどの他のアーキテクチャに大きく取って代わられた。それでも、DNCのアイデアは、メモリ拡張ニューラルネットワークと深層学習における外部メモリに関するその後の研究に影響を与えた。
他のアーキテクチャとの関係
DNCは、2014年にAlex Graves、Greg Wayne、Ivo Danihelkaによって導入されたニューラルチューリングマシン(NTM)の拡張である。NTMは同様の構造を持っていたが、時間的リンク行列とフリーリストがなく、シーケンシャルな操作を学習する効果が低かった。DNCはまた、残差ネットワークと概念的に類似点を共有しており、両方とも情報の流れを改善することを目的としているが、異なる領域で動作する。残差ネットワークは深いフィードフォワードネットワークの勾配消失に対処し、DNCはリカレントネットワークの長期記憶に対処する。
深層学習の文脈では、DNCはアテンションメカニズムやメモリなどの外部コンポーネントでニューラルネットワークを拡張する広範なトレンドの一部である。Transformerで使用されるマルチヘッドアテンションは、コンテンツベースのメモリアクセスの一種と見なすことができるが、明示的な書き込みおよび消去操作はない。DNCはまた、著者らが難易度の増加するタスクでのトレーニングがネットワークがより複雑な動作を学習するのに役立つことを発見したため、カリキュラム学習にも関連している。
遺産と影響
DNCは今日の本番システムで広く使用されていないが、人工知能の分野に永続的な影響を与えてきた。ニューラルネットワークが明示的なメモリ操作を必要とするアルゴリズムタスクを実行できることを実証し、これは以前は勾配ベースの方法の範囲を超えていると考えられていた。微分可能メモリの概念は、少数ショット学習用のメモリ拡張ニューラルネットワークやグラフ推論用の微分可能ニューラルコンピュータなど、さまざまな他のモデルに組み込まれている。この研究はまた、生成AIなどに応用される微分可能ソーティングや微分可能データ構造に関する研究にも影響を与えた。
DNCは、Alex Graves、Greg Wayneらを含むDeepMindのチームによって開発された。彼らの論文「Hybrid computing using a neural network with dynamic external memory」は、2016年10月にNatureに掲載された。DNCのコードは後にオープンソースとしてリリースされ、研究者がアーキテクチャを実験できるようにした。DNC自体は歴史的なマイルストーンと見なされるかもしれないが、その原則は、長期記憶と推論能力を必要とする現代のニューラルネットワークの設計に情報を提供し続けている。