Contenu connexe
Plus de Masayoshi Kondo (7)
深層学習(岡本 孝之 著)Deep learning chap.5_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)
• 学習にかかる膨⼤大な計算時間
との戦い.
過適合を緩和する⽅方法と計算時間を縮⼩小する⼿手法を組み合わせて
現実的に解決可能な問題へ落落とし込む
- 11. 【⾃自⼰己符号化器(autoencoder)】
01: 概要
• データをよく表現する特徴の獲得
• データの良良い表現⽅方法の獲得⽬目的
その他 の⽤用途
ディープネットの事前学習
(“重み”について良良い初期値を得るための前処理理)
x2x1 xN
単層の順伝搬型ニューラルネットをくっつける
y = f (Wx + b)
単層NN
単層NN
ˆx = !f ( !Wy+ !b)
y(x)
x
ˆx(x)
⼆二層ニューラルネットの重みとバイ
アスを上⼿手く調整して、⼊入⼒力力 に
対する出⼒力力 が元の⼊入⼒力力 とな
るべく近くなるようにする
• 符号化
• 復復号化
y = f (Wx + b)
ˆx = !f ( !Wy+ !b)
ˆx
x
x
⽬目標出⼒力力を伴わない⼊入⼒力力だけの訓練データによる教師無し学習を⾏行行うニューラル
ネットのこと.具体的には、⼊入⼒力力=出⼒力力となるような符号化能⼒力力を持つネット
ワークのこと.
- 12. 【⾃自⼰己符号化器(autoencoder)】
02: 概要
• データをよく表現する特徴の獲得
• データの良良い表現⽅方法の獲得⽬目的
その他 の⽤用途
ディープネットの事前学習
(“重み”について良良い初期値を得るための前処理理)
x2x1 xN
単層の順伝搬型ニューラルネットをくっつける
y = f (Wx + b)
単層NN
単層NN
ˆx = !f ( !Wy+ !b)
y(x)
x
ˆx(x)
⽬目標出⼒力力を伴わない⼊入⼒力力だけの訓練データによる教師無し学習を⾏行行うニューラル
ネットのこと.具体的には、⼊入⼒力力=出⼒力力となるような符号化能⼒力力を持つネット
ワークのこと.
正確には
訓練データ
x1, x2,!, xN−1, xN
が与えられた時、各サンプル
を⼊入⼒力力したときのネットワークの
出⼒力力 が、 に平均的に近く
なるように学習する.
xn
ˆxn
xn
- 14. 03: ネットワークの設計
5.2.1 出⼒力力層の活性化関数と誤差関数
⾃自⼰己符号化器の活性化関数には、中間層の と出⼒力力層 がある.!ff
!f
f : ⾃自由に決定. ⼀一般的に、⾮非線形関数を選択.
: ⽬目標出⼒力力が⼊入⼒力力xに⾃自⾝身になるように⼊入⼒力力データの
種類に応じて、選択.
誤差関数 について
-‐‑‒ xの各成分xiが実数値で、その範囲に制約が無い場合
-‐‑‒ xの各成分xiが0と1の⼆二値をとる場合( )xi ∈ {0,1}
!f
[誤差関数] :
: 恒等写像
E(w) = xn − ˆx(xn )
2
n=1
N
∑ w = {w,b, !w, !b}( )
!f
[誤差関数] :
: ロジスティック関数
E(w) = C(xn, ˆxn )
n=1
N
∑ C(xn, ˆxn ) = − xi log ˆxi +(1− xi )log(1− ˆxi (x))[ ]
i=1
D
∑
#
$
%
&
'
(
-‐‑‒ ⼆二乗誤差の総和
-‐‑‒ 交差エントロピー
(※ と は、それぞれ と のi番⽬目の成分を⽰示す.)xi ˆxi (x) x ˆx(x)
- 17. ⾃自⼰己符号化器の⽬目的:上述のような特徴を学習することで、サンプル x の
別な「表現」としての y を得ること.
05: ⾃自⼰己符号化器の働き
5.3.1 データを表す特徴の学習
⾃自⼰己符号化器では、(前述の)誤差関数を最⼩小化することでネットワークの
パラメータ(重み・バイアス)を最適化. また、パラメータのことを特徴
(feature)と呼ぶ. 通常、興味があるのは中間層のパラメータ ( )である.W,b
x2x1 xN
y = f (Wx + b)
単層NN
単層NN
ˆx = !f ( !Wy+ !b)
y(x)
x
ˆx(x)
何が“良良い”表現であるかの明確
な定義は無い
(直感的には)xをそのまま使う
代わりに変換したyを利利⽤用
すると、対象とする問題が
上⼿手く解ければ良良い.
コレ!!
- 20. ρ:パラメータ(重み)の活性度度
ˆρ :中間層の各ユニットの平均活性度度
5.4.1 データの過完備な表現
「過完備(overcomplete)」とは?
07: スパース正則化
⼊入⼒力力次元より出⼒力力次元が⼤大きいような余分な⾃自由度度を持つ冗⻑⾧長な特徴
であるにも関わらず、データの性質を上⼿手く表現できる状態のこと
-‐‑‒ スパース正則化 と スパース⾃自⼰己符号化器(sparse autoencoder)
【基本的な考え⽅方】
1. 個々の訓練サンプルに対して、なるべく少ない数の中間層のユニットを
使って再現できるようにパラメータを決定.
2. 各訓練サンプル毎に活性化するユニットは異異なって良良い.
新しい誤差関数:誤差関数 + スパース正則化項 を 最⼩小化
ˆρj =
1
N
yj (xn )
n=1
N
∑
!E(w) = E(w)+ β KL(ρ || ˆρj )
j=1
Dy
∑
- 21. ∂
∂uj
(l)
β KL(ρ || ˆρj )
j=1
Dl
∑
"
#
$$
%
&
'' = β
∂
∂ ˆρj
KL(ρ || ˆρj )⋅
∂ ˆρj
∂ ˆuj
(l)
∂
∂ ˆρj
KL(ρ || ˆρj ) = −
ρ
ˆρj
+
1− ρ
1− ˆρj
#
$
%%
&
'
((
δj
(l)
=
∂ ˆE w( )
∂uj
(l)
KL(ρ || ˆρj ): の微分について
∂ ˆρj
∂ ˆuj
(l)
= "f (uj
(l)
)
08: スパース正則化
5.4.2 最適化
δj
(l)
= δk
(l+1)
wkj
(l+1)
+ β −
ρ
ˆρ
+
1− ρ
1− ˆρj
"
#
$$
%
&
''
k
∑
)
*
+
,+
-
.
+
/+
0f (uj
(l)
)
拡張された誤差関数も、勾配降降下法を使って最⼩小化可能
デルタの計算式
- 22. ˆρj
(t)
= λ ˆρj
(t−1)
+(1− λ) ˆρj
1. ミニバッチが含むサンプル集合についてのみ平均活性度度を求める.
2. ミニバッチ間で以下のように加重平均をとり、全サンプルに対する近似値
として使⽤用.
【解決】
t:更更新(イテレーション)回数
λ:事前に与える定数
09: スパース正則化
5.4.2 最適化
ˆρユニットの平均活性度度 について
平均活性度度は全サンプルについての平均なので、厳密に求めるには
全サンプルの順伝搬計算を⼀一度度⾏行行い、各ユニットの出⼒力力を求めてお
いて、その後、活性度度の平均を計算することになる.
ミニバッチによる学習の場合:平均活性度度の計算のためだけに全サンプルの
順伝搬計算を⾏行行うのでは⼤大変⾮非効率率率.