[DeepMind] Differentiable Neural Computers

  • 41
    Like
  • 0
    Comment
More than 1 year has passed since last update.

[WIP: 時間あるときに書きます]
先日発表された論文の適当訳. 実験の部分などは面倒くさいので訳してないです.
ANNは変数とかデータ構造とかうまく扱えない. コンピュータのように外部メモリを持たせることで, これを解決する. 実験では, 最短経路問題を解かせるとか, 家系図の人物間の関係を答えるなどができた. 重要なのは, こういった問題を, アルゴリズム(ダイクストラ法etc)を設計する必要なしに, データドリブンにend-to-endで学習し解くことができるという点.

関連(してそうなとこ)

Hybrid computing using a neural network with dynamic external memory

ANN: Artificial Neural Network(人工的ニューラルネットワーク)
DNC: Diffrentiable Neural Computer
SL: Supervised Learning(教師あり学習)
RL: Reinforcement Learning(強化学習)

Abstract

ANNは, 感覚器的な処理, 連続した情報の処理, 強化学習に適している.
一方で, 外部記憶がないため, 変数やデータ構造を表現することや, 長期的に情報を保持する能力には制限がある.
通常のコンピュータのRAMに類似した外部メモリ行列に対して, 読み書きを行うANNからなるDNCと呼ばれる機械学習モデルを導入する.
DNCは, 通常のコンピュータのように, 複雑なデータ構造を表現/操作するために, そのメモリを使用することができるが,
ANNのようにデータから学習し, その処理をできるようになる.
SLによりDNCは, 自然言語での, 因果関係問題や推論問題をエミュレートするよう設計された合成質問にうまく答えることができる.
またDNCは, 特定ノード間の最短経路を見つけ, ランダムに生成されたグラフの欠落したリンクを推論するタスクを学習することができる.
そしてこれらのタスクを一般化し, 運送ネットワークや家系図に使うこともできる.
RLで訓練することによりDNCはブロックパズルを解くことができる. このタスクでは可変な目標が記号の列からなる.
このように, DNCは, 読み書き可能な外部メモリなしのANNでは不可能な, 複雑で構造的なタスクを解くことができる.

Introduction

現代のコンピュータでは演算とメモリが分離されている. 演算はプロセッサによっておこなわれ, プロセッサは, アドレスが割り当てられているメモリを, 演算子を出し入れすることに使うことができる. これには2つの利点がある:
- 新しい情報を書くための, 容量を増やすことのできるメモリを使用できること
- メモリの内容を変数として扱うことができる

変数はアルゴリズムの一般性に非常に影響する:
データに対して同様の処理をおこなうために, アルゴリズムはデータを読むアドレスを変えるだけでよい. コンピュータとは違い, ANNの計算, 記憶資源は, ネットワークの重み行列とニューロンの活動に混合されている. これは大きな負担である: タスクが必要とするメモリが増えるに従い, ANNは新たな記憶領域を動的に確保できないし, タスクの変数の実際の値に左右されずに動作するアルゴリズムを簡単には学習できない.

最近のブレークスルーは, ANNが感覚器の情報処理, 連続した情報の処理, 強化学習に非常に適していることを示しているが, cognitive科学者, 神経学者は, ANNは変数やデータ構造を表現し, 干渉なしにデータを長期に渡って保存する能力に限度があると主張していた. そこでわれわれは, ANNが外部メモリに対して読み書きをおこなえるようすることで, 神経的, コンピュータ的な処理の利点を組み合わせることを目指す. 外部メモリへのアクセスを狭く集中させることによって, 記憶間の干渉を最小限にし, 長期的保存を可能にする. DNCは微分可能であるため, 勾配降下法によりend-to-endに訓練させられる. これにより, ネットワークが目的に応じて, メモリを利用する方法を学習することができる.

System overview

DNCは外部メモリ行列と接続されたANNである. (ネットワークの挙動は, メモリが容量いっぱいに使われていない場合, メモリのサイズに対して独立なので, メモリを「外部」と考えることができる.) メモリをDNCのRAMとして考えることができるなら, ネットワーク(コントローラとよぶ)は, 勾配降下法により学習可能な演算をもつ微分可能なCPUである. DNCの構造は, 最近のNeural memoryフレームワークとは, 選択的にメモリの読み書きをおこなえるという点で異なる. この選択的な読み書きにより, メモリの内容を繰り返し修正することができる. DNCの前身であるNTM(Neural Turing Machine)は似たような構造を持っているが, メモリのアクセス法が, DNCと比較してより制限されている.

