27
情報学習理論 渡辺澄夫 東京工業大学

Mathematical Foundation of Statistical Learningwatanabe- · 非常に多くの . パラメータ ... 単純パーセプトロン1960頃. 多層パーセプトロン1985頃. SVM 1995頃

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Mathematical Foundation of Statistical Learningwatanabe- · 非常に多くの . パラメータ ... 単純パーセプトロン1960頃. 多層パーセプトロン1985頃. SVM 1995頃

情報学習理論

渡辺澄夫

東京工業大学

Page 2: Mathematical Foundation of Statistical Learningwatanabe- · 非常に多くの . パラメータ ... 単純パーセプトロン1960頃. 多層パーセプトロン1985頃. SVM 1995頃

教師あり学習の枠組み

学習データ

X1, X2, …, Xn

Y1, Y2, …, Yn

テストデータ

X

Y

情報源

q(x,y) y=f(x,w)

学習モデル

Page 3: Mathematical Foundation of Statistical Learningwatanabe- · 非常に多くの . パラメータ ... 単純パーセプトロン1960頃. 多層パーセプトロン1985頃. SVM 1995頃

復習:最急降下法

E(w) = (1/n) Σ (Yi-f(Xi,w))2n

i=1学習誤差関数

∇E(w)を計算するには、毎回 i=1,2…,n の足し算をしなくてはならない。サンプル数 n が大きいと大変。

w(t+1) -w(t) = - η∇E(w(t))

最急降下法: t=0,1,2,3,…, η>0 は定数

∇E(w) = (1/n) Σ ∇{ (Yi-f(Xi,w))2 }∇を計算するとn

i=1

Page 4: Mathematical Foundation of Statistical Learningwatanabe- · 非常に多くの . パラメータ ... 単純パーセプトロン1960頃. 多層パーセプトロン1985頃. SVM 1995頃

確率降下法

各時刻 t において i 番目のデータをランダムに選んで

とする。

w(t+1) - w(t) = ーη(t)∇{ (Yi-f(Xi,w(t)))2 }

◎1個ずつデータを取ってくるだけで学習できる。

◎ η(t) を適切に設計する必要がある。

◎ 最急「バッチ学習」 ⇔ 確率「オンライン学習」

Page 5: Mathematical Foundation of Statistical Learningwatanabe- · 非常に多くの . パラメータ ... 単純パーセプトロン1960頃. 多層パーセプトロン1985頃. SVM 1995頃

最急降下法と確率降下法

定理: η(t) (t=0,1,2,3,…) が

η(0)+η(1)+・・・+η(t) → ∞

η(t) → 0

を満たすとする。このとき、確率降下法は最急降下法と(局所的には)同じ点に収束する。

「η(0)+η(1) +・・・+η(t) →∞」が成り立たないと途中で止まる

「η(t) → 0」が成り立たないと永久に揺れたまま

Page 6: Mathematical Foundation of Statistical Learningwatanabe- · 非常に多くの . パラメータ ... 単純パーセプトロン1960頃. 多層パーセプトロン1985頃. SVM 1995頃
Page 7: Mathematical Foundation of Statistical Learningwatanabe- · 非常に多くの . パラメータ ... 単純パーセプトロン1960頃. 多層パーセプトロン1985頃. SVM 1995頃

神経回路網

疑問: ものすごく複雑なモデルでも 学習することができるのだろうか

非線型

特定できない

隠れた部分についての対称性

非常に多くのパラメータ

nonlinear

Nonidentifiable

symmetry

Many parameters

Neural Network

Page 8: Mathematical Foundation of Statistical Learningwatanabe- · 非常に多くの . パラメータ ... 単純パーセプトロン1960頃. 多層パーセプトロン1985頃. SVM 1995頃

歴史はめぐる

単純パーセプトロン 1960頃

多層パーセプトロン 1985頃

SVM 1995頃深層学習 2010頃

生体神経回路網を模倣して作られた大きな複雑さを持つ学習モデルが現実の問題解決に役立つことが広く知られるようになった。

(注意) この分野は宣伝が 過大 と 過小を繰り返している。

夏 → 冬 → 夏 → 冬 → ・・・

「生体神経回路を模倣して作られた」ということが、多すぎる期待を与え、それはまた多くの落胆を引き起こしやすい。

◎ 実際の研究は20年の単位で一歩ずつ進展している。

Page 9: Mathematical Foundation of Statistical Learningwatanabe- · 非常に多くの . パラメータ ... 単純パーセプトロン1960頃. 多層パーセプトロン1985頃. SVM 1995頃

神経素子

x1 x2 x3 xM

w1 w2 w3wM

∑ wi xiM

i=1

σ( ∑ wi xi + θ) : 出力M

i=1

神経素子(ニューロン)

シナプス結合荷重

バイアスθ

1個の Neuron のモデル

