prml chapter 5

50
パパパパパパパパパパパ パ5パ パパパパパパパパパパパ D2 パパ パパ PRML パパ 2012/4/25

Upload: masahito-ohue

Post on 14-Jun-2015

4.715 views

Category:

Documents


2 download

DESCRIPTION

PRMLの5章前半

TRANSCRIPT

Page 1: PRML Chapter 5

パターン認識と機械学習第 5章 ニューラルネットワーク

D2 大上 雅史PRML輪講 2012/4/25

Page 2: PRML Chapter 5

目次

4/25/2012

第 5 章 ニューラルネットワーク5.1 フィードフォワードネットワーク関数5.2 ネットワーク訓練5.3 誤差逆伝播

http://www2.edu.ipa.go.jp/gz/a-cg/a-800/a-810/a-811.jpg

Page 3: PRML Chapter 5

ニューラルネットワーク

脳機能に見られる特性をシミュレーションによって表現することを目指した数学モデル

4/25/2012

http://www.lab.kochi-tech.ac.jp/future/1110/okasaka/neural.htm

Page 4: PRML Chapter 5

線形モデルの復讐復習

例:多項式曲線フィッティング

4/25/2012

Page 5: PRML Chapter 5

線形モデルの復習

一般形

• Áj(x) :基底関数• Á0(x) = 1, w0 はバイアス項

多項式曲線フィッティングでは

4/25/2012

Page 6: PRML Chapter 5

回帰問題とクラス分類問題

回帰問題

クラス分類問題

• f( ) を非線形活性化関数という• f( ) の例:

4/25/2012

Page 7: PRML Chapter 5

ニューラルネットワークの線形モデル

線形和の重み係数 w を訓練する基本的なニューラルネットワーク

4/25/2012

Page 8: PRML Chapter 5

基本的なニューラルネットワーク

入力変数( x1,…, xD )の線形和(活性)をつくる

• (1) は 1 層目• wji : 重みパラメータ

• wj0 : バイアスパラメータ

• aj : 活性

非線形活性化関数にとおす

• h は微分可能であるとする4/25/2012

i の列 j の列 k の列

Page 9: PRML Chapter 5

基本的なニューラルネットワーク

計算した z の線形和(出力ユニット活性)を求める

適当な活性化関数にとおす• だいたいシグモイド関数

4/25/2012

i の列 j の列 k の列

Page 10: PRML Chapter 5

基本的なニューラルネットワーク

まとめ

x0=1 として,

4/25/2012

Page 11: PRML Chapter 5

複雑なネットワーク ≠複雑ネットワーク

複雑なネットワークで,一般的な写像を表せる• フィードフォワード構造(有向閉路がない)に限る

4/25/2012

K: k への接続を持つ全てのユニット

Page 12: PRML Chapter 5

ネットワーク訓練

ネットワークパラメータ w を決める• 決め方→二乗和誤差の最小化

定式化• 入力ベクトル • 目標ベクトル• 誤差関数

4/25/2012

Page 13: PRML Chapter 5

ネットワーク訓練

ネットワーク出力の確率的解釈が大事回帰問題として,実数値目標変数 t を考える• t は平均が x に依存するガウス分布に従う

• 尤度関数

4/25/2012

Page 14: PRML Chapter 5

復習:ガウス分布

4/25/2012

i.i.d. データ に対する対数尤度

Page 15: PRML Chapter 5

ネットワーク訓練

誤差関数(負の対数尤度)

• ニューラルネットワークの研究では尤度最大化より誤差関数最小化の方が常套手段

• 誤差関数を最小化して最尤推定解を求める(尤度最大化と等価である)

4/25/2012

Page 16: PRML Chapter 5

ネットワーク訓練w を求める→ E(w) の最小化

• y(xn,w) の非線形性により正確には局所解

wML が求まったら b は誤差関数最小化で求められる

• を b で微分して 0 と置く

4/25/2012

Page 17: PRML Chapter 5

ネットワーク訓練

目標変数が複数( K 個)の場合( t→t )• 条件付き確率が独立,ノイズの分散が共通であると

仮定

• wML :尤度最大化→二乗和誤差関数の最小化

4/25/2012

証明

Page 18: PRML Chapter 5

ネットワーク訓練• b は誤差関数最小化によって求められる

• K は目標変数の数

4/25/2012

Page 19: PRML Chapter 5

