機械学習論 Lec05
ニューラルネットワークの基礎
I. Takeuchi, ML-Lec05 1/41
講義の構成
▶ 適応的基底関数モデル
▶ 最急降下法
▶ バックプロパゲーションによるニューラルネットワークの学習
I. Takeuchi, ML-Lec05 2/41
一次元入力の非線形モデリング
▶ 入力の定義域x∈[0,10]を5個の局所基底関数で表現
0 0.2 0.4 0.6 0.8 1
0 2 4 6 8 10
一変数基底関数モデルでは基底関数が線形に増える
I. Takeuchi, ML-Lec05 3/41
多次元入力の非線形モデリング
▶ 各入力の定義域x1, x2∈[0,10]をそれぞれ5個の局所基底関数で 表現
0
5
10 0
5
10 0.5
1
多変数基底関数モデルでは基底関数が指数的に増える
I. Takeuchi, ML-Lec05 4/41
適応的基底関数
▶ 高次元空間に潜む低次元空間
0 2.5 5 7.5 10
0 2.5 5 7.5 10
0 2.5
5 7.5
10 0
2.5 5
7.5 10 0.25
0.5 0.75 1
2次元入力空間 適応的な基底関数
I. Takeuchi, ML-Lec05 5/41
固定基底関数モデル
▶ 固定基底関数:h1(x), h2(x), . . . , hq(x) ˆ
y=v0+
∑q k=1
vkhk(x)
I. Takeuchi, ML-Lec05 6/41
適応的基底関数モデル
▶ 適応的基底関数:h1(x,w1), h2(x,w2), . . . , hq(x,wq) ˆ
y=v0+
∑q k=1
vkhk(x,wk)
I. Takeuchi, ML-Lec05 7/41
神経細胞モデルとシグモイド関数
0 1
threshold
0 / 1
神経細胞のモデル
I. Takeuchi, ML-Lec05 8/41
シグモイド関数
▶ シグモイド関数:ψ
hk(x,wk) =ψ
wk0+
∑d j=1
wkjxj
, k= 1, . . . , q
logistic sigmoid func. tanh sigmoid func.
I. Takeuchi, ML-Lec05 9/41
3層ニューラルネットワークモデル
I. Takeuchi, ML-Lec05 10/41
3層ニューラルネットワークモデル
I. Takeuchi, ML-Lec05 11/41
3層ニューラルネットワークのパラメータ
W
q×(1+d)
=
w10 w11 w12 · · · w1d
w20 w21 w22 · · · w2d
... ... ... . .. ... wq0 wq1 wq2 · · · wqd
, v
(1+q)×1=
v0
v1
v2
... vq
I. Takeuchi, ML-Lec05 12/41
演習問題1
▶ シグモイド関数
ψ(z) = 1
1 + exp(−z)
がC∞級関数(すなわち,何回でも微分可能)であることを示せ.
▶ ヒント:シグモイド関数の導関数をシグモイド関数自身を使って 表せればよい
I. Takeuchi, ML-Lec05 13/41
演習問題1の解答
I. Takeuchi, ML-Lec05 14/41
3層ニューラルネットワークの入出力関係
I. Takeuchi, ML-Lec05 15/41
分類問題のための3層ニューラルネットワーク
I. Takeuchi, ML-Lec05 16/41
3層ニューラルネットワーク(回帰)の学習
▶ 学習データ
X=
x11 x12 · · · x1d x21 x22 · · · x2d ... ... . .. ... xn1 xn2 · · · xnd
, y=
y1 y2 ... yn
▶ 学習誤差 E=
∑n i=1
[yi− {v0+
∑q k=1
vkψ(wk0+∑
j=1
wkjxij)}]2
▶ パラメータ
W
q×(1+d)
=
w10 w11 w12 · · · w1d
w20 w21 w22 · · · w2d
... ... ... . .. ... wq0 wq1 wq2 · · · wqd
, v
(1+q)×1=
v0
v1
v2
... vq
I. Takeuchi, ML-Lec05 17/41
講義の構成
▶ 適応的基底関数モデル
▶ 最急降下法
▶ バックプロパゲーションによるニューラルネットワークの学習
I. Takeuchi, ML-Lec05 18/41
非線形最適化のイメージ(1次元)
目的関数
最適解 初期値
パラメータ空間
I. Takeuchi, ML-Lec05 19/41
非線形最適化のイメージ(1次元)
パラメータ空間 初期値 最適解
I. Takeuchi, ML-Lec05 20/41
直線探索アプローチ
▶ 定式化
minz g(z), z∈Rm
▶ 逐次更新
z0 → z1 → z2 → · · · → zt−1 → zt → zt+1 →
▶ 更新式
zt+1=zt+αtdt
I. Takeuchi, ML-Lec05 21/41
テイラー展開
▶ 1次のテイラー展開(単変数)
g(z+ ∆z) =g(z) +g′(z)∆z
▶ 1次のテイラー展開(多変数)
g(z+ ∆z) =g(z) + ∂f
∂z1∆z1+ ∂f
∂z1∆z1+ ∂f
∂z2∆z2+. . .+ ∂f
∂zm∆zm
=g(z) +∆z⊤∇f
I. Takeuchi, ML-Lec05 22/41
探索方向
▶ 探索方向
zt+1=zt+αtdt, g(zt+1) =g(zt+αtdt)≃g(zt) +αtd⊤∇g(zt)
I. Takeuchi, ML-Lec05 23/41
演習問題2(その1)
▶ z=ztの近傍で線形近似
g(zt+αd)≃g(zt) +αd⊤∇g(zt)
が成り立っている状況をにおいて, 2つのベクトルdと∇g(zt)の なす角度をθ とすると,目的関数が減少する,すなわち,
g(zt+αd)< g(zt)
となるためのθの条件を導出せよ. なお,αはステップ幅で,α >0 である.
I. Takeuchi, ML-Lec05 24/41
演習問題2(その2)
▶ 前課題と同様に,z =ztの近傍で線形近似
g(zt+αd)≃g(zt) +αd⊤∇g(zt)
が成り立っている状況を考える. ステップ幅α >0を一定とし,探 索方向dの長さを1に固定したとき(||d||= 1),目的関数を最も減 少させる探索方向dを求めよ. すなわち,以下の最適化問題を解け:
min
d g(zt+αd), s.t ||d||= 1.
I. Takeuchi, ML-Lec05 25/41
演習問題2の解答
I. Takeuchi, ML-Lec05 26/41
最急降下方向
▶ 最急降下方向
dt=−∇g(zt) =−∂g
∂z
z=zt
I. Takeuchi, ML-Lec05 27/41
最小二乗法の例:多変数二次関数の最小化
▶ 多変量二次関数の最小化
zmin∈Rm
1
2z⊤Qz+b⊤z
▶ 最急降下法 zt+1=zt−αt
∂
∂z (1
2z⊤Qz+b⊤z )
=zt−αt(Qzt+b)
I. Takeuchi, ML-Lec05 28/41
二次関数の最小化
▶ 最急降下法を用いた二次関数の最小化問題
min
z∈Rm
1
2z⊤Qz+b⊤z を考える.ステップt+ 1 にて
zt+1=zt−αt(Qzt+b)
と更新するとき,目的関数を最小にするαt,すなわち,
arg min
αt
1
2zt+1⊤ Qzt+1+b⊤zt+1
を求めよ.
I. Takeuchi, ML-Lec05 29/41
二次関数を最小化するステップサイズの導出
I. Takeuchi, ML-Lec05 30/41
講義の構成
▶ 適応的基底関数モデル
▶ 最急降下法
▶ バックプロパゲーションによるニューラルネットワークの学習
I. Takeuchi, ML-Lec05 31/41
3層ニューラルネットワーク(回帰)の学習(再掲)
▶ 学習データ
X=
x11 x12 · · · x1d x21 x22 · · · x2d ... ... . .. ... xn1 xn2 · · · xnd
, y=
y1 y2 ... yn
▶ 学習誤差 E=
∑n i=1
[yi− {v0+
∑q k=1
vkψ(wk0+∑
j=1
wkjxij)}]2
▶ パラメータ
W
q×(1+d)
=
w10 w11 w12 · · · w1d
w20 w21 w22 · · · w2d
... ... ... . .. ... wq0 wq1 wq2 · · · wqd
, v
(1+q)×1=
v0
v1
v2
... vq
I. Takeuchi, ML-Lec05 32/41
3層ニューラルネットワークの学習
▶ 最急降下法などでニューラルネットワークを学習するには各パラ メータに関する偏微分の計算が必要:
∂E
∂v0
∂E
∂vk, k= 1, . . . , q
∂E
∂wk0, k= 1, . . . , q
∂E
∂wkj, k= 1, . . . , q, j= 1, . . . , d
I. Takeuchi, ML-Lec05 33/41
順方向・逆方向計算
xij ⇒ uik ⇒ zik ⇒ yˆi ⇒ ei
∂uik
∂xij ⇐ ∂zik
∂uik ⇐ ∂yˆi
∂zik ⇐ ∂ei
∂yˆi
I. Takeuchi, ML-Lec05 34/41
偏微分係数の計算(その1)
▶ パラメータv0に関する勾配
∂E
∂v0
=−2
∑n i=1
(yi−yˆi)
▶ パラメータvk, k= 1, . . . , qに関する勾配
∂E
∂vk
=−2
∑n i=1
(yi−yˆi)zik
I. Takeuchi, ML-Lec05 35/41
偏微分係数の計算(その2)
▶ パラメータwk0, k= 1, . . . , qに関する勾配
∂E
∂wk0
=−2
∑n i=1
(yi−yˆi)vkψ(uik)(1−ψ(uik))
▶ パラメータwkj, k= 1, . . . , q, j= 1, . . . , dに関する勾配
∂E
∂wkj
=−2
∑n i=1
(yi−yˆi)vkψ(uik)(1−ψ(uik))xij
I. Takeuchi, ML-Lec05 36/41
非線形最適化の課題:局所最適解
I. Takeuchi, ML-Lec05 37/41
非線形最適化の課題:条件数と収束の速さ
I. Takeuchi, ML-Lec05 38/41
3層ニューラルネットにおけるモデル選択
I. Takeuchi, ML-Lec05 39/41
演習問題3
次の2変数2次関数
z21+z1z2+ 2z22+ 3z1+z2
を最小化するz1, z2を最急降下法により求めよ. なお, 初期パラメータ はz1=z2= 0とする. 第1ステップおよび第2ステップのパラメータ を小数点以下第2位まで求め,その軌跡を以下に図示せよ.
I. Takeuchi, ML-Lec05 40/41
演習問題3の解答
I. Takeuchi, ML-Lec05 41/41