(x1,…,xM) : 外界からの入力(w1,…wM, θ):パラメータ

Page 10: Mathematical Foundation of Statistical Learningwatanabe- · 非常に多くの . パラメータ ... 単純パーセプトロン1960頃. 多層パーセプトロン1985頃. SVM 1995頃

非線型応答:

ニューロン

u

σ(u) = 1/(1+e-u) : シグモイド関数

u

σ( u )1

0

1/2

(注意)この形の関数に数学的な意味があるかどうかはわかっていない。

Page 11: Mathematical Foundation of Statistical Learningwatanabe- · 非常に多くの . パラメータ ... 単純パーセプトロン1960頃. 多層パーセプトロン1985頃. SVM 1995頃

三層パーセプトロン

x1 x2 xM

f1 f2 fN

出力層

中間層

入力層 最急降下でやってみたらできた。(Rumelhart&McClelland,1985)

遠い遠い昔、「入力→中間」を学習させるのは不可能だと思われていた。「出力の誤差からここを学習するなんて無理・・・」

Three-Layer Perceptron

Page 12: Mathematical Foundation of Statistical Learningwatanabe- · 非常に多くの . パラメータ ... 単純パーセプトロン1960頃. 多層パーセプトロン1985頃. SVM 1995頃

モデルの説明

i

j

k

xk

oj=σ(∑wjkxk+θj)M

k=1

中間

fi =σ(∑uijoj+φi)H

j=1

出力

uij

φi

fi

wjk

θj

oj

同じものを並べるだけなので、プログラムは簡単です。

Page 13: Mathematical Foundation of Statistical Learningwatanabe- · 非常に多くの . パラメータ ... 単純パーセプトロン1960頃. 多層パーセプトロン1985頃. SVM 1995頃

数式で書くと

M

k=1fi (w)=σ( ∑uij σ( ∑wjkxk+θj) + φi)

H

j=1

出力ユニットN個

中間ユニットH個

入力ユニットM個

θj

φi

wjk

uijパラメータ全部の集合を1文字 w で表す

一個のデータ x=(x1,x2,…,xM), y=(y1,y2,…,yN) についての確率降下は

-∇{ Σ (yi-fi(x,w))2 }N

i=1

この∇が計算できると確率降下法が実行できる。

Page 14: Mathematical Foundation of Statistical Learningwatanabe- · 非常に多くの . パラメータ ... 単純パーセプトロン1960頃. 多層パーセプトロン1985頃. SVM 1995頃

やってみたらできた

Page 15: Mathematical Foundation of Statistical Learningwatanabe- · 非常に多くの . パラメータ ... 単純パーセプトロン1960頃. 多層パーセプトロン1985頃. SVM 1995頃

最急降下法の準備:微分の性質(1)

任意の関数 f,g,h の合成関数の微分

f(g(x))’=f ’(g(x)) g’(x)

f(g(h(x)))’=f ’(g(h(x))) g’(h(x)) h’(x)

y = σ(o) o = w1x1+w2x2+・・・+wMxM

∂y/∂wi = σ’(o) xi

例えば

のときは

Page 16: Mathematical Foundation of Statistical Learningwatanabe- · 非常に多くの . パラメータ ... 単純パーセプトロン1960頃. 多層パーセプトロン1985頃. SVM 1995頃

最急降下法の準備(2)

σ(x) = 1 / (1+ e-x) の微分は

σ’ (x) = σ(x) (1-σ(x) )

シグモイド関数のとき

つまり関数の微分を関数の出力だけで計算できる。

以上のことを用いると確率降下の式は、少ない演算で計算できる。

Page 17: Mathematical Foundation of Statistical Learningwatanabe- · 非常に多くの . パラメータ ... 単純パーセプトロン1960頃. 多層パーセプトロン1985頃. SVM 1995頃

学習の様子

i

j

k

xk

uij

φi

fi

wjk

θj

oj

yi教師データ

NN出力

外界からの入力

入力 x = (x1,x2,…,xM)

に対する

神経回路網の答え

(f1,f2,…,fN)

教師データ

(y1,y2,…,yN)

二乗誤差が小さくなるよう

に各パラメータを変更

Page 18: Mathematical Foundation of Statistical Learningwatanabe- · 非常に多くの . パラメータ ... 単純パーセプトロン1960頃. 多層パーセプトロン1985頃. SVM 1995頃

最急降下法の計算

神経回路網の出力を f = (yi), 教師データを y= (yi) とする。

二乗誤差は E(w) = ― ∑(fi -yi )2N

i=1

12

(N : 出力の次元)

∂E∂ uij

= (fi -yi ) fi (1- fi ) oj

= (fi -yi ) ∂ fi∂ uij fi =σ(∑uijoj+φi)

H

j=1

◎ つまり微分は各ニューロンの出力を組み合わせると計算できる。