ネットワーク訓練

2 クラス分類問題の場合• t=1 がクラス C1 , t=0 がクラス C2

• ロジスティックシグモイド関数を活性化関数とする

• 目標の条件付き分布(ベルヌーイ分布)

• 誤差関数(負の対数尤度)

4/25/2012

交差エントロピー誤差関数

Page 20: PRML Chapter 5

ネットワーク訓練

K 個の異なる 2 クラス分類問題の場合• 活性化関数・・・ロジスティックシグモイド関数• K 個の出力を持つネットワーク

• 誤差関数(負の対数尤度)

4/25/2012

交差エントロピー誤差関数

Page 21: PRML Chapter 5

ネットワーク訓練

標準的な K クラス分類問題の場合• 1-of-K 符号化法で表されるとする• ネットワーク出力は• 誤差関数(負の対数尤度)

• 出力ユニットの活性化関数はソフトマックス関数

4/25/2012

Page 22: PRML Chapter 5

ネットワーク訓練

まとめ

4/25/2012

活性化関数 誤差関数

回帰問題 線形 二乗和

(独立な多数の)2 クラス分類問題

ロジスティックシグモイド

交差エントロピー

多クラス分類問題 ソフトマックス多クラス交差エントロ

ピー

2 クラス分類問題ロジスティックシグ

モイドor ソフトマックス

交差エントロピー

Page 23: PRML Chapter 5

パラメータ最適化

E(w) の最小化問題

4/25/2012

Page 24: PRML Chapter 5

局所二次近似

重み空間内の点  の周りでの E(w) の二次近似

• : 勾配

•                 : ヘッセ行列

の近くでの勾配の局所近似(二次近似式の微分)

4/25/2012

Page 25: PRML Chapter 5

局所二次近似

極小点 w* の周りで考えると b=0

(ヘッセ行列の)固有値問題• 固有方程式• ヘッセ行列は実対称行列

→固有ベクトル u は完全正規直交系を成す( p.318 付録 C )

•      を固有ベクトルの線形結合で表す

4/25/2012

Page 26: PRML Chapter 5

局所二次近似

以上を用いて誤差関数を書き換える

4/25/2012

Page 27: PRML Chapter 5

行列の正定値性

行列 A が正定値である⇔行列 A が正定値である⇔ A の全ての固有値が正

4/25/2012

証明

Page 28: PRML Chapter 5

誤差関数の等高線

固有空間上の誤差関数の等高線は楕円となる

4/25/2012

Page 29: PRML Chapter 5

誤差関数の等高線

固有空間上の誤差関数の等高線は楕円となる

4/25/2012

証明

Page 30: PRML Chapter 5

局所二次近似

ヘッセ行列 H の     での値が正定値 ⇔ は極小点である

4/25/2012

証明⇒

証明⇐

Page 31: PRML Chapter 5

勾配情報の利用

誤差曲面は b と H で決定される

• b の独立なパラメータ数・・・ W 個 (W は w の次元 )

• H の独立なパラメータ数・・・ W(W+1)/2 個

• 極小点を求めるために必要な点の数 O(W2)• 極小点の評価に必要なステップ数 O(W)

の評価で W 個の情報が得られる• 勾配情報を用いれば

4/25/2012

Page 32: PRML Chapter 5

勾配降下最適化(最急 /勾配降下法)

勾配降下法による重み最適化

• h :学習率パラメータ

全データによる訓練→バッチ訓練• 勾配降下法より良い方法がある

• 共役勾配法• 準ニュートン法

1 個ずつデータを使う訓練→オンライン訓練• 大規模データのときに便利

4/25/2012

Page 33: PRML Chapter 5

確率的勾配降下法(オンライン版勾配降下法)

確率的勾配降下法の誤差関数

•     :各データ点についての誤差

確率的勾配降下法の更新式

• h のスケジューリングが重要• 大域的最適解が得られるかも

• E の停留点は必ずしも Ei の停留点ではないから

4/25/2012

Page 34: PRML Chapter 5

バックプロパゲーション

誤差逆伝播法(バックプロパゲーション)• 誤差関数の勾配を効率良く評価する方法 

    wikipedia より1. ネットワークの出力と与えられたサンプルの最適解を比較する.各出力ユニットについて誤差を計算する.

2. 個々のユニットの期待される出力値と重み,要求された出力と実際の出力の差(誤差)を計算する.

