More Related Content
Similar to はじぱた7章F5up (20)
はじぱた7章F5up
- 7. 7・2・2 誤差逆伝搬法の学習規則
誤差の評価関数
1
𝐸 𝑛 (𝑤) =
2
教師信号
出力信号
誤差の評価関数(学習データ全体)
バッチアルゴリズム
𝐾
(
𝑘=1
𝑡 𝑘𝑛
−
𝑜 𝑘𝑛 )2
𝐸(𝑤) =
(7.13)
1
2
例:τエポック目
𝑁
𝐸 𝑛 (𝑤)
𝑛=1
n番目の学習データ使用
・バッチ学習
・オンライン学習
・全データで学習する!
・一回でΔwを更新する
1エポック:
学習データ全体を用い
て修正量を計算、更新
(7.14)
- 8. 7・2・2 誤差逆伝搬法の学習規則
誤差の評価関数
1
𝐸 𝑛 (𝑤) =
2
教師信号
出力信号
1エポック:
学習データ全体を用い
て修正量を計算、更新
誤差の評価関数(学習データ全体)
バッチアルゴリズム
𝐾
(
𝑡 𝑘𝑛
−
𝑜 𝑘𝑛 )2
𝑘=1
𝐸(𝑤) =
(7.13)
1
2
例:τエポック目
𝑁
𝐸 𝑛 (𝑤)
𝑛=1
(7.14)
シグモイド関数の微分は、元
の関数で表現可能
p106
n番目の学習データ使用
1エポックの変化量を
出すのに全Eを回している?
𝑜 𝑘𝑛 = 𝑔 ( ℎ 𝑘𝑛 )
出力素子の結合係数の更新
𝑤 𝒌𝑗(τ+1) = 𝑤 𝒌𝑗(τ) + Δ𝑤 𝒌𝑗(τ)
𝑁
Δ𝑤 𝒌𝑗(τ) =
𝑛=1
𝑛
δ 𝑘 (τ)
𝜕𝐸 𝑛 (𝑤)
−η
𝜕𝑤 𝒌𝑗
𝑁
𝑉𝑗 𝑛
( 𝑡 𝑘𝑛 − 𝑜 𝑘𝑛 )
𝑛=1
𝑔
外側の微分
=η
ℎ 𝑘𝑛
中身の微分
(7.15)
隠れ素子の結合係数の更新も同様
𝑤 𝒋𝑖(τ+1) = 𝑤 𝒋𝑖 (τ) + Δ𝑤 𝒋𝑖(τ)
𝑁
Δ𝑤 𝒋𝑖(τ) =
−η
𝑛=1
𝜕𝐸 𝑛 (𝑤)
𝜕𝑤 𝒋𝑖
𝑁
𝐾
𝑛
δ 𝑘 (τ)
( 𝑡 𝑘𝑛 − 𝑜 𝑘𝑛 )
=η
𝑔
ℎ 𝑘𝑛
𝑤 𝒌𝑗 𝑔
𝑛=1 𝑘=1
(7.16)
ℎ 𝑗𝑛
𝑥 𝑖𝑛
- 18. 7.3.5 学習回路の尤度
参考 p.52, 91-93
エントロピー関数
K個の異なる2クラス分類
出力okをK個の無関係な確率とみなす場合
以下のベルヌーイ試行とみなせる
(ここで
𝐾
𝑡
𝑜𝑘𝑘 1 − 𝑜𝑘
𝑝 𝑡|𝑥, 𝑤 =
は
となる確率)
1−𝑡 𝑘
負の対数尤度
𝑘=1
誤差の評価関数:交差エントロピー誤差関数
シグモイド関数の微分には
シグモイド関数が残っている!
結合係数の更新式(出力層)
出力関数がシグモイド関数の場合
二乗誤差基準と違い出力関数の微分が消えて、
学習が進まなくなることがない
- 19. 参考 p.52, 91-93
7.3.5 学習回路の尤度
K個の排他的な1つに割り当てる場合 (ソフトマックス関数)
出力を 𝑔 (ok) = p( tk = 1 |x)のようにする場合
𝐾
𝑝 𝑡 𝑘 = 1|𝑥
𝑡
𝑜𝑘𝑘
𝑝 𝑡 𝑘 = 1|𝑥, 𝑤 =
𝑘=1
負の対数尤度
誤差の評価関数
𝑁
𝐸
𝐾
𝑡 𝑘𝑛 log 𝑜 𝑘𝑛
𝑤 =−
𝑛=1 𝑘=1
結合係数の更新式 p93
最尤推定法
E(w)を各wで微分(=0)をして、各wを出す。
?
- 20. まとめ
特徴
出力誤差から
w を学習する
・出力関数 g()
・誤差の評価関数 E()
・更新式 Δw
問題点(本にないものあり)
・局所最適化、過学習 (わりと改善している感)
->正則化
->DropOut[Hinton 12]学習時:Nを半数消す、推論時:Nの出力2/1、複数モデルの平均
->Maxout[Good fellow 13]複数の出力関数の内最大値を取るものを選ぶ、高性能
・誤差の伝播が十分でない(層が深いとき)
・遅い →交差エントロピーの方が速く、凡化性能が良い
→ReLU[Nair 10]h(x)=log(1+e(x)) =~ max(0,x)、 結果もよい →Maxoutも速い
・構造の形はどれくらいがいいのか(層数とかピラミッドとか) →技はあるっぽい
・生理モデルではない
- 21. おまけ
Deep Learning
DNN(Deep Neural network)
層の数が多い階層的なニューラルネットワーク
DBN(Deep Belief network)
層ごとに教師なし事前学習で初期値得る
教師あり学習を行う
DBM(Deep Boltzmann Machine)
DBNの拡張
隠れ層が積みあがる
RNN
CNN
RBM(Restricted Boltzmann Machine)
ボルツマンマシンの変種
確率的に伝播するネットワーク
積み重ね
HMMの積み重ねとかもあるみたい