Top Banner
ニューラルネットワーク 発表者:堀川隆弘 id:thorikawa 6PRML読書会
42

PRML chapter5

Jan 15, 2015

Download

Technology

PRML(Pattern Recognition and Machine Learning) chapter5
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: PRML chapter5

ニューラルネットワーク

発表者:堀川隆弘

id:thorikawa

第6回PRML読書会

Page 2: PRML chapter5

4章の復習

• 4.3.2 ロジスティック回帰

– 2クラス分類

– 事後確率は特徴ベクトルの線形関数のロジスティック・シグモイド関数として表せる。

– 尤度の負の対数をとると、交差エントロピー誤差関数を得られる。

N

n

nnnn ytytwE1

)1ln()1(ln)(

)()()|( T

1 w yCp

Page 3: PRML chapter5

4章の復習

• 4.3.4 多クラスロジスティック回帰

– 多クラス分類

– 事後確率は特徴ベクトルの線形関数のソフトマックス関数として表せる

– 尤度の負の対数をとると、以下の交差エントロピー誤差関数を得られる。

T

)exp(

)exp()()|(

kk

j j

kkk

a

a

ayCp

w

N

n

N

k

nknk ytwE1 1

ln)(

Page 4: PRML chapter5

ニューラルネットワークイントロ

• 3章・4章で議論してきた基底関数の線形

和で表わされるモデルを、実際の問題に適用していくためには、固定の基底関数ではなく、基底関数をデータに適応させる必要がある。

• 解決のアプローチとして、SVM(7章)とニューラルネットワークがある。

Page 5: PRML chapter5

SVMとニューラルネットワーク

• SVM– 訓練データ点を中心とした基底関数群をまず定義し、その中の一部を訓練中に選ぶ

– コンパクトではない(基底関数の数が多い)

• ニューラルネットワーク– 事前に基底関数の数を固定し、それらに対してパラメトリック形を用い、そのパラメータ値を訓練中に適応させる

– コンパクト(新規のデータを素早く処理することができる)

Page 6: PRML chapter5

5.1 フィードフォワードネットワーク関数

Page 7: PRML chapter5

フィードフォワードネットワーク

• 回帰・2クラス分類・多クラス分類、いずれのパターンも特徴空間上の一般化線形関数として表せた。

• さらに、特徴空間の基底関数 をパラメータ依存として、これらのパラメータを訓練中に、調整することを考える。

• ニューラルネットワークにおいては、自体が入力の線形和の非線形関数とする。

)(x

)(x

Page 8: PRML chapter5

フィードフォワードネットワーク

)(

(1))1(

jj

ijij

ahz

xa

w

隠れユニット

)(

(1))2(

kk

jkjk

ay

za

w

出力ユニット

Page 9: PRML chapter5

関数近似特性

• 線形出力を持つ2層ネットワークは、十分な数の隠れユニットがあれば、コンパクトな定義域を持つどんな連続関数でも、任意の精度で一様に近似できる。

• 以下、証明概略

– 参考文献

• 熊沢逸夫「学習とニューラルネットワーク」(森北出版)

Page 10: PRML chapter5

関数近似特性 - 証明概略

• 1変数関数の近似の場合

• まず、以下の関数Imulseを定義

)2

()2

