Contenu connexe
Plus de Masayoshi Kondo (7)
深層学習(岡本孝之 著)Deep learning chap.4_1
- 2. 00: はじめに
【⽬目的と狙い】
• Deep Learningに興味があるけど詳しくは分からない理理系修⼠士学⽣生向け
• 実⽤用的なことよりも基礎的知識識を重視
• 今後論論⽂文を読んで⾏行行く上での基礎体⼒力力を滋養し、各学⽣生の理理解速度度の向上が狙い
【ガイドライン】
• 「深層学習(講談社 : 岡本 貴之 著)」の本をまとめる形で発表
• 全8章の165ページから構成
• 本の内容に準拠(本に記載されていない内容・表現を知っている場合でも原則的
には記載を控える。あくまでも本の内容に忠実。)
• ただし、適宜、参考⽂文献や関連論論⽂文等はあれば記載していくつもり
• 理理系(情報⼯工学系)の⼤大学学部4年年⽣生が理理解できるくらいをイメージしてまとめる
今回 : 第4章
- 4. 00: はじめに
全8章
• 【第1章】はじめに
• 【第2章】順伝搬型ネットワーク
• 【第3章】確率率率的勾配降降下法
• 【第4章】誤差逆伝搬法
• 【第5章】⾃自⼰己符号化器
• 【第6章】畳込みニューラルネット(CNN)
• 【第7章】再帰型ニューラルネット(RNN)
• 【第8章】ボルツマンマシン
- 5. 00: はじめに – これまでのまとめ (1・2章) -‐‑‒
深層学習(Deep Learning) / ニューラルネット を使って分析するとは
• ネットワークの構造 を決める
• 活性化関数 を決める
• 学習⽅方法(誤差関数と最適化法) を決める
の3つを⾏行行うことである
- 6. 00: はじめに – これまでのまとめ (3章) -‐‑‒
深層学習・ニューラルネットワークを使⽤用することは、
• 学習時の過適合(overfitting)
• 学習にかかる膨⼤大な計算時間
との戦い.
過適合を緩和する⽅方法と計算時間を縮⼩小する⼿手法を組み合わせて
現実的に解決可能な問題へ落落とし込む
- 12. -‐‑‒ 具体例例で考える
ある1つのサンプルxnに対して、誤差関数に⼆二乗誤差を⽤用いた全L層
からなるニューラルネットを考える. (⼆二乗誤差: )
∂En
∂wji
(l)
=
∂En
∂y
⋅
∂y
∂wji
(l)
= y(xn )− dn( )
t ∂y
∂wji
(l)
En =
1
2
y(xn )− dn
2
第l層のj番⽬目ユニット における 前層i番⽬目ユニットからの⼊入⼒力力 に対する
重み で誤差関数を微分すると…wji
(l)
微分の計算は中間層、特に⼊入⼒力力層に近い層のパラメータほど困難
01: 勾配計算の難しさ
勾配降降下法 を実⾏行行するには、誤差関数の勾配 を計算する必要がある
∇E ≡
∂E
∂w
=
∂E
∂w1
!!
∂E
∂wM
"
#
$
%
&
'
t
w(t+1)
= w(t)
−ε∇E
第3章<前半>
参照
【課題】
- 16. • ⼊入⼒力力層 から 中間層 へ
zj
(2)
= f (uj
(2)
) = f ( wji
(2)
zi
(1)
i
∑ )
zi
(1)
= xi
• 中間層 から 出⼒力力層 へ
yj (x) = zj
(3)
= uj
(3)
= wji
(3)
zi
(2)
i
∑
• ⼊入⼒力力ベクトルがそのまま
⼊入⼒力力層からの出⼒力力値となる
• 中間層は、⼊入⼒力力層の出⼒力力値と
重みの積の線形結合から計算
• 出⼒力力層の活性化関数は
恒等写像であることに注意
【順伝搬の計算〜~⼊入⼒力力から出⼒力力まで〜~】
03: 2層ネットワークでの計算
【設定】
• (背景として、回帰問題への適応を想定)
• ⼊入⼒力力層、中間層が1層、出⼒力力層から構成されるニューラルネットワークを考える
• 中間層のユニットは任意の活性化関数fを持つ
• 出⼒力力層の活性化関数は恒等写像( )
• 誤差関数は⼆二乗誤差を選択
z = f (u) = u
※注意:最終⽬目標は、パラメータ(重みとバイアス)の最適値を求めること!!
- 17. • 出⼒力力層 の重みについての微分
∂En
∂wji
(3)
= (y(x)− d)t ∂y
∂wji
(3)
• 出⼒力力層の活性化関数が
恒等写像であること
• 前層出⼒力力値の線形和の係数が
重みであることから、微分
すると は楽に求まる.
∂y
∂wji
(3)
=[ 0 ! 0 zi
(2)
0 ! 0 ]t
∂y
∂wji
(3)
∂En
∂wji
(3)
= (yj (x)− dj )zi
(2)
(第3章<前半> 参照)
∇E ≡
∂E
∂w
=
∂E
∂w1
!!
∂E
∂wM
"
#
$
%
&
'
t
w(t+1)
= w(t)
−ε∇E
【逆伝搬の計算〜~出⼒力力から⼊入⼒力力まで〜~】
04: 2層ネットワークでの計算
最終⽬目的: パラメータ(重みとバイアス)の最適値を求めること
後は重みの値が収束する
まで繰り返し更更新するだけ
- 19. • 中間層 の重みについての微分
【逆伝搬の計算〜~出⼒力力から⼊入⼒力力まで〜~】
06: 2層ネットワークでの計算
∂En
∂uj
(2)
=
∂En
∂uk
(3)
∂uk
(3)
∂uj
(2)
k
∑
∂uj
(2)
∂wji
(2)
= zi
(1)
∵uj
(2)
= wji
(2)
zi
(1)
i
∑
"
#
$
%
&
'
∂En
∂uk
(3)
= uk
(3)
− dk
∂uk
(3)
∂uj
(2)
= wkj
(3)
"f (uj
(2)
)
代⼊入
∂En
∂wji
(2)
=
∂En
∂uj
(2)
∂uj
(2)
∂wji
(2)
誤差関数に対する
ユニットの影響
ユニットに対する
パラメータの影響
∂En
∂wji
(2)
= !f (uj
(2)
) wkj
(3)
(uk
(3)
− dk )
k
∑
"
#
$
%
&
'zi
(1)
(第3章<前半> 参照)
∇E ≡
∂E
∂w
=
∂E
∂w1
!!
∂E
∂wM
"
#
$
%
&
'
t
w(t+1)
= w(t)
−ε∇E
後は重みの値が収束するまで
繰り返し更更新するだけ
- 24. 10: 多層ネットワークへの⼀一般化
誤差逆伝搬法 による誤差勾配の計算⼿手順
1.【順伝搬】z(1)=xnとして、各層lのユニット⼊入出⼒力力u(l)及びz(l)を順に計算.
2. 出⼒力力層でのδj
(L)を求める.
3.【逆伝搬】中間層l(=L-‐‑‒1, L-‐‑‒2, L-‐‑‒3,…,4 ,3, 2)でのδj
(L)を、出⼒力力側から
下記の式に従って計算.
4. 各層l(=2, 3, 4,…,L-‐‑‒2 ,L-‐‑‒1 ,L)のパラメータwji
(l)に関する微分を
下記の式に従って計算.
δj
(l)
= δk
(l+1)
wkj
(l+1)
!f (uj
(l)
)( )
k
∑
∂En
∂wji
(l)
=δj
(l)
zi
(l−1)