「中間→出力」の結合荷重についての微分は

Page 19: Mathematical Foundation of Statistical Learningwatanabe- · 非常に多くの . パラメータ ... 単純パーセプトロン1960頃. 多層パーセプトロン1985頃. SVM 1995頃

(参考)生体神経回路との関係について

uij := uij ーη(fi -yi ) fi (1- fi ) oj

fi

ojuij

システム全体の誤差の最急降下を各ニューロンのローカルな値だけを使って計算できる。生体神経回路と類似するかどうかは、まだわかっていない。

(参考) Hebb 則生体神経回路の結合荷重は、通った信号の強さに比例して強くなる

◎ 導出された最急降下法は、自然界にある生体神経回路でも使われているのだろうか(?)。小脳では使われているらしい(??)

Biological Neural Network

Page 20: Mathematical Foundation of Statistical Learningwatanabe- · 非常に多くの . パラメータ ... 単純パーセプトロン1960頃. 多層パーセプトロン1985頃. SVM 1995頃

問題1 E(w) = ― ∑(fi -yi )2N

i=1

12

(1) ∂ fi∂oj

∂ oj

∂wjk

∂E∂wjk

(2) (3) をそれぞれ求めよ。

(3) の結果を誤差逆伝播法という

∂E∂wjk

= ∑ (fi -yi ) ∂ fi∂wjk

N

i=1

∂ fi∂wjk

= ∂ fi∂oj

∂ oj

∂wjkoj=σ(∑wjkxk+θj)

M

k=1

ヒント:

fi =σ(∑uijoj+φi)H

j=1

(注意) どんなに深い学習モデルでもこれと同じ計算法が使える。

「入力→中間」の結合荷重についての微分を計算してみましょう。

中間→出力

入力→中間

Page 21: Mathematical Foundation of Statistical Learningwatanabe- · 非常に多くの . パラメータ ... 単純パーセプトロン1960頃. 多層パーセプトロン1985頃. SVM 1995頃

いろいろなことに応用してみよう

Page 22: Mathematical Foundation of Statistical Learningwatanabe- · 非常に多くの . パラメータ ... 単純パーセプトロン1960頃. 多層パーセプトロン1985頃. SVM 1995頃

構造の発見

適切なパラメータを見つけるには時間がかかる。

運が悪いと見つからないときもある。

適切なパラメータが見つかると急速に学習が進む。

ずっと続けると・・・。

汎化誤差

学習誤差

学習回数

Page 23: Mathematical Foundation of Statistical Learningwatanabe- · 非常に多くの . パラメータ ... 単純パーセプトロン1960頃. 多層パーセプトロン1985頃. SVM 1995頃

学習誤差と汎化誤差

E(w) = (1/n) Σ (Yi-f(Xi,w))2n

i=1

学習誤差 (学習データ (Xi,Yi)を使う)

E(w) = (1/m) Σ (Yj-f(Xj,w))2m

j=1

汎化誤差 (学習データとは違うテスト用データ (Xj,Yj) を使う)

学習誤差が小さくなるように学習すると汎化誤差も小さくなるのだろうか?

Page 24: Mathematical Foundation of Statistical Learningwatanabe- · 非常に多くの . パラメータ ... 単純パーセプトロン1960頃. 多層パーセプトロン1985頃. SVM 1995頃

過学習現象

学習は 「大局→局所」の順で進んでいく。

学習の初期は学習誤差と汎化誤差は同様に小さくなる。

学習が進むと学習誤差は小さくなるにも関わらず汎化誤差は増大することがある。

汎化誤差

学習誤差

学習回数

Page 25: Mathematical Foundation of Statistical Learningwatanabe- · 非常に多くの . パラメータ ... 単純パーセプトロン1960頃. 多層パーセプトロン1985頃. SVM 1995頃

「構造の発見」と「過学習」は区別できるか

◎ 複雑なモデルでも最急降下で学習できる。◎ 「構造の発見」ができる学習モデルは

過学習を起こしやすいモデルでもある。

汎化誤差

学習回数

学習誤差

構造発見

構造発見

誤差

Page 26: Mathematical Foundation of Statistical Learningwatanabe- · 非常に多くの . パラメータ ... 単純パーセプトロン1960頃. 多層パーセプトロン1985頃. SVM 1995頃

出力1個

中間H個

入力2個

出力

入力

教師データ

中間

問題2

2次元学習データの例

ニューラルネットの学習の過程を観察してみよう。学習は、初期、中期、後期でどのように進むのだろうか。

Page 27: Mathematical Foundation of Statistical Learningwatanabe- · 非常に多くの . パラメータ ... 単純パーセプトロン1960頃. 多層パーセプトロン1985頃. SVM 1995頃

問題2

初期

学習誤差と汎化誤差の挙動は似ているか?

中期 その後

学習の様子

学習誤差と汎化誤差