prml chapter5
DESCRIPTION
PRML(Pattern Recognition and Machine Learning) chapter5TRANSCRIPT
ニューラルネットワーク
発表者:堀川隆弘
id:thorikawa
第6回PRML読書会
4章の復習
• 4.3.2 ロジスティック回帰
– 2クラス分類
– 事後確率は特徴ベクトルの線形関数のロジスティック・シグモイド関数として表せる。
– 尤度の負の対数をとると、交差エントロピー誤差関数を得られる。
N
n
nnnn ytytwE1
)1ln()1(ln)(
)()()|( T
1 w yCp
4章の復習
• 4.3.4 多クラスロジスティック回帰
– 多クラス分類
– 事後確率は特徴ベクトルの線形関数のソフトマックス関数として表せる
– 尤度の負の対数をとると、以下の交差エントロピー誤差関数を得られる。
T
)exp(
)exp()()|(
kk
j j
kkk
a
a
ayCp
w
N
n
N
k
nknk ytwE1 1
ln)(
ニューラルネットワークイントロ
• 3章・4章で議論してきた基底関数の線形
和で表わされるモデルを、実際の問題に適用していくためには、固定の基底関数ではなく、基底関数をデータに適応させる必要がある。
• 解決のアプローチとして、SVM(7章)とニューラルネットワークがある。
SVMとニューラルネットワーク
• SVM– 訓練データ点を中心とした基底関数群をまず定義し、その中の一部を訓練中に選ぶ
– コンパクトではない(基底関数の数が多い)
• ニューラルネットワーク– 事前に基底関数の数を固定し、それらに対してパラメトリック形を用い、そのパラメータ値を訓練中に適応させる
– コンパクト(新規のデータを素早く処理することができる)
5.1 フィードフォワードネットワーク関数
フィードフォワードネットワーク
• 回帰・2クラス分類・多クラス分類、いずれのパターンも特徴空間上の一般化線形関数として表せた。
• さらに、特徴空間の基底関数 をパラメータ依存として、これらのパラメータを訓練中に、調整することを考える。
• ニューラルネットワークにおいては、自体が入力の線形和の非線形関数とする。
)(x
)(x
フィードフォワードネットワーク
)(
(1))1(
jj
ijij
ahz
xa
w
隠れユニット
)(
(1))2(
kk
jkjk
ay
za
w
出力ユニット
関数近似特性
• 線形出力を持つ2層ネットワークは、十分な数の隠れユニットがあれば、コンパクトな定義域を持つどんな連続関数でも、任意の精度で一様に近似できる。
• 以下、証明概略
– 参考文献
• 熊沢逸夫「学習とニューラルネットワーク」(森北出版)
関数近似特性 - 証明概略
• 1変数関数の近似の場合
• まず、以下の関数Imulseを定義
)2
()2
()(Im
xxxpulse
Impulse(x)は0で急峻に立ち上がる関数になる
関数近似特性 - 証明概略
• 任意の関数(*)はImpulse関数の線形和で近似できる。
– f(x)の における標本値 を求める。
– を重みとして を加え合わせることで元の関数を近似できる。
*有限の定義域を持つ二乗可積分とする
nx )( nf )( nf )(Im nxpulse
)(Im)()(0
nxpulsenfxfN
n
関数近似特性 - 証明概略
• Impulseの定義を代入すると
• これは、N個の隠れユニットとシグモイド関数を活性化関数にもつ、2層ニューラルネットワークで計算できる
• つまり、任意の連続な1変数は2層ニューラルネットワークで、任意の精度で近似できる。
N
n
n nxwxf0
)()(
))1(()( nfnfwn
関数近似特性 - 証明概略
• 多変数関数の近似の場合
• フーリエ級数展開を用いる
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変数関数の場合、任意の精度で近
似できることが分かっているので、適当なxの範囲で、sin(x),cos(x)を近似するネットワークを構成することができる。
N
Nn
n
N
Nn
n
nxcx
nxsx
)()cos(
)()sin(
関数近似特性 - 証明概略
• フーリエ級数展開に、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ただし、 は整理後の係数
関数近似特性 - 証明概略
• 入力変数の線形和に対して、シグモイド関数で活性化し、さらにその線形和をとっている⇒ニューラルネットワークで計算可能
• つまり与えられた多変数関数を、任意の精度で近似するニューラルネットワークが存在する。
5.1 重み空間対称性
重み空間対称性
• 同じ入力から出力への関数を表わす重みベクトルwが複数選べる
• 活性化関数が奇関数ならば、重みパラメータの符号を反転させても同じ出力となる。(2^Mの等価な重みベクトル)
• ある隠れユニットに入る重みパラメータと、別の隠れユニットに入る重みパラメータを丸ごと入れ替えても同じ出力となる。(M!の等価な重みベクトル)
5.2 ネットワーク訓練
ネットワーク訓練
• ネットワークパラメータ(重みパラメータとバイアスパラメータ)の決定問題へのアプローチを考える。
• 単純なアプローチは、1.1節と同様、二乗和誤差関数を最小化することだけど、、
二乗和誤差と決めてかからずに確率的な解釈
• はじめに確率的な解釈しておくと後が楽。
• 尤度を最大化する重みは何か?
誤差関数とその微分を求める
• 4章ですでにいろいろなモデルの確率的解釈を行ってきた。
• 負の対数尤度から誤差関数を求めよう。
誤差関数とその微分を求める
• それぞれ見てみる– 回帰問題– 2クラス分類問題– 多クラス分類問題
• 4章でそれぞれに、誤差関数と出力ユニットの活性化関数に自然な組み合わせがあったことを議論した
• 特定の出力ユニットの活性に関して誤差関数の微分を求めよう(4章で求めてたけど)
• 計算はほとんど4.3.2(およびそこから参照されている演習問題)と同じ議論なので、計算過程は省略、、、したい
誤差関数とその微分を求める
• 結果– いずれの場合も、特定の出力ユニットの活性に関して誤差関数の微分は
で与えられる
– 4.3.6によると、これは「正準連結関数を活性化関数に選び、指数型分布族の中から目的変数に対する条件付き確立分布を選択することから得られる一般的な結果」
kk
k
tya
E
もう一度まとめ
出力ユニットの活性化関数
負の対数尤度に基づく誤差関数
誤差関数の特定の出力ユニットの活性に関する微分
回帰問題 恒等写像 二乗和誤差関数
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
5.2.1 パラメータ最適化
パラメータ最適化
• 誤差関数の選び方は分かった。
• では、誤差関数E(w)を最小にする重みベクトルwを見つける課題について考えよう。
誤差関数と極小点
• 誤差関数の重み空間上の幾何学的描写
WXが誤差関数E(w)の最小値を与える
WXは重み空間上の誤差関数の極小点
▽E(wx)=0を満たす(停留点)
誤差関数と極小点
• 一般に、重み空間上でE(w)上で勾配がゼロになる点は複数存在する。
• WAは局所的極小点
• WBは大局的極小点
誤差関数と極小点
• 十分良い解を見つけるためにはいくつかの極小点を比較する必要がある
極小点を見つける
• ▽E(w)=0の解析的な解を見つけるのはほとんど無理。
• 数値的な反復手順を用いる
• 多くの場合、更新量△wには、勾配情報を利用する。
)()()1( rrr www △
5.2.2 局所二次近似
局所二次近似
• 誤差関数の局所二次近似を考える
• 停留点w*においてb三▽E=0が成り立つので
)ˆ()ˆ(2
1)ˆ()ˆ()( wwHwwwwww TTbEE
)()(2
1)()( *** wwHwwww TEE
局所二次近似
• w-w*をヘッセ行列Hの固有ベクトルの線形和に展開
• ここからHが正定値なら、右辺の第二項>0となり、E(w)>E(w*)より、w*は極小点になる
の固有値)は( H
EE
i
i
ii
2*
2
1)()( ww
5.2.3 勾配情報の利用
誤差関数の極小点発見の計算量
• 勾配情報を利用することで、誤差関数の極小点を見つけるスピードは劇的に向上する。
• 勾配情報を利用しない場合
– bとHの独立なパラメータの数はW(W+3)/2
– 勾配情報を利用しないとしたらO(W^2)の点で関数を評価しなければいけない
– それぞれの評価においてO(W)ステップが必要
– 極小点はO(W^3)のステップで見つけることができる
誤差関数の極小点発見の計算量
• 勾配情報(=▽E)を利用する場合
– ▽EにはW個の情報が含まれので、W回の勾
配の評価で関数の極小点を見つけることが期待できる。
– 誤差逆伝播法では、O(W)ステップで▽Eが評価できる。
– 極小点はO(W^2)のステップで見つけることができる
5.2.4 勾配降下最適化
最急降下法
• 勾配情報を用いて極小点を見つけるアプローチ
• 重み更新量を負の勾配方向への小さな変異に定める
• η>0は学習率パラメータ
)()()1( rrr www
バッチ訓練とオンライン訓練
• バッチ訓練– 重みベクトルの更新を訓練データ全体に対して行う
– 最急降下法のような単純なアルゴリズムだと性能が悪い
• オンライン訓練– 重みベクトルの更新を1回ごとに1つのデータ点に基づいて行う
– バッチ訓練と比べて十分に実用的– データの冗長度を効率的に扱える– 局所的極小値を回避できる(可能性がある)
疑問点(備忘録)
• 5.2.2 局所二次近似の章で説明している内
容が全体の流れの中でどういう役割をもつか?
• 多変数関数の近似の難しさ
おしまい