言語処理学会 第24回年次大会 発表論文集 (2018年3月)

Memory Augmented Neural Networks における記憶利用についての局所解を考慮した Controller の設計
田口 直弥

鶴岡 慶雅

東京大学大学院 工学系研究科

東京大学大学院 情報理工学研究科{guchio, tsuruoka}@logos.t.u-tokyo.ac.jp

はじめに1Output

Interfaceto output

近年，自然言語処理などの系列データ処理を行う Re-

current Neural Networks (RNNs) の一種である Memory Augmented Neural Networks (MANNs) が注目を

𝓗$"
𝓗%"

(𝒘%
" , 𝐞+ , 𝐯+ )Controller

点毎に区切った記憶の行い辛さという問題点を持つ一&,1(𝒘&,/" , … , 𝒘" )𝓗&"

方，MANN はメモリをベクトルの集合として表現しており，記憶容量の拡大および時点を意識した記憶のWrite Head

Read Heads…

集めている．従来の RNN が記憶量の制限，および時Memory𝓡"

選択的利用に成功している [5]．

MANN𝒙"

本稿では，幾つか存在する MANN の内 Neural Tur-

図 1: MANN の概要図．

ing Machine (NTM) [1] に基づくモデルに着目する．
NTM に基づく MANN では Controller と呼ばれる素子が中心となり情報処理が行われるが，Controller は任意の Neural Networks (NNs) により実現され，特に(i) モデルへの入力 xt ∈ RI に応じ，Controller が tにおける Read Heads および Write Head を操作す

経験的に性能が良いため RNN で表現される事が多い．

1るための情報 Hrt および Hw
t をそれぞれ生成する ．

一方，RNN を Controller に利用した場合，後に示す

Controller は直前の時刻 t − 1 に R 個の Read Heads
によりメモリから読み込まれた情報を保持するタプル

ように Controller に使われる RNN 自身の記憶能力を用いてタスクを解くという解が存在し，これが学習に悪影響を与える場合がある．そこで本稿では，RNNを Controller に使用する上でのメリットは残しつつ，Controller 自身の記憶能力を用いてタスクを解く解を取り除くよう Controller を設計することで，MANNの性能向上を図る．

2

背景知識

2.1

MANN1R) を保持しているため，これを, ..., rt−1
Rt−1 = (rt−1
使用した各情報の生成が可能である．
N ×W(ii) Hwに基づ
t および現状のメモリ Mt−1 ∈ Rき，Write Head が情報を書き込むことにより Mt−1 をMt に更新する．ここで，N はメモリのスロット数を，W は各スロットの中身を表すベクトルの大きさを示す．
また，スロットとはメモリの各行のことを表す．メモリへの情報の書き込みは式 (1) に示される操作により実現される事が多い．式 (1) で，E ∈ RN ×W の要素は全て 1 である．et ∈ [0, 1]W および vt ∈ RW は t においてメモリの情報を消すおよびメモリに情報を加える

MANN は多数のスロットを持つメモリを用いて記ために使用されるベクトルであり，wtw は t で各スロッ憶を行う．中でも，本稿で扱う NTM に基づく MANN

トにおける情報の削除および追加を行う強度を決める
∑ ww
ベクトルで
j wt (j) ≤ 1 かつ ∀j, 0 ≤ wt (j) ≤ 1

は図 1 に示すように，NN により表現される三つの素子 Controller，Read Heads，および Write Head と一つのメモリにより構成される．各素子は時刻 t において以下 (i) から (iv) に示す処理を行う．

1 Hr ，Hw ，および Ho は一般にタプルとして表現されるが，ttt
本稿では基本的にこれらの要素数が 1 の場合を扱うため，ここでは可読性の観点からこれらをベクトルとする．

― 464 ―

Copyright(C) 2018 The Association for Natural Language Processing.
All Rights Reserved.

を満たす．et および vt は通常 Hwt を入力とする一ReadWrite

Input

層の NN などにより生成される．

Mt = Mt−1 ⊙ (E − wtw · eTt ) + wtw · vtT(1)

Expeceted(iii) Hrt および Mt−1 に基づき，Read Heads がメモリから情報を読み込むことにより Rt を生成し Con-Predicted

troller がこれを保持する．各 Read Head によるメモリからの情報の読み込みは式 (2) に示される操作により実現されることが多い．式 (2) において，wtr,i は

図 2: Odd First において LSTM Controller が識別子 i により指定される Read Head が各スロット

DNC の学習に悪影響を及ぼす例．全ての図について
横軸は時間を示し，Read および Write で縦軸はメモからの情報の読み込みを行う強度を決めるベクトルで∑ r,ir,ij wt (j) ≤ 1 かつ ∀j, 0 ≤ wt (j) ≤ 1 を満たす．

rti = MtT · wtr,i(2)(iv) Controller がモデルの出力に使用する情報 Hot を

リのスロットを，Input，Expected，および Output
で縦軸は NTM に入出力されるベクトルの各要素を示している．Read および Write では白くなっているメ
モリのスロットが読み書きに使用されたことを表す．

生成する 1 ．Hot の生成には xt および Rt−1 に加え，zt = tanh(Wxz · xt + Wrz · rt + Whz · ht−1 + bz )Rt も使用可能である．

′(5)

上記の処理において，各素子は t 以前の自身の処理にit = σ (Wxi · xt + Wri · rt + Whi · ht−1 + bi )(6)

関する情報を使用できる．例えば Controller は Hwt を

ft = σ ′ (Wxf · xt + Wrf · rt + Whf · ht−1 + bf )

(7)

w
Hw
1 , ..., Ht−1 に基づき生成でき，また Write Headwに基づき生成できる．
は wtw を wt−1′

ot = σ (Wxo · xt + Wro · rt + Who · ht−1 + bo )本稿では上記のように設計される MANN の内，NTM および Diﬀerentiable Neural Computer (DNC)[2] を扱う．各素子詳細な設計はモデルや実装により違いがあるため，文献 [1] および [2] を参考にされた(8)

st = ft ⊙ st−1 + i ⊙ zt(9)ht = ot ⊙ tanh(st )

(10)

3

提案説明する．

3.1

RNN Controller の問題点

2.2

いて系列情報を加味できるため，Read Heads およびい．本稿で着目する Controller については 2.2 節でRNN Controller を使用した場合，ht の生成におController

Controller の設計は通常 NTM や DNC などのモデルにより異なるが，本稿では全てのモデルについて
oHrt = Hwt = Ht = ht を基準として議論を行う．まWrite Head における情報処理を系列情報を加味して行えるなどの利点がある．一方で ht は Hot としてモデルの出力にも利用されるため，Controller 自身の記憶能力を利用してタスクを解くという解が存在し，こた，本稿では ht を生成する NN として式 (3)，(4)，

れが学習に悪影響を与えることがある [3, 4]．図 2 におよび (5–10) に示す一層の Feedforward Neural Net-

その一例を示す．図 2 において，DNC は 4.2 節に示

works (FNNs)，Elman Networks (ENs) および，Long
Short-Term Memory (LSTM) を用いる Controller を
FNN Controller，EN Controller，および LSTM Con-す Odd First を解くために適切なメモリの利用をtroller と呼ぶ．また，EN Controller および LSTM
Controller を RNN Controller と総称する．なお，式いる．

(3)，(4)，および (5–10) で σ および σ ′ はそれぞれ活性化関数およびゲートを表現できる活性化関数で，rt = [rt1 ; ... ; rtR ] である．また，h0 = s0 = 0 である．

3.2

ht = σ(Wxh · xt + Wrh · rt + b)
ht = σ(Wxh · xt + Wrh · rt + Whh · ht−1 + b)

行っていないにも関わらず，早期に入力された，もしくは早期に出力するベクトル系列は適切に出力できて提案手法

本稿では RNN Controller を利用する恩恵を受けつ(3)

つも，Controller 自身の記憶能力を利用してタスクを(4)解く解を避ける新しい Controller を提案する．提案― 465 ―Copyright(C) 2018 The Association for Natural Language Processing.
All Rights Reserved.

o′する Controller は Hrt = Hwt = ht かつ Ht = ht とし，ht は Controller 自身の記憶を利用して生成するが，h′t はこれを利用せず生成する．EN Controller において h′t の生成は式 (11) のように設計される．

h′t = σ(Wxh · xt + Wrh · rt + b)

Input

OutputCopy
Reversea1 a2 a3 a4 ... aT
a1 a2 a3 a4 ... aT

a1 a2 a3 a4 ... aT
aT aT −1 aT −2 aT −3 ... a1

Bigram Flip
Odd First
Repeat Copy

a1 a2 a3 a4 ... aT
a1 a2 a3 a4 ... aT
a1 a2 a3 a4 ... aT M

a2 a1 a4 a3 ... aT
a1 a3 ... a2 a4 ...
a1 ... aT ... a1 ... aT (M times)

Priority Sort

1 T4a51 a10
2 a3 a4 ... aT

a13 a27 a38 a4T ... aT4(11)

なお，ht の生成は式 (4) のように行われ，式 (4) および式 (11) で共通のパラメータは共有されることに

表 1: 各 Toy Task 詳細. Priority Sort における上付き文字は各ベクトルの優先度を示す．

注意されたい．同様の設計は EN Controller 以外でも可能であり，本稿では LSTM Controller における h′t

ExpectedPredictedの生成を式 (12) に示す形式で設計する．

h′t = tanh(Wxz · xt + Wrz · rt + bz )(12)

図 3: Copy において DNC に LSTM Controller を用いて行った場合の出力の例．

なお，この場合も同様に ht の生成は式 (5–10) のように行われ，共通のパラメータが共有される．

系列毎にランダムに設定される．学習は全てのタスク
で 300, 000 系列ずつ行い，1, 000 系列のデータセット

4

実験によりバリデーションを，10, 000 系列のデータセッ

4.1

実験設定

T ∈ [1, 10] および繰り返し回数 M ∈ N を M ∈ [1, 10]とし，それ以外のタスクでは T ∈ [1, 20] とした．なお，モデルは自身の出力が終わると終端記号を出力すトによりテストを行った．また，Repeat Copy では

本稿では提案手法の有効性を検証するため，Toy

Task により実験を行った．実験では NTM およびDNC に FNN Controller，EN Controller，提案 ENController，LSTM Controller，そして提案 LSTM
Controller を用いこれらの性能を比較した．学習はRMSProp を学習率を 0.0001，momentum を 0.9 に設定してオンライン学習により行い，勾配を要素毎に [−10, 10] の範囲でクリッピングした．NTM および DNC においてメモリは 128 × 20，Controller のユニット数は 128 とし，NTM において畳み込みシフトを行う step 数は ±3 までとした．また，Priority

Sort については R = 4，それ以外の場合は R = 1とした．比較のため EN および LSTM を用いた評価も行ったが，これらは一層 128 ユニットのものを用いた．なお，実験結果はテストデータセットを用いて算出したが，テスト時のモデルパラメータには学習中のバリデーション誤差の値が最も小さい時点のものを用いた．また，実験は各設定について 10 回ずつ行った．
本稿では文献 [6] を参考に，表 1 に示す 6 つの Toy

Task を使用して実験を行った．各タスクでモデルは大きさ 9 で各要素が 0 もしくは 1 の二値ベクトルが系列長 T ∈ N だけ入力された後，ベクトルの 9 要素目で表現される入力の終了を知らせるフラグを受け取り，その後表 1 に示されるタスク毎に適切なベクトル系列を出力するように学習が行われる．T は入力るよう学習され，また Repeat Copy においては各繰り返しが終わるごとにこれを出力する．

4.2

実験結果

実験結果を表 2 に示す．表 2 より，いずれかの提案手法を使用した場合において各タスクの最良値が出されていることがわかる．また，それぞれのモデルについて DNC に LSTM Controller を使用した場合以外で基本的に提案手法を利用した方が良い結果となっている．一方，非常に悪い精度を出した DNC で提案

LSTM Controller を用いた場合では図 3 に例が示されるようにベクトルの要素の内フラグを表す部分で常に黒の出力を行い，そうでない部分では全て白の出力を行う局所解に収束している．この局所解は記憶を必要としないものであるため，我々は DNC に提案 LSTM

Controller を用いたモデルはメモリを利用した解に収束することが従来の Controller を用いた場合よりも難しいと考える．T の平均値が小さくかつ終端記号の数が多いためこの局所解に収束し辛い Repeat Copy お
よび R = 4 でメモリが利用しやすい Priority Sort
で比較的良い精度が出ていることも，我々の主張を裏付ける．

― 466 ―

Copyright(C) 2018 The Association for Natural Language Processing.
All Rights Reserved.

ENLSTM
FNNENNTM
proposed EN LSTM

proposed LSTM

FNNEN

DNC
proposed EN LSTM

proposed LSTM

Copy
ReverseBigram Flip

39.2
27.1
38.5

30.4
19.9
21.5

0.0
4.3
4.9

0.0
2.1
1.4

0.0
0.0
0.8

6.8
2.4
17.0

0.0
6.9
0.5

4.3
9.0
16.1

14.8
0.0
12.7

2.2
13.8
0.0

9.8
14.3
10.9

44.4
44.4
44.4

Odd First
Repeat Copy

38.6
31.6

19.5
24.2

10.6
6.0

8.7
10.4

3.9
0.3

16.7
22.4

0.9
20.0

23.4
12.2

8.4
5.8

7.0
5.4

17.321.8

44.4
19.7

Priority Sort

30.4

19.7

18.5

21.2

11.4

18.6

16.3

27.2

26.4

22.9

18.3

34.0

表 2: 各 Toy Task における平均のビットエラーレート．太字は各タスクにおける最良値を示す．

5

関連研究

謝辞

MANN に関する研究の多くでは新たな構造により設計される MANN を提案しているが，その殆どが本研究は JST CREST(課題番号: JPMJCR1513) の支援を受けて行った．

Read Heads および Write Head，そしてメモリに関して改良を加えるものである．本稿は Controller の改良に着目するという点でこれらの研究とは異なる．
一方，文献 [3] では本稿同様 Controller 自身の記憶能力を使ってタスクを解くことを避ける試みを行っているが，これを Hot = (xt , Rt ) とすることにより実現

参考文献[1] Alex Graves, Greg Wayne, and Ivo Danihelka. Neural turing machines. arXiv preprint
arXiv:1410.5401, 2014.

している．これは MANN の性能を向上するという目的を Hot を工夫することにより実現するという点で本[2] Alex Graves, Greg Wayne, Malcolm Reynolds,

稿と同様だが，本稿はこれを Controller に使用する

Tim Harley, Ivo Danihelka, Agnieszka GrabskaBarwiska, Sergio Gmez Colmenarejo, Edward
Grefenstette, Tiago Ramalho, John Agapiou, andNN の改良により行うという点で異なる．
また，MANN と呼ばれるモデルは NTM に基づくもの以外にも様々なものがあり，特に Memory Networks

others. Hybrid computing using a neural networkwith dynamic external memory. Nature, Vol. 538,

[5] に基づくモデルについては多く研究が行われている．Memory Networks に基づくモデルは，時刻 t において複数回メモリから読み込みを行える点や，出力を行うためにメモリから読み込んだ情報の処理に RNNを用いる点など，NTM に基づく MANN とは幾つか

No. 7626, pp. 471–476, 2016.
[3] Caglar Gulcehre, Sarath Chandar, and Yoshua
Bengio. Memory Augmented Neural Networksの相違点がある．

with Wormhole Connections. arXiv:1701.08718[cs, stat], January 2017. arXiv: 1701.08718.

おわりに[4] Carol Hsin. Implementation and Optimizationof Diﬀerentiable Neural Computers. A class in
Stanford University (CS224), 2753780, 2017.

6

本稿では，Controller 自身の記憶の利用法を改良することにより NTM に基づく MANN の性能向上を試みた．Toy Task による実験により，提案手法はMANN の性能を向上させる上で非常に有効なことが[5] Jason Weston, Sumit Chopra, and Antoine
Bordes. Memory networks. arXiv preprint
arXiv:1410.3916, 2014.

分かった反面，特に LSTM Controller に適用した場合にメモリを使用した学習の難易度が増大するという懸念点も抱えることが分かった．

[6] Greg Yang and Alexander M. Rush. Lie-Access
Neural Turing Machines. arXiv:1611.02854 [cs],Toy Task は人工データであるため，今後の方向性として実データによるより実践的な実験を行うことがNovember 2016. arXiv: 1611.02854.

挙げられる．

― 467 ―

Copyright(C) 2018 The Association for Natural Language Processing.
All Rights Reserved.