一般的なコンピュータは, ユニークなアドレスをメモリへのアクセスに用いるが, DNCは微分可能なAttentionを利用して, $N\times W$のメモリ行列$M$の$N$個の行(つまり「位置」)に対する確率分布を定める. これらの分布(重みとよぶ)は, それぞれの位置が読み書きの操作にどの程度関わるかを表す. 読み出し用重み$\mathbf{w}^{r}$により読み出したベクトル$\mathbf{r}$は, メモリの位置に対する重み付きの総和となる: $\mathbf{r} = \sum_{i=1}^{N} M[i,\cdot]\mathbf{w}^{r}[i]$
同様にして書き込み操作は, まず書き込み用重み$\mathbf{w}^{w}$と消去ベクトル$\mathbf{e}$で消去をおこない, 書き込みベクトル$\mathbf{v}$を足す: $M[i,j]\leftarrow M[i,j](1 - \mathbf{w}^{w}[i]\mathbf{e}[j]) + \mathbf{w}^{w}[i]\mathbf{v}[j]$. 重みを決定, 適用する機能的ユニットを, 読み出しヘッド, 書き込みヘッドと呼ぶ.

Interaction between the heads and the memory

異なる3つのヘッドは微分可能なAttentionからなる.

  1. Content lookup
    コントローラに出力されたkeyベクトルが, 類似度(論文ではcos)によって, メモリの各位置の内容と比較される.
    類似度は, 読み出しヘッドによる連想や, 書き込みヘッドがメモリ内のベクトルを修正に使われる重みを決定する.
    重要なのは, ある位置のメモリの内容に部分的に一致するキーも, その位置に強く注目するために使われることである.
    これにより, ある種のパターン補完が可能になる. それによって, 読み出された値が, キーには存在しない付加的な情報を含む.
    一般的にkey-valueにより, ある位置の内容が, 別の位置への参照を効率的にエンコードできるので,
    外部メモリ内の連想的データ構造を渡り歩くために有用な仕組みが得られる.

  2. 連続して書き込まれた位置間の遷移を, $N \times N$の一時的リンク行列$L$に記録する.
    $L[i,j]$は, $i$が$j$の後に書き込まれたなら1に近く, そうでない場合0に近くなる.
    任意の重み$w$に対して, $L\bf{w}$は, $\bf{w}$で注目される位置の, 次に書き込まれた位置に, 注目をなめらかに移し, $L^{T}\bf{w}$はその逆に注目を移す. これによりDNCは一連の情報を, 書き込みがおこなわれた時刻が隣接していなくても, 書き込まれた順に取り出すことができる.

  3. 書き込み用メモリを確保する.
    メモリのそれぞれの位置の使用状況(usage)は, 0から1の間の数値で表され, 未使用の位置を選ぶ重みは書き込みヘッドに渡る. ある位置の使用状況は, 書き込みがおこなわれる度に自動的に増加し, 読み出しの度に減少する. これによりコントローラが, 最早必要とされていない位置の内容を, 再割り当てすることができる. この割り当ての仕組みはメモリの大きさと内容から独立している. つまりDNCは, ある大きさのメモリを使ってあるタスクを解くよう訓練された後に, 再訓練の必要なしにメモリを増量することができる. 原理的にはこれにより, 最も低い使用状況が適当な閾値を超える度に, 自動的にメモリの位置(N)を増やすことで制限のない外部メモリを使うことが可能になる.

注目(attention)の仕組みのデザインは, 計算機的考え(computational considerations)に大きく影響を受けた.内容検索(content lookup)は連想的データ構造を構成することを, 一時的リンクは一連の入力を順に取り出すことを, 書き込みヘッドは割り当てにより未使用の位置を使用することができる. しかし, DNCのメモリの仕組みと, ほ乳類の海馬の機能性の間には興味深い一致がある. DNCのメモリの修正は素早く , 一度(one-shot)になされうる. これは, 海馬のCA3, CA1シナプスの連合性長期増強に似ている. 神経形成を補助することで知られる海馬の歯状回は, 表現的スパース性を強め, メモリの容量を増加するということが主張されてきた: 使用状況ベースのメモリ割り当てやスパースな重みづけにより同様の機能をDNCが持つとも考えられる. [このあたりは微妙]人間の自由再生の実験は, 最初に提示された順序での項目の再生の確率が高くなることを示した. 海馬に依存する現象は, temporal context modelによって~.