10.ニューラルネットワーク - 北陸先端科学技術大学院大学
Download
Report
Transcript 10.ニューラルネットワーク - 北陸先端科学技術大学院大学
人工知能特論
10.ニューラルネットワーク
北陸先端科学技術大学院大学 鶴岡 慶雅
今日の講義内容
• 回帰
– 線形回帰
– 最急降下法
• ニューラルネットワーク
– 誤差逆伝搬法(Back propagation)
• 講義資料
• http://www.jaist.ac.jp/~tsuruoka/lectures/
線形回帰(linear regression)
• 入力: ベクトル
• 出力: 実数値
yx wT x
• 例
– 馬力と車重からゼロヨンのタイムを予測
馬力(ps)
車重(kg)
ゼロヨン(秒)
280
1600
13.7
280
1500
13.3
280
1300
12.8
380
1400
12.7
重みベクトルの最適化
• 誤差(正解と予測の差の2乗)の和を最小化
1
x1 0.28
1.6
1
x2 0.28
1.5
1
x3 0.28
1.3
1
x4 0.38
1.4
t1 13.7
t2 13.3
t3 12.8
t4 12.7
誤差の和
1
T
Ew w xn tn
2 n
2
最急降下法
• 適当な初期値から出発して勾配(gradient)の
反対方向に進むことを繰り返す
Ew
w2
w1
重みベクトルの最適化
• 学習データ全体での誤差
1
Ew wT xn tn
2 n
• あるサンプル n に関する誤差
1 T
En w w xn tn
2
• サンプル n に関する勾配(gradient)
En w
wT xn tn xi
wi
yn tn xi
2
2
最急降下法
繰り返し回数
重みベクトル wT
誤差の和
0
(0, 0, 0)
689.7
1
(5.3, 1.6, 7.6)
55.1
2
(3.8, 1.1, 5.5)
4.8
3
(4.2, 1.3, 6.1)
0.84
:
:
:
100
(4.6, 1.2, 5.6)
0.41
:
:
:
10000
(10.0, -3.7, 2.9)
0.006
220馬力、1500kg の車のゼロヨンタイムは?
10.0 (3.7) 0.22 2.9 1.5 13.5
13.5秒?
ニューラルネットワーク
• 2層ニューラルネットワーク
隠れ層
1
wMD
zM
xD
入力が線形に重み付け
D
1
ji i
j
i 0
a w x
2
wKM
yK
隠れ層で非線形に活性化
出力
入力
y1
x1
x0
z1
z0
z j tanha j
線形に出力を合成
M
2
kj j
k
j 0
y w z
活性化関数
• 隠れユニットの出力を決める
– 微分形が簡単に計算できる関数だと便利
ha tanha
e a e a
tanha a a
e e
2
h a 1 h a
重みベクトルの最適化
• あるサンプル n に関する誤差
1 K
2
En w yk tk
2 k 1
• 勾配
第1層
En
1 ?
wji
第2層
En
2 ?
wkj
勾配
• 2層目の重みに関しては簡単
En
yk
2 yk tk
wkj
wkj2
M 2
yk tk 2 wkm zm
wkj m0
yk tk z j
k2 z j
D
a j wji1 xi
i 0
z j tanha j
M
yk wkj2 z j
j 0
エラー
勾配
• 1層目の重みに関しては
K
En
yk
1 yk tk
w ji k 1
wji1
D
a j wji1 xi
i 0
yk z j a j
yk tk
1
z
a
w
k 1
j
j
ji
K
K
yk tk wkj2 1 z 2j xi
k 1
xi 1 z 2j
w
K
2
k 1
k
z j tanha j
2
kj
M
yk wkj2 z j
j 0
勾配
• まとめると
En
2
x
1
z
i
j
wji1
j1 xi
w
K
2
k 1
k
2
kj
j1 1 z 2j k2wkj2
K
k 1
第1層でのエラー
En
2
k zj
2
wkj
Back propagation
• エラーを後ろから計算していけばよい
1
wMD
zM
xD
2
wKM
yK
k2 yk tk
j1 1 z 2j k2wkj2
K
y1
x1
x0
z1
z0
k 1
隠れ層が複数あっても同様に計算する
ことで勾配を求めることができる
ニューラルネットワーク
• 非線形の隠れユニットを使うことで任意の関
数を近似することができる
• 過学習に注意
• 最急降下法で求まるのは局所最適解
アンケート
• 講義コード I2152