SlideShare ist ein Scribd-Unternehmen logo
1 von 47
Downloaden Sie, um offline zu lesen
MLP深層学習
LSTM
曽和 修平
LSTM
LSTMとは
• RNNは長い順伝搬ネットワークに展開される
→勾配消失問題が発生する(長い系列が扱えない!)
• LSTMはこの問題を解決し、長い系列を扱えるようにする
LSTMの構造
• RNNの中間層の各ユニットを「メモリユニット」というものに置き換える
メモリユニットは前の状態を「覚えていたり」「忘れていたり」することで
RN LST
中間層の

ユニット
メモリユニット
勾配消失問題を解決しようとする
中間層のユニットとメモリユニット
• 中間層の1ユニット
f
Wji
Wjj’
• メモリユニット
1時刻前の中間層の出力
入力層の出力
Wji
Wjj’
Wjj’
I
I
Wji
Wjj’
F
F
Wji
Wjj’
O
O
1時刻前のメモリセルの出力
メモリセル
忘却ゲート
入力ゲート
出力ゲート
Wji
LSTMの構造
下の方から見ていく
Wjj’ Wii
この部分は中間層の1ユニットと全く同じ
※添字[j]はユニットの番号,[t]は時刻
ut
j =
X
i
w
(in)
ji xt
i +
X
j0
wjj0 zt−1
j0
f(ut
j)
f(ut
j)
出力:
(in)
LSTMの構造
1時刻前のメモリセルの出力   を考慮
Wji
Wjj’
I
uI,t
j =
X
i
w
(I,in)
ji xt
i +
X
j0
wI
jj0 zt−1
j0 + wI
j st−1
j
st−1
j
出力: gI,t
j = f(uI,t
j )
gI,t
j
LSTMの構造
先に計算した各セルの積
出力:
入力ゲート
f(ut
j)gI,t
j
f(ut
j)gI,t
j
これがメモリセルへの入力の1つとなる
LSTMの構造
出力:
Wji
Wjj’
F
F
1時刻前のメモリセルの出力   を「どれだけ覚えているか」をst−1
j
uF,t
j =
X
i
w
(F,in)
ji xt
i +
X
j0
wF
jj0 zt−1
j0 + wF
j st−1
j
gF,t
j = f(uF,t
j )
表現している。
LSTMの構造
先に計算した各セルの積
出力:
これがメモリセルへの入力の1つとなる
忘却ゲート
gF,t
j
gF,t
j st−1
j
st−1
j
gF,t
j st−1
j
が1に近ければよく前のメモリセルの状態をよく覚えている事になる
逆に0に近ければ前のメモリセルの状態を忘れた事になる
gF,t
j
LSTMの構造
メモリセルは入力ゲートの出力と入力ゲートの出力の和
メモリセル
忘却ゲート
入力ゲート
st
j = gF,t
j st−1
j + gI,t
j f(ut
j)
メモリセルや各ゲートの意味については後述
st
j
LSTMの構造
Wji
Wjj’
O
O
st
j
uO,t
j =
X
i
w
(O,in)
ji xt
i +
X
j0
wO
jj0 zt−1
j0 + wO
j st
j
出力: gO,t
j = f(uO,t
j )
gO,t
j
現在のメモリセルの値を考慮
LSTMの構造
出力ゲート
st
j
f(st
j)
zt
j
gO,t
j
zt
j = gO,t
j f(st
j)
この値が1つのメモリユニットの出力値となる
ゲートの役割
入力重み衝突
i j
重み w
ユニットiの入力はユニットjに重みwをかけて「伝達」される
伝達するためには重みwを大きくしてユニットjを活性させない
といけない
一方、無関係な入力が入った時は伝達したくない
・・というジレンマがある
入力重み衝突
i j
重み w
例)
ユニットiは仮に「英語の名詞」に対して反応するとする
入力「pen」がきたら活性する。これは次に伝達したい。
入力「ペン」はそもそも日本語なのでこの特徴を抽出する

上で関係ない。

