introduction to neural turning machine

22
Deep Learningの最新動向 Neural Tuning Machinesのしくみ 株式会社 ウェブファーマー 大政孝充

Upload: -

Post on 15-Apr-2017

103 views

Category:

Technology


4 download

TRANSCRIPT

Page 1: Introduction to Neural Turning Machine

Deep Learningの最新動向 Neural Tuning Machinesのしくみ

株式会社 ウェブファーマー 大政孝充

Page 2: Introduction to Neural Turning Machine

今回紹介する論⽂はこれ

[1]A.Graves, et. al.”Neural Turning Machines” arXiv:14105.5401v2,2104

Page 3: Introduction to Neural Turning Machine

全体像の解説はこちらを参照

森山氏が綺麗な資料をつくっています。 http://www.slideshare.net/naotomoriyama/ss-69549087

Page 4: Introduction to Neural Turning Machine

今回はここだけ解説

l Controllerの演算 l 重みの導出計算

Page 5: Introduction to Neural Turning Machine

全体の概要

Page 6: Introduction to Neural Turning Machine

まず基本要素の定義

wt i( )i∑ =1, 0 ≤ wt i( ) ≤1,∀i.

Mt

M

N

重み・・・読み込みや書き込みで使用する

メモリ・・・記憶された情報

location方向

contents 方向

Page 7: Introduction to Neural Turning Machine

読み込み

iwt

Wt

Mt i( )rt ← wt i( )Mt i( )i∑

0.1 0.3 ・ ・ 0.1

どのlocationを強く読み込むか

Page 8: Introduction to Neural Turning Machine

書き込み(1)erase

iwt

Wt

Mt i( )

i Mt−1 i( )

et0.5, 0.3, ・・・・,0.8

→何番目の要素を強く消すか。

0.5, 0.3, ・・・・,0.80.5, 0.3, ・・・・,0.8

0.5, 0.3, ・・・・,0.8

0.5, 0.3, ・・・・,0.8

wt

Wt

0.1 0.3 ・ ・ 0.1

強く読み出すlocationは強く消しておく?

Mt−1 i( ) 1−wt i( )et⎡⎣ ⎤⎦

Page 9: Introduction to Neural Turning Machine

書き込み(2)write

iwt

Wt

Mt i( )

i Mt−1 i( )

at0.4, 0.7, ・・・・,0.2

→何番目の要素を強く書き込むか。

Wt

0.1 0.3 ・ ・ 0.1

強く消したlocationは強く書き込む

Mt i( )← !Mt i( )+wt i( )at

0.4, 0.7, ・・・・,0.20.4, 0.7, ・・・・,0.2

0.4, 0.7, ・・・・,0.2

0.4, 0.7, ・・・・,0.2

Page 10: Introduction to Neural Turning Machine

0.1 0.3 ・ ・ 0.1

ところで・・・重みってどうやってきまるの?

Wt

Page 11: Introduction to Neural Turning Machine

重み決定過程の全貌

これが重み決定過程の全貌! ちょっとややこしいので、1つ1つ見ていく。

Page 12: Introduction to Neural Turning Machine

重み決定過程①:Content Adressing

wtc i( )←

exp βtK kt,Mt i( )⎡⎣ ⎤⎦( )exp βtK kt,Mt j( )⎡⎣ ⎤⎦( )j∑

K u,v[ ] = u ⋅ vu ⋅ v

現在のメモリとkey  との類似度を求める

i

kt

Page 13: Introduction to Neural Turning Machine

重み決定過程①:Content Adressing

wtc i( )←

exp βtK kt,Mt i( )⎡⎣ ⎤⎦( )exp βtK kt,Mt j( )⎡⎣ ⎤⎦( )j∑

K u,v[ ] = u ⋅ vu ⋅ v

kt

Mt−1 i( )

0.4, 0.7, ・・・・,0.2

0.6, 0.1, ・・・・,0.3

K kt,Mt i( )⎡⎣ ⎤⎦=kt ⋅Mt i( )kt ⋅ Mt i( )

=0.4 ⋅0.6+ 0.7 ⋅0.1+!+ 0.2 ⋅0.3

0.42 + 0.72 +!+ 0.22 ⋅ 0.62 + 0.12 +!+ 0.32

=4.0

2.5 ⋅2.0= 0.8

Page 14: Introduction to Neural Turning Machine

重み決定過程①:Content Adressing

wtc i( )←

exp βtK kt,Mt i( )⎡⎣ ⎤⎦( )exp βtK kt,Mt j( )⎡⎣ ⎤⎦( )j∑

key強度  をかけるβt

βtK kt,Mt i( )⎡⎣ ⎤⎦= 0.7 ⋅0.8

= 0.56

Page 15: Introduction to Neural Turning Machine

重み決定過程①:Content Adressing

epsilonをとる

=1.75

exp βtK kt,Mt i( )⎡⎣ ⎤⎦( ) = exp 0.56( )

wtc i( )←

exp βtK kt,Mt i( )⎡⎣ ⎤⎦( )exp βtK kt,Mt j( )⎡⎣ ⎤⎦( )j∑

Page 16: Introduction to Neural Turning Machine

重み決定過程①:Content Adressing

wtc i( )←

exp βtK kt,Mt i( )⎡⎣ ⎤⎦( )exp βtK kt,Mt j( )⎡⎣ ⎤⎦( )j∑

=1.758.72

= 0.2

wtc i( )←

exp βtK kt,Mt i( )⎡⎣ ⎤⎦( )exp βtK kt,Mt j( )⎡⎣ ⎤⎦( )j∑

=1.75

1.75+ 0.97+!+1.18

softmaxで正規化する

Page 17: Introduction to Neural Turning Machine

重み決定過程②:Interpolation

0 ≤ gt ≤1

前時刻の    と   のどちらを多く取るか

wtg ← gtwt

c + 1− gt( )wt−1

wt−1 wtc

Page 18: Introduction to Neural Turning Machine

重み決定過程③:Convolution Shift

位置方向に畳み込む

!wt i( )← wtg j( )st i− j( )

j=0

N−1

Page 19: Introduction to Neural Turning Machine

0.1 0.3 0.2 0.3 0.1

重み決定過程③:Convolution Shift

!wt i( )← wtg j( )st i− j( )

j=0

N−1

∑wt

g0.09 0.04 0.03 0.12 0.72

st

0.1 0.3 0.2 0.262 0.1

st 0( )st 1( )st 2( )st 3( )st 4( )

wtg 0( )

wtg 1( )

wtg 2( )

wtg 3( )

wtg 4( )

   の場合i = 3

!wt 3( )← wtg j( )st 3− j( )

j=0

N−1

∑!wt 3( )

例えば

= 0.1×0.04+ 0.3×0.03+ 0.2×0.12+ 0.3×0.72+ 0.1×0.09= 0.203

0.09 st 4( )

Page 20: Introduction to Neural Turning Machine

0.1 0.3 0.2 0.3 0.1

重み決定過程③:Convolution Shift

wtg

0.02 0.04 0.08 0.14 0.72

st

st 0( )st 1( )st 2( )st 3( )st 4( )

wtg 0( )

wtg 1( )

wtg 2( )

wtg 3( )

wtg 4( )

i が増加すると、畳み込みフィルタがShift (rotation)する

st 4( )0.02

Page 21: Introduction to Neural Turning Machine

sharpening

1≤ γ t

畳み込みでぼやけた分を先鋭化するwt i( )←

!wt i( )γ t

!wt j( )γ tj∑

Page 22: Introduction to Neural Turning Machine

以上