()(Im

xxxpulse

Impulse(x)は0で急峻に立ち上がる関数になる

Page 11: PRML chapter5

関数近似特性 - 証明概略

• 任意の関数(*)はImpulse関数の線形和で近似できる。

– f(x)の における標本値 を求める。

– を重みとして を加え合わせることで元の関数を近似できる。

*有限の定義域を持つ二乗可積分とする

nx )( nf )( nf )(Im nxpulse

)(Im)()(0

nxpulsenfxfN

n

Page 12: PRML chapter5

関数近似特性 - 証明概略

• Impulseの定義を代入すると

• これは、N個の隠れユニットとシグモイド関数を活性化関数にもつ、2層ニューラルネットワークで計算できる

• つまり、任意の連続な1変数は2層ニューラルネットワークで、任意の精度で近似できる。

N

n

n nxwxf0

)()(

))1(()( nfnfwn

Page 13: PRML chapter5

関数近似特性 - 証明概略

• 多変数関数の近似の場合

• フーリエ級数展開を用いる

1

1

21

212

20 0

22

2

11

1

22

2

11

1

0

21

222cos

222sin

),,(N

n

N

n

MM

M

nnn

MM

M

nnnN

n

M

M

M

M

M

xnT

xnT

xnT

b

xnT

xnT

xnT

a

xxxf

Page 14: PRML chapter5

関数近似特性 - 証明概略

• また、1変数関数の場合、任意の精度で近

似できることが分かっているので、適当なxの範囲で、sin(x),cos(x)を近似するネットワークを構成することができる。

N

Nn

n

N

Nn

n

nxcx

nxsx

)()cos(

)()sin(

Page 15: PRML chapter5

関数近似特性 - 証明概略

• フーリエ級数展開に、sin(x),cos(x)のNN展開を代入

1

1

21

212

20 0

22

2

11

1

22

2

11

1

0

21

222cos

222sin

),,(N

n

N

n

MM

M

nnn

MM

M

nnnN

n

M

M

M

M

M

xnT

xnT

xnT

b

xnT

xnT

xnT

a

xxxf

1

1

21

2

20 0

22

2

11

10

21

222

),,(

N

n

N

n

N

Nn

MM

M

nnnn

N

n

M

M

M

Mnxn

Txn

Txn

Tw

xxxf

  

Mnnnnw 21ただし、 は整理後の係数

Page 16: PRML chapter5

関数近似特性 - 証明概略

• 入力変数の線形和に対して、シグモイド関数で活性化し、さらにその線形和をとっている⇒ニューラルネットワークで計算可能

• つまり与えられた多変数関数を、任意の精度で近似するニューラルネットワークが存在する。

Page 17: PRML chapter5

5.1 重み空間対称性

Page 18: PRML chapter5

重み空間対称性

• 同じ入力から出力への関数を表わす重みベクトルwが複数選べる

• 活性化関数が奇関数ならば、重みパラメータの符号を反転させても同じ出力となる。(2^Mの等価な重みベクトル)

• ある隠れユニットに入る重みパラメータと、別の隠れユニットに入る重みパラメータを丸ごと入れ替えても同じ出力となる。(M!の等価な重みベクトル)

Page 19: PRML chapter5

5.2 ネットワーク訓練

Page 20: PRML chapter5

ネットワーク訓練

• ネットワークパラメータ(重みパラメータとバイアスパラメータ)の決定問題へのアプローチを考える。

• 単純なアプローチは、1.1節と同様、二乗和誤差関数を最小化することだけど、、

Page 21: PRML chapter5

二乗和誤差と決めてかからずに確率的な解釈

• はじめに確率的な解釈しておくと後が楽。

• 尤度を最大化する重みは何か?

Page 22: PRML chapter5

誤差関数とその微分を求める

• 4章ですでにいろいろなモデルの確率的解釈を行ってきた。

• 負の対数尤度から誤差関数を求めよう。

Page 23: PRML chapter5

誤差関数とその微分を求める

• それぞれ見てみる– 回帰問題– 2クラス分類問題– 多クラス分類問題

• 4章でそれぞれに、誤差関数と出力ユニットの活性化関数に自然な組み合わせがあったことを議論した

• 特定の出力ユニットの活性に関して誤差関数の微分を求めよう(4章で求めてたけど)

• 計算はほとんど4.3.2(およびそこから参照されている演習問題)と同じ議論なので、計算過程は省略、、、したい

Page 24: PRML chapter5

誤差関数とその微分を求める

• 結果– いずれの場合も、特定の出力ユニットの活性に関して誤差関数の微分は

で与えられる

– 4.3.6によると、これは「正準連結関数を活性化関数に選び、指数型分布族の中から目的変数に対する条件付き確立分布を選択することから得られる一般的な結果」

kk

k

tya

E

Page 25: PRML chapter5

もう一度まとめ

出力ユニットの活性化関数

負の対数尤度に基づく誤差関数

誤差関数の特定の出力ユニットの活性に関する微分

回帰問題 恒等写像 二乗和誤差関数

2クラス分類問題 シグモイド関数 交差エントロピー誤差関数

多クラス分類問題 ソフトマックス関数 交差エントロピー誤差関数

kk ay

)exp(1

1

k

ka

y

j

j

kk

wxa

wxay

)),(exp(

)),(exp(

N

n nn

nn

yt

ytwE

1 )1ln()1(

ln)(

N

n

N

k

nknk ytwE1 1

ln)(

N

n

nn twxywE1

2),()( kk

k

tya

E

kk

k

tya

E

kk

k

tya

E

Page 26: PRML chapter5

5.2.1 パラメータ最適化

Page 27: PRML chapter5

パラメータ最適化

• 誤差関数の選び方は分かった。

• では、誤差関数E(w)を最小にする重みベクトルwを見つける課題について考えよう。

Page 28: PRML chapter5

誤差関数と極小点

• 誤差関数の重み空間上の幾何学的描写

WXが誤差関数E(w)の最小値を与える

WXは重み空間上の誤差関数の極小点

▽E(wx)=0を満たす(停留点)

Page 29: PRML chapter5

誤差関数と極小点

• 一般に、重み空間上でE(w)上で勾配がゼロになる点は複数存在する。

• WAは局所的極小点

• WBは大局的極小点

Page 30: PRML chapter5

誤差関数と極小点

• 十分良い解を見つけるためにはいくつかの極小点を比較する必要がある

Page 31: PRML chapter5

極小点を見つける

• ▽E(w)=0の解析的な解を見つけるのはほとんど無理。

• 数値的な反復手順を用いる

• 多くの場合、更新量△wには、勾配情報を利用する。

)()()1( rrr www △

Page 32: PRML chapter5

5.2.2 局所二次近似

Page 33: PRML chapter5

局所二次近似

• 誤差関数の局所二次近似を考える

• 停留点w*においてb三▽E=0が成り立つので

)ˆ()ˆ(2

1)ˆ()ˆ()( wwHwwwwww TTbEE

)()(2

1)()( *** wwHwwww TEE

Page 34: PRML chapter5

局所二次近似

• w-w*をヘッセ行列Hの固有ベクトルの線形和に展開

• ここからHが正定値なら、右辺の第二項>0となり、E(w)>E(w*)より、w*は極小点になる

の固有値)は( H

EE

i

i

ii

2*

2

1)()( ww

Page 35: PRML chapter5

5.2.3 勾配情報の利用

Page 36: PRML chapter5

誤差関数の極小点発見の計算量

• 勾配情報を利用することで、誤差関数の極小点を見つけるスピードは劇的に向上する。

• 勾配情報を利用しない場合

– bとHの独立なパラメータの数はW(W+3)/2

– 勾配情報を利用しないとしたらO(W^2)の点で関数を評価しなければいけない

– それぞれの評価においてO(W)ステップが必要

– 極小点はO(W^3)のステップで見つけることができる

Page 37: PRML chapter5

誤差関数の極小点発見の計算量

• 勾配情報(=▽E)を利用する場合

– ▽EにはW個の情報が含まれので、W回の勾

配の評価で関数の極小点を見つけることが期待できる。

– 誤差逆伝播法では、O(W)ステップで▽Eが評価できる。

– 極小点はO(W^2)のステップで見つけることができる

Page 38: PRML chapter5

5.2.4 勾配降下最適化

Page 39: PRML chapter5

最急降下法

• 勾配情報を用いて極小点を見つけるアプローチ

• 重み更新量を負の勾配方向への小さな変異に定める

• η>0は学習率パラメータ

)()()1( rrr www

Page 40: PRML chapter5

バッチ訓練とオンライン訓練

• バッチ訓練– 重みベクトルの更新を訓練データ全体に対して行う

– 最急降下法のような単純なアルゴリズムだと性能が悪い

• オンライン訓練– 重みベクトルの更新を1回ごとに1つのデータ点に基づいて行う

– バッチ訓練と比べて十分に実用的– データの冗長度を効率的に扱える– 局所的極小値を回避できる(可能性がある)

Page 41: PRML chapter5

疑問点(備忘録)

• 5.2.2 局所二次近似の章で説明している内

容が全体の流れの中でどういう役割をもつか?

• 多変数関数の近似の難しさ

Page 42: PRML chapter5

おしまい