これは伝達したくない・・
→重みは大きくしたい
→重みは小さくしたい
入力ゲート
・前のユニットの状態を伝達するかどうかを決定
i j
重み w
入力ゲート
・前のユニットの出力が必要ものならゲートを開ける
・前のユニットの出力が関係ないものならゲートを閉じる
・この判断をするのが↓の部分のネットワーク
Wji
Wjj’
I
gI,t
j
出力重み衝突/出力ゲート
入力重み衝突と同じ。
・前のユニットの状態を「受け取る」かどうかを決定
(入力ゲート)
(出力ゲート)
・前のユニットの状態を「伝達する」かどうかを決定
Wji
Wjj’
O
O
st
j
gO,t
j
・この判断をするのが↓の部分のネットワーク
メモリセル
・メモリセルはこれまでの状態を保持している
メモリセル
忘却ゲート
入力ゲート
st
j = gF,t
j st−1
j + gI,t
j f(ut
j)
st
j
・しかし、入力の系列がガラッと変わった時、今までの状 
態を捨てたい事がある
メモリセル
主語が男か女かを判断例)
He is a student and she is a student
・「and」の前後で文が独立している
このような場合,she is ・・の文を学習するにあたって
これまでの状態(He is a・・)を捨てたい
忘却ゲート
・これまでの状態を覚えておくか、忘れるかを判断する
Wji
Wjj’
F
F
忘却ゲート
st−1
j
gF,t
j st−1
j
st−1
j
忘れるべきか、覚えておくべきかを判断
逆伝搬計算
誤差関数に関する勾配の求め方(復習)
・中間層l ← 中間層l+1の勾配を誤差逆伝搬法で求める
・l層のあるユニットjへの総入力は
u
(l)
j =
nX
i=1
w
(l)
ji z
(l−1)
i
δEn
δw
(l)
ji
=
δEn
δu
(l)
j
δu
(l)
j
δw
(l)
ji
・勾配を求める為微分する
これが計算できれば勾配が求まる→重みが更新できる
誤差関数に関する勾配の求め方(復習)
・中間層l ← 中間層l+1の勾配を誤差逆伝搬法で求める
δEn
δw
(l)
ji
=
δEn
δu
(l)
j
δu
(l)
j
δw
(l)
ji この部分はそのまま微分可能
この部分は出力層→中間層の時以外はこのまま計算できない
はどうすれば計算できるのか。
δEn
δu
(l)
j
誤差関数に関する勾配の求め方(復習)
ユニットjが変動すると,Enはどう影響を受けるのか?
j
0
k
l層
l+1層
ユニットjの出力分だけ、次の層の各中間ユニットの総入力が
影響を受ける→この影響が出力層まで連鎖していく
ユニットjの出力 x 重みの分だけ