3. 各ユニットの重みを誤差が小さくなるよう調整する.4. より大きな重みで接続された前層のユニットに誤差の責任がある

と決める.5. そのユニットのさらに前層のユニットついて同様の処理を行う

4/25/2012

バックプロパゲーション伝言ゲームにおいて,最後の人から逆方向に「元々はどういう言葉だったの?」と伝言することで誤りを修正するアルゴリズム.(朱鷺の社より)

× 伝搬 ○伝播× でんぱん ○でんぱ

Page 35: PRML Chapter 5

誤差関数微分の評価

単純な線形モデルで考える• 出力 yk が入力変数 xi の線形和

• 誤差関数

入力パターン n の誤差関数の重みに関する勾配

• 接続 i-j の出力側の誤差信号と入力側の変数の積の形

4/25/2012

Page 36: PRML Chapter 5

誤差関数の偏微分の計算

計算(添字に注意, (n) に意味はないが補足的に)

4/25/2012

Page 37: PRML Chapter 5

バックプロパゲーション

一般のフィードフォワードネットワークの場合• ユニットの出力

• 微分する(添字 n を省略)

• 正準連結関数を活性化関数に用いた出力ユニットでは

4/25/2012

:誤差

Page 38: PRML Chapter 5

復習:正準連結関数

一般化線形モデル

•   :活性化関数•   :連結関数

正準連結関数• 条件付き確率分布を指数型分布族から選ぶ• 活性化関数を正準連結関数から選ぶ→ 誤差関数の微分が誤差 (yn-tn) と特徴ベクトル j の積になる

4/25/2012

Page 39: PRML Chapter 5

バックプロパゲーション

隠れユニットの誤差

逆伝播公式

4/25/2012

Page 40: PRML Chapter 5

バックプロパゲーション

まとめ(誤差逆伝播)

1. 入力ベクトル xn を入れ,全てのユニットの出力を求める

2. 全ての出力ユニットの誤差 dk を評価する

3. dk を逆伝播させて全ての隠れユニットの誤差 dj を得る

4. 必要な微分を評価する

4/25/2012

(順伝播)

Page 41: PRML Chapter 5

バックプロパゲーション

補足• バッチ手法の場合 →全体の誤差関数の微分は全てのパターンの総和

• ユニットごとに活性化関数が違う場合 →特に変わらない  (ユニットごとの h を用いて計算すれば良い)

4/25/2012

Page 42: PRML Chapter 5

バックプロパゲーションの計算例

逆伝播手続きの単純な例• 2 層ネットワーク• 誤差関数:二乗和誤差関数

• 出力ユニットの活性化関数:線形

• 隠れユニットの活性化関数:シグモイド型

4/25/2012

Page 43: PRML Chapter 5

tanh 関数の性質

定義

微分

4/25/2012

Page 44: PRML Chapter 5

バックプロパゲーションの計算例

1. 全てのユニットの出力を求める

2. 出力ユニットの dk を計算する

4/25/2012

Page 45: PRML Chapter 5

バックプロパゲーションの計算例

3. dk を逆伝播させて隠れユニットの誤差 dj を求める

4. 誤差関数の微分を得る

4/25/2012

Page 46: PRML Chapter 5

バックプロパゲーションの効率

順伝播の計算量・・・• の計算量

• 結合が非常に疎である場合を除くと 重み数≫ユニット数

• 逆伝播も同様

4/25/2012

Page 47: PRML Chapter 5

誤差関数の数値微分

数値微分(有限幅差分)の利用• 前進差分(前方差分)

• 中央差分(中心差分)• 誤差項が小さくなるが,前進差分の倍くらいの計算量が必要

数値微分は計算量が• 逆伝播公式の結果の正当性を数値微分で確認する,など

4/25/2012

Page 48: PRML Chapter 5

数値微分の誤差の評価

前進差分• 誤差の評価

中央差分• 誤差の評価

4/25/2012

Page 49: PRML Chapter 5

バックプロパゲーションの応用

ヤコビ行列の評価を逆伝播で計算する

モジュール型パターン認識システムを考える• 誤差関数の微分

4/25/2012

ヤコビ行列

Page 50: PRML Chapter 5

ヤコビ行列のバックプロパゲーションヤコビ行列の要素を変形

微分を計算

出力ユニット• シグモイド活性化関数

• ソフトマックス関数

4/25/2012