SlideShare a Scribd company logo
1 of 44
深層学習による自然言語処理
2.6~2.9
株式会社レトリバ
© 2017 Retrieva, Inc.
自己紹介
• 飯田 大貴(いいだ ひろき)
• セールスエンジニア
© 2017 Retrieva, Inc. 2
本日の内容
• 発展的なニューラルネットワークの紹介
• 再帰ニューラルネット(RNN)
• ゲート付き再帰ニューラルネット(LSTM・GRU)
• 木構造再帰ニューラルネット(木構造RNN)
• 畳み込みニューラルネット(CNN)
© 2017 Retrieva, Inc. 3
2.6 再帰ニューラルネット
• 可変長の入力を扱うことに優れたネットワーク構造
• 前の時刻の隠れ状態ベクトルと現時刻の入力ベクトルを使って、
現在の隠れ状態ベクトルを更新
• 任意の長さの入力履歴を考慮した出力を得ることができる
• 状態変数の数を大きくすれば、原理的には前の入力をすべて考慮でき
る
• 単語などを各時刻の入力とするとテキストは可変長の入力列と
なる。→RNNがテキスト処理に向いていそう。
© 2017 Retrieva, Inc. 4
2.6.1 再帰ニューラルネットのモデル
• 1層の場合
𝒉 𝑡 = 𝑓(𝑈𝒙 𝑡 + 𝑊𝒉 𝑡 − 1 + 𝒃)
𝒚 𝑡 = 𝑔(𝑉𝒉 𝑡 + 𝒄)
© 2017 Retrieva, Inc. 5
入力層𝒙(𝑡)
過去の隠れ層𝒉(𝑡 − 1)
隠れ層𝒉(𝑡)
𝑼
𝑾
𝑽
出力層𝐲(𝑡)
2.6.1 再帰ニューラルネットのモデル
• 複数層(L層)の場合(バイアス項はhに含むものとした)
𝒉𝑙
𝑡 = 𝑓 𝑈 𝑙−1
𝒉𝑙−1
𝑡 + 𝑊 𝑙
𝒉𝑙
𝑡 − 1 , 𝒉 𝟎
= 𝒙
𝒚 𝑡 = 𝑔(𝑉𝒉 𝐿 𝑡 )
© 2017 Retrieva, Inc. 6
𝒙 𝟏 𝒙 𝟐 𝒙 𝟑
𝒉 𝟏
𝟏
𝒉 𝟐
𝟏
𝒉 𝟑
𝟏
𝒉 𝟎
𝟏
𝒉 𝟏
𝟐
𝒉 𝟐
𝟐
𝒉 𝟑
𝟐
𝒉 𝟎
𝟐
𝒉 𝟎
𝟑
𝒉 𝟏
𝟑 𝒉 𝟐
𝟑
𝒉 𝟑
𝟑
𝒚 𝟏 𝒚 𝟐 𝒚 𝟑
𝑼 𝟎
𝑾 𝟑𝑾 𝟑𝑾 𝟑
𝑾 𝟐𝑾 𝟐
𝑾 𝟐
𝑾 𝟏
𝑾 𝟏 𝑾 𝟏
𝑼 𝟏
𝑼 𝟐
𝑼 𝟎
𝑼 𝟏
𝑼 𝟐
𝑼 𝟎
𝑼 𝟏
𝑼 𝟐
𝐕 𝐕 𝐕
2.6.1 再帰ニューラルネットのモデル
• 教科書の表記との対応
𝑊 𝑙 = 𝑈 𝑙−1, Vl , Wo = V, ot = y
• RNNはマルコフ性(前の状態と現在の入力だけで、現在の状態
を推定できること)を仮定している。
• これが成立していれば、𝒉 𝒕には1~tの可変長の入力を記憶していること
が期待できる。
• 𝒉 𝟎は仮のベクトル。
© 2017 Retrieva, Inc. 7
2.6.1 再帰ニューラルネット:誤差逆伝搬
• 1層の場合
• 𝒒(𝒕) = 𝑉𝒉 𝑡 + 𝒄, 𝒑(𝒕) = 𝑈𝒙 𝑡 + 𝑊𝒉 𝑡 − 1 + 𝒃とおく。
• 𝑈 = 𝒖 𝟏, ⋯ 𝒖 𝑱
𝑻
, 𝑊 = 𝒘 𝟏, ⋯ 𝒘 𝑱
𝑻
, 𝑉 = 𝒗 𝟏, ⋯ 𝒗 𝒌
𝑻
とおく。
𝜕𝑙
𝜕𝑉
=
𝜕𝑙
𝜕𝒗 𝟏
, ⋯ ,
𝜕𝑙
𝜕𝒗 𝑲
𝑇
=
⋮
𝜕𝑙
𝜕𝑦𝑡𝑘
𝜕𝑦𝑡𝑘
𝜕𝑞𝑡𝑘
𝜕𝑞𝑡𝑘
𝜕𝒗 𝒌
𝑇
⋮
=
⋮
𝜕𝑙
𝜕𝑦𝑡𝑘
𝜕𝑦𝑡𝑘
𝜕𝑞𝑡𝑘
𝒉 𝒕
𝑻
⋮
𝜕𝑙
𝜕𝑈
=
𝜕𝑙
𝜕𝒖 𝟏
, ⋯ ,
𝜕𝑙
𝜕𝒖 𝑱
𝑇
=
⋮
𝑘
𝜕𝑙
𝜕𝑦𝑡𝑘
𝜕𝑦𝑡𝑘
𝜕𝑞𝑡𝑘
𝜕𝑞𝑡𝑘
𝜕ℎ 𝑡𝑗
𝜕ℎ 𝑡𝑗
𝜕𝒑 𝒕𝒋
𝜕𝑝𝑡𝑗
𝜕𝒖𝒋
⋮
=
⋮
𝑘
𝜕𝑙
𝜕𝑦𝑡𝑘
𝜕𝑦𝑡𝑘
𝜕𝑞𝑡𝑘
𝜕𝑞𝑡𝑘
𝜕ℎ 𝑡𝑗
𝜕ℎ 𝑡𝑗
𝜕𝒑 𝒕𝒋
𝒙 𝒕
𝑻
⋮
𝜕𝑙
𝜕𝑊
=
𝜕𝑙
𝜕𝒘 𝟏
, ⋯ ,
𝜕𝑙
𝜕𝒘 𝑱
𝑇
=
⋮
𝑘
𝜕𝑙
𝜕𝑦𝑡𝑘
𝜕𝑦𝑡𝑘
𝜕𝑞𝑡𝑘
𝜕𝑞𝑡𝑘
𝜕ℎ 𝑡𝑗
𝜕ℎ 𝑡𝑗
𝜕𝒑 𝒕𝒋
𝜕𝑝𝑡𝑗
𝜕𝒖𝒋
⋮
=
⋮
𝑘
𝜕𝑙
𝜕𝑦𝑡𝑘
𝜕𝑦𝑡𝑘
𝜕𝑞𝑡𝑘
𝜕𝑞𝑡𝑘
𝜕ℎ 𝑡𝑗
𝜕ℎ 𝑡𝑗
𝜕𝒑 𝒕𝒋
𝒉 𝒕−𝟏
𝑻
⋮
𝜕𝑙
𝜕𝒄
=
𝜕𝑙
𝜕𝒄 𝟏
, ⋯ ,
𝜕𝑙
𝜕𝒄 𝒌
𝑇
=
⋮
𝜕𝑙
𝜕𝑦𝑡𝑘
𝜕𝑦𝑡𝑘
𝜕𝑞𝑡𝑘
𝜕𝑞𝑡𝑘
𝜕𝒄 𝒌
⋮
=
⋮
𝜕𝑙
𝜕𝑦𝑡𝑘
𝜕𝑦𝑡𝑘
𝜕𝑞𝑡𝑘
⋮
𝜕𝑙
𝜕𝒃
=
𝜕𝑙
𝜕𝒃 𝟏
, ⋯ ,
𝜕𝑙
𝜕𝒃 𝑱
𝑇
=
⋮
𝑘
𝜕𝑙
𝜕𝑦𝑡𝑘
𝜕𝑦𝑡𝑘
𝜕𝑞𝑡𝑘
𝜕𝑞𝑡𝑘
𝜕ℎ 𝑡𝑗
𝜕ℎ 𝑡𝑗
𝜕𝑝𝑡𝑗
𝜕𝑝𝑡𝑗
𝜕𝑏𝑗
⋮
=
⋮
𝑘
𝜕𝑙
𝜕𝑦𝑡𝑘
𝜕𝑦𝑡𝑘
𝜕𝑞𝑡𝑘
𝜕𝑞𝑡𝑘
𝜕ℎ 𝑡𝑗
𝜕ℎ 𝑡𝑗
𝜕𝑝𝑡𝑗
⋮© 2017 Retrieva, Inc. 8
2.6.1 再帰ニューラルネット:誤差逆伝搬
•
𝝏𝒍
𝝏𝒒 𝒕
= 𝒆 𝒐 𝑡 =
⋮
𝜕𝑙
𝜕𝑦 𝑡𝑘
𝜕𝑦 𝑡𝑘
𝜕𝑞 𝑡𝑘
⋮
,
𝝏𝒍
𝝏𝒑 𝒕
= 𝒆 𝒉 𝒕 =
⋮
𝑘
𝜕𝑙
𝜕𝑦 𝑡𝑘
𝜕𝑦 𝑡𝑘
𝜕𝑞 𝑡𝑘
𝜕𝑞 𝑡𝑘
𝜕ℎ 𝑡𝑗
𝜕ℎ 𝑡𝑗
𝜕𝑝 𝑡𝑗
⋮
=
⋮
𝑘
𝜕𝑙
𝜕𝑦 𝑡𝑘
𝜕𝑦 𝑡𝑘
𝜕𝑞 𝑡𝑘
𝑣 𝑘𝑗 𝑓′
(𝑝𝑗)
⋮
= 𝑽 𝑻
𝒆 𝒐(𝒕) ⊙ 𝒇′
(𝒑)=とおく。
• 先ほどの式は以下のようになる。
𝜕𝑙
𝜕𝑉
= 𝒆 𝒐 𝒕 𝒉 𝒕
𝑻
,
𝜕𝑙
𝜕𝑈
= 𝒆 𝒉 𝒕 𝒙 𝒕
𝑻
,
𝜕𝑙
𝜕𝑊
= 𝒆 𝒉 𝒕 𝒉 𝑡−1
𝑇
,
𝜕𝑙
𝜕𝒄
= 𝒆 𝒐 𝒕 ,
𝜕𝑙
𝜕𝒃
= 𝒆 𝒉 𝒕
© 2017 Retrieva, Inc. 9
入力層𝒙(𝑡)
過去の隠れ層𝒉(𝑡 − 1)
隠れ層𝒉(𝑡) 出力層𝐲(𝑡)
𝑒 𝑜𝑒ℎ
隠れ層𝒉(𝑡)
𝑼 𝑽
𝑾
2.6.1 再帰ニューラルネット:誤差逆伝搬
• 時間依存性について
𝒆 𝒉 𝑡 − 1 =
𝜕𝑙
𝜕𝒑 𝒕−𝟏
=
⋮
𝜕𝑙
𝜕𝑝 𝑡𝑗
𝜕𝑝 𝑡𝑗
𝜕𝑝 𝑡−1𝑗
⋮
= 𝒆ℎ 𝑡 ⊙
⋮
𝜕𝑝 𝑡𝑗
𝜕ℎ 𝑡−1𝑗
𝜕ℎ 𝑡−1𝑗
𝜕𝑝 𝑡−1𝑗
⋮
= 𝒆ℎ 𝑡 ⊙ 𝑊𝑓′
𝑝 𝑡 − 1
• よって、任意の時刻において以下の通り𝒆 𝒉が計算できることが
わかる。
𝒆 𝒉 𝑡 − 𝑧 − 1 = 𝒆 𝒉(𝑡 − 𝑧) ⊙ 𝑊𝑓′
𝑝 𝑡 − 𝑧 − 1
© 2017 Retrieva, Inc. 10
2.6.1 再帰ニューラルネット:誤差逆伝搬
• よって、更新式が以下の通りとなる。
𝑈 𝑡 + 1 = 𝑈 𝑡 − 𝜏 − 𝜂
𝑧=0
𝜏
𝑒ℎ 𝑡 − 𝑧 𝑥 𝑡 − 𝑧 𝑇
𝑊 𝑡 + 1 = 𝑊 𝑡 − 𝜏 − 𝜂
𝑧=0
𝜏
𝑒ℎ 𝑡 − 𝑧 ℎ 𝑡 − 𝑧 − 1 𝑇
𝑉 𝑡 + 1 = 𝑉 𝑡 − 𝜂𝑒 𝑜 𝑡 ℎ 𝑡 𝑇
𝑏 𝑡 + 1 = 𝑏 𝑡 − 𝜏 − 𝜂
𝑧=0
𝜏
𝑒ℎ 𝑡 − 𝑧
𝑐 𝑡 + 1 = 𝑐 𝑡 − 𝜂𝑒 𝑜 𝑡
© 2017 Retrieva, Inc. 11
2.6.1 再帰ニューラルネット:誤差逆伝搬
• 複数層(L層)の場合(バイアス項はhに含むものとした)
𝒒 𝒕 = 𝑉𝒉 𝐿 𝑡 , 𝒑𝒍(𝒕) = 𝑈 𝑙−1 𝒉𝑙−1 𝑡 + 𝑊 𝑙 𝒉𝑙 𝑡 − 1 として、
𝝏𝒍
𝝏𝒒 𝒕
= 𝒆 𝒐 𝑡 =
⋮
𝜕𝑙
𝜕𝑦𝑡𝑘
𝜕𝑦𝑡𝑘
𝜕𝑞𝑡𝑘
⋮
,
𝝏𝒍
𝝏𝒑𝒕
𝒍
= 𝒆 𝒉
𝒍
𝒕 = 𝑼𝒍+𝟏 𝑻
𝒆 𝒉
𝒍+𝟏
(𝒕) ⊙ 𝒇′𝒍(𝒑)
とすればよい。(l+1=Lのとき、h=o)
© 2017 Retrieva, Inc. 12
2.6.1 再帰ニューラルネット:誤差逆伝搬
• 模式図
© 2017 Retrieva, Inc. 13
𝒆 𝒉
𝟎
(𝟏) 𝒆 𝒉
𝟎
(𝟐) 𝒆 𝒉
𝟎
(𝟑)
𝒆 𝒉
𝟏
(𝟏) 𝒆 𝒉
𝟏
(𝟐) 𝒆 𝒉
𝟏
(𝟑)𝒆 𝟎
𝟏
(𝟎)
𝒆 𝒉
𝟐
(𝟏) 𝒆 𝒉
𝟐
(𝟐) 𝒆 𝒉
𝟐
(𝟑)𝒆 𝒉
𝟐
(𝟎)
𝒆 𝒉
𝟑
(𝟎) 𝒆 𝒉
𝟑
(𝟏) 𝒆 𝒉
𝟑
(𝟐) 𝒆 𝒉
𝟑
(𝟑)
𝒆 𝒐(𝟏) 𝒆 𝒐(𝟐) 𝒆 𝒐(𝟑)
𝑼 𝟎
𝑾 𝟑𝑾 𝟑𝑾 𝟑
𝑾 𝟐𝑾 𝟐
𝑾 𝟐
𝑾 𝟏
𝑾 𝟏 𝑾 𝟏
𝑼 𝟏
𝑼 𝟐
𝑼 𝟎
𝑼 𝟏
𝑼 𝟐
𝑼 𝟎
𝑼 𝟏
𝑼 𝟐
𝐕 𝐕 𝐕
2.6.2 双方向再帰ニューラルネット
• 入力列全体の情報を各時刻で考慮させたい時に使用。
• 入力列全体が与えられている必要がある
• 双方向を考慮する方法は様々
© 2017 Retrieva, Inc. 14
2.6.2 双方向再帰ニューラルネット
• パターン1:隠れ状態の相互作用がないパターン
前向き:𝒉 𝒕
𝒍
= 𝑎 𝑙
𝑾𝑙 𝒉 𝑡
𝑙−1
𝒉 𝑡−1
𝑙
+ 𝒃𝑙
後向き:𝒉 𝒕
𝒍
= 𝑎 𝑙
𝑾𝑙 𝒉 𝑡
𝑙−1
𝒉 𝑡+1
𝑙
+ 𝒃𝑙
出力層: 𝐨𝐭 = 𝑾 𝒐 𝒉 𝑡
𝐿
𝒉 𝑡
𝑳
+ 𝒃 𝒐
© 2017 Retrieva, Inc. 15
教科書より
2.6.2 双方向再帰ニューラルネット
• パターン2:隠れ状態の相互作用があるパターン
前向き:𝒉 𝒕
𝒍
= 𝑎 𝑙
𝑾𝑙
𝒉 𝑡
𝑙−1
𝒉 𝑡−1
𝑙
𝒉 𝑡
𝑙−1
+ 𝒃𝑙
後向き:𝒉 𝒕
𝒍
= 𝑎 𝑙
𝑾𝑙
𝒉 𝑡
𝑙−1
𝒉 𝑡+1
𝑙
𝒉 𝑡
𝑙−1
+ 𝒃𝑙
出力層: 𝐨𝐭 = 𝑾 𝒐 𝒉 𝑡
𝐿
𝒉 𝑡
𝑳
+ 𝒃 𝒐
© 2017 Retrieva, Inc. 16
教科書より
2.7 ゲート付き再帰ニューラルネット
• RNNは時間方向に深いニューラルネット。
→時間的に離れている時刻に発生した誤差を伝搬させるのは困
難
→長期記憶が苦手で、直近の依存関係だけを学習してしまう傾
向がある
• ゲートを導入することで、長期記憶も短期記憶も学習可能
© 2017 Retrieva, Inc. 17
2.7.1 ゲートについて
• ゲート付きショートカット
𝒉𝒍 = 𝒈 𝒇⨀𝑓 𝑙 𝒉𝑙−1 + 𝒈ℎ⨀𝒉𝑙−1
• 𝒈 𝒇・𝒈ℎが、それぞれの重みでゲートと呼ばれている。
• ゲート自体を入力𝒉によって、変化させる場合は以下のようなゲート関
数が使用される。
𝒈 𝒉 = 𝑎 𝑔(𝑾 𝑔 𝒉 + 𝒃 𝑔)
• 𝑾 𝒈・𝒃 𝑔はパラメータで、 𝒂 𝑔はゲート用の活性化関数で通常はシグモ
イド関数やハイパーボリック関数が使用される。
• 通常のショートカット関数は、 𝒈 𝒇 = 𝒈ℎ = 1
© 2017 Retrieva, Inc. 18
2.7.1 ゲート付き再帰ニューラルネット
• ゲート付きRNN
𝒉 𝒕 = 𝑓 𝒉 𝑡−1 +
𝒊=𝟏
𝒕−𝟏
(⨀𝒋=𝒊
𝒕
𝒈𝒋)𝒇(𝒉𝒊−𝟏)
• 導出
• 一つ前の時刻状態へのショートカットをつける
𝒉 𝒕 = 𝑓 ℎ 𝑡−1 + 𝒉 𝑡−1
• 時刻tのゲート出力を𝒈 𝒕として、以下のように、ゲート付きショートカットに
変更する
𝒉 𝒕 = 𝑓 ℎ 𝑡−1 + 𝒈 𝒕⨀𝒉 𝑡−1
• これを再帰的に繰り返すことで上式を導出できる。
© 2017 Retrieva, Inc. 19
2.7.1 ゲート付き再帰ニューラルネットの性質
• 一つ前の時刻状態へのショートカットをつける
𝒉 𝒕 = 𝑓 ℎ 𝑡−1 + 𝒉 𝑡−1
• 再帰的な評価により、以下のように書ける。
𝒉 𝒕 =
𝒊=𝟏
𝒕
𝑓(𝒉𝒊−𝟏)
• これより、ショートカットを加えると、隠れ状態ベクトルは長期の状態を
和で集約した情報を表している。
• ゲート付きRNNは𝑓(𝒉𝒊−𝟏)の各項に重み𝑮 𝑖 = ⨀𝒋=𝒊
𝒕
𝒈𝒋が付いている。
𝑮 𝑖 − 1 ≤ 𝑮 𝒊 なので、過去に行くほど重みが減少する。
• よって、ゲートを加えることによって、過去の忘却を図り、ゲートを学習
することで、長期記憶と短期きおくの調整をすることが期待できる。
© 2017 Retrieva, Inc. 20
2.7.1 ゲート付き再帰ニューラルネット
の誤差逆伝搬
• ゲート付きRNNの誤差逆伝搬
•
𝜕𝑙(𝒉 𝒕)
𝜕𝒉 𝒕
𝜕𝒉 𝒕
𝜕𝜽
=
𝜕𝑙(𝒉 𝒕)
𝜕𝒉 𝒕
𝜕𝑓(𝒉 𝑡−1)
𝜕𝜽
+ 𝑖=1
𝑡−1 𝜕𝑙 𝒉 𝒕
𝜕𝒉 𝒕
(⨀𝒋=𝒊
𝒕
𝑔𝑗)
𝜕𝑓(𝒉 𝑖−1)
𝜕𝜽
• 上式から、過去のすべての時刻の
𝜕𝑓(𝒉 𝑖−1)
𝜕𝜽
に対して、時刻tの誤差
𝜕𝑙(𝒉 𝒕)
𝜕𝒉 𝒕
が
直接かけられている。
• また、ゲートが誤差の伝達度合いを調整している。
© 2017 Retrieva, Inc. 21
2.7.2 長短期記憶ニューラルネット
• 長短期記憶ニューラルネット(LSTM)は、RNNの一つ一つの
ノードをLSTMに変える。
© 2017 Retrieva, Inc. 22
入力層𝒙(𝑡)
過去の隠れ層𝒉(𝑡 − 1)
隠れ層𝒉(𝑡)
𝑼
𝑾
𝑽
出力層𝐲(𝑡)
2.7.2 長短期記憶ニューラルネット
• LSTMの発想
• 無関係な入力で活性を小さくし、注目すべき入力で大きく活性する。
このために、依存性のありそうな情報を内部で保持するとともに、依存性が
ある信号を受け取った時のみ活性化しさせたい。
• 前者は、誤差を止まらせて、伝搬させることで達成できる。そのために、追
加するニューロンを、CEC(constant error carousel)またはメモリセルと呼ぶ。
• 後者を達成するために、ゲートを導入。これを入力ゲートお呼び出力ゲート
と呼ぶ。
• 適切なタイミングで過去の情報を忘れる必要もある。これを忘却ゲートとい
う。
© 2017 Retrieva, Inc. 23
2.7.2 CEC
• 誤差を伝搬させるためには以下のようにすることを考えればい
い。
𝒆ℎ 𝑡 − 1 = 𝒆ℎ 𝑡 ⨀ 𝑊𝑓′ 𝒑 𝑡 − 1 = 1
• CECに以下のような関数を考える。
𝒄𝒍 𝑡 = 𝒉𝒍 𝑡 + 𝒄𝒍 𝑡 − 1
この誤差関数は以下のようになり、誤差が止まるようになる。
𝜕𝐸
𝜕𝒄(𝑡 − 1)
=
𝜕𝐸
𝜕𝒄(𝑡)
⨀
𝜕𝒄 𝑡
𝜕𝒄 𝑡 − 1
=
𝜕𝐸
𝜕𝒄(𝑡)
© 2017 Retrieva, Inc. 24
2.7.2 CEC
• 模式図
© 2017 Retrieva, Inc. 25
𝒉 𝒕−𝟏
𝒍
𝒉 𝒕
𝒍
𝒉 𝒕
𝒍−𝟏
𝒄 𝒕
𝒍
𝒄 𝒕−𝟏
𝒍
𝒉 𝒕
𝒍
2.7.2 入力ゲートと出力ゲート
• 入力ゲートと出力ゲートは、欲しい刺激の時に1、不要な刺激の時に0に
なるようにするのが理想。そこで、重みをして0−1をとるシグモイド関
数を使用する
• 入力ゲート
𝒊 𝑡 = 𝝈 𝑾𝒊 𝒙 𝑡 + 𝑼𝒊 𝒉 𝑡 − 1 + 𝒃𝒊
• 出力ゲート
𝒐 𝑡 = 𝝈(𝑾 𝒐 𝒙 𝑡 + 𝑼 𝒐 𝒉 𝑡 − 1 + 𝒃 𝒐)
• 入力ゲートと出力ゲートを加味した出力
𝒄 𝑡 = 𝒊 𝑡 ⨀ 𝒉 𝑡 + 𝒄(𝑡 − 1)
𝒉 𝑡 = 𝒐(𝑡) ⊙ 𝑔 𝒄 𝑡
© 2017 Retrieva, Inc. 26
2.7.2 入力ゲートと出力ゲート
• 模式図
© 2017 Retrieva, Inc. 27
𝒉 𝒕−𝟏
𝒍
𝒉 𝒕
𝒍
𝒉 𝒕
𝒍−𝟏
𝒄 𝒕
𝒍
𝒄 𝒕−𝟏
𝒍
𝒉 𝒕
𝒍
𝒊 𝒕
𝒍
𝒐 𝒕
𝒍
2.7.2 忘却ゲート
• 適切なタイミングで過去の情報を忘れるということを重みで表
現すると、以下のようになる。
𝒄 𝑡 = 𝒊 𝑡 ⨀ 𝒉 𝑡 + 𝒇 𝒕 ⨀𝒄 𝑡 − 1
𝒇 𝑡 = 𝝈 𝑾 𝒇 𝒙 𝑡 + 𝑼 𝒇 𝒉 𝑡 − 1 + 𝒃 𝒇
• このようにすると、忘却ゲートによって誤差が以下のように表
される。
𝒆 𝒇 𝑡 ≡
𝜕𝐸
𝜕𝒇 𝑡
=
𝜕𝐸
𝜕𝒄 𝑡
⨀
𝜕𝒄 𝑡
𝜕𝒇 𝑡
= 𝒆 𝒄 𝑡 ⨀𝒄(𝒕 − 𝟏)
© 2017 Retrieva, Inc. 28
2.7.3 忘却ゲート
• 模式図
© 2017 Retrieva, Inc. 29
𝒉 𝒕−𝟏
𝒍
𝒉 𝒕
𝒍
𝒉 𝒕
𝒍−𝟏
𝒄 𝒕
𝒍
𝒄 𝒕−𝟏
𝒍
𝒉 𝒕
𝒍
𝒊 𝒕
𝒍
𝒐 𝒕
𝒍
𝒇 𝒕
𝒍
2.7.2 長短期記憶ニューラルネット
• 以上をまとめて、モデルは以下のとおり
ℎ 𝑡
𝑙
𝑖 𝑡
𝑙
𝑓𝑡
𝑙
𝑜𝑡
𝑙
=
𝑓
𝑠𝑖𝑔𝑚𝑜𝑖𝑑
𝑠𝑖𝑔𝑚𝑜𝑖𝑑
𝑠𝑖𝑔𝑚𝑜𝑖𝑑
𝑾ℎ
𝑙
𝑾𝑖
𝑙
𝑾 𝑓
𝑙
𝑾 𝑜
𝑙
𝒉 𝒕
𝒍−𝟏
𝒉 𝒕−𝟏
𝒍 +
𝒃ℎ
𝑙
𝒃𝑖
𝑙
𝒃 𝑓
𝑙
𝒃 𝑜
𝑙
𝒄 𝒕
𝒍
= 𝒊 𝒕
𝒍
⨀ 𝒉 𝒕
𝒍
+ 𝒇 𝒕
𝒍
⨀𝒄 𝒕−𝟏
𝒍
𝒉 𝒕
𝒍
= 𝒐 𝒕
𝒍
⨀𝒈 𝒄 𝒕
𝒍
© 2017 Retrieva, Inc. 30
2.7.3 ゲート付き回帰ユニット(GRU)
• LSTMは計算量が多いので、計算量を抑えたく考案されたモデル
• LSTMのようにセルを使わず長期の情報を隠れ状態ベクトルhに集約
• LSTMより少ない2つのゲートr,zだけを使用して、忘却と状態の更新を操作
• rをリセットゲート、zを更新ゲートという。
• rで1時刻前の隠れ状態ベクトルを減衰
• zで1時刻前の隠れ状態ベクトルからの更新率を調整
• モデルは以下の通り
𝒓 𝑡
𝑙
𝒛 𝑡
𝑙
= 𝑠𝑖𝑔𝑚𝑜𝑖𝑑
𝑾 𝒓
𝒍
𝑾 𝒛
𝒍
𝒉 𝒕
𝑙−1
𝒉 𝑡
𝒍
+
𝒃 𝑟
𝑙
𝒃 𝑧
𝑙
𝒉 𝒕
𝒍
= tanh 𝑾𝑙 𝒉 𝒕
𝒍−𝟏
𝒉 𝒕−𝟏
𝑙
𝒉 𝒕
𝒍
= 1 − 𝑧𝑡
𝑙
⨀ 𝒉𝒕
𝒍
+ 𝒛 𝒕
𝒍
⨀𝒉 𝒕−𝟏
𝒍
© 2017 Retrieva, Inc. 31
2.7.3 ゲート付き回帰ユニット(GRU)
• 模式図
© 2017 Retrieva, Inc. 32
𝒉 𝒕−𝟏
𝒍
𝒉 𝒕
𝒍
𝒉 𝒕
𝒍−𝟏
𝒓 𝒕
𝒍
𝒛𝒕−𝟏
𝒍
𝒉 𝒕
𝒍
2.8 木構造再帰ニューラルネット(Tree-RNN)
• 再帰ニューラルネットを木構造に拡張したもの。
• 簡単のため、モデルを二分木とすると、以下のようになる。
𝒉 𝒑 = 𝑎(𝑾
𝒉 𝑳
𝒉 𝑹
+ 𝒃)
• 演算が木構造の葉ノードからルートノードに向かって順番に実施される。そのた
め、ルートノードは各隠れ状態ベクトルの情報を、集約しているとみなすことが
できる。
© 2017 Retrieva, Inc. 33
教科書より
2.8 木構造再帰ニューラルネット(Tree-RNN)
• 多層の場合は以下の通りになる。
𝒉 𝒑 = 𝑎(𝑾
𝒉 𝑳
𝒍
𝒉 𝑹
𝒍
𝒉 𝑷
𝒍−𝟏
+ 𝒃)
© 2017 Retrieva, Inc. 34
2.8 木構造再帰ニューラルネット(Tree-RNN)
• 特徴
• RNNに比べて、深さがlog2 𝑇となるため、長距離の要素間関係を表現
しやすい
• NLPでは、文を文法木構造に変換して、構文解析を行う。そのため、
構文的に意味のある単位の固定長のベクトル表現を得ることができる。
• ただし、構文木が応用上必要かは不明
© 2017 Retrieva, Inc. 35
2.9 畳み込みニューラルネット
• 畳み込み操作によって時刻tの特徴を窓幅Cの局所的な特徴で表現。
• 周辺の隠れ状態ベクトルの重み付き和で時刻tの特徴を表している
• 畳み込みのモデルは以下のとおり
𝒛 𝒕
𝒍
= 𝑾𝒍
𝒉 𝒕− 𝑪/𝟐
𝒍−𝟏
⋮
𝒉 𝒕
𝒍−𝟏
⋮
𝒉 𝒕+ 𝑪/𝟐
𝒍−𝟏
+ 𝒃𝒍
© 2017 Retrieva, Inc. 36
2.9 畳み込みニューラルネット
• 特徴と技法
• パディング:系列の最初と最後に仮の隠れ状態ベクトルを配置する
• 入力系列の長さに対する出力系列の長さの比率を調整できる。
• プーリング:畳み込み操作の後に複数の局所特徴値を集約する
• 複数の局所特徴値を集約する操作。入力テキストの小さな変化に対して、不変な表現の学習が
期待できる。
• 可変長の入力に対して固定長の表現を得る
• ストライド:すべての時刻を使わないで、sおきにダウンサンプリングすること
© 2017 Retrieva, Inc. 37
パディングの概念図 プーリングの概念図
教科書より 教科書より
2.9 畳み込みニューラルネット
• 自然言語処理での使いどころ
• 時間に依存せず、局所的な不変性が成立するタスクに向く
• 畳み込み操作が時間非依存性を仮定しており、プーリングが局所的な不変性を仮
定しているため
• CNNでは隠れ状態ベクトル間に依存関係が少なく並列化しやすい
• RNNでは並列化ができない。
© 2017 Retrieva, Inc. 38
Appendix
© 2017 Retrieva, Inc. 39
誤差逆伝搬をすべて行列・ベクトルの微分で行う
場合
• 1層の場合
• 𝒒(𝒕) = 𝑉𝒉 𝑡 + 𝒄, 𝒑(𝒕) = 𝑈𝒙 𝑡 + 𝑊𝒉 𝑡 − 1 + 𝒃とおく。
• 𝑈 = 𝒖 𝟏, ⋯ 𝒖 𝑱
𝑻
, 𝑊 = 𝒘 𝟏, ⋯ 𝒘 𝑱
𝑻
, 𝑉 = 𝒗 𝟏, ⋯ 𝒗 𝒌
𝑻とおく。
𝜕𝑙
𝜕𝑉
=
𝜕𝑙
𝜕𝒚 𝒕
𝑻
𝜕𝒚 𝒕
𝜕𝒒 𝒕
𝑻
𝝏𝒒 𝒕
𝝏𝑽
𝜕𝑙
𝜕𝑈
=
𝜕𝑙
𝜕𝑦𝒕
𝑻
𝜕𝒚 𝒕
𝜕𝒒 𝒕
𝑻
𝜕𝒒 𝒕
𝜕𝒉 𝒕
𝑻
𝜕𝒉 𝑡
𝜕𝒑 𝒕
𝑻
𝝏𝒑 𝒕
𝝏𝑼
𝜕𝑙
𝜕𝑊
=
𝜕𝑙
𝜕𝑦𝒕
𝑻
𝜕𝒚 𝒕
𝜕𝒒 𝒕
𝑻
𝜕𝒒 𝒕
𝜕𝒉 𝒕
𝑻
𝜕𝒉 𝑡
𝜕𝒑 𝒕
𝑻
𝝏𝒑 𝒕
𝝏𝑾
© 2017 Retrieva, Inc. 40
テンソル
になるけ
ど、計算
する出て
くるよ!
2.6 再帰ニューラルネット:誤差逆伝搬
•
𝜕𝑙
𝜕𝒚 𝒕
𝑻
𝜕𝒚 𝒕
𝜕𝒒 𝒕
𝑻 = 𝒆 𝒐
𝑻 𝑡 ,
𝜕𝑙
𝜕𝑦𝒕
𝑻
𝜕𝒚 𝒕
𝜕𝒒 𝒕
𝑻
𝜕𝒒 𝒕
𝜕𝒉 𝒕
𝑻
𝜕𝒉 𝑡
𝜕𝒑 𝒕
𝑻 = 𝒆 𝒐
𝑻 𝑡 𝑽
𝜕𝒉 𝑡
𝜕𝒑 𝒕
𝑻 = 𝒆 𝒐
𝑻 𝑡 (𝑽 𝑇⊙ 𝒇′(𝒑)
𝑻
= 𝒆 𝒉
𝑻
(𝒕) とおく。
• 先ほどの式は以下のようになる。
𝜕𝑙
𝜕𝑉
= 𝒆 𝒐 𝒕 𝒉 𝒕
𝑻
,
𝜕𝑙
𝜕𝑈
= 𝒆 𝒉 𝒕 𝒙 𝒕
𝑻
,
𝜕𝑙
𝜕𝑊
= 𝒆 𝒉 𝒕 𝒉 𝑡−1
𝑇
,
𝜕𝑙
𝜕𝒄
= 𝒆 𝒐 𝒕 ,
𝜕𝑙
𝜕𝒃
= 𝒆 𝒉 𝒕
© 2017 Retrieva, Inc. 41
入力層𝒙(𝑡)
過去の隠れ層𝒉(𝑡 − 1)
隠れ層𝒉(𝑡) 出力層𝐲(𝑡)
2.7.2 CEC
• 模式図
© 2017 Retrieva, Inc. 42
f
出力層
CEC
X1.0
入力層
g
2.7.2 入力ゲートと出力ゲート
• 模式図
© 2017 Retrieva, Inc. 43
f
出力層
CEC
X1.0
入力層
g
i o
© 2017 Retrieva, Inc.

More Related Content

What's hot

深層学習の数理
深層学習の数理深層学習の数理
深層学習の数理Taiji Suzuki
 
第9章 ネットワーク上の他の確率過程
第9章 ネットワーク上の他の確率過程第9章 ネットワーク上の他の確率過程
第9章 ネットワーク上の他の確率過程Ohsawa Goodfellow
 
Graph convolution (スペクトルアプローチ)
Graph convolution (スペクトルアプローチ)Graph convolution (スペクトルアプローチ)
Graph convolution (スペクトルアプローチ)yukihiro domae
 
【基調講演】『深層学習の原理の理解に向けた理論の試み』 今泉 允聡(東大)
【基調講演】『深層学習の原理の理解に向けた理論の試み』 今泉 允聡(東大)【基調講演】『深層学習の原理の理解に向けた理論の試み』 今泉 允聡(東大)
【基調講演】『深層学習の原理の理解に向けた理論の試み』 今泉 允聡(東大)MLSE
 
Spatial Temporal Graph Convolutional Networks for Skeleton-Based Action Recog...
Spatial Temporal Graph Convolutional Networks for Skeleton-Based Action Recog...Spatial Temporal Graph Convolutional Networks for Skeleton-Based Action Recog...
Spatial Temporal Graph Convolutional Networks for Skeleton-Based Action Recog...yukihiro domae
 
xtsパッケージで時系列解析
xtsパッケージで時系列解析xtsパッケージで時系列解析
xtsパッケージで時系列解析Nagi Teramo
 
Long short-term memory (LSTM)
Long short-term memory (LSTM)Long short-term memory (LSTM)
Long short-term memory (LSTM)Kenta Ishii
 

What's hot (9)

深層学習の数理
深層学習の数理深層学習の数理
深層学習の数理
 
第9章 ネットワーク上の他の確率過程
第9章 ネットワーク上の他の確率過程第9章 ネットワーク上の他の確率過程
第9章 ネットワーク上の他の確率過程
 
Graph convolution (スペクトルアプローチ)
Graph convolution (スペクトルアプローチ)Graph convolution (スペクトルアプローチ)
Graph convolution (スペクトルアプローチ)
 
【基調講演】『深層学習の原理の理解に向けた理論の試み』 今泉 允聡(東大)
【基調講演】『深層学習の原理の理解に向けた理論の試み』 今泉 允聡(東大)【基調講演】『深層学習の原理の理解に向けた理論の試み』 今泉 允聡(東大)
【基調講演】『深層学習の原理の理解に向けた理論の試み』 今泉 允聡(東大)
 
Spatial Temporal Graph Convolutional Networks for Skeleton-Based Action Recog...
Spatial Temporal Graph Convolutional Networks for Skeleton-Based Action Recog...Spatial Temporal Graph Convolutional Networks for Skeleton-Based Action Recog...
Spatial Temporal Graph Convolutional Networks for Skeleton-Based Action Recog...
 
xtsパッケージで時系列解析
xtsパッケージで時系列解析xtsパッケージで時系列解析
xtsパッケージで時系列解析
 
Graph LSTM解説
Graph LSTM解説Graph LSTM解説
Graph LSTM解説
 
Long short-term memory (LSTM)
Long short-term memory (LSTM)Long short-term memory (LSTM)
Long short-term memory (LSTM)
 
Jokyokai
JokyokaiJokyokai
Jokyokai
 

Similar to レトリバ勉強会資料:深層学習による自然言語処理2章

文献紹介:TSM: Temporal Shift Module for Efficient Video Understanding
文献紹介:TSM: Temporal Shift Module for Efficient Video Understanding文献紹介:TSM: Temporal Shift Module for Efficient Video Understanding
文献紹介:TSM: Temporal Shift Module for Efficient Video UnderstandingToru Tamaki
 
[DL輪読会]GQNと関連研究,世界モデルとの関係について
[DL輪読会]GQNと関連研究,世界モデルとの関係について[DL輪読会]GQNと関連研究,世界モデルとの関係について
[DL輪読会]GQNと関連研究,世界モデルとの関係についてDeep Learning JP
 
PyTorch, PixyzによるGenerative Query Networkの実装
PyTorch, PixyzによるGenerative Query Networkの実装PyTorch, PixyzによるGenerative Query Networkの実装
PyTorch, PixyzによるGenerative Query Networkの実装Shohei Taniguchi
 
[DL輪読会]Pervasive Attention: 2D Convolutional Neural Networks for Sequence-to-...
[DL輪読会]Pervasive Attention: 2D Convolutional Neural Networks for Sequence-to-...[DL輪読会]Pervasive Attention: 2D Convolutional Neural Networks for Sequence-to-...
[DL輪読会]Pervasive Attention: 2D Convolutional Neural Networks for Sequence-to-...Deep Learning JP
 
モンテカルロサンプリング
モンテカルロサンプリングモンテカルロサンプリング
モンテカルロサンプリングKosei ABE
 
(文献紹介)Deep Unrolling: Learned ISTA (LISTA)
(文献紹介)Deep Unrolling: Learned ISTA (LISTA)(文献紹介)Deep Unrolling: Learned ISTA (LISTA)
(文献紹介)Deep Unrolling: Learned ISTA (LISTA)Morpho, Inc.
 
Parallel WaveNet: Fast High-Fidelity Speech Synthesis
Parallel WaveNet: Fast High-Fidelity Speech SynthesisParallel WaveNet: Fast High-Fidelity Speech Synthesis
Parallel WaveNet: Fast High-Fidelity Speech Synthesisdhigurashi
 
2012-03-08 MSS研究会
2012-03-08 MSS研究会2012-03-08 MSS研究会
2012-03-08 MSS研究会Kimikazu Kato
 
Dimensionality reduction with t-SNE(Rtsne) and UMAP(uwot) using R packages.
Dimensionality reduction with t-SNE(Rtsne) and UMAP(uwot) using R packages. Dimensionality reduction with t-SNE(Rtsne) and UMAP(uwot) using R packages.
Dimensionality reduction with t-SNE(Rtsne) and UMAP(uwot) using R packages. Satoshi Kato
 
点群深層学習 Meta-study
点群深層学習 Meta-study点群深層学習 Meta-study
点群深層学習 Meta-studyNaoya Chiba
 
グラフニューラルネットワーク入門
グラフニューラルネットワーク入門グラフニューラルネットワーク入門
グラフニューラルネットワーク入門ryosuke-kojima
 
[DL輪読会]NVAE: A Deep Hierarchical Variational Autoencoder
[DL輪読会]NVAE: A Deep Hierarchical Variational Autoencoder[DL輪読会]NVAE: A Deep Hierarchical Variational Autoencoder
[DL輪読会]NVAE: A Deep Hierarchical Variational AutoencoderDeep Learning JP
 
Res netと派生研究の紹介
Res netと派生研究の紹介Res netと派生研究の紹介
Res netと派生研究の紹介masataka nishimori
 
PRML復々習レーン#9 6.3-6.3.1
PRML復々習レーン#9 6.3-6.3.1PRML復々習レーン#9 6.3-6.3.1
PRML復々習レーン#9 6.3-6.3.1sleepy_yoshi
 
Learning structured embeddings of knowledge bases 文献講読
Learning structured embeddings of knowledge bases 文献講読Learning structured embeddings of knowledge bases 文献講読
Learning structured embeddings of knowledge bases 文献講読poppyuri
 
文献紹介:Token Shift Transformer for Video Classification
文献紹介:Token Shift Transformer for Video Classification文献紹介:Token Shift Transformer for Video Classification
文献紹介:Token Shift Transformer for Video ClassificationToru Tamaki
 
[DL輪読会]Parallel WaveNet: Fast High-Fidelity Speech Synthesis
[DL輪読会]Parallel WaveNet: Fast High-Fidelity Speech Synthesis[DL輪読会]Parallel WaveNet: Fast High-Fidelity Speech Synthesis
[DL輪読会]Parallel WaveNet: Fast High-Fidelity Speech SynthesisDeep Learning JP
 
Learning Deep Architectures for AI (第 3 回 Deep Learning 勉強会資料; 松尾)
Learning Deep Architectures for AI (第 3 回 Deep Learning 勉強会資料; 松尾)Learning Deep Architectures for AI (第 3 回 Deep Learning 勉強会資料; 松尾)
Learning Deep Architectures for AI (第 3 回 Deep Learning 勉強会資料; 松尾)Ohsawa Goodfellow
 
0から理解するニューラルネットアーキテクチャサーチ(NAS)
0から理解するニューラルネットアーキテクチャサーチ(NAS)0から理解するニューラルネットアーキテクチャサーチ(NAS)
0から理解するニューラルネットアーキテクチャサーチ(NAS)MasanoriSuganuma
 

Similar to レトリバ勉強会資料:深層学習による自然言語処理2章 (20)

文献紹介:TSM: Temporal Shift Module for Efficient Video Understanding
文献紹介:TSM: Temporal Shift Module for Efficient Video Understanding文献紹介:TSM: Temporal Shift Module for Efficient Video Understanding
文献紹介:TSM: Temporal Shift Module for Efficient Video Understanding
 
[DL輪読会]GQNと関連研究,世界モデルとの関係について
[DL輪読会]GQNと関連研究,世界モデルとの関係について[DL輪読会]GQNと関連研究,世界モデルとの関係について
[DL輪読会]GQNと関連研究,世界モデルとの関係について
 
PyTorch, PixyzによるGenerative Query Networkの実装
PyTorch, PixyzによるGenerative Query Networkの実装PyTorch, PixyzによるGenerative Query Networkの実装
PyTorch, PixyzによるGenerative Query Networkの実装
 
[DL輪読会]Pervasive Attention: 2D Convolutional Neural Networks for Sequence-to-...
[DL輪読会]Pervasive Attention: 2D Convolutional Neural Networks for Sequence-to-...[DL輪読会]Pervasive Attention: 2D Convolutional Neural Networks for Sequence-to-...
[DL輪読会]Pervasive Attention: 2D Convolutional Neural Networks for Sequence-to-...
 
モンテカルロサンプリング
モンテカルロサンプリングモンテカルロサンプリング
モンテカルロサンプリング
 
(文献紹介)Deep Unrolling: Learned ISTA (LISTA)
(文献紹介)Deep Unrolling: Learned ISTA (LISTA)(文献紹介)Deep Unrolling: Learned ISTA (LISTA)
(文献紹介)Deep Unrolling: Learned ISTA (LISTA)
 
Parallel WaveNet: Fast High-Fidelity Speech Synthesis
Parallel WaveNet: Fast High-Fidelity Speech SynthesisParallel WaveNet: Fast High-Fidelity Speech Synthesis
Parallel WaveNet: Fast High-Fidelity Speech Synthesis
 
2012-03-08 MSS研究会
2012-03-08 MSS研究会2012-03-08 MSS研究会
2012-03-08 MSS研究会
 
Dimensionality reduction with t-SNE(Rtsne) and UMAP(uwot) using R packages.
Dimensionality reduction with t-SNE(Rtsne) and UMAP(uwot) using R packages. Dimensionality reduction with t-SNE(Rtsne) and UMAP(uwot) using R packages.
Dimensionality reduction with t-SNE(Rtsne) and UMAP(uwot) using R packages.
 
点群深層学習 Meta-study
点群深層学習 Meta-study点群深層学習 Meta-study
点群深層学習 Meta-study
 
MVSR Schedulerを作るための指針
MVSR Schedulerを作るための指針MVSR Schedulerを作るための指針
MVSR Schedulerを作るための指針
 
グラフニューラルネットワーク入門
グラフニューラルネットワーク入門グラフニューラルネットワーク入門
グラフニューラルネットワーク入門
 
[DL輪読会]NVAE: A Deep Hierarchical Variational Autoencoder
[DL輪読会]NVAE: A Deep Hierarchical Variational Autoencoder[DL輪読会]NVAE: A Deep Hierarchical Variational Autoencoder
[DL輪読会]NVAE: A Deep Hierarchical Variational Autoencoder
 
Res netと派生研究の紹介
Res netと派生研究の紹介Res netと派生研究の紹介
Res netと派生研究の紹介
 
PRML復々習レーン#9 6.3-6.3.1
PRML復々習レーン#9 6.3-6.3.1PRML復々習レーン#9 6.3-6.3.1
PRML復々習レーン#9 6.3-6.3.1
 
Learning structured embeddings of knowledge bases 文献講読
Learning structured embeddings of knowledge bases 文献講読Learning structured embeddings of knowledge bases 文献講読
Learning structured embeddings of knowledge bases 文献講読
 
文献紹介:Token Shift Transformer for Video Classification
文献紹介:Token Shift Transformer for Video Classification文献紹介:Token Shift Transformer for Video Classification
文献紹介:Token Shift Transformer for Video Classification
 
[DL輪読会]Parallel WaveNet: Fast High-Fidelity Speech Synthesis
[DL輪読会]Parallel WaveNet: Fast High-Fidelity Speech Synthesis[DL輪読会]Parallel WaveNet: Fast High-Fidelity Speech Synthesis
[DL輪読会]Parallel WaveNet: Fast High-Fidelity Speech Synthesis
 
Learning Deep Architectures for AI (第 3 回 Deep Learning 勉強会資料; 松尾)
Learning Deep Architectures for AI (第 3 回 Deep Learning 勉強会資料; 松尾)Learning Deep Architectures for AI (第 3 回 Deep Learning 勉強会資料; 松尾)
Learning Deep Architectures for AI (第 3 回 Deep Learning 勉強会資料; 松尾)
 
0から理解するニューラルネットアーキテクチャサーチ(NAS)
0から理解するニューラルネットアーキテクチャサーチ(NAS)0から理解するニューラルネットアーキテクチャサーチ(NAS)
0から理解するニューラルネットアーキテクチャサーチ(NAS)
 

More from Hiroki Iida

Incorporating syntactic and semantic information in word embeddings using gra...
Incorporating syntactic and semantic information in word embeddings using gra...Incorporating syntactic and semantic information in word embeddings using gra...
Incorporating syntactic and semantic information in word embeddings using gra...Hiroki Iida
 
Information geometry chap6
Information geometry chap6Information geometry chap6
Information geometry chap6Hiroki Iida
 
Information geometriy chap5
Information geometriy chap5Information geometriy chap5
Information geometriy chap5Hiroki Iida
 
Information geometry chap3
Information geometry chap3Information geometry chap3
Information geometry chap3Hiroki Iida
 
(deplicated)Information geometry chap3
(deplicated)Information geometry chap3(deplicated)Information geometry chap3
(deplicated)Information geometry chap3Hiroki Iida
 
Dissecting contextual word embeddings
Dissecting contextual word embeddingsDissecting contextual word embeddings
Dissecting contextual word embeddingsHiroki Iida
 
情報幾何学の基礎2章補足
情報幾何学の基礎2章補足情報幾何学の基礎2章補足
情報幾何学の基礎2章補足Hiroki Iida
 
組織デザインの展開 ~官僚制からティール組織まで~
組織デザインの展開 ~官僚制からティール組織まで~組織デザインの展開 ~官僚制からティール組織まで~
組織デザインの展開 ~官僚制からティール組織まで~Hiroki Iida
 
Fundations of information geometry chap0
Fundations of information geometry chap0Fundations of information geometry chap0
Fundations of information geometry chap0Hiroki Iida
 
Introduction to search_and_recommend_algolithm
Introduction to search_and_recommend_algolithmIntroduction to search_and_recommend_algolithm
Introduction to search_and_recommend_algolithmHiroki Iida
 
Ai for marketing
Ai for marketingAi for marketing
Ai for marketingHiroki Iida
 
Graph and network_chap14
Graph and network_chap14Graph and network_chap14
Graph and network_chap14Hiroki Iida
 
Introduction to baysian_inference
Introduction to baysian_inferenceIntroduction to baysian_inference
Introduction to baysian_inferenceHiroki Iida
 
色々な確率分布とその応用
色々な確率分布とその応用色々な確率分布とその応用
色々な確率分布とその応用Hiroki Iida
 
テクノロジーと組織と発展
テクノロジーと組織と発展テクノロジーと組織と発展
テクノロジーと組織と発展Hiroki Iida
 

More from Hiroki Iida (17)

Incorporating syntactic and semantic information in word embeddings using gra...
Incorporating syntactic and semantic information in word embeddings using gra...Incorporating syntactic and semantic information in word embeddings using gra...
Incorporating syntactic and semantic information in word embeddings using gra...
 
Information geometry chap6
Information geometry chap6Information geometry chap6
Information geometry chap6
 
Information geometriy chap5
Information geometriy chap5Information geometriy chap5
Information geometriy chap5
 
Information geometry chap3
Information geometry chap3Information geometry chap3
Information geometry chap3
 
(deplicated)Information geometry chap3
(deplicated)Information geometry chap3(deplicated)Information geometry chap3
(deplicated)Information geometry chap3
 
Dissecting contextual word embeddings
Dissecting contextual word embeddingsDissecting contextual word embeddings
Dissecting contextual word embeddings
 
情報幾何学の基礎2章補足
情報幾何学の基礎2章補足情報幾何学の基礎2章補足
情報幾何学の基礎2章補足
 
組織デザインの展開 ~官僚制からティール組織まで~
組織デザインの展開 ~官僚制からティール組織まで~組織デザインの展開 ~官僚制からティール組織まで~
組織デザインの展開 ~官僚制からティール組織まで~
 
Fundations of information geometry chap0
Fundations of information geometry chap0Fundations of information geometry chap0
Fundations of information geometry chap0
 
Introduction to search_and_recommend_algolithm
Introduction to search_and_recommend_algolithmIntroduction to search_and_recommend_algolithm
Introduction to search_and_recommend_algolithm
 
Ai for marketing
Ai for marketingAi for marketing
Ai for marketing
 
Graph and network_chap14
Graph and network_chap14Graph and network_chap14
Graph and network_chap14
 
Introduction to baysian_inference
Introduction to baysian_inferenceIntroduction to baysian_inference
Introduction to baysian_inference
 
内燃機関
内燃機関内燃機関
内燃機関
 
Kl entropy
Kl entropyKl entropy
Kl entropy
 
色々な確率分布とその応用
色々な確率分布とその応用色々な確率分布とその応用
色々な確率分布とその応用
 
テクノロジーと組織と発展
テクノロジーと組織と発展テクノロジーと組織と発展
テクノロジーと組織と発展
 

レトリバ勉強会資料:深層学習による自然言語処理2章

  • 2. 自己紹介 • 飯田 大貴(いいだ ひろき) • セールスエンジニア © 2017 Retrieva, Inc. 2
  • 3. 本日の内容 • 発展的なニューラルネットワークの紹介 • 再帰ニューラルネット(RNN) • ゲート付き再帰ニューラルネット(LSTM・GRU) • 木構造再帰ニューラルネット(木構造RNN) • 畳み込みニューラルネット(CNN) © 2017 Retrieva, Inc. 3
  • 4. 2.6 再帰ニューラルネット • 可変長の入力を扱うことに優れたネットワーク構造 • 前の時刻の隠れ状態ベクトルと現時刻の入力ベクトルを使って、 現在の隠れ状態ベクトルを更新 • 任意の長さの入力履歴を考慮した出力を得ることができる • 状態変数の数を大きくすれば、原理的には前の入力をすべて考慮でき る • 単語などを各時刻の入力とするとテキストは可変長の入力列と なる。→RNNがテキスト処理に向いていそう。 © 2017 Retrieva, Inc. 4
  • 5. 2.6.1 再帰ニューラルネットのモデル • 1層の場合 𝒉 𝑡 = 𝑓(𝑈𝒙 𝑡 + 𝑊𝒉 𝑡 − 1 + 𝒃) 𝒚 𝑡 = 𝑔(𝑉𝒉 𝑡 + 𝒄) © 2017 Retrieva, Inc. 5 入力層𝒙(𝑡) 過去の隠れ層𝒉(𝑡 − 1) 隠れ層𝒉(𝑡) 𝑼 𝑾 𝑽 出力層𝐲(𝑡)
  • 6. 2.6.1 再帰ニューラルネットのモデル • 複数層(L層)の場合(バイアス項はhに含むものとした) 𝒉𝑙 𝑡 = 𝑓 𝑈 𝑙−1 𝒉𝑙−1 𝑡 + 𝑊 𝑙 𝒉𝑙 𝑡 − 1 , 𝒉 𝟎 = 𝒙 𝒚 𝑡 = 𝑔(𝑉𝒉 𝐿 𝑡 ) © 2017 Retrieva, Inc. 6 𝒙 𝟏 𝒙 𝟐 𝒙 𝟑 𝒉 𝟏 𝟏 𝒉 𝟐 𝟏 𝒉 𝟑 𝟏 𝒉 𝟎 𝟏 𝒉 𝟏 𝟐 𝒉 𝟐 𝟐 𝒉 𝟑 𝟐 𝒉 𝟎 𝟐 𝒉 𝟎 𝟑 𝒉 𝟏 𝟑 𝒉 𝟐 𝟑 𝒉 𝟑 𝟑 𝒚 𝟏 𝒚 𝟐 𝒚 𝟑 𝑼 𝟎 𝑾 𝟑𝑾 𝟑𝑾 𝟑 𝑾 𝟐𝑾 𝟐 𝑾 𝟐 𝑾 𝟏 𝑾 𝟏 𝑾 𝟏 𝑼 𝟏 𝑼 𝟐 𝑼 𝟎 𝑼 𝟏 𝑼 𝟐 𝑼 𝟎 𝑼 𝟏 𝑼 𝟐 𝐕 𝐕 𝐕
  • 7. 2.6.1 再帰ニューラルネットのモデル • 教科書の表記との対応 𝑊 𝑙 = 𝑈 𝑙−1, Vl , Wo = V, ot = y • RNNはマルコフ性(前の状態と現在の入力だけで、現在の状態 を推定できること)を仮定している。 • これが成立していれば、𝒉 𝒕には1~tの可変長の入力を記憶していること が期待できる。 • 𝒉 𝟎は仮のベクトル。 © 2017 Retrieva, Inc. 7
  • 8. 2.6.1 再帰ニューラルネット:誤差逆伝搬 • 1層の場合 • 𝒒(𝒕) = 𝑉𝒉 𝑡 + 𝒄, 𝒑(𝒕) = 𝑈𝒙 𝑡 + 𝑊𝒉 𝑡 − 1 + 𝒃とおく。 • 𝑈 = 𝒖 𝟏, ⋯ 𝒖 𝑱 𝑻 , 𝑊 = 𝒘 𝟏, ⋯ 𝒘 𝑱 𝑻 , 𝑉 = 𝒗 𝟏, ⋯ 𝒗 𝒌 𝑻 とおく。 𝜕𝑙 𝜕𝑉 = 𝜕𝑙 𝜕𝒗 𝟏 , ⋯ , 𝜕𝑙 𝜕𝒗 𝑲 𝑇 = ⋮ 𝜕𝑙 𝜕𝑦𝑡𝑘 𝜕𝑦𝑡𝑘 𝜕𝑞𝑡𝑘 𝜕𝑞𝑡𝑘 𝜕𝒗 𝒌 𝑇 ⋮ = ⋮ 𝜕𝑙 𝜕𝑦𝑡𝑘 𝜕𝑦𝑡𝑘 𝜕𝑞𝑡𝑘 𝒉 𝒕 𝑻 ⋮ 𝜕𝑙 𝜕𝑈 = 𝜕𝑙 𝜕𝒖 𝟏 , ⋯ , 𝜕𝑙 𝜕𝒖 𝑱 𝑇 = ⋮ 𝑘 𝜕𝑙 𝜕𝑦𝑡𝑘 𝜕𝑦𝑡𝑘 𝜕𝑞𝑡𝑘 𝜕𝑞𝑡𝑘 𝜕ℎ 𝑡𝑗 𝜕ℎ 𝑡𝑗 𝜕𝒑 𝒕𝒋 𝜕𝑝𝑡𝑗 𝜕𝒖𝒋 ⋮ = ⋮ 𝑘 𝜕𝑙 𝜕𝑦𝑡𝑘 𝜕𝑦𝑡𝑘 𝜕𝑞𝑡𝑘 𝜕𝑞𝑡𝑘 𝜕ℎ 𝑡𝑗 𝜕ℎ 𝑡𝑗 𝜕𝒑 𝒕𝒋 𝒙 𝒕 𝑻 ⋮ 𝜕𝑙 𝜕𝑊 = 𝜕𝑙 𝜕𝒘 𝟏 , ⋯ , 𝜕𝑙 𝜕𝒘 𝑱 𝑇 = ⋮ 𝑘 𝜕𝑙 𝜕𝑦𝑡𝑘 𝜕𝑦𝑡𝑘 𝜕𝑞𝑡𝑘 𝜕𝑞𝑡𝑘 𝜕ℎ 𝑡𝑗 𝜕ℎ 𝑡𝑗 𝜕𝒑 𝒕𝒋 𝜕𝑝𝑡𝑗 𝜕𝒖𝒋 ⋮ = ⋮ 𝑘 𝜕𝑙 𝜕𝑦𝑡𝑘 𝜕𝑦𝑡𝑘 𝜕𝑞𝑡𝑘 𝜕𝑞𝑡𝑘 𝜕ℎ 𝑡𝑗 𝜕ℎ 𝑡𝑗 𝜕𝒑 𝒕𝒋 𝒉 𝒕−𝟏 𝑻 ⋮ 𝜕𝑙 𝜕𝒄 = 𝜕𝑙 𝜕𝒄 𝟏 , ⋯ , 𝜕𝑙 𝜕𝒄 𝒌 𝑇 = ⋮ 𝜕𝑙 𝜕𝑦𝑡𝑘 𝜕𝑦𝑡𝑘 𝜕𝑞𝑡𝑘 𝜕𝑞𝑡𝑘 𝜕𝒄 𝒌 ⋮ = ⋮ 𝜕𝑙 𝜕𝑦𝑡𝑘 𝜕𝑦𝑡𝑘 𝜕𝑞𝑡𝑘 ⋮ 𝜕𝑙 𝜕𝒃 = 𝜕𝑙 𝜕𝒃 𝟏 , ⋯ , 𝜕𝑙 𝜕𝒃 𝑱 𝑇 = ⋮ 𝑘 𝜕𝑙 𝜕𝑦𝑡𝑘 𝜕𝑦𝑡𝑘 𝜕𝑞𝑡𝑘 𝜕𝑞𝑡𝑘 𝜕ℎ 𝑡𝑗 𝜕ℎ 𝑡𝑗 𝜕𝑝𝑡𝑗 𝜕𝑝𝑡𝑗 𝜕𝑏𝑗 ⋮ = ⋮ 𝑘 𝜕𝑙 𝜕𝑦𝑡𝑘 𝜕𝑦𝑡𝑘 𝜕𝑞𝑡𝑘 𝜕𝑞𝑡𝑘 𝜕ℎ 𝑡𝑗 𝜕ℎ 𝑡𝑗 𝜕𝑝𝑡𝑗 ⋮© 2017 Retrieva, Inc. 8
  • 9. 2.6.1 再帰ニューラルネット:誤差逆伝搬 • 𝝏𝒍 𝝏𝒒 𝒕 = 𝒆 𝒐 𝑡 = ⋮ 𝜕𝑙 𝜕𝑦 𝑡𝑘 𝜕𝑦 𝑡𝑘 𝜕𝑞 𝑡𝑘 ⋮ , 𝝏𝒍 𝝏𝒑 𝒕 = 𝒆 𝒉 𝒕 = ⋮ 𝑘 𝜕𝑙 𝜕𝑦 𝑡𝑘 𝜕𝑦 𝑡𝑘 𝜕𝑞 𝑡𝑘 𝜕𝑞 𝑡𝑘 𝜕ℎ 𝑡𝑗 𝜕ℎ 𝑡𝑗 𝜕𝑝 𝑡𝑗 ⋮ = ⋮ 𝑘 𝜕𝑙 𝜕𝑦 𝑡𝑘 𝜕𝑦 𝑡𝑘 𝜕𝑞 𝑡𝑘 𝑣 𝑘𝑗 𝑓′ (𝑝𝑗) ⋮ = 𝑽 𝑻 𝒆 𝒐(𝒕) ⊙ 𝒇′ (𝒑)=とおく。 • 先ほどの式は以下のようになる。 𝜕𝑙 𝜕𝑉 = 𝒆 𝒐 𝒕 𝒉 𝒕 𝑻 , 𝜕𝑙 𝜕𝑈 = 𝒆 𝒉 𝒕 𝒙 𝒕 𝑻 , 𝜕𝑙 𝜕𝑊 = 𝒆 𝒉 𝒕 𝒉 𝑡−1 𝑇 , 𝜕𝑙 𝜕𝒄 = 𝒆 𝒐 𝒕 , 𝜕𝑙 𝜕𝒃 = 𝒆 𝒉 𝒕 © 2017 Retrieva, Inc. 9 入力層𝒙(𝑡) 過去の隠れ層𝒉(𝑡 − 1) 隠れ層𝒉(𝑡) 出力層𝐲(𝑡) 𝑒 𝑜𝑒ℎ 隠れ層𝒉(𝑡) 𝑼 𝑽 𝑾
  • 10. 2.6.1 再帰ニューラルネット:誤差逆伝搬 • 時間依存性について 𝒆 𝒉 𝑡 − 1 = 𝜕𝑙 𝜕𝒑 𝒕−𝟏 = ⋮ 𝜕𝑙 𝜕𝑝 𝑡𝑗 𝜕𝑝 𝑡𝑗 𝜕𝑝 𝑡−1𝑗 ⋮ = 𝒆ℎ 𝑡 ⊙ ⋮ 𝜕𝑝 𝑡𝑗 𝜕ℎ 𝑡−1𝑗 𝜕ℎ 𝑡−1𝑗 𝜕𝑝 𝑡−1𝑗 ⋮ = 𝒆ℎ 𝑡 ⊙ 𝑊𝑓′ 𝑝 𝑡 − 1 • よって、任意の時刻において以下の通り𝒆 𝒉が計算できることが わかる。 𝒆 𝒉 𝑡 − 𝑧 − 1 = 𝒆 𝒉(𝑡 − 𝑧) ⊙ 𝑊𝑓′ 𝑝 𝑡 − 𝑧 − 1 © 2017 Retrieva, Inc. 10
  • 11. 2.6.1 再帰ニューラルネット:誤差逆伝搬 • よって、更新式が以下の通りとなる。 𝑈 𝑡 + 1 = 𝑈 𝑡 − 𝜏 − 𝜂 𝑧=0 𝜏 𝑒ℎ 𝑡 − 𝑧 𝑥 𝑡 − 𝑧 𝑇 𝑊 𝑡 + 1 = 𝑊 𝑡 − 𝜏 − 𝜂 𝑧=0 𝜏 𝑒ℎ 𝑡 − 𝑧 ℎ 𝑡 − 𝑧 − 1 𝑇 𝑉 𝑡 + 1 = 𝑉 𝑡 − 𝜂𝑒 𝑜 𝑡 ℎ 𝑡 𝑇 𝑏 𝑡 + 1 = 𝑏 𝑡 − 𝜏 − 𝜂 𝑧=0 𝜏 𝑒ℎ 𝑡 − 𝑧 𝑐 𝑡 + 1 = 𝑐 𝑡 − 𝜂𝑒 𝑜 𝑡 © 2017 Retrieva, Inc. 11
  • 12. 2.6.1 再帰ニューラルネット:誤差逆伝搬 • 複数層(L層)の場合(バイアス項はhに含むものとした) 𝒒 𝒕 = 𝑉𝒉 𝐿 𝑡 , 𝒑𝒍(𝒕) = 𝑈 𝑙−1 𝒉𝑙−1 𝑡 + 𝑊 𝑙 𝒉𝑙 𝑡 − 1 として、 𝝏𝒍 𝝏𝒒 𝒕 = 𝒆 𝒐 𝑡 = ⋮ 𝜕𝑙 𝜕𝑦𝑡𝑘 𝜕𝑦𝑡𝑘 𝜕𝑞𝑡𝑘 ⋮ , 𝝏𝒍 𝝏𝒑𝒕 𝒍 = 𝒆 𝒉 𝒍 𝒕 = 𝑼𝒍+𝟏 𝑻 𝒆 𝒉 𝒍+𝟏 (𝒕) ⊙ 𝒇′𝒍(𝒑) とすればよい。(l+1=Lのとき、h=o) © 2017 Retrieva, Inc. 12
  • 13. 2.6.1 再帰ニューラルネット:誤差逆伝搬 • 模式図 © 2017 Retrieva, Inc. 13 𝒆 𝒉 𝟎 (𝟏) 𝒆 𝒉 𝟎 (𝟐) 𝒆 𝒉 𝟎 (𝟑) 𝒆 𝒉 𝟏 (𝟏) 𝒆 𝒉 𝟏 (𝟐) 𝒆 𝒉 𝟏 (𝟑)𝒆 𝟎 𝟏 (𝟎) 𝒆 𝒉 𝟐 (𝟏) 𝒆 𝒉 𝟐 (𝟐) 𝒆 𝒉 𝟐 (𝟑)𝒆 𝒉 𝟐 (𝟎) 𝒆 𝒉 𝟑 (𝟎) 𝒆 𝒉 𝟑 (𝟏) 𝒆 𝒉 𝟑 (𝟐) 𝒆 𝒉 𝟑 (𝟑) 𝒆 𝒐(𝟏) 𝒆 𝒐(𝟐) 𝒆 𝒐(𝟑) 𝑼 𝟎 𝑾 𝟑𝑾 𝟑𝑾 𝟑 𝑾 𝟐𝑾 𝟐 𝑾 𝟐 𝑾 𝟏 𝑾 𝟏 𝑾 𝟏 𝑼 𝟏 𝑼 𝟐 𝑼 𝟎 𝑼 𝟏 𝑼 𝟐 𝑼 𝟎 𝑼 𝟏 𝑼 𝟐 𝐕 𝐕 𝐕
  • 14. 2.6.2 双方向再帰ニューラルネット • 入力列全体の情報を各時刻で考慮させたい時に使用。 • 入力列全体が与えられている必要がある • 双方向を考慮する方法は様々 © 2017 Retrieva, Inc. 14
  • 15. 2.6.2 双方向再帰ニューラルネット • パターン1:隠れ状態の相互作用がないパターン 前向き:𝒉 𝒕 𝒍 = 𝑎 𝑙 𝑾𝑙 𝒉 𝑡 𝑙−1 𝒉 𝑡−1 𝑙 + 𝒃𝑙 後向き:𝒉 𝒕 𝒍 = 𝑎 𝑙 𝑾𝑙 𝒉 𝑡 𝑙−1 𝒉 𝑡+1 𝑙 + 𝒃𝑙 出力層: 𝐨𝐭 = 𝑾 𝒐 𝒉 𝑡 𝐿 𝒉 𝑡 𝑳 + 𝒃 𝒐 © 2017 Retrieva, Inc. 15 教科書より
  • 16. 2.6.2 双方向再帰ニューラルネット • パターン2:隠れ状態の相互作用があるパターン 前向き:𝒉 𝒕 𝒍 = 𝑎 𝑙 𝑾𝑙 𝒉 𝑡 𝑙−1 𝒉 𝑡−1 𝑙 𝒉 𝑡 𝑙−1 + 𝒃𝑙 後向き:𝒉 𝒕 𝒍 = 𝑎 𝑙 𝑾𝑙 𝒉 𝑡 𝑙−1 𝒉 𝑡+1 𝑙 𝒉 𝑡 𝑙−1 + 𝒃𝑙 出力層: 𝐨𝐭 = 𝑾 𝒐 𝒉 𝑡 𝐿 𝒉 𝑡 𝑳 + 𝒃 𝒐 © 2017 Retrieva, Inc. 16 教科書より
  • 18. 2.7.1 ゲートについて • ゲート付きショートカット 𝒉𝒍 = 𝒈 𝒇⨀𝑓 𝑙 𝒉𝑙−1 + 𝒈ℎ⨀𝒉𝑙−1 • 𝒈 𝒇・𝒈ℎが、それぞれの重みでゲートと呼ばれている。 • ゲート自体を入力𝒉によって、変化させる場合は以下のようなゲート関 数が使用される。 𝒈 𝒉 = 𝑎 𝑔(𝑾 𝑔 𝒉 + 𝒃 𝑔) • 𝑾 𝒈・𝒃 𝑔はパラメータで、 𝒂 𝑔はゲート用の活性化関数で通常はシグモ イド関数やハイパーボリック関数が使用される。 • 通常のショートカット関数は、 𝒈 𝒇 = 𝒈ℎ = 1 © 2017 Retrieva, Inc. 18
  • 19. 2.7.1 ゲート付き再帰ニューラルネット • ゲート付きRNN 𝒉 𝒕 = 𝑓 𝒉 𝑡−1 + 𝒊=𝟏 𝒕−𝟏 (⨀𝒋=𝒊 𝒕 𝒈𝒋)𝒇(𝒉𝒊−𝟏) • 導出 • 一つ前の時刻状態へのショートカットをつける 𝒉 𝒕 = 𝑓 ℎ 𝑡−1 + 𝒉 𝑡−1 • 時刻tのゲート出力を𝒈 𝒕として、以下のように、ゲート付きショートカットに 変更する 𝒉 𝒕 = 𝑓 ℎ 𝑡−1 + 𝒈 𝒕⨀𝒉 𝑡−1 • これを再帰的に繰り返すことで上式を導出できる。 © 2017 Retrieva, Inc. 19
  • 20. 2.7.1 ゲート付き再帰ニューラルネットの性質 • 一つ前の時刻状態へのショートカットをつける 𝒉 𝒕 = 𝑓 ℎ 𝑡−1 + 𝒉 𝑡−1 • 再帰的な評価により、以下のように書ける。 𝒉 𝒕 = 𝒊=𝟏 𝒕 𝑓(𝒉𝒊−𝟏) • これより、ショートカットを加えると、隠れ状態ベクトルは長期の状態を 和で集約した情報を表している。 • ゲート付きRNNは𝑓(𝒉𝒊−𝟏)の各項に重み𝑮 𝑖 = ⨀𝒋=𝒊 𝒕 𝒈𝒋が付いている。 𝑮 𝑖 − 1 ≤ 𝑮 𝒊 なので、過去に行くほど重みが減少する。 • よって、ゲートを加えることによって、過去の忘却を図り、ゲートを学習 することで、長期記憶と短期きおくの調整をすることが期待できる。 © 2017 Retrieva, Inc. 20
  • 21. 2.7.1 ゲート付き再帰ニューラルネット の誤差逆伝搬 • ゲート付きRNNの誤差逆伝搬 • 𝜕𝑙(𝒉 𝒕) 𝜕𝒉 𝒕 𝜕𝒉 𝒕 𝜕𝜽 = 𝜕𝑙(𝒉 𝒕) 𝜕𝒉 𝒕 𝜕𝑓(𝒉 𝑡−1) 𝜕𝜽 + 𝑖=1 𝑡−1 𝜕𝑙 𝒉 𝒕 𝜕𝒉 𝒕 (⨀𝒋=𝒊 𝒕 𝑔𝑗) 𝜕𝑓(𝒉 𝑖−1) 𝜕𝜽 • 上式から、過去のすべての時刻の 𝜕𝑓(𝒉 𝑖−1) 𝜕𝜽 に対して、時刻tの誤差 𝜕𝑙(𝒉 𝒕) 𝜕𝒉 𝒕 が 直接かけられている。 • また、ゲートが誤差の伝達度合いを調整している。 © 2017 Retrieva, Inc. 21
  • 22. 2.7.2 長短期記憶ニューラルネット • 長短期記憶ニューラルネット(LSTM)は、RNNの一つ一つの ノードをLSTMに変える。 © 2017 Retrieva, Inc. 22 入力層𝒙(𝑡) 過去の隠れ層𝒉(𝑡 − 1) 隠れ層𝒉(𝑡) 𝑼 𝑾 𝑽 出力層𝐲(𝑡)
  • 23. 2.7.2 長短期記憶ニューラルネット • LSTMの発想 • 無関係な入力で活性を小さくし、注目すべき入力で大きく活性する。 このために、依存性のありそうな情報を内部で保持するとともに、依存性が ある信号を受け取った時のみ活性化しさせたい。 • 前者は、誤差を止まらせて、伝搬させることで達成できる。そのために、追 加するニューロンを、CEC(constant error carousel)またはメモリセルと呼ぶ。 • 後者を達成するために、ゲートを導入。これを入力ゲートお呼び出力ゲート と呼ぶ。 • 適切なタイミングで過去の情報を忘れる必要もある。これを忘却ゲートとい う。 © 2017 Retrieva, Inc. 23
  • 24. 2.7.2 CEC • 誤差を伝搬させるためには以下のようにすることを考えればい い。 𝒆ℎ 𝑡 − 1 = 𝒆ℎ 𝑡 ⨀ 𝑊𝑓′ 𝒑 𝑡 − 1 = 1 • CECに以下のような関数を考える。 𝒄𝒍 𝑡 = 𝒉𝒍 𝑡 + 𝒄𝒍 𝑡 − 1 この誤差関数は以下のようになり、誤差が止まるようになる。 𝜕𝐸 𝜕𝒄(𝑡 − 1) = 𝜕𝐸 𝜕𝒄(𝑡) ⨀ 𝜕𝒄 𝑡 𝜕𝒄 𝑡 − 1 = 𝜕𝐸 𝜕𝒄(𝑡) © 2017 Retrieva, Inc. 24
  • 25. 2.7.2 CEC • 模式図 © 2017 Retrieva, Inc. 25 𝒉 𝒕−𝟏 𝒍 𝒉 𝒕 𝒍 𝒉 𝒕 𝒍−𝟏 𝒄 𝒕 𝒍 𝒄 𝒕−𝟏 𝒍 𝒉 𝒕 𝒍
  • 26. 2.7.2 入力ゲートと出力ゲート • 入力ゲートと出力ゲートは、欲しい刺激の時に1、不要な刺激の時に0に なるようにするのが理想。そこで、重みをして0−1をとるシグモイド関 数を使用する • 入力ゲート 𝒊 𝑡 = 𝝈 𝑾𝒊 𝒙 𝑡 + 𝑼𝒊 𝒉 𝑡 − 1 + 𝒃𝒊 • 出力ゲート 𝒐 𝑡 = 𝝈(𝑾 𝒐 𝒙 𝑡 + 𝑼 𝒐 𝒉 𝑡 − 1 + 𝒃 𝒐) • 入力ゲートと出力ゲートを加味した出力 𝒄 𝑡 = 𝒊 𝑡 ⨀ 𝒉 𝑡 + 𝒄(𝑡 − 1) 𝒉 𝑡 = 𝒐(𝑡) ⊙ 𝑔 𝒄 𝑡 © 2017 Retrieva, Inc. 26
  • 27. 2.7.2 入力ゲートと出力ゲート • 模式図 © 2017 Retrieva, Inc. 27 𝒉 𝒕−𝟏 𝒍 𝒉 𝒕 𝒍 𝒉 𝒕 𝒍−𝟏 𝒄 𝒕 𝒍 𝒄 𝒕−𝟏 𝒍 𝒉 𝒕 𝒍 𝒊 𝒕 𝒍 𝒐 𝒕 𝒍
  • 28. 2.7.2 忘却ゲート • 適切なタイミングで過去の情報を忘れるということを重みで表 現すると、以下のようになる。 𝒄 𝑡 = 𝒊 𝑡 ⨀ 𝒉 𝑡 + 𝒇 𝒕 ⨀𝒄 𝑡 − 1 𝒇 𝑡 = 𝝈 𝑾 𝒇 𝒙 𝑡 + 𝑼 𝒇 𝒉 𝑡 − 1 + 𝒃 𝒇 • このようにすると、忘却ゲートによって誤差が以下のように表 される。 𝒆 𝒇 𝑡 ≡ 𝜕𝐸 𝜕𝒇 𝑡 = 𝜕𝐸 𝜕𝒄 𝑡 ⨀ 𝜕𝒄 𝑡 𝜕𝒇 𝑡 = 𝒆 𝒄 𝑡 ⨀𝒄(𝒕 − 𝟏) © 2017 Retrieva, Inc. 28
  • 29. 2.7.3 忘却ゲート • 模式図 © 2017 Retrieva, Inc. 29 𝒉 𝒕−𝟏 𝒍 𝒉 𝒕 𝒍 𝒉 𝒕 𝒍−𝟏 𝒄 𝒕 𝒍 𝒄 𝒕−𝟏 𝒍 𝒉 𝒕 𝒍 𝒊 𝒕 𝒍 𝒐 𝒕 𝒍 𝒇 𝒕 𝒍
  • 30. 2.7.2 長短期記憶ニューラルネット • 以上をまとめて、モデルは以下のとおり ℎ 𝑡 𝑙 𝑖 𝑡 𝑙 𝑓𝑡 𝑙 𝑜𝑡 𝑙 = 𝑓 𝑠𝑖𝑔𝑚𝑜𝑖𝑑 𝑠𝑖𝑔𝑚𝑜𝑖𝑑 𝑠𝑖𝑔𝑚𝑜𝑖𝑑 𝑾ℎ 𝑙 𝑾𝑖 𝑙 𝑾 𝑓 𝑙 𝑾 𝑜 𝑙 𝒉 𝒕 𝒍−𝟏 𝒉 𝒕−𝟏 𝒍 + 𝒃ℎ 𝑙 𝒃𝑖 𝑙 𝒃 𝑓 𝑙 𝒃 𝑜 𝑙 𝒄 𝒕 𝒍 = 𝒊 𝒕 𝒍 ⨀ 𝒉 𝒕 𝒍 + 𝒇 𝒕 𝒍 ⨀𝒄 𝒕−𝟏 𝒍 𝒉 𝒕 𝒍 = 𝒐 𝒕 𝒍 ⨀𝒈 𝒄 𝒕 𝒍 © 2017 Retrieva, Inc. 30
  • 31. 2.7.3 ゲート付き回帰ユニット(GRU) • LSTMは計算量が多いので、計算量を抑えたく考案されたモデル • LSTMのようにセルを使わず長期の情報を隠れ状態ベクトルhに集約 • LSTMより少ない2つのゲートr,zだけを使用して、忘却と状態の更新を操作 • rをリセットゲート、zを更新ゲートという。 • rで1時刻前の隠れ状態ベクトルを減衰 • zで1時刻前の隠れ状態ベクトルからの更新率を調整 • モデルは以下の通り 𝒓 𝑡 𝑙 𝒛 𝑡 𝑙 = 𝑠𝑖𝑔𝑚𝑜𝑖𝑑 𝑾 𝒓 𝒍 𝑾 𝒛 𝒍 𝒉 𝒕 𝑙−1 𝒉 𝑡 𝒍 + 𝒃 𝑟 𝑙 𝒃 𝑧 𝑙 𝒉 𝒕 𝒍 = tanh 𝑾𝑙 𝒉 𝒕 𝒍−𝟏 𝒉 𝒕−𝟏 𝑙 𝒉 𝒕 𝒍 = 1 − 𝑧𝑡 𝑙 ⨀ 𝒉𝒕 𝒍 + 𝒛 𝒕 𝒍 ⨀𝒉 𝒕−𝟏 𝒍 © 2017 Retrieva, Inc. 31
  • 32. 2.7.3 ゲート付き回帰ユニット(GRU) • 模式図 © 2017 Retrieva, Inc. 32 𝒉 𝒕−𝟏 𝒍 𝒉 𝒕 𝒍 𝒉 𝒕 𝒍−𝟏 𝒓 𝒕 𝒍 𝒛𝒕−𝟏 𝒍 𝒉 𝒕 𝒍
  • 33. 2.8 木構造再帰ニューラルネット(Tree-RNN) • 再帰ニューラルネットを木構造に拡張したもの。 • 簡単のため、モデルを二分木とすると、以下のようになる。 𝒉 𝒑 = 𝑎(𝑾 𝒉 𝑳 𝒉 𝑹 + 𝒃) • 演算が木構造の葉ノードからルートノードに向かって順番に実施される。そのた め、ルートノードは各隠れ状態ベクトルの情報を、集約しているとみなすことが できる。 © 2017 Retrieva, Inc. 33 教科書より
  • 34. 2.8 木構造再帰ニューラルネット(Tree-RNN) • 多層の場合は以下の通りになる。 𝒉 𝒑 = 𝑎(𝑾 𝒉 𝑳 𝒍 𝒉 𝑹 𝒍 𝒉 𝑷 𝒍−𝟏 + 𝒃) © 2017 Retrieva, Inc. 34
  • 35. 2.8 木構造再帰ニューラルネット(Tree-RNN) • 特徴 • RNNに比べて、深さがlog2 𝑇となるため、長距離の要素間関係を表現 しやすい • NLPでは、文を文法木構造に変換して、構文解析を行う。そのため、 構文的に意味のある単位の固定長のベクトル表現を得ることができる。 • ただし、構文木が応用上必要かは不明 © 2017 Retrieva, Inc. 35
  • 36. 2.9 畳み込みニューラルネット • 畳み込み操作によって時刻tの特徴を窓幅Cの局所的な特徴で表現。 • 周辺の隠れ状態ベクトルの重み付き和で時刻tの特徴を表している • 畳み込みのモデルは以下のとおり 𝒛 𝒕 𝒍 = 𝑾𝒍 𝒉 𝒕− 𝑪/𝟐 𝒍−𝟏 ⋮ 𝒉 𝒕 𝒍−𝟏 ⋮ 𝒉 𝒕+ 𝑪/𝟐 𝒍−𝟏 + 𝒃𝒍 © 2017 Retrieva, Inc. 36
  • 37. 2.9 畳み込みニューラルネット • 特徴と技法 • パディング:系列の最初と最後に仮の隠れ状態ベクトルを配置する • 入力系列の長さに対する出力系列の長さの比率を調整できる。 • プーリング:畳み込み操作の後に複数の局所特徴値を集約する • 複数の局所特徴値を集約する操作。入力テキストの小さな変化に対して、不変な表現の学習が 期待できる。 • 可変長の入力に対して固定長の表現を得る • ストライド:すべての時刻を使わないで、sおきにダウンサンプリングすること © 2017 Retrieva, Inc. 37 パディングの概念図 プーリングの概念図 教科書より 教科書より
  • 38. 2.9 畳み込みニューラルネット • 自然言語処理での使いどころ • 時間に依存せず、局所的な不変性が成立するタスクに向く • 畳み込み操作が時間非依存性を仮定しており、プーリングが局所的な不変性を仮 定しているため • CNNでは隠れ状態ベクトル間に依存関係が少なく並列化しやすい • RNNでは並列化ができない。 © 2017 Retrieva, Inc. 38
  • 40. 誤差逆伝搬をすべて行列・ベクトルの微分で行う 場合 • 1層の場合 • 𝒒(𝒕) = 𝑉𝒉 𝑡 + 𝒄, 𝒑(𝒕) = 𝑈𝒙 𝑡 + 𝑊𝒉 𝑡 − 1 + 𝒃とおく。 • 𝑈 = 𝒖 𝟏, ⋯ 𝒖 𝑱 𝑻 , 𝑊 = 𝒘 𝟏, ⋯ 𝒘 𝑱 𝑻 , 𝑉 = 𝒗 𝟏, ⋯ 𝒗 𝒌 𝑻とおく。 𝜕𝑙 𝜕𝑉 = 𝜕𝑙 𝜕𝒚 𝒕 𝑻 𝜕𝒚 𝒕 𝜕𝒒 𝒕 𝑻 𝝏𝒒 𝒕 𝝏𝑽 𝜕𝑙 𝜕𝑈 = 𝜕𝑙 𝜕𝑦𝒕 𝑻 𝜕𝒚 𝒕 𝜕𝒒 𝒕 𝑻 𝜕𝒒 𝒕 𝜕𝒉 𝒕 𝑻 𝜕𝒉 𝑡 𝜕𝒑 𝒕 𝑻 𝝏𝒑 𝒕 𝝏𝑼 𝜕𝑙 𝜕𝑊 = 𝜕𝑙 𝜕𝑦𝒕 𝑻 𝜕𝒚 𝒕 𝜕𝒒 𝒕 𝑻 𝜕𝒒 𝒕 𝜕𝒉 𝒕 𝑻 𝜕𝒉 𝑡 𝜕𝒑 𝒕 𝑻 𝝏𝒑 𝒕 𝝏𝑾 © 2017 Retrieva, Inc. 40 テンソル になるけ ど、計算 する出て くるよ!
  • 41. 2.6 再帰ニューラルネット:誤差逆伝搬 • 𝜕𝑙 𝜕𝒚 𝒕 𝑻 𝜕𝒚 𝒕 𝜕𝒒 𝒕 𝑻 = 𝒆 𝒐 𝑻 𝑡 , 𝜕𝑙 𝜕𝑦𝒕 𝑻 𝜕𝒚 𝒕 𝜕𝒒 𝒕 𝑻 𝜕𝒒 𝒕 𝜕𝒉 𝒕 𝑻 𝜕𝒉 𝑡 𝜕𝒑 𝒕 𝑻 = 𝒆 𝒐 𝑻 𝑡 𝑽 𝜕𝒉 𝑡 𝜕𝒑 𝒕 𝑻 = 𝒆 𝒐 𝑻 𝑡 (𝑽 𝑇⊙ 𝒇′(𝒑) 𝑻 = 𝒆 𝒉 𝑻 (𝒕) とおく。 • 先ほどの式は以下のようになる。 𝜕𝑙 𝜕𝑉 = 𝒆 𝒐 𝒕 𝒉 𝒕 𝑻 , 𝜕𝑙 𝜕𝑈 = 𝒆 𝒉 𝒕 𝒙 𝒕 𝑻 , 𝜕𝑙 𝜕𝑊 = 𝒆 𝒉 𝒕 𝒉 𝑡−1 𝑇 , 𝜕𝑙 𝜕𝒄 = 𝒆 𝒐 𝒕 , 𝜕𝑙 𝜕𝒃 = 𝒆 𝒉 𝒕 © 2017 Retrieva, Inc. 41 入力層𝒙(𝑡) 過去の隠れ層𝒉(𝑡 − 1) 隠れ層𝒉(𝑡) 出力層𝐲(𝑡)
  • 42. 2.7.2 CEC • 模式図 © 2017 Retrieva, Inc. 42 f 出力層 CEC X1.0 入力層 g
  • 43. 2.7.2 入力ゲートと出力ゲート • 模式図 © 2017 Retrieva, Inc. 43 f 出力層 CEC X1.0 入力層 g i o