総入力に影響がある
誤差関数に関する勾配の求め方(復習)
つまり、uj^(l)がEnに与える影響(変動) は
δEn
δu
(l)
j
δEn
δu
(l)
j
=
X
k
δEn
δu
(l+1)
k
δu
(l+1)
k
δu
(l)
j と書ける
そしてこの本ではこの値を「デルタ」と呼んでいる
δ
(l)
j ⌘
δEn
δu
(l)
j
このデルタさえわかれば後は
δEn
δw
(l)
ji
=
δEn
δu
(l)
j
δu
(l)
j
δw
(l)
ji
に代入すれば簡単に勾配が求まる。
誤差関数に関する勾配の求め方(復習)
では、デルタはどう変形できるか。
δEn
δu
(l)
j
=
X
k
δEn
δu
(l+1)
k
δu
(l+1)
k
δu
(l)
j
右辺第一項はl+1層のデルタになっている
δ
(l)
j ⌘
δEn
δu
(l)
j
δ
(l)
j =
X
k
δ
(l+1)
k
δu
(l+1)
k
δu
(l)
j ので、こう書ける
さて、右辺第二項について考える。
誤差関数に関する勾配の求め方(復習)
l+1層のユニットkに関する総入力uは
u
(l+1)
k =
X
j
w
(l+1)
kj z
(l)
j =
X
j
w
(l+1)
kj f(u
(l)
j )
この式をuj^(l)で微分すると
δu
(l+1)
k
δu
(l)
j
= w
(l+1)
kj f0
(u
(l)
j )
よって
δ
(l)
j =
X
k
δ
(l+1)
k (w
(l+1)
kj f0
(u
(l)
j ))
LSTMの逆伝搬計算
LSTMのメモリユニットの各「デルタ」を計算する
最適化対象の変数は以下
Wji
Wjj’
Wjj’
II
Wji Wjj’
F F
Wji Wjj’
OO
Wji
WjF
Wj I
Wj O
・・これまでと同じ
・・入力ゲート値の重み
・・忘却ゲート値の重み
・・出力ゲート値の重み
逆伝搬計算
Wji
Wjj’
O
O
st
j
gO,t
j
まずはこのセルのデルタを考える
※vk^tは次の出力層への総入力
出力層に関して 次時刻のメモリユニットに関して
δO,t
j =
X
k
δout,t
k
δvt
k
δuO,t
j
+
X
j0
δ
(t+1)
j0
δu
(l+1)
k
δu
(O,t)
j
j’
逆伝搬計算
vt
k =
X
j
wout
kj zt
j
この部分を求める
出力層のユニットへの総入力は
これをuj^(O,t)で微分すると
δvt
k
δuO,t
j
= wout
kj f0
(uO,t
j )f(st
j)
zi
j = gO,t
j f(st
j)
出力ゲート
st
j
f(st
j)
zt
j
gO,t
j
である事に注意
δO,t
j =
X
k
δout,t
k
δvt
k
δuO,t
j
+
X
j0
δ
(t+1)
j0
δu
(l+1)
k
δu
(O,t)
j
j’
逆伝搬計算
この部分を求める
これは先と同じように計算できる
δvt
k
δuO,t
j
= wout
kj f0
(uO,t
j )f(st
j)
出力ゲート
st
j
f(st
j)
zt
j
gO,t
j
δO,t
j =
X
k
δout,t
k
δvt
k
δuO,t
j
+
X
j0
δ
(t+1)
j0
δu
(l+1)
k
δu
(O,t)
j
j’
j’δu
(t+1)
j0
δuO,t
j
= wj0jf0
(uO,t
j )f(st
j)
逆伝搬計算
✏t
j =
X
k
wout
kj δout,t
k +
X
j0
wj0jδt+1
j0
ここで
とおき
δvt
k
δuO,t
j
= wout
kj f0
(uO,t
j )f(st
j)
をデルタO,tに代入すると・・
δO,t
j = f0
(uO,t
j )f(st
j)✏t
j
となる
j’
δu
(t+1)
j0
δuO,t
j
= wj0jf0
(uO,t
j )f(st
j)
逆伝搬計算
出力ゲート
st
j
f(st
j)
zt
j
gO,t
j
次は、このセルのデルタを求める
これも先と同様の考え方をする。
eδt
j =
X
k
δout,t
k
δvt
k
δst
j
+
X
j0
δ
(t+1)
j0
δu
(l+1)
k
δst
j
出力層に関して 次時刻のメモリユニットに関して
j’
逆伝搬計算
vt
k =
X
j
wout
kj zt
j
出力層のユニットへの総入力は
これをsj^tで微分すると
zi
j = gO,t
j f(st
j) である事に注意
eδt
j =
X
k
δout,t
k
δvt
k
δst
j
+
X
j0
δ
(t+1)
j0
δu
(l+1)
k
δst
j
δvt
k
δst
j
=
X
j
wout
kj gO,t
j f0
(st
j)
j’
逆伝搬計算
こちらに関しても同様の流れで計算して
eδt
j =
X
k
δout,t
k
δvt
k
δst
j
+
X
j0
δ
(t+1)
j0
δu
(l+1)
k
δst
j
✏t
j =
X
k
wout
kj δout,t
k +
X
j0
wj0jδt+1
j0
とおくと
eδt
j = gO,t
j f0
(st
j)✏t
j
j’
j’
δu
(t+1)
j0
δuO,t
j
= wj0jgO,t
j f0
(st
j)
逆伝搬計算
デルタの定義式をもう一度眺める
δ
(l)
j =
X
k
δ
(l+1)
k (w
(l+1)
kj f0
(u
(l)
j ))
伝搬元のデルタ
伝搬元の重み
現在の層の出力を微分したもの
これらの積の和
(伝搬元のユニット数)
逆伝搬計算
次は、メモリセルのデルタを求める
メモリセル
忘却ゲート
入力ゲート
st
j
このセルの「伝搬元」は・・
・外部出力向け ・セル自身への帰還
・入力ゲート ・忘却ゲート ・出力ゲート
つまり、これら全ての「デルタ」x重みの和がメモリセルの
「デルタ」
メモリセルは総入力sj^tを受け、恒等写像

