人工知能特論 6.機械学習概論とバージョン空間 法

人工知能特論
10.ニューラルネットワーク
北陸先端科学技術大学院大学 鶴岡 慶雅
今日の講義内容
• 回帰
– 線形回帰
– 最急降下法
• ニューラルネットワーク
– 誤差逆伝搬法(Back propagation)
• 講義資料
• http://www.jaist.ac.jp/~tsuruoka/lectures/
線形回帰(linear regression)
• 入力: ベクトル
• 出力: 実数値
yx  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
Ew   w xn  tn
2 n

2
最急降下法
• 適当な初期値から出発して勾配(gradient)の
反対方向に進むことを繰り返す
Ew
w2
w1
重みベクトルの最適化
• 学習データ全体での誤差

1
Ew   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  tanha j 
線形に出力を合成
M
2 
kj j
k
j 0
y  w z
活性化関数
• 隠れユニットの出力を決める
– 微分形が簡単に計算できる関数だと便利
ha   tanha 
e a  e a
tanha   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
wkj2
  M 2  
  yk  tk  2   wkm zm 
wkj  m0

  yk  tk z j
  k2 z j
D
a j   wji1 xi
i 0
z j  tanha j 
M
yk   wkj2  z j
j 0
エラー
勾配
• 1層目の重みに関しては
K
En
yk
1    yk  tk 
w ji k 1
wji1
D
a j   wji1 xi
i 0
yk z j a j
   yk  tk 
1

z

a

w
k 1
j
j
ji
K

K

   yk  tk wkj2 1  z 2j xi
k 1

 xi 1  z 2j
  w 
K
2
k 1
k
z j  tanha j 
2
kj
M
yk   wkj2  z j
j 0
勾配
• まとめると

En
2

x
1

z
i
j
wji1
  j1 xi
  w 
K
2
k 1
k
2
kj
 j1  1  z 2j  k2wkj2
K
k 1
第1層でのエラー
En
2 


k zj
2 
wkj
Back propagation
• エラーを後ろから計算していけばよい
1
wMD
zM
xD
2 
wKM
yK
k2  yk  tk
 j1  1  z 2j  k2wkj2
K
y1
x1
x0
z1
z0
k 1
隠れ層が複数あっても同様に計算する
ことで勾配を求めることができる
ニューラルネットワーク
• 非線形の隠れユニットを使うことで任意の関
数を近似することができる
• 過学習に注意
• 最急降下法で求まるのは局所最適解
アンケート
• 講義コード I2152