More Related Content
Similar to 深層学習(講談社)のまとめ(1章~2章) (20)
深層学習(講談社)のまとめ(1章~2章)
- 9. 2. 順伝播型ネットワーク
・順伝播型ネットワーク (feedforward neural network)
情報が入力側から出力側に一方向のみに伝播するNN。
多層パーセプトロンとも言う。
ニューロンのモデル化
𝑥1
𝑥2
𝑥3
入力
𝜔1
𝜔2
𝜔3
左図はマカロック・ピッツがニューロンを
モデル化したもの。このニューロンの出力zは
重みづけした総入力にバイアス bを加えたものに
対応する活性化関数 f の値。
z
𝑧 = 𝑓 𝑢
𝑢 = 𝜔1 𝑥1 + 𝜔2 𝑥2 + 𝜔3 𝑥3 + b
- 12. 2. 順伝播型ネットワーク
・線形写像、恒等写像
𝑓 𝑥 = 𝑥
・マックスアウト
K個のユニットをまとめて1つしたように振る舞う活性化関数。
K個ずつそれぞれの重みとバイアスを持ち、K個の総入力が求められる。
そのユニットの出力はK個の総入力のうち最大のものを選ぶ。
𝑢𝑗𝑗 = � 𝜔𝑗𝑗𝑗 𝑧𝑖 + 𝑏𝑗𝑗
𝑖
𝑓 𝑢𝑗 = max 𝑢𝑗𝑗
- 15. 2. 順伝播型ネットワーク
前述の 𝐲 = y(𝒙; 𝒘) が目標とする関数に近づくようにパラメータを調整する
ことを学習という。
ここでは、ある入力に対して望む出力のペアが複数与えられていると
仮定する。この入力 𝒙𝑖 と望ましい出力 𝒅𝑖 のペアを訓練サンプル、
その集合を訓練データと呼ぶ。
つまり、y 𝒙𝑖; 𝒘 ≈ 𝒅𝑖 となるようにパラメータを調整していく。
この時、望ましい出力とネットワークの出力の違い、誤差を測る尺度を
誤差関数と呼ぶ。
・学習の概要
回帰・二値分類・クラス分類の3つの問題を解いてみよう
- 17. 2. 順伝播型ネットワーク
入力 x を内容に応じて2種類に区別する問題。
ex. 写真から男性か女性かを判別する、など。
ここで、入力 x から分類 d ∈ 0,1 の値を推定することを考える。
そこで、入力 x のとき 𝑑 = 1 である確率 𝑝 𝑑 = 1 𝒙 をネットワークの
入出力関係でモデル化することを考える。
𝑝 𝑑 = 1 𝒙 ≈ 𝑦(𝒙; 𝒘)
また、このネットワークの出力層は1つのユニットのみで構成されており、
活性化関数はロジスティック関数とする。
与えられた訓練データ (𝑥 𝑛, 𝑑 𝑛) |𝑛 = 1, … , 𝑁 からモデルを用いて
求められる事後分布 𝑝 𝑑 𝒙; 𝒘 がデータと一致するように学習していく。
・二値分類
- 18. 2. 順伝播型ネットワーク
具体的には、パラメータ w の訓練データに対する尤度を定義し、その値を
最大化するようなパラメータを求める最尤推定を行う。
w の尤度は
𝐿 𝒘 = � 𝑝(𝑑 𝑛|𝒙 𝑛; 𝒘)
𝑁
𝑛=1
と求められる。このとき、𝑝 𝑑 = 1 𝒙 ≈ 𝑦(𝒙; 𝒘) であり事後分布𝑝 𝑑 𝒙; 𝒘
はベルヌーイ分布で表せることから
𝑝 𝑑 𝒙; 𝒘 = 𝑝 𝑑 = 1 𝒙 𝑑
𝑝 𝑑 = 0 𝒙 1−𝑑
= 𝑦(𝒙; 𝒘) 𝑑
1 − 𝑦(𝒙; 𝒘) 1−𝑑
と求められる。
- 19. 前述の結果を尤度に代入する。
𝐿 𝒘 = � 𝑦(𝒙 𝒏; 𝒘) 𝑑 𝑛 1 − 𝑦(𝒙 𝒏; 𝒘) 1−𝑑 𝑛
𝑁
𝑛=1
これの対数をとり、符号を反転させた
𝐸 𝒘 = − � 𝑑 𝑛log𝑦 𝒙 𝒏; 𝒘 + 1 − 𝑑 𝑛 log{1 − 𝑦 𝒙 𝒏; 𝒘 }
𝑁
𝑛=1
を誤差関数とし、この最小化(符号を反転したため)を求める
※対数関数の単調性から対数をとっても結果は変わらない。
- 21. 2. 順伝播型ネットワーク
訓練データは、入力 𝒙 𝑛 に対して目標 𝒅 𝑛 = 𝑑1, … , 𝑑 𝐾 の訓練サンプルの集合で、
入力 𝒙 𝑛 に対するクラスが 𝐶 𝑘 のとき 𝑑 𝑘 = 1 でそれ以外は0である。
このように目標を設定した時事後確率は
𝑝 𝒅 𝒙 = � 𝑝(𝐶 𝑘|𝒙) 𝑑 𝑘
𝐾
𝑘=1
と表せる。このことから、尤度は
𝐿 𝒘 = � � 𝑦 𝑘(𝒙 𝒏; 𝒘) 𝑑 𝑛𝑛
𝐾
𝑘=1
𝑁
𝑛=1
と求められ、誤差関数は同様に対数をとり符号を反転させて
𝐸 𝒘 = − � � 𝑑 𝑛𝑛log𝑦 𝑘 𝒙 𝒏; 𝒘
𝐾
𝑘=1
𝑁
𝑛=1
とする。この関数は交差エントロピーと呼ばれ、これを最小化するように学習していく。