の活性化関数を経てsj^tを返すと考える
f0
(st
j) = 1
逆伝搬計算
メモリセル
忘却ゲート
入力ゲート
st
j
・外部出力向け のデルタ
これは先程計算済み。
eδt
j = gO,t
j f0
(st
j)✏t
j
逆伝搬計算
メモリセル
忘却ゲート
入力ゲート
st
j
・セル自身への帰還 のデルタ
1時刻後のメモリセルの値と1時刻後のゲート値の積
gF,t+1
j δcell,t+1
j
忘却ゲート
メモリセル
伝搬元のデルタ伝搬元の重み
逆伝搬計算
メモリセル
忘却ゲート
入力ゲート
st
j
・入力ゲート
・忘却ゲート
・出力ゲート からのデルタ
それぞれ・・ wI
j δI,t+1
j
wF
j δF,t+1
j
wO
j δO,t
j
逆伝搬計算
よって、メモリセルのデルタは下記のように表される
メモリセル
忘却ゲート
入力ゲート
st
j
δcell,t
j = eδt
j + gF,t+1
j δcell,t+1
j + wI
j δI,t+1
j + wF
j δF,t+1
j + wO
j δO,t
j
まだ δF,t
j δI,t
jと
が求められていないので求めていく。
最初のセルに関するデルタ δt
j
逆伝搬計算
デルタの定義式をもう一度眺める(再掲)
δ
(l)
j =
X
k
δ
(l+1)
k (w
(l+1)
kj f0
(u
(l)
j ))
伝搬元のデルタ
伝搬元の重み
現在の層の出力を微分したもの
これらの積の和
(伝搬元のユニット数)
逆伝搬計算
δF,t
jまず、
Wji
Wjj’
F
F
に関して。
伝搬元のデルタは? = δcell,t
j
伝搬元の重みは? = st−1
j
現在の層の出力を微分したものは? = f0
(uF,t
j )
伝搬元は単一のセルからなので、和を取る必要はない。
δF,t
j = f0
(uF,t
j )st−1
j δcell,t
jよって・・
逆伝搬計算
次、 に関して。
伝搬元のデルタは? = δcell,t
j
伝搬元の重みは? =
現在の層の出力を微分したものは? =
伝搬元は単一のセルからなので、和を取る必要はない。
よって・・
δI,t
j
Wji
Wjj’
I
gI,t
j
f(ut
j)
f0
(uI,t
j )
δI,t
j = f0
(uI,t
j )f(ut
j)δcell,t
j
逆伝搬計算
最後、 に関して。
伝搬元のデルタは? = δcell,t
j
伝搬元の重みは? =
現在の層の出力を微分したものは? =
伝搬元は単一のセルからなので、和を取る必要はない。
よって・・
δt
j
Wjj’ Wii
f(ut
j)
gI,t
j
f0
(ut
j)
δt
j = gI,t
j f0
(ut
j)δcell,t
j
逆伝搬計算
これで、全てのデルタの計算ができた。
重みの更新ができる

Weitere ähnliche Inhalte

Was ist angesagt?

