SlideShare a Scribd company logo
1 of 19
Back Propagation 
(2014/12/15) 
情報系学部3年 
T2C_ ( TwitterID: @T2C_ )
本日の流れ 
1. 前回までの流れ 
2. 誤差逆伝播法 
1. 誤差逆伝播法とは 
2. 簡単な例 
3. 詳細 
1. シグモイド関数 
2. チェインルール 
3. 出来る事 
4. 問題点 
5. 所見 
1
対象:誤差逆伝播法 
Back Propagation 
2
前回までの流れ 
• 深層学習(Deep Learning)、SUGOI 
• パーセプトロン→誤差逆伝搬(多層パーセプトロン) 
→DL 
• 単純パーセプトロンを構成(前回)、NNの基礎へ 
3 
流れを追うために 
誤差逆伝播をやってみよう(今回)
誤差逆伝播法とは 
• 1986年ラメルハート教授らにより発表される 
• 3層以上のニューラルネットワークである必要 
• 教師あり学習 
• 局所解(求めるものを完全に求められる保証なし) 
• やりたい事…入力→(何らかの判別・分類)→出力 
• (何らかの判別・分類)を自動化し未知の入力に対しても望む処理が出来る 
4
簡単な例(概要) 
• 以前紹介したもの 
→これを分けてみる 
5 
x2 
x1 
(0 , 1) (1 , 1) 
(0 , 0) (1 , 0) 
表1.2次元上のXOR 
ワケラレナイヨー 
x2 = x2 = -x 1 +1.5 -x 1 +0.5
簡単な例(分類ネットワーク) 
• 中数字は閾値(それを超えると発火) 
• OR→ x1 + x2 -0.5 > 0 の時発火 
• NAND→-x1 - x2+1.5 > 0 の時発火 
• AND→OR+NAND – 1.5 > 0の時発火 
• (先ほどの直線2本と対応) 
6 
• →下の斜線より上の領域かつ 
上の斜線より下の領域を指す 
図1.XORのネットワーク実装
簡単な例(真偽表) 
7 
入力層中間層出力層 
x1(入力) x2(入力) a1(OR) a2(NAND) y(AND) 
0 0 0 1 0 
0 1 1 1 1 
1 0 1 1 1 
1 1 1 0 0 
表2.XORネットワークの真偽表 
• 中間層の素子一つは、一つの線形判別関数に相当する 
• パーセプトロン(先週)がXORを解けないのは入力層から 
中間層に至る結合係数(重み)を変更する手段がないため
誤差逆伝播法(詳細) 
• 先ほどまでの話を一般化する 
• 総数m層のネットワークを考える 
• k層のi 番目の素子への総入力を푥푖 
푘 ,出力を푦푖 
푘 とする 
• K-1層のi 番目からk層のj 番目の素子への結合係数を 
푤푘−1 ,푘と表記する 
푖푗 
푘 = 푓 푥푖 
• 푦푖 
푘 = 
1 
푘) 
1+exp(푥푖 
푘 = 푖 푤푖푗 
1 , 푥푗 
푘−1 ,푘 ∗ 푦푖 
푘−1 [2] 
8
シグモイド関数 
• [1]式の1 
푘) 
1+exp(푥푖 
のような関数をシグモイド関数と呼ぶ 
• Xの値や係数により閾値を付随させたり、勾配を変更出来る 
• 活性化関数とも言い、発火を2値でなくアナログ値でも表示 
図2.Sigmoid関数のプロット(Python) 9
誤差逆伝播法 
• あるデータxと教師信号tが与えられたときの2乗誤差Eは 
E = 
푗 
푚 − 푡푗 )2 = 
(푦푗 
푗 
푚)2 3 
(δ푗 
• このEを減少させる方向に結合係数wを以下の式で更新してゆく 
푘−1 ,푘 = −휀 
Δ푤푖푗 
휕퐸 
푘−1 ,푘 [4] 
휕푤푖푗 
• [4]式右辺の微分はチェーンルールを用いて 
휕퐸 
푘−1 ,푘 = 
휕푤푖푗 
휕퐸 
휕푦푗 
푚 
푚 
휕푦푗 
푚−1 ,푚 = 푗 δ푗 
휕푤푖푗 
푚 
푚 휕푦푗 
푚−1 ,푚 [5] と書ける 
휕푤푖푗 
10
チェーンルール(復習?) 
• 푦 = 푦( 푧 푥 )の様な合成関数の微分を 
展開無しに푑푦 
푑푥 
= 
푑푦 
푑푧 
푑푧 
푑푥 
と表す事が出来る 
• 例えばy = (x+1) 2を微分する時푥2 + 2푥 + 1から微分 
→x+1=zと置いて푑푦 
푑푧 
푑푧 
푑푥 
= 2z * 1 =2x+2 と求める 
• y = (x+1) 999などでもすぐ出来る事が利点 
• 繋がりがある事が条件(例だとyはxの関数、xはzの関数) 
11
誤差逆伝播法 
푚 휕푦푗 
• 同様にして 푗 δ푗 
푚 
푚−1 ,푚 の微分箇所は 
휕푤푖푗 
푚 
휕푦푗 
푚−1 ,푚 = 
휕푤푖푗 
푚 
휕푦푗 
푚 
휕푥푗 
푚 
휕푥푗 
푚−1 ,푚 [6]と表せる 
휕푤푖푗 
• 
휕푦 
휕푥 
はsigmoid関数なので휕푦 
휕푥 
= 푦 1 − 푦 [7] 
• 
푚 
휕푥푗 
푚−1 ,푚 = 휕푦푖 
휕푤푖푗 
푚−1 [8] 
• まとめると[4]式は 
푚−1 ,푚 = −휀 
Δ푤푖푗 
푗 
푚 푦푗 
δ푗 
푚 1 − 푦푗 
푚 푦푖 
푚−1 9 
• これが最上位層とその一つ下の層の結合係数の更新式 
12
誤差逆伝播法(中間層以下) 
• 次に中間層以下第n層(n≠m)の素子푦푗 
푛 の結合係数の更新 
푛 で微分していく([9]式の導出と似ているので省略) 
• 誤差Eを素子푦푗 
휕퐸 
휕푦푗 
푛 = 
푘 
푛+1 푦푘 
δ푘 
푛+1 1 − 푦푘 
푛 ,푛+1 [10] 
푛+1 푤푘푗 
• ゆえに結合係数の更新式は 
푘−1 ,푘 = −휀훿푗 
Δ푤푖푗 
푘푦푗 
푘 1 − 푦푗 
푘 푦푖 
푘−1 11 
푘 = 
• また、훿푗 
푘 − 푡푗 (푘 = 푚) 
푦푗 
푘+1 푤푗푖 
푖 δ푙 
푘 ,푘+1(その他) 
[12] である 
• [12]式の下部は1つ先の層の誤差と重みの総和=BP! 
13
出来る事(一例/推測) 
• 画像処理(認識、加工等) 
• 音声処理(同) 
• 自然言語処理(認識、理解、情報抽出等) 
→データ処理(マイニング、リスク・需要予測、センサー、 
セキュリティ(暗号や最適化)、意思決定、情報幾何等) 
14
問題点 
• 局所解に陥る可能性 
• 本当に求めたい物でなく近傍の解があればそこに落ち着いてしまう 
• 過学習 
• 学習を繰り返す→教師信号に依存し過ぎて未知データに対して弱化 
• ネットワークの構造決定法が無い 
• 各層の個数、最適な重み他 
Deep Learning 15
所見 
• 応用法は知ったがその具体的な方法がわからない、ムズカシイ 
• 完全理解までは程遠い 
• 入出力の対応関係が直感的でない 
• 数式アレルギー、克服出来るのでは 
• やたらと勉強に時間がかかるが大変に面白い 
• 神の言語Python 
16
参考資料 
• 熊沢逸夫(1998) 『学習とニューラルネットワーク』森北出版 
• 浅川伸一『バックプロパゲーション』 
http://www.cis.twcu.ac.jp/~asakawa/waseda2002/ 
bp.pdf 
• David Adler(2012)『Simple Back-propagation Neural 
Network in Python source code (Python recipe)』 
http://code.activestate.com/recipes/578148- 
simple-back-propagation-neural-network-in-python-s/ 
(Webサイトは全て2014/12/14 閲覧) 
17
ありがとうございました 
18

More Related Content

What's hot

PRML勉強会@長岡 第4章線形識別モデル
PRML勉強会@長岡 第4章線形識別モデルPRML勉強会@長岡 第4章線形識別モデル
PRML勉強会@長岡 第4章線形識別モデルShohei Okada
 
PRML復々習レーン#9 前回までのあらすじ
PRML復々習レーン#9 前回までのあらすじPRML復々習レーン#9 前回までのあらすじ
PRML復々習レーン#9 前回までのあらすじsleepy_yoshi
 
2013.12.26 prml勉強会 線形回帰モデル3.2~3.4
2013.12.26 prml勉強会 線形回帰モデル3.2~3.42013.12.26 prml勉強会 線形回帰モデル3.2~3.4
2013.12.26 prml勉強会 線形回帰モデル3.2~3.4Takeshi Sakaki
 
PRML 5章 PP.227-PP.247
PRML 5章 PP.227-PP.247PRML 5章 PP.227-PP.247
PRML 5章 PP.227-PP.247Tomoki Hayashi
 
PRML 3.5.2, 3.5.3, 3.6
PRML 3.5.2, 3.5.3, 3.6PRML 3.5.2, 3.5.3, 3.6
PRML 3.5.2, 3.5.3, 3.6Kohei Tomita
 
[PRML] パターン認識と機械学習(第3章:線形回帰モデル)
[PRML] パターン認識と機械学習(第3章:線形回帰モデル)[PRML] パターン認識と機械学習(第3章:線形回帰モデル)
[PRML] パターン認識と機械学習(第3章:線形回帰モデル)Ryosuke Sasaki
 
PRML 5.2.1-5.3.3 ニューラルネットワークの学習 (誤差逆伝播) / Training Neural Networks (Backpropa...
PRML 5.2.1-5.3.3 ニューラルネットワークの学習 (誤差逆伝播) / Training Neural Networks (Backpropa...PRML 5.2.1-5.3.3 ニューラルネットワークの学習 (誤差逆伝播) / Training Neural Networks (Backpropa...
PRML 5.2.1-5.3.3 ニューラルネットワークの学習 (誤差逆伝播) / Training Neural Networks (Backpropa...Akihiro Nitta
 
ハトでもわかる単純パーセプトロン
ハトでもわかる単純パーセプトロンハトでもわかる単純パーセプトロン
ハトでもわかる単純パーセプトロンtakosumipasta
 
03_深層学習
03_深層学習03_深層学習
03_深層学習CHIHIROGO
 
はじぱた7章F5up
はじぱた7章F5upはじぱた7章F5up
はじぱた7章F5upTyee Z
 

What's hot (20)

PRML5
PRML5PRML5
PRML5
 
PRML Chapter 14
PRML Chapter 14PRML Chapter 14
PRML Chapter 14
 
PRML勉強会@長岡 第4章線形識別モデル
PRML勉強会@長岡 第4章線形識別モデルPRML勉強会@長岡 第4章線形識別モデル
PRML勉強会@長岡 第4章線形識別モデル
 
PRML復々習レーン#9 前回までのあらすじ
PRML復々習レーン#9 前回までのあらすじPRML復々習レーン#9 前回までのあらすじ
PRML復々習レーン#9 前回までのあらすじ
 
PRML 5.3-5.4
PRML 5.3-5.4PRML 5.3-5.4
PRML 5.3-5.4
 
PRML4.3.3
PRML4.3.3PRML4.3.3
PRML4.3.3
 
Prml 4
Prml 4Prml 4
Prml 4
 
Prml 4.3
Prml 4.3Prml 4.3
Prml 4.3
 
2013.12.26 prml勉強会 線形回帰モデル3.2~3.4
2013.12.26 prml勉強会 線形回帰モデル3.2~3.42013.12.26 prml勉強会 線形回帰モデル3.2~3.4
2013.12.26 prml勉強会 線形回帰モデル3.2~3.4
 
PRML第3章@京大PRML輪講
PRML第3章@京大PRML輪講PRML第3章@京大PRML輪講
PRML第3章@京大PRML輪講
 
PRML_from5.1to5.3.1
PRML_from5.1to5.3.1PRML_from5.1to5.3.1
PRML_from5.1to5.3.1
 
PRML 5章 PP.227-PP.247
PRML 5章 PP.227-PP.247PRML 5章 PP.227-PP.247
PRML 5章 PP.227-PP.247
 
PRML 3.5.2, 3.5.3, 3.6
PRML 3.5.2, 3.5.3, 3.6PRML 3.5.2, 3.5.3, 3.6
PRML 3.5.2, 3.5.3, 3.6
 
Prml4 1-4-2
Prml4 1-4-2Prml4 1-4-2
Prml4 1-4-2
 
[PRML] パターン認識と機械学習(第3章:線形回帰モデル)
[PRML] パターン認識と機械学習(第3章:線形回帰モデル)[PRML] パターン認識と機械学習(第3章:線形回帰モデル)
[PRML] パターン認識と機械学習(第3章:線形回帰モデル)
 
PRML 5.2.1-5.3.3 ニューラルネットワークの学習 (誤差逆伝播) / Training Neural Networks (Backpropa...
PRML 5.2.1-5.3.3 ニューラルネットワークの学習 (誤差逆伝播) / Training Neural Networks (Backpropa...PRML 5.2.1-5.3.3 ニューラルネットワークの学習 (誤差逆伝播) / Training Neural Networks (Backpropa...
PRML 5.2.1-5.3.3 ニューラルネットワークの学習 (誤差逆伝播) / Training Neural Networks (Backpropa...
 
NLPforml5
NLPforml5NLPforml5
NLPforml5
 
ハトでもわかる単純パーセプトロン
ハトでもわかる単純パーセプトロンハトでもわかる単純パーセプトロン
ハトでもわかる単純パーセプトロン
 
03_深層学習
03_深層学習03_深層学習
03_深層学習
 
はじぱた7章F5up
はじぱた7章F5upはじぱた7章F5up
はじぱた7章F5up
 

Similar to Back propagation

Deep learning chapter4 ,5
Deep learning chapter4 ,5Deep learning chapter4 ,5
Deep learning chapter4 ,5ShoKumada
 
ディジタル信号処理の課題解説 その3
ディジタル信号処理の課題解説 その3ディジタル信号処理の課題解説 その3
ディジタル信号処理の課題解説 その3noname409
 
PRML輪講用資料10章(パターン認識と機械学習,近似推論法)
PRML輪講用資料10章(パターン認識と機械学習,近似推論法)PRML輪講用資料10章(パターン認識と機械学習,近似推論法)
PRML輪講用資料10章(パターン認識と機械学習,近似推論法)Toshiyuki Shimono
 
機械学習と深層学習の数理
機械学習と深層学習の数理機械学習と深層学習の数理
機械学習と深層学習の数理Ryo Nakamura
 
[DL輪読会]Clebsch–Gordan Nets: a Fully Fourier Space Spherical Convolutional Neu...
[DL輪読会]Clebsch–Gordan Nets: a Fully Fourier Space Spherical Convolutional Neu...[DL輪読会]Clebsch–Gordan Nets: a Fully Fourier Space Spherical Convolutional Neu...
[DL輪読会]Clebsch–Gordan Nets: a Fully Fourier Space Spherical Convolutional Neu...Deep Learning JP
 
20181214 clebsch gordan_mizuta
20181214 clebsch gordan_mizuta20181214 clebsch gordan_mizuta
20181214 clebsch gordan_mizutaRei Mizuta
 
RBMを応用した事前学習とDNN学習
RBMを応用した事前学習とDNN学習RBMを応用した事前学習とDNN学習
RBMを応用した事前学習とDNN学習Masayuki Tanaka
 
東京都市大学 データ解析入門 6 回帰分析とモデル選択 1
東京都市大学 データ解析入門 6 回帰分析とモデル選択 1東京都市大学 データ解析入門 6 回帰分析とモデル選択 1
東京都市大学 データ解析入門 6 回帰分析とモデル選択 1hirokazutanaka
 
The review of 'Explaining nonlinear classification decisions with deep Taylor...
The review of 'Explaining nonlinear classification decisions with deep Taylor...The review of 'Explaining nonlinear classification decisions with deep Taylor...
The review of 'Explaining nonlinear classification decisions with deep Taylor...tetsuo ishigaki
 
ディジタル信号処理の課題解説
ディジタル信号処理の課題解説ディジタル信号処理の課題解説
ディジタル信号処理の課題解説noname409
 
ディジタル信号処理 課題解説(その1) 2014年度版
ディジタル信号処理 課題解説(その1) 2014年度版ディジタル信号処理 課題解説(その1) 2014年度版
ディジタル信号処理 課題解説(その1) 2014年度版dsp_kyoto_2014
 
[DL輪読会]Convolutional Conditional Neural Processesと Neural Processes Familyの紹介
[DL輪読会]Convolutional Conditional Neural Processesと Neural Processes Familyの紹介[DL輪読会]Convolutional Conditional Neural Processesと Neural Processes Familyの紹介
[DL輪読会]Convolutional Conditional Neural Processesと Neural Processes Familyの紹介Deep Learning JP
 
マルコフ連鎖モンテカルロ法入門-2
マルコフ連鎖モンテカルロ法入門-2マルコフ連鎖モンテカルロ法入門-2
マルコフ連鎖モンテカルロ法入門-2Nagi Teramo
 
Nmp for quantum_chemistry
Nmp for  quantum_chemistryNmp for  quantum_chemistry
Nmp for quantum_chemistryshima o
 
Bishop prml 9.3_wk77_100408-1504
Bishop prml 9.3_wk77_100408-1504Bishop prml 9.3_wk77_100408-1504
Bishop prml 9.3_wk77_100408-1504Wataru Kishimoto
 
PRML chap.10 latter half
PRML chap.10 latter halfPRML chap.10 latter half
PRML chap.10 latter halfNarihira Takuya
 

Similar to Back propagation (20)

レポート1
レポート1レポート1
レポート1
 
Deep learning chapter4 ,5
Deep learning chapter4 ,5Deep learning chapter4 ,5
Deep learning chapter4 ,5
 
ディジタル信号処理の課題解説 その3
ディジタル信号処理の課題解説 その3ディジタル信号処理の課題解説 その3
ディジタル信号処理の課題解説 その3
 
PRML輪講用資料10章(パターン認識と機械学習,近似推論法)
PRML輪講用資料10章(パターン認識と機械学習,近似推論法)PRML輪講用資料10章(パターン認識と機械学習,近似推論法)
PRML輪講用資料10章(パターン認識と機械学習,近似推論法)
 
機械学習と深層学習の数理
機械学習と深層学習の数理機械学習と深層学習の数理
機械学習と深層学習の数理
 
[DL輪読会]Clebsch–Gordan Nets: a Fully Fourier Space Spherical Convolutional Neu...
[DL輪読会]Clebsch–Gordan Nets: a Fully Fourier Space Spherical Convolutional Neu...[DL輪読会]Clebsch–Gordan Nets: a Fully Fourier Space Spherical Convolutional Neu...
[DL輪読会]Clebsch–Gordan Nets: a Fully Fourier Space Spherical Convolutional Neu...
 
prml_titech_9.0-9.2
prml_titech_9.0-9.2prml_titech_9.0-9.2
prml_titech_9.0-9.2
 
20181214 clebsch gordan_mizuta
20181214 clebsch gordan_mizuta20181214 clebsch gordan_mizuta
20181214 clebsch gordan_mizuta
 
RBMを応用した事前学習とDNN学習
RBMを応用した事前学習とDNN学習RBMを応用した事前学習とDNN学習
RBMを応用した事前学習とDNN学習
 
東京都市大学 データ解析入門 6 回帰分析とモデル選択 1
東京都市大学 データ解析入門 6 回帰分析とモデル選択 1東京都市大学 データ解析入門 6 回帰分析とモデル選択 1
東京都市大学 データ解析入門 6 回帰分析とモデル選択 1
 
The review of 'Explaining nonlinear classification decisions with deep Taylor...
The review of 'Explaining nonlinear classification decisions with deep Taylor...The review of 'Explaining nonlinear classification decisions with deep Taylor...
The review of 'Explaining nonlinear classification decisions with deep Taylor...
 
ディジタル信号処理の課題解説
ディジタル信号処理の課題解説ディジタル信号処理の課題解説
ディジタル信号処理の課題解説
 
Report2
Report2Report2
Report2
 
ディジタル信号処理 課題解説(その1) 2014年度版
ディジタル信号処理 課題解説(その1) 2014年度版ディジタル信号処理 課題解説(その1) 2014年度版
ディジタル信号処理 課題解説(その1) 2014年度版
 
[DL輪読会]Convolutional Conditional Neural Processesと Neural Processes Familyの紹介
[DL輪読会]Convolutional Conditional Neural Processesと Neural Processes Familyの紹介[DL輪読会]Convolutional Conditional Neural Processesと Neural Processes Familyの紹介
[DL輪読会]Convolutional Conditional Neural Processesと Neural Processes Familyの紹介
 
マルコフ連鎖モンテカルロ法入門-2
マルコフ連鎖モンテカルロ法入門-2マルコフ連鎖モンテカルロ法入門-2
マルコフ連鎖モンテカルロ法入門-2
 
Chap. 6(nakagawa)
Chap. 6(nakagawa)Chap. 6(nakagawa)
Chap. 6(nakagawa)
 
Nmp for quantum_chemistry
Nmp for  quantum_chemistryNmp for  quantum_chemistry
Nmp for quantum_chemistry
 
Bishop prml 9.3_wk77_100408-1504
Bishop prml 9.3_wk77_100408-1504Bishop prml 9.3_wk77_100408-1504
Bishop prml 9.3_wk77_100408-1504
 
PRML chap.10 latter half
PRML chap.10 latter halfPRML chap.10 latter half
PRML chap.10 latter half
 

More from T2C_

インターンシップ成果報告会 発表資料
インターンシップ成果報告会 発表資料インターンシップ成果報告会 発表資料
インターンシップ成果報告会 発表資料T2C_
 
インターンシップ成果報告(修正前)
インターンシップ成果報告(修正前)インターンシップ成果報告(修正前)
インターンシップ成果報告(修正前)T2C_
 
Should Japanese Education Be Vocational Training School?
Should Japanese Education Be Vocational Training School?Should Japanese Education Be Vocational Training School?
Should Japanese Education Be Vocational Training School?T2C_
 
Hello deeplearning!
Hello deeplearning!Hello deeplearning!
Hello deeplearning!T2C_
 
就活活動ゼミ プレゼンテーション2
就活活動ゼミ プレゼンテーション2就活活動ゼミ プレゼンテーション2
就活活動ゼミ プレゼンテーション2T2C_
 
就職活動ゼミ プレゼンテーション1
就職活動ゼミ プレゼンテーション1就職活動ゼミ プレゼンテーション1
就職活動ゼミ プレゼンテーション1T2C_
 
Parallel Computation Foundation's assignment 2
Parallel Computation Foundation's assignment 2Parallel Computation Foundation's assignment 2
Parallel Computation Foundation's assignment 2T2C_
 
Parallel Computation Foundation's assignment 1
Parallel Computation Foundation's assignment 1Parallel Computation Foundation's assignment 1
Parallel Computation Foundation's assignment 1T2C_
 
Simulation_assignment9
Simulation_assignment9Simulation_assignment9
Simulation_assignment9T2C_
 
Simulation_assignment2
Simulation_assignment2Simulation_assignment2
Simulation_assignment2T2C_
 
Simulation_Report1
Simulation_Report1Simulation_Report1
Simulation_Report1T2C_
 
論文読解:クイズ王ワトソン
論文読解:クイズ王ワトソン論文読解:クイズ王ワトソン
論文読解:クイズ王ワトソンT2C_
 
Spmv9forpublic
Spmv9forpublicSpmv9forpublic
Spmv9forpublicT2C_
 

More from T2C_ (13)

インターンシップ成果報告会 発表資料
インターンシップ成果報告会 発表資料インターンシップ成果報告会 発表資料
インターンシップ成果報告会 発表資料
 
インターンシップ成果報告(修正前)
インターンシップ成果報告(修正前)インターンシップ成果報告(修正前)
インターンシップ成果報告(修正前)
 
Should Japanese Education Be Vocational Training School?
Should Japanese Education Be Vocational Training School?Should Japanese Education Be Vocational Training School?
Should Japanese Education Be Vocational Training School?
 
Hello deeplearning!
Hello deeplearning!Hello deeplearning!
Hello deeplearning!
 
就活活動ゼミ プレゼンテーション2
就活活動ゼミ プレゼンテーション2就活活動ゼミ プレゼンテーション2
就活活動ゼミ プレゼンテーション2
 
就職活動ゼミ プレゼンテーション1
就職活動ゼミ プレゼンテーション1就職活動ゼミ プレゼンテーション1
就職活動ゼミ プレゼンテーション1
 
Parallel Computation Foundation's assignment 2
Parallel Computation Foundation's assignment 2Parallel Computation Foundation's assignment 2
Parallel Computation Foundation's assignment 2
 
Parallel Computation Foundation's assignment 1
Parallel Computation Foundation's assignment 1Parallel Computation Foundation's assignment 1
Parallel Computation Foundation's assignment 1
 
Simulation_assignment9
Simulation_assignment9Simulation_assignment9
Simulation_assignment9
 
Simulation_assignment2
Simulation_assignment2Simulation_assignment2
Simulation_assignment2
 
Simulation_Report1
Simulation_Report1Simulation_Report1
Simulation_Report1
 
論文読解:クイズ王ワトソン
論文読解:クイズ王ワトソン論文読解:クイズ王ワトソン
論文読解:クイズ王ワトソン
 
Spmv9forpublic
Spmv9forpublicSpmv9forpublic
Spmv9forpublic
 

Back propagation

  • 1. Back Propagation (2014/12/15) 情報系学部3年 T2C_ ( TwitterID: @T2C_ )
  • 2. 本日の流れ 1. 前回までの流れ 2. 誤差逆伝播法 1. 誤差逆伝播法とは 2. 簡単な例 3. 詳細 1. シグモイド関数 2. チェインルール 3. 出来る事 4. 問題点 5. 所見 1
  • 4. 前回までの流れ • 深層学習(Deep Learning)、SUGOI • パーセプトロン→誤差逆伝搬(多層パーセプトロン) →DL • 単純パーセプトロンを構成(前回)、NNの基礎へ 3 流れを追うために 誤差逆伝播をやってみよう(今回)
  • 5. 誤差逆伝播法とは • 1986年ラメルハート教授らにより発表される • 3層以上のニューラルネットワークである必要 • 教師あり学習 • 局所解(求めるものを完全に求められる保証なし) • やりたい事…入力→(何らかの判別・分類)→出力 • (何らかの判別・分類)を自動化し未知の入力に対しても望む処理が出来る 4
  • 6. 簡単な例(概要) • 以前紹介したもの →これを分けてみる 5 x2 x1 (0 , 1) (1 , 1) (0 , 0) (1 , 0) 表1.2次元上のXOR ワケラレナイヨー x2 = x2 = -x 1 +1.5 -x 1 +0.5
  • 7. 簡単な例(分類ネットワーク) • 中数字は閾値(それを超えると発火) • OR→ x1 + x2 -0.5 > 0 の時発火 • NAND→-x1 - x2+1.5 > 0 の時発火 • AND→OR+NAND – 1.5 > 0の時発火 • (先ほどの直線2本と対応) 6 • →下の斜線より上の領域かつ 上の斜線より下の領域を指す 図1.XORのネットワーク実装
  • 8. 簡単な例(真偽表) 7 入力層中間層出力層 x1(入力) x2(入力) a1(OR) a2(NAND) y(AND) 0 0 0 1 0 0 1 1 1 1 1 0 1 1 1 1 1 1 0 0 表2.XORネットワークの真偽表 • 中間層の素子一つは、一つの線形判別関数に相当する • パーセプトロン(先週)がXORを解けないのは入力層から 中間層に至る結合係数(重み)を変更する手段がないため
  • 9. 誤差逆伝播法(詳細) • 先ほどまでの話を一般化する • 総数m層のネットワークを考える • k層のi 番目の素子への総入力を푥푖 푘 ,出力を푦푖 푘 とする • K-1層のi 番目からk層のj 番目の素子への結合係数を 푤푘−1 ,푘と表記する 푖푗 푘 = 푓 푥푖 • 푦푖 푘 = 1 푘) 1+exp(푥푖 푘 = 푖 푤푖푗 1 , 푥푗 푘−1 ,푘 ∗ 푦푖 푘−1 [2] 8
  • 10. シグモイド関数 • [1]式の1 푘) 1+exp(푥푖 のような関数をシグモイド関数と呼ぶ • Xの値や係数により閾値を付随させたり、勾配を変更出来る • 活性化関数とも言い、発火を2値でなくアナログ値でも表示 図2.Sigmoid関数のプロット(Python) 9
  • 11. 誤差逆伝播法 • あるデータxと教師信号tが与えられたときの2乗誤差Eは E = 푗 푚 − 푡푗 )2 = (푦푗 푗 푚)2 3 (δ푗 • このEを減少させる方向に結合係数wを以下の式で更新してゆく 푘−1 ,푘 = −휀 Δ푤푖푗 휕퐸 푘−1 ,푘 [4] 휕푤푖푗 • [4]式右辺の微分はチェーンルールを用いて 휕퐸 푘−1 ,푘 = 휕푤푖푗 휕퐸 휕푦푗 푚 푚 휕푦푗 푚−1 ,푚 = 푗 δ푗 휕푤푖푗 푚 푚 휕푦푗 푚−1 ,푚 [5] と書ける 휕푤푖푗 10
  • 12. チェーンルール(復習?) • 푦 = 푦( 푧 푥 )の様な合成関数の微分を 展開無しに푑푦 푑푥 = 푑푦 푑푧 푑푧 푑푥 と表す事が出来る • 例えばy = (x+1) 2を微分する時푥2 + 2푥 + 1から微分 →x+1=zと置いて푑푦 푑푧 푑푧 푑푥 = 2z * 1 =2x+2 と求める • y = (x+1) 999などでもすぐ出来る事が利点 • 繋がりがある事が条件(例だとyはxの関数、xはzの関数) 11
  • 13. 誤差逆伝播法 푚 휕푦푗 • 同様にして 푗 δ푗 푚 푚−1 ,푚 の微分箇所は 휕푤푖푗 푚 휕푦푗 푚−1 ,푚 = 휕푤푖푗 푚 휕푦푗 푚 휕푥푗 푚 휕푥푗 푚−1 ,푚 [6]と表せる 휕푤푖푗 • 휕푦 휕푥 はsigmoid関数なので휕푦 휕푥 = 푦 1 − 푦 [7] • 푚 휕푥푗 푚−1 ,푚 = 휕푦푖 휕푤푖푗 푚−1 [8] • まとめると[4]式は 푚−1 ,푚 = −휀 Δ푤푖푗 푗 푚 푦푗 δ푗 푚 1 − 푦푗 푚 푦푖 푚−1 9 • これが最上位層とその一つ下の層の結合係数の更新式 12
  • 14. 誤差逆伝播法(中間層以下) • 次に中間層以下第n層(n≠m)の素子푦푗 푛 の結合係数の更新 푛 で微分していく([9]式の導出と似ているので省略) • 誤差Eを素子푦푗 휕퐸 휕푦푗 푛 = 푘 푛+1 푦푘 δ푘 푛+1 1 − 푦푘 푛 ,푛+1 [10] 푛+1 푤푘푗 • ゆえに結合係数の更新式は 푘−1 ,푘 = −휀훿푗 Δ푤푖푗 푘푦푗 푘 1 − 푦푗 푘 푦푖 푘−1 11 푘 = • また、훿푗 푘 − 푡푗 (푘 = 푚) 푦푗 푘+1 푤푗푖 푖 δ푙 푘 ,푘+1(その他) [12] である • [12]式の下部は1つ先の層の誤差と重みの総和=BP! 13
  • 15. 出来る事(一例/推測) • 画像処理(認識、加工等) • 音声処理(同) • 自然言語処理(認識、理解、情報抽出等) →データ処理(マイニング、リスク・需要予測、センサー、 セキュリティ(暗号や最適化)、意思決定、情報幾何等) 14
  • 16. 問題点 • 局所解に陥る可能性 • 本当に求めたい物でなく近傍の解があればそこに落ち着いてしまう • 過学習 • 学習を繰り返す→教師信号に依存し過ぎて未知データに対して弱化 • ネットワークの構造決定法が無い • 各層の個数、最適な重み他 Deep Learning 15
  • 17. 所見 • 応用法は知ったがその具体的な方法がわからない、ムズカシイ • 完全理解までは程遠い • 入出力の対応関係が直感的でない • 数式アレルギー、克服出来るのでは • やたらと勉強に時間がかかるが大変に面白い • 神の言語Python 16
  • 18. 参考資料 • 熊沢逸夫(1998) 『学習とニューラルネットワーク』森北出版 • 浅川伸一『バックプロパゲーション』 http://www.cis.twcu.ac.jp/~asakawa/waseda2002/ bp.pdf • David Adler(2012)『Simple Back-propagation Neural Network in Python source code (Python recipe)』 http://code.activestate.com/recipes/578148- simple-back-propagation-neural-network-in-python-s/ (Webサイトは全て2014/12/14 閲覧) 17

Editor's Notes

  1. Wを初期化する必要
  2. 逆に言えば
  3. 簡単な例を例にすると本当に求めたいのが例示したものだとすると点の近くに線やっちゃったり。 (初期値依存) それから学習しすぎて狭まりすぎてそれ以外受付けなくなる→過学習 これを解決する良い手法ってのが