再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会
TRANSCRIPT
![Page 1: 再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会](https://reader033.vdocuments.mx/reader033/viewer/2022050709/55cd8532bb61ebd2408b46bf/html5/thumbnails/1.jpg)
Chapter 7: 再帰型ニューラルネット
機械学習プロフェッショナルシリーズ輪読会
~深層学習編~
佐野 正太郎
![Page 2: 再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会](https://reader033.vdocuments.mx/reader033/viewer/2022050709/55cd8532bb61ebd2408b46bf/html5/thumbnails/2.jpg)
前章までの流れ
順伝播型や自己符号化器では入出力次元数が固定
ニューラルネット
6.0
5.0
2.0
入力ベクトル 出力ベクトル
1.0
9.0
固定次元
固定次元
![Page 3: 再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会](https://reader033.vdocuments.mx/reader033/viewer/2022050709/55cd8532bb61ebd2408b46bf/html5/thumbnails/3.jpg)
本章で扱う問題
サンプル毎に系列長が違うデータをどう扱うか?
ニューラルネット
1.0
9.0
3.0
入力ベクトル系列 出力ベクトル系列
6.0
5.0
2.0
2.0
4.0
6.0
1.0
9.0
6.0
3.0
7.0
3.0
固定次元
固定次元
可変
入力と同じ系列長
![Page 4: 再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会](https://reader033.vdocuments.mx/reader033/viewer/2022050709/55cd8532bb61ebd2408b46bf/html5/thumbnails/4.jpg)
応用
自然言語処理
途中までの文章から次の単語を順次予測
音声認識
短時間フレーム毎の音素認識
We can get an idea of the quality of the leaned feature 1x 2x 3x 4x 5x 6x 7x 8x 9x 10x
11x11y
w ʌ n n n ʌ ʌ ʌ ʌ w w
![Page 5: 再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会](https://reader033.vdocuments.mx/reader033/viewer/2022050709/55cd8532bb61ebd2408b46bf/html5/thumbnails/5.jpg)
トピック
Recurrent Neural Network (RNN)
系列量が異なるサンプルの予測・学習
Long Short-Term Memory (LSTM)
より長い系列の予測・学習
Connectionist Temporal Classification (CTC)
時間フレーム単位のラベル付けが不要なRNN学習
![Page 6: 再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会](https://reader033.vdocuments.mx/reader033/viewer/2022050709/55cd8532bb61ebd2408b46bf/html5/thumbnails/6.jpg)
略語
FFNN
Feed Forward Neural Network
順伝播型ニューラルネットワーク
RNN
Recurrent Neural Network
再帰型ニューラルネットワーク
BP
Back Propagation
誤差逆伝播法
![Page 7: 再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会](https://reader033.vdocuments.mx/reader033/viewer/2022050709/55cd8532bb61ebd2408b46bf/html5/thumbnails/7.jpg)
Recurrent Neural Network (RNN)
![Page 8: 再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会](https://reader033.vdocuments.mx/reader033/viewer/2022050709/55cd8532bb61ebd2408b46bf/html5/thumbnails/8.jpg)
RNNの構造
3層FFNNに前時刻からのディレイ入力が付加
ネットワークの使い方が違う!
FFNNでは順伝播計算が1回だけ
再帰型では系列長だけ順伝播計算を繰り返す
tz1tz2
1
1
tz1
2
tztx1
tx2
ty1
ty2
tz1tz2
tx1
tx2
ty1
ty2
FFNN RNN
![Page 9: 再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会](https://reader033.vdocuments.mx/reader033/viewer/2022050709/55cd8532bb61ebd2408b46bf/html5/thumbnails/9.jpg)
RNNによる系列予測
tx 2x 1x
![Page 10: 再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会](https://reader033.vdocuments.mx/reader033/viewer/2022050709/55cd8532bb61ebd2408b46bf/html5/thumbnails/10.jpg)
RNNによる系列予測
tx 2x1x
0z
![Page 11: 再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会](https://reader033.vdocuments.mx/reader033/viewer/2022050709/55cd8532bb61ebd2408b46bf/html5/thumbnails/11.jpg)
RNNによる系列予測
tx 2x1y
1z
![Page 12: 再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会](https://reader033.vdocuments.mx/reader033/viewer/2022050709/55cd8532bb61ebd2408b46bf/html5/thumbnails/12.jpg)
RNNによる系列予測
tx 1y
2x
1z
1z
![Page 13: 再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会](https://reader033.vdocuments.mx/reader033/viewer/2022050709/55cd8532bb61ebd2408b46bf/html5/thumbnails/13.jpg)
RNNによる系列予測
tx 1y2y
2z
![Page 14: 再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会](https://reader033.vdocuments.mx/reader033/viewer/2022050709/55cd8532bb61ebd2408b46bf/html5/thumbnails/14.jpg)
RNNによる系列予測
tx 2y 1y
3x
2z
2z
![Page 15: 再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会](https://reader033.vdocuments.mx/reader033/viewer/2022050709/55cd8532bb61ebd2408b46bf/html5/thumbnails/15.jpg)
RNNによる系列予測
tx 2y 1y
![Page 16: 再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会](https://reader033.vdocuments.mx/reader033/viewer/2022050709/55cd8532bb61ebd2408b46bf/html5/thumbnails/16.jpg)
RNNによる系列予測
2y 1y
txty
1tz
![Page 17: 再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会](https://reader033.vdocuments.mx/reader033/viewer/2022050709/55cd8532bb61ebd2408b46bf/html5/thumbnails/17.jpg)
RNNの順伝播計算
現時刻の入力 と前時刻の中間層出力 から を計算
入力層 → 中間層
現時刻の入力 前時刻からの入力
tz1tz2
1
1
tz1
2
tztx1
tx2
ty1
ty2
1tztx
ty
![Page 18: 再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会](https://reader033.vdocuments.mx/reader033/viewer/2022050709/55cd8532bb61ebd2408b46bf/html5/thumbnails/18.jpg)
RNNの順伝播計算
中間層 → 出力層 (FFNNと同様)
tz1tz2
1
1
tz1
2
tztx1
tx2
ty1
ty2
![Page 19: 再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会](https://reader033.vdocuments.mx/reader033/viewer/2022050709/55cd8532bb61ebd2408b46bf/html5/thumbnails/19.jpg)
RNNの重み学習 (BPTT)
学習法: Back Propagation Through Time (BPTT)
RNN =「深さが系列長のFFNN」→ 展開してBPを適用
1
1x
1
2x
0
1z
0
2z
2
1x
2
2x
1
1z
1
2z
3
1x
3
2x
2
1z
2
2z
1
1y
1
2y
tx1
tx2
1
1
tz
1
2
tz
2
1
ty
2
2
ty
2
1y
2
2y
ty1
ty2
tz1
tz2
1
1
ty
1
2
ty
・・・
![Page 20: 再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会](https://reader033.vdocuments.mx/reader033/viewer/2022050709/55cd8532bb61ebd2408b46bf/html5/thumbnails/20.jpg)
復習:FFNNの重み学習 (BP)
サンプル毎に目的関数の勾配でパラメタを更新
![Page 21: 再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会](https://reader033.vdocuments.mx/reader033/viewer/2022050709/55cd8532bb61ebd2408b46bf/html5/thumbnails/21.jpg)
勾配の計算:連鎖規則で問題を分解
復習:FFNNの重み学習 (BP)
t
ju ft
jz
t 層目の第 j ユニット
定義から
微分可能
中間層の場合
直接微分できない
![Page 22: 再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会](https://reader033.vdocuments.mx/reader033/viewer/2022050709/55cd8532bb61ebd2408b46bf/html5/thumbnails/22.jpg)
復習:FFNNの重み学習 (BP)
更に連鎖規則を適用
定義から
微分可能
![Page 23: 再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会](https://reader033.vdocuments.mx/reader033/viewer/2022050709/55cd8532bb61ebd2408b46bf/html5/thumbnails/23.jpg)
復習:FFNNの重み学習 (BP)
δの漸化式が得られる
出力層のδは活性化関数の定義から微分可能
出力層から再帰的に δを計算
全ての δ が計算できれば全ての重み勾配も計算できる
![Page 24: 再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会](https://reader033.vdocuments.mx/reader033/viewer/2022050709/55cd8532bb61ebd2408b46bf/html5/thumbnails/24.jpg)
RNNの重み学習 (BPTT)
各層(時刻)で出力を持つのでδの漸化式が異なる
出力系列
1
1x
1
2x
0
1z
0
2z
2
1x
2
2x
1
1z
1
2z
3
1x
3
2x
2
1z
2
2z
1
1y
1
2y
tx1
tx2
1
1
tz
1
2
tz
2
1
ty
2
2
ty
2
1y
2
2y
ty1
ty2
tz1
tz2
1
1
ty
1
2
ty
・・・
![Page 25: 再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会](https://reader033.vdocuments.mx/reader033/viewer/2022050709/55cd8532bb61ebd2408b46bf/html5/thumbnails/25.jpg)
RNNの重み学習(BPTT法)
t
ku
1
1
tu
1
2
tu
tv1outf
tv2outf
・・・
・・・
2
1
tu
2
1
tu
・・・
ty1
ty2
・・・
が目的関数に
影響する範囲
f
f
f
f
f
![Page 26: 再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会](https://reader033.vdocuments.mx/reader033/viewer/2022050709/55cd8532bb61ebd2408b46bf/html5/thumbnails/26.jpg)
RNNの重み学習(BPTT法)
BPTTにおけるδの漸化式
次時刻への入力を
経由した微分連鎖
出力層への入力を
経由した微分連鎖
![Page 27: 再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会](https://reader033.vdocuments.mx/reader033/viewer/2022050709/55cd8532bb61ebd2408b46bf/html5/thumbnails/27.jpg)
RNNの重み学習(BPTT法)
BPTTにおけるδの漸化式
![Page 28: 再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会](https://reader033.vdocuments.mx/reader033/viewer/2022050709/55cd8532bb61ebd2408b46bf/html5/thumbnails/28.jpg)
RNNの重み学習(BPTT法)
BPTTにおけるδの漸化式
漸化式
定義から
微分可能
![Page 29: 再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会](https://reader033.vdocuments.mx/reader033/viewer/2022050709/55cd8532bb61ebd2408b46bf/html5/thumbnails/29.jpg)
RNNの重み学習(BPTT法)
BPTTにおけるδの漸化式
![Page 30: 再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会](https://reader033.vdocuments.mx/reader033/viewer/2022050709/55cd8532bb61ebd2408b46bf/html5/thumbnails/30.jpg)
RNNの重み学習 (BPTT)
・・・ T
1, Tout
1T
2, Tout
2T1 2
2,out1,out Tout,
![Page 31: 再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会](https://reader033.vdocuments.mx/reader033/viewer/2022050709/55cd8532bb61ebd2408b46bf/html5/thumbnails/31.jpg)
RNNの重み学習(BPTT法)
RNNをサンプル系列長のFFNNに展開
展開されたFFNNにBPを適用
普通のBPとの違い
δの漸化式に各時刻の出力が反映される
![Page 32: 再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会](https://reader033.vdocuments.mx/reader033/viewer/2022050709/55cd8532bb61ebd2408b46bf/html5/thumbnails/32.jpg)
Long Short-Term Memory (LSTM)
![Page 33: 再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会](https://reader033.vdocuments.mx/reader033/viewer/2022050709/55cd8532bb61ebd2408b46bf/html5/thumbnails/33.jpg)
復習:勾配消失問題
ネットワークが深すぎると
学習がうまくいかない!
![Page 34: 再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会](https://reader033.vdocuments.mx/reader033/viewer/2022050709/55cd8532bb61ebd2408b46bf/html5/thumbnails/34.jpg)
LSTM
RNNの問題点
BPTTで展開されるFFNNは入力系列長の深さを持つ
勾配消失問題により長い系列の学習が困難
LSTM
中間層に状態(長期記憶)を与えることで長い系列に対応
RNNの中間ユニットをメモリユニットに置きかえた構造
![Page 35: 再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会](https://reader033.vdocuments.mx/reader033/viewer/2022050709/55cd8532bb61ebd2408b46bf/html5/thumbnails/35.jpg)
LSTMにおける中間ユニット (メモリユニット)
ユニット は状態 を持つ (メモリセル)
中間ユニットが青枠内のモジュール群に置き換わる
活性化関数 (1回目)
入力ゲート
状態計算 (前状態との加算)
活性化関数 (2回目)
出力ゲート
メモリユニット
入力層 出力層
入力層
t
ju t
jzt
jsf f
tI
jg ,
tO
jg ,
f
f
t
jsj
中間層
(前時刻)
tI
jg , tF
jg , tO
jg ,
![Page 36: 再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会](https://reader033.vdocuments.mx/reader033/viewer/2022050709/55cd8532bb61ebd2408b46bf/html5/thumbnails/36.jpg)
各メモリユニットの状態計算
メモリユニット
前時刻の
状態
入力層の
加重和
忘却ゲート 入力ゲート
入力層 出力層
入力層
t
ju t
jzt
jsf f中間層
(前時刻)
tI
jg , tF
jg , tO
jg ,
![Page 37: 再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会](https://reader033.vdocuments.mx/reader033/viewer/2022050709/55cd8532bb61ebd2408b46bf/html5/thumbnails/37.jpg)
各メモリユニットからの出力計算
メモリユニット
現状態の
活性化値
出力ゲート
入力層 出力層
入力層
t
ju t
jzt
jsf f
tI
jg ,
中間層
(前時刻)
tF
jg , tO
jg ,
![Page 38: 再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会](https://reader033.vdocuments.mx/reader033/viewer/2022050709/55cd8532bb61ebd2408b46bf/html5/thumbnails/38.jpg)
メモリユニット:ゲートの計算
入力/忘却/出力ゲートもネットワーク構造を持つ
入力ゲート
忘却ゲート
出力ゲート
中間層ユニットへの入力と同じ計算
(異なる重みを学習)
![Page 39: 再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会](https://reader033.vdocuments.mx/reader033/viewer/2022050709/55cd8532bb61ebd2408b46bf/html5/thumbnails/39.jpg)
LSTM
![Page 40: 再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会](https://reader033.vdocuments.mx/reader033/viewer/2022050709/55cd8532bb61ebd2408b46bf/html5/thumbnails/40.jpg)
LSTM
入力層 中間層 出力層
入力
ゲート
忘却
ゲート
出力
ゲート
メモリ
セル
中間層
入力
![Page 41: 再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会](https://reader033.vdocuments.mx/reader033/viewer/2022050709/55cd8532bb61ebd2408b46bf/html5/thumbnails/41.jpg)
LSTMの学習
学習すべきパラメタ
① 中間層入力への重み
② 入力ゲートへの重み
③ 忘却ゲートへの重み
④ 出力ゲートへの重み
⑤ 出力層への重み
1 1
2 2
3 3
4 4
5 5
![Page 42: 再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会](https://reader033.vdocuments.mx/reader033/viewer/2022050709/55cd8532bb61ebd2408b46bf/html5/thumbnails/42.jpg)
LSTMの学習
更に2つのユニットがあると考える
状態から状態への恒等写像ユニット
状態に活性化関数を作用させるユニット
入力重みは常に1
t
jzt
ju ft
js ft
js id
fff
出力層
入力層
入力層
中間層
(前時刻)
tI
ju , tF
ju , tO
ju ,
![Page 43: 再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会](https://reader033.vdocuments.mx/reader033/viewer/2022050709/55cd8532bb61ebd2408b46bf/html5/thumbnails/43.jpg)
LSTMの学習
それぞれの ユニットについて δ を計算
i.e., 目的関数のユニット入力に関する微分
それぞれの出力先を経由した微分連鎖を計算(?)
out
OFI
cell ~
![Page 44: 再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会](https://reader033.vdocuments.mx/reader033/viewer/2022050709/55cd8532bb61ebd2408b46bf/html5/thumbnails/44.jpg)
LSTMの学習
![Page 45: 再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会](https://reader033.vdocuments.mx/reader033/viewer/2022050709/55cd8532bb61ebd2408b46bf/html5/thumbnails/45.jpg)
LSTMの学習
Tout,
TO,T~T
cell
T1, TO1~ T
TI ,TF ,~
1T
cell
1, Tout
・・・
RNNの学習同様に漸化式で全ての δ を計算
全ての δ がわかれば全ての重み勾配が計算可能
![Page 46: 再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会](https://reader033.vdocuments.mx/reader033/viewer/2022050709/55cd8532bb61ebd2408b46bf/html5/thumbnails/46.jpg)
Connectionist Temporal Classification (CTC)
![Page 47: 再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会](https://reader033.vdocuments.mx/reader033/viewer/2022050709/55cd8532bb61ebd2408b46bf/html5/thumbnails/47.jpg)
CTC
理想の訓練データ
現実の訓練データ
w ʌ n n n ʌ ʌ ʌ ʌ w w
ここからここまで ”wʌn”
![Page 48: 再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会](https://reader033.vdocuments.mx/reader033/viewer/2022050709/55cd8532bb61ebd2408b46bf/html5/thumbnails/48.jpg)
CTC
問題設定
入力:ベクトル系列
出力:ラベル系列
サンプル毎の目的関数
TxxX ,,1
||1 ,, llll
)|(log XlpEn
入出力の系列長は
必ずしも一致しない
出力はソフトマックス層
![Page 49: 再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会](https://reader033.vdocuments.mx/reader033/viewer/2022050709/55cd8532bb61ebd2408b46bf/html5/thumbnails/49.jpg)
CTCによる学習
・・・ T1T2T1 2
out
厳密な出力系列は知らないけどBPTTを適用したい
各時刻・各出力ユニットの が計算できればOK!
1, Tout2, Tout2,out1,out Tout,
![Page 50: 再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会](https://reader033.vdocuments.mx/reader033/viewer/2022050709/55cd8532bb61ebd2408b46bf/html5/thumbnails/50.jpg)
CTCによる学習
どうやって
計算するか?
![Page 51: 再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会](https://reader033.vdocuments.mx/reader033/viewer/2022050709/55cd8532bb61ebd2408b46bf/html5/thumbnails/51.jpg)
p(l|X) の計算
出力層に空白ラベル_のユニットを追加
a b a b _
![Page 52: 再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会](https://reader033.vdocuments.mx/reader033/viewer/2022050709/55cd8532bb61ebd2408b46bf/html5/thumbnails/52.jpg)
p(l|X) の計算
入出力の系列長を揃えたい
空白ラベル_が存在すると仮定
各正解ラベルを(空白ラベルor同じラベル)の連続で埋める
""abl
__,_,_,,,ba
__,_,,,, baa
ba _,_,_,_,,
bbbaaa ,,,,,
系列長6の場合
RNNからの出力ラベルは
この中のどれか
(確率的にしか分からない)
![Page 53: 再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会](https://reader033.vdocuments.mx/reader033/viewer/2022050709/55cd8532bb61ebd2408b46bf/html5/thumbnails/53.jpg)
p(l|X) の計算
)|( Xabpl
)|__,_,_,,,(' Xbapl
)|__,_,,,,(' Xbaapl
)|_,_,_,_,,(' Xbapl
)|,,,,,(' Xbbbaaapl
全部足すと p(l|X)
6
_
5
_
4
_
3
_
21 yyyyyy ba
6
_
5
_
4
_
321 yyyyyy baa
65
_
4
_
3
_
2
_
1
ba yyyyyy
654321
bbbaaa yyyyyy
ソフトマックス層の
出力から計算可能
![Page 54: 再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会](https://reader033.vdocuments.mx/reader033/viewer/2022050709/55cd8532bb61ebd2408b46bf/html5/thumbnails/54.jpg)
p(l|X) の高速計算
どうやって
計算するか?
どうやって
もっと速く
計算するか?
![Page 55: 再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会](https://reader033.vdocuments.mx/reader033/viewer/2022050709/55cd8532bb61ebd2408b46bf/html5/thumbnails/55.jpg)
p(l|X) の高速計算
)|( Xabpl
)|__,_,_,,,(' Xbapl
)|__,_,,,,(' Xbaapl
)|_,_,_,_,,(' Xbapl
)|,,,,,(' Xbbbaaapl
全部足すと p(l|X)
6
_
5
_
4
_
3
_
21 yyyyyy ba
6
_
5
_
4
_
321 yyyyyy baa
65
_
4
_
3
_
2
_
1
ba yyyyyy
654321
bbbaaa yyyyyy
ソフトマックス層の
出力から計算可能
![Page 56: 再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会](https://reader033.vdocuments.mx/reader033/viewer/2022050709/55cd8532bb61ebd2408b46bf/html5/thumbnails/56.jpg)
1 2 3 4 5 6 時刻
状態
_
a
_
b
_
p(l|X) の高速計算
全パスの確率和)|( Xlp
2
_y
2
ay2
ay
2
by
2
_y
![Page 57: 再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会](https://reader033.vdocuments.mx/reader033/viewer/2022050709/55cd8532bb61ebd2408b46bf/html5/thumbnails/57.jpg)
1 2 3 4 5 6 時刻
状態
ある時刻に着目
_
a
_
b
_
![Page 58: 再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会](https://reader033.vdocuments.mx/reader033/viewer/2022050709/55cd8532bb61ebd2408b46bf/html5/thumbnails/58.jpg)
1 2 3 4 5 6 時刻
状態
この状態を通るパスと
_
a
_
b
_
![Page 59: 再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会](https://reader033.vdocuments.mx/reader033/viewer/2022050709/55cd8532bb61ebd2408b46bf/html5/thumbnails/59.jpg)
1 2 3 4 5 6 時刻
状態
この状態を通るパスと
_
a
_
b
_
![Page 60: 再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会](https://reader033.vdocuments.mx/reader033/viewer/2022050709/55cd8532bb61ebd2408b46bf/html5/thumbnails/60.jpg)
1 2 3 4 5 6 時刻
状態
この状態を通るパスと
_
a
_
b
_
![Page 61: 再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会](https://reader033.vdocuments.mx/reader033/viewer/2022050709/55cd8532bb61ebd2408b46bf/html5/thumbnails/61.jpg)
1 2 3 4 5 6 時刻
状態
この状態を通るパスと
_
a
_
b
_
![Page 62: 再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会](https://reader033.vdocuments.mx/reader033/viewer/2022050709/55cd8532bb61ebd2408b46bf/html5/thumbnails/62.jpg)
1 2 3 4 5 6 時刻
状態
この状態を通るパスと
_
a
_
b
_
![Page 63: 再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会](https://reader033.vdocuments.mx/reader033/viewer/2022050709/55cd8532bb61ebd2408b46bf/html5/thumbnails/63.jpg)
全部の確率和を足すと
1 2 3 4 5 6 時刻
状態
_
a
_
b
_
)|( Xlp
![Page 64: 再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会](https://reader033.vdocuments.mx/reader033/viewer/2022050709/55cd8532bb61ebd2408b46bf/html5/thumbnails/64.jpg)
… t … 時刻
状態
…
s
…
p(l|X) の高速計算
s
tstsXlp ),(),()|(
α(s, t) は
前半パスの
確率和
β(s, t) は
後半パスの
確率和
![Page 65: 再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会](https://reader033.vdocuments.mx/reader033/viewer/2022050709/55cd8532bb61ebd2408b46bf/html5/thumbnails/65.jpg)
p(l|X) の高速計算
)1,()1,1(),( )(')(' tsytsyts t
sl
t
sl
α(s, t) は
漸化式で
計算
状態
_
a
_
b
_
1 2 3 4 5 6 時刻
t
sly )('
)1,1( ts
)1,( ts
(sが空白の場合)
![Page 66: 再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会](https://reader033.vdocuments.mx/reader033/viewer/2022050709/55cd8532bb61ebd2408b46bf/html5/thumbnails/66.jpg)
p(l|X) の高速計算
)1,()1,1()1,2(),( )(')(')(' tsytsytsyts t
sl
t
sl
t
sl
α(s, t) は
漸化式で
計算
状態
_
a
_
b
_
1 2 3 4 5 6 時刻
)1,1( ts
)1,( ts
)1,2( ts
t
sly )('
(sが空白以外の場合)
![Page 67: 再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会](https://reader033.vdocuments.mx/reader033/viewer/2022050709/55cd8532bb61ebd2408b46bf/html5/thumbnails/67.jpg)
p(l|X) の高速計算
1
_)1,1( yt=1 の場合
状態
_
a
_
b
_
1 2 3 4 5 6 時刻
1
)(')1,2( sly
動的計画法でαの計算を高速化 (βも同様)
![Page 68: 再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会](https://reader033.vdocuments.mx/reader033/viewer/2022050709/55cd8532bb61ebd2408b46bf/html5/thumbnails/68.jpg)
… t … 時刻
状態
…
s
…
p(l|X) の高速計算
s
tstsXlp ),(),()|(
α(s, t) は
前半パスの
確率和
β(s, t) は
後半パスの
確率和
![Page 69: 再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会](https://reader033.vdocuments.mx/reader033/viewer/2022050709/55cd8532bb61ebd2408b46bf/html5/thumbnails/69.jpg)
p(l|X) の微分計算
どうやって
計算するか?
速くなった!
![Page 70: 再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会](https://reader033.vdocuments.mx/reader033/viewer/2022050709/55cd8532bb61ebd2408b46bf/html5/thumbnails/70.jpg)
p(l|X) の微分計算
p(l|X) の微分も α と β から計算可能
ラベル j に
対応する
状態の集合
![Page 71: 再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会](https://reader033.vdocuments.mx/reader033/viewer/2022050709/55cd8532bb61ebd2408b46bf/html5/thumbnails/71.jpg)
CTCによる学習
p(l|X)とp(l|X) の微分が分かった → が計算可能 out
![Page 72: 再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会](https://reader033.vdocuments.mx/reader033/viewer/2022050709/55cd8532bb61ebd2408b46bf/html5/thumbnails/72.jpg)
CTCによる学習
が計算可能 → BPTTが適用できる
・・・ T
1, Tout
1T
2, Tout
2T1 2
2,out1,out Tout,
out
![Page 73: 再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会](https://reader033.vdocuments.mx/reader033/viewer/2022050709/55cd8532bb61ebd2408b46bf/html5/thumbnails/73.jpg)
CTCによる予測
RNN出力から冗長でない系列へとデコードしたい
1.0
9.0
3.0
入力ベクトル系列 冗長なラベル系列
6.0
5.0
2.0
2.0
4.0
6.0
2.0
4.0
6.0
bba ,_,,
ab
本当に欲しい出力
![Page 74: 再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会](https://reader033.vdocuments.mx/reader033/viewer/2022050709/55cd8532bb61ebd2408b46bf/html5/thumbnails/74.jpg)
CTCによる予測
愚直な計算だと時間かかる
厳密解を速く計算する方法は知られていない