強化学習アルゴリズムPPOの解説と実験
強化学習アルゴリズムPPOの解説と実験強化学習アルゴリズムPPOの解説と実験
強化学習アルゴリズムPPOの解説と実験克海 納谷
 
強化学習エージェントの内発的動機付けによる探索とその応用(第4回 統計・機械学習若手シンポジウム 招待公演)
強化学習エージェントの内発的動機付けによる探索とその応用(第4回 統計・機械学習若手シンポジウム 招待公演)強化学習エージェントの内発的動機付けによる探索とその応用(第4回 統計・機械学習若手シンポジウム 招待公演)
強化学習エージェントの内発的動機付けによる探索とその応用(第4回 統計・機械学習若手シンポジウム 招待公演)Shota Imai
 
Domain Adaptation 発展と動向まとめ(サーベイ資料)
Domain Adaptation 発展と動向まとめ(サーベイ資料)Domain Adaptation 発展と動向まとめ(サーベイ資料)
Domain Adaptation 発展と動向まとめ(サーベイ資料)Yamato OKAMOTO
 
畳み込みLstm
畳み込みLstm畳み込みLstm
畳み込みLstmtak9029
 
Rでisomap(多様体学習のはなし)
Rでisomap(多様体学習のはなし)Rでisomap(多様体学習のはなし)
Rでisomap(多様体学習のはなし)Kohta Ishikawa
 
[DL輪読会] マルチエージェント強化学習と心の理論
[DL輪読会] マルチエージェント強化学習と心の理論[DL輪読会] マルチエージェント強化学習と心の理論
[DL輪読会] マルチエージェント強化学習と心の理論Deep Learning JP
 
動作認識におけるディープラーニングの最新動向1 3D-CNN
動作認識におけるディープラーニングの最新動向1 3D-CNN動作認識におけるディープラーニングの最新動向1 3D-CNN
動作認識におけるディープラーニングの最新動向1 3D-CNNWEBFARMER. ltd.
 
CNNの構造最適化手法について
CNNの構造最適化手法についてCNNの構造最適化手法について
CNNの構造最適化手法についてMasanoriSuganuma
 
「世界モデル」と関連研究について
「世界モデル」と関連研究について「世界モデル」と関連研究について
「世界モデル」と関連研究についてMasahiro Suzuki
 
【DL輪読会】時系列予測 Transfomers の精度向上手法
【DL輪読会】時系列予測 Transfomers の精度向上手法【DL輪読会】時系列予測 Transfomers の精度向上手法
【DL輪読会】時系列予測 Transfomers の精度向上手法Deep Learning JP
 
DQNからRainbowまで 〜深層強化学習の最新動向〜
DQNからRainbowまで 〜深層強化学習の最新動向〜DQNからRainbowまで 〜深層強化学習の最新動向〜
DQNからRainbowまで 〜深層強化学習の最新動向〜Jun Okumura
 
Bayesian Neural Networks : Survey
Bayesian Neural Networks : SurveyBayesian Neural Networks : Survey
Bayesian Neural Networks : Surveytmtm otm
 
深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜
深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜
深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜Jun Okumura
 
金融時系列のための深層t過程回帰モデル
金融時系列のための深層t過程回帰モデル金融時系列のための深層t過程回帰モデル
金融時系列のための深層t過程回帰モデルKei Nakagawa
 
強化学習の基礎的な考え方と問題の分類
強化学習の基礎的な考え方と問題の分類強化学習の基礎的な考え方と問題の分類
強化学習の基礎的な考え方と問題の分類佑 甲野
 
GAN-based statistical speech synthesis (in Japanese)
GAN-based statistical speech synthesis (in Japanese)GAN-based statistical speech synthesis (in Japanese)
GAN-based statistical speech synthesis (in Japanese)Yuki Saito
 
時系列予測にTransformerを使うのは有効か?
時系列予測にTransformerを使うのは有効か?時系列予測にTransformerを使うのは有効か?
時系列予測にTransformerを使うのは有効か?Fumihiko Takahashi
 

Was ist angesagt? (20)

強化学習アルゴリズムPPOの解説と実験
強化学習アルゴリズムPPOの解説と実験強化学習アルゴリズムPPOの解説と実験
強化学習アルゴリズムPPOの解説と実験
 
強化学習エージェントの内発的動機付けによる探索とその応用(第4回 統計・機械学習若手シンポジウム 招待公演)
強化学習エージェントの内発的動機付けによる探索とその応用(第4回 統計・機械学習若手シンポジウム 招待公演)強化学習エージェントの内発的動機付けによる探索とその応用(第4回 統計・機械学習若手シンポジウム 招待公演)
強化学習エージェントの内発的動機付けによる探索とその応用(第4回 統計・機械学習若手シンポジウム 招待公演)
 
Domain Adaptation 発展と動向まとめ(サーベイ資料)
Domain Adaptation 発展と動向まとめ(サーベイ資料)Domain Adaptation 発展と動向まとめ(サーベイ資料)
Domain Adaptation 発展と動向まとめ(サーベイ資料)
 
ELBO型VAEのダメなところ
ELBO型VAEのダメなところELBO型VAEのダメなところ
ELBO型VAEのダメなところ
 
畳み込みLstm
畳み込みLstm畳み込みLstm
畳み込みLstm
 
Rでisomap(多様体学習のはなし)
Rでisomap(多様体学習のはなし)Rでisomap(多様体学習のはなし)
Rでisomap(多様体学習のはなし)
 
[DL輪読会] マルチエージェント強化学習と心の理論
[DL輪読会] マルチエージェント強化学習と心の理論[DL輪読会] マルチエージェント強化学習と心の理論
[DL輪読会] マルチエージェント強化学習と心の理論
 
動作認識におけるディープラーニングの最新動向1 3D-CNN
動作認識におけるディープラーニングの最新動向1 3D-CNN動作認識におけるディープラーニングの最新動向1 3D-CNN
動作認識におけるディープラーニングの最新動向1 3D-CNN
 
CNNの構造最適化手法について
CNNの構造最適化手法についてCNNの構造最適化手法について
CNNの構造最適化手法について
 
「世界モデル」と関連研究について
「世界モデル」と関連研究について「世界モデル」と関連研究について
「世界モデル」と関連研究について
 
【DL輪読会】時系列予測 Transfomers の精度向上手法
【DL輪読会】時系列予測 Transfomers の精度向上手法【DL輪読会】時系列予測 Transfomers の精度向上手法
【DL輪読会】時系列予測 Transfomers の精度向上手法
 
ResNetの仕組み
ResNetの仕組みResNetの仕組み
ResNetの仕組み
 
DQNからRainbowまで 〜深層強化学習の最新動向〜
DQNからRainbowまで 〜深層強化学習の最新動向〜DQNからRainbowまで 〜深層強化学習の最新動向〜
DQNからRainbowまで 〜深層強化学習の最新動向〜
 
Bayesian Neural Networks : Survey
Bayesian Neural Networks : SurveyBayesian Neural Networks : Survey
Bayesian Neural Networks : Survey
 
深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜
深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜
深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜
 
金融時系列のための深層t過程回帰モデル
金融時系列のための深層t過程回帰モデル金融時系列のための深層t過程回帰モデル
金融時系列のための深層t過程回帰モデル
 
強化学習の基礎的な考え方と問題の分類
強化学習の基礎的な考え方と問題の分類強化学習の基礎的な考え方と問題の分類
強化学習の基礎的な考え方と問題の分類
 
GAN-based statistical speech synthesis (in Japanese)
GAN-based statistical speech synthesis (in Japanese)GAN-based statistical speech synthesis (in Japanese)
GAN-based statistical speech synthesis (in Japanese)
 
時系列予測にTransformerを使うのは有効か?
時系列予測にTransformerを使うのは有効か?時系列予測にTransformerを使うのは有効か?
時系列予測にTransformerを使うのは有効か?
 
実装レベルで学ぶVQVAE
実装レベルで学ぶVQVAE実装レベルで学ぶVQVAE
実装レベルで学ぶVQVAE
 

MLP深層学習 LSTM