20150803.山口大学集中講義
TRANSCRIPT
山口大学 集中講義 ニューラルネット: 基礎から応用へ
2015/08/03~2015/08/06 電気通信大学 大学院情報理工学研究科
庄野 逸: [email protected]
1
http://www.slideshare.net/HAL9801
ニューラルネットワーク脳研究
統計物理統計学
解析手法の提供
確率的情報処理(主にBayes 推定の立場から)
解析手法の提供理論的な
類似性
データマイニング最適化問題
応用
解析手法の提供医療画像応用
実データへの応用
脳的な何か磁石の理論
画像処理
研究立ち位置的なもの
講義計画
ガイダンス (8/3)
ニューラルネットワークの構成要素 (8/4午前)
パーセプトロンと誤差逆伝搬法(8/4午後)
Neocognitron/Deep Convolution Neural network (8/5午前, 午後)
(講演)いま何故 Deep net なのか?
Boltzmann Machine とその眷属(8/5 午後, 8/6午前)
4
単位の認定について出席: 点数化はしない,単位認定の十分条件
単位認定はレポートによる判定
レポート課題
テーマ: 講義内で取扱ったトピックに関する要約
自分の研究とのかかわり合い, 追加論文調査(要引用)等を交えた論述は加点対象
分量: A4 用紙,4ページ以内
提出期限: 2015/08/18 24
提出場所: (どうしよう?)
5
多分必要となる学問体系学生: 先生,脳(ニューラルネット)の研究やりたいです!
僕:なんで?
学: だって,線形代数とか情報理論とかプログラミングとかいらなさそうな,ふわっとした話みたいじゃないですか
僕: ごめん,それ全部いるんだ…
6
多分必要となる学問体系
数理的な空間の記述
高次元空間の記述: 線形代数でも低次元(2~3次元)で考えて図を描くのが理解が早い
観測データにはノイズが含まれる
データの散らばり,モデルの記述: 確率,統計
モデルの適切なパラメータ決定: 最適化,簡単なモデルでは解析計算: 微積分
計算機によるデータの生成: プログラミングただしロジックが重要,昔ほど言語の高速性は要求されない .パッケージが充実している言語: MATLAB, R, Python など
7
本講義を受ける際に
数式での表現は万国共通なので重要 でも式の表現しているイメージの方がはるかに重要.数式は言葉にすぎません.
基礎的な線形代数,確率・統計,解析学の知識が必要となる場合があるので,しっかり復習しましょう
プログラミングはパッケージを利用することを考えましょう.
python は,numpy, scipy, matplolib などのパッケージでかなりのことができます
さらに scikit-learn などの機械学習パッケージ,pylearn2, chainer などの Deep net 向けのパッケージがあります
8
山口大学 集中講義 ニューラルネット: 基礎から応用へ
2015/08/03~2015/08/06 電気通信大学 大学院情報理工学研究科
庄野 逸: [email protected]
9
http://www.slideshare.net/HAL9801
なぜ,いま (ディープな)ニューラルネットなのか?
10
岡之原さんのスライドから http://www.slideshare.net/pfi/deep-learning-22350063
世界を取り巻く動き
2013/03 Google: DNN research を買収
2013/04 Baidu: Institute of Deep Learning を設立
2013/12 Facebook: AI research lab を設立
2014/01 Google: DeepMind を設立
日本でも人工知能研究拠点の設立へ
ドワンゴ: 人工知能研究所
産総研: 人工知能研究所設立
11
12
Simple/Complex cell(Hubel&WIesel 59)
Linear resp. func.(Anzai+ 99)
201020001990198019701960
Perceptron(Rosenblatt 57)
Neocognitron(Fukushima 80)
Conv. net(LeCun+ 89)
Deep learning(Hinton+ 06)
“Linear Separable” (Minski & Papert 68)
Sparse Coding(Olshausen&Field 96)
Stochastic GD(Amari 67)
Boltzmann Mach.(HInton+85)
Back Prop.(Rumelhart+ 86)
今ココ
第1期 第2期
Neural network (NN) 歴史的背景第3期(たぶん)
ニューラルネットは新技術なの?
歴史的には 1960 年代くらいまで遡れる
要素技術的には新しいことは(多分)それほどない
第2期のブームから大きく変化したもの
データの質と量: Internet, SNS, Cloud…
計算機環境: パッケージ化,GPU の勃興…
13
Neural net (NN)の基礎知識NN を構成する3要素 基本ユニット(ニューロン) 決定論的ユニット 確率的ユニット
ネットワークアーキテクチャ 階層型 相互結合型
学習ルール 教師あり学習 教師なし学習
14
神経回路モデルのはじまりニューラルネットワーク (NN) は脳構造の真似から
脳は 140億個の神経細胞(Neuron) から構成される
15
http://ja.wikipedia.org
http://www.scholarpedia.org/article/Neuron
ニューロンのモデル化ができるか?
McCulloch-Pitts 素子モデル(1)
最初の数理的ニューロンモデル (McCulloch&Pitts 43)
入力は線形重ねあわせ
活性化関数 f ( ): 閾値制御
17
u
yx1 y
x2Σ u
θ
w1
w2
McCulloch-Pits 素子モデル(2)
モデルパラメータ {w, θ} の変更→様々な論理素子
18
u
yx1 y
x2Σ u
θ
w1
w2
w1 w2 θAND 1 1 1.5OR 1 1 0.5NAND -1 -1 -1.5
y
y
モダンNN の基本素子ユニット(1) 決定論的ユニット
内部状態: 入力の線形和 出力: 非線形活性化関数 Logistic-Sigmoid Rectified Linear Hyperbolic Tangent, etc...
19
y1
y3
x1
x2
x3
y2
z2
u
f (u)u
j
=
3X
i=1
w
ji
x
i
+ b
j
y
j
= f
⇣u
j
⌘
内部状態
出力
u
j
=
3X
i=1
w
ji
x
i
+ b
j
y
j
⇠ p(yj
| uj
)
y
y
モダンNN の基本素子ユニット(2) 確率的ユニット
内部状態: 入力の線形和 出力: 確率変数値 内部状態 uj は事後確率のパラメータとして用いられる
20
x1
x2
x3
y2
z2
内部状態
出力
p(y j | u j) =1
1 + e��u jなど
ネットワークアーキテクチャニューラルネットワークアーキテクチャとは? 素子と素子とをどう繋いでネットワーク構築するか?
全体の構成に関する議論 階層型アーキテクチャ 相互結合型アーキテクチャ
それ以外の観点も在る 結合の密度がスパースか全結合か? Feed forward 型 か Recurrent 型か
21
階層型アーキテクチャ入力パターンを順次変換していくアーキテクチャ
入出力が層単位で定義され一つの階層が変換された入力を記述
素子の状態更新順序は一意に決定 (Feed forward など)
22Input
OutputPerceptron
Deep Convolution Net
Neocognitron
LeNet などなど
Restricted Boltmann Machine
相互結合型アーキテクチャ全ての素子が互いに結合することを許すアーキテクチャ
素子集合全体で一つの状態を表す
素子の更新順序によって状態が変わってくる
23
連想記憶モデル
Boltzmann Machine
u
yx1 y
x2Σ u
θ
w1
w2
NN の学習とは?モデルパラメータ {w, θ} で振る舞いが変化
モデルパラメータをデータから決定する→学習
24
w1 w2 θAND 1 1 1.5OR 1 1 0.5NAND -1 -1 -1.5
教師あり学習 (supervised learnning)入力データ x に対して 教師信号 t が設定されている
出力 y が t と一致するように {w,θ} を調整
25
yx1
w2
w1
t
x2
x2
x1(0,0) (1,0)
(0,1) (1,1)
AND 素子
1 →
1 → 青だと思う
赤です
教師なし学習 (unsupervised learnning)与えられるのは入力データ x のみ
(例えば)入力された x が似ているかどうかでグループ分け(クラスタリング)
26
yx1
w2
w1
x2
x2
x1
二つの分布の
1 →
0 → 前見た青に似ている
27
Simple/Complex cell(Hubel&WIesel 59)
Linear resp. func.(Anzai+ 99)
201020001990198019701960
Perceptron(Rosenblatt 57)
Neocognitron(Fukushima 80)
Conv. net(LeCun+ 89)
Deep learning(Hinton+ 06)
“Linear Separable” (Minski & Papert 68)
Sparse Coding(Olshausen&Field 96)
Stochastic GD(Amari 67)
Boltzmann Mach.(HInton+85)
Back Prop.(Rumelhart+ 86)
第1期 第2期
Neural network (NN) 歴史的背景
今ココ
第3期(たぶん)
y2(xn)y1(xn)
y3(xn)
Perceptron のアーキテクチャ
McClloch-Pits ニューロンによる階層型ネットワーク
S層 → A層 間は固定ランダム結合
A層 → R層 間が学習で決定される結合
29
w20w21w22
w23
{xn}x3n
1
x2nx1n
Sensory Layer
Associative Layer
Response Layer
" n=1n=2n=3
パターン認識がやりたいことパターン認識: 与えられた入力をどうにかして分類
入力空間を分離すること
30線引きはどうやってするか?
0 0 : 1 1 : 0 0
入力データ→ベクトル 新規入力: 赤?青?
単純 Perceptron による識別
2入力1出力単純パーセプトロン
31
φ2
φ1
y = sgn
0BBBBBB@X
j
w j� j
1CCCCCCA
= sgn (w0 + w1�1 + w2�2)
w0 + w1�1 + w2�2 = 0
�1
�2
y
クラス1クラス2
AND 素子
Perceptronの学習(1): 誤り訂正学習Hebb 学習則教師 t と出力 y の関係により w を修正
目標{xn, tn} が与えられたとき y(xn) = tn としたい
正解 tn と答え yn が不一致のときのみパラメータを修正
解が存在する場合,正しい解に収束する→デモ
32
yx wt
単純パーセプトロンの限界単純パーセプトロン:一本の直線での境界分離(線形分離)
XOR 問題は解けない (Minsky & Papert 68) → NN 第1次 冬の時代
33
クラス1クラス2
φ2
φ1
単純パーセプトロンの限界の打破XOR 問題の解法
複数の分離直線を使えば分離可能
各線の分離結果を合成→階層化は妥当(多分)
34
クラス1クラス2
x2
x1
{xn} {zn}
x1
x2
x0z0
z1
z2
1 1
y
Perceptron のやっていること
35
y2(xn)y1(xn)w20
w21w22
w23 y3(xn){xn}
x3n
1
x2nx1n
Sensory Associative Response
中間層での表現 (上手くいった場合)
入力空間での表現
中間層の訓練はどうすれば?
固定ランダム結合この部分はどう学習させるの?
37
y2(xn)y1(xn)w20
w21w22
w23 y3(xn){xn}
x3n
1
x2nx1n
Sensory Layer
Associative Layer
Response Layer
38
Simple/Complex cell(Hubel&WIesel 59)
Linear resp. func.(Anzai+ 99)
201020001990198019701960
Perceptron(Rosenblatt 57)
Neocognitron(Fukushima 80)
Conv. net(LeCun+ 89)
Deep learning(Hinton+ 06)
“Linear Separable” (Minski & Papert 68)
Sparse Coding(Olshausen&Field 96)
Stochastic GD(Amari 67)
Boltzmann Mach.(HInton+85)
Back Prop.(Rumelhart+ 86)
第1期 第2期
Neural network (NN) 歴史的背景
今ココ
第3期(たぶん)
多層Perceptron (MultiLayer Perceptron: MLP)単純 Perceptron の線形分離問題→ 階層性による打破
入力 x, 出力 y の他以外に中間層(隠れ層)z を持つ
信号は一定方向(入力から出力へ向けて)で処理
40
x0
x1
xD
z0
z1
zM
y1
yK
w
(1)MD
w
(2)KM
w
(2)10
hidden units
inputs
outputs
MLP にできること適切な設定(隠れ層の素子数,結合重み)を選べば任意の関数を任意精度で表現できる.[Funahashi 1989]
41
{xn}
{zn}
x1
x0z0
z1
z2
1 1
z3yx1
y
x1
y
x1
y
x1
y
多層ネットワークの学習の難しさ誤り訂正教師信号 t は1階層であれば対応可能
中間層 z1, z2 に対する教師信号はどう生成する?
43
u
yx1 y
x2Σ u
θ
w1
w2
u
yx1 y
x2Σ u
θ
w1
w2
u
yx1 y
x2Σ u
θ
w1
w2
x1
x2
z1
z2
y
tw11(1)
w22(1)
w12(1)
w21(1)
w1(2)
w2(2)
z1
θ
z2
θ
u
u OK!NG!
Error Back-propagation
単純 Perceptron の線形分離問題→ 階層性による打破
多層Perceptron (MLP)の学習則
基本アイディアは勾配法
微分の連鎖則を活用
44
x0
x1
xD
z0
z1
zM
y1
yK
w
(1)MD
w
(2)KM
w
(2)10
hidden units
inputs
outputs
回帰問題から勾配法を考えてみる回帰問題: 点データ{(xn, tn)} 説明する直線は何?
46
0.0 0.2 0.4 0.6 0.8 1.0
0.5
1.0
1.5
2.0
x
y, t
0.0 0.2 0.4 0.6 0.8 1.0
0.5
1.0
1.5
2.0
x
y, t
0.0 0.2 0.4 0.6 0.8 1.0
0.5
1.0
1.5
2.0
x
y, t
(xn, tn)
コスト関数の考え方モデルのデザイン: y (x) = w0 + w1 x (直線だし)
コスト関数のデザイン
47
0.0 0.2 0.4 0.6 0.8 1.0
0.5
1.0
1.5
2.0
x
y, t
(xn, tn)
( xn, y(xn) ) “データ点と直線のズレ” は小さい方がいいよね?✏
n
= (y(x
n
) � t
n
)2
E(w0,w1) =1
2N
X
n
(y(x
n
) � t
n
)2
全ての点でのズレを考慮すると
コスト関数の考え方
ズレを “小さくする” には?
最適化の問題微分を使うことを考えてみる
48
0.0 0.2 0.4 0.6 0.8 1.0
0.5
1.0
1.5
2.0
x
y, t
(xn, tn)
( xn, y(xn) )
E(w0,w1) =1
2N
X
n
(y(x
n
) � t
n
)2
@E@w0= 0
@E@w1= 0と とを書きくだし w0, w1 を求める方程式を記述せよ
勾配降下(Gradient Decent)法による状態更新
コスト関数の最小化を直接求めるのが困難な場合
勾配にそって状態を更新し,現在よりマシな状態に更新する
49
w
E(w)w(t+1) = w(t) � ⌘@E(w)
@w
勾配法まとめ記述モデルのデザイン(ここでは MLP)“どのようになって欲しいか” をコスト関数としてデザイン(教師信号と似た答えを出してほしい)
直接的な最適化が出来ない場合,コスト関数のパラメータに関する勾配を導出
勾配にそってパラメータを変化させ,最適解にパラメータを近づける
50w
E(w)
w(t+1) = w(t) � ⌘@E(w)@w
線形Perceptronの勾配学習法(1)2乗誤差の勾配を用いる学習則デルタ則,adaline 則 (Widrow-Hoff 1960)
51
勾配を使うには微分可能性が必要→活性化関数に線形関数を使う
u
yx1 y
x2Σ u
w1
w2u
yx1 y
x2Σ u
θ
w1
w2
McCuloch-Pitts
線形Perceptronの勾配学習法(2)2乗誤差の勾配を用いる学習則デルタ則,adaline 則 (Widrow-Hoff 1960)
52
E(w) =12
�
n
�tn � y(xn)�2コスト関数
{xn}t1nt2nt3n
{tn}y2(xn)y1(xn)
y3(xn)x3n
1
x2nx1n
φ3(xn)w23
パラメータ更新則
多層線形パーセプトロンでの勾配学習線形ニューロンであれば勾配を用いた学習は可能
微分の連鎖則(chain-rule) を適用
ただし線形写像の多重適用なので実用的な意味は余りない
53
u
yx1 y
x2Σ u
θ
w1
w2
u
yx1 y
x2Σ u
θ
w1
w2
u
yx1 y
x2Σ u
θ
w1
w2
x1
x2
z1
z2
y
tw11(1)
w22(1)
w12(1)
w21(1)
w1(2)
w2(2)
z1
u
z2
u
y
u
@E(w)@w(1)
22
@E(w)@w(2)
2
MLP の勾配学習MLP の勾配学習に線形性ではなく微分可能性なのでは?
微分の連鎖則(chain-rule) を適用
多層に意味を持たせるためには微分可能な非線形活性化関数であれば良い
54
u
yx1 y
x2Σ u
θ
w1
w2
u
yx1 y
x2Σ u
θ
w1
w2
u
yx1 y
x2Σ u
θ
w1
w2
x1
x2
z1
z2
y
tw11(1)
w22(1)
w12(1)
w21(1)
w1(2)
w2(2)
z1
u
z2
u
y
u
@E(w)@w(1)
22
@E(w)@w(2)
2
z1
u
z2
u
y
u
MLP アーキテクチャの具体的な例
55
yk
tk
k
jwkj
iwji 入力層 x
隠れ層 z
出力層 y
3層 Multi Layer Perceptron(MLP) アーキテクチャ
隠れ層を持つ
信号の処理方向は一方向のみ
教師あり学習 {xn, tn} → {w(1)ji, w(2)kj}
MLP 学習のコスト関数例
56
yk
tk
k
jwkj
iwji 入力層 x
隠れ層 z
出力層 y
回帰問題と同様に考えるn 番目の入力に関するコスト
回帰問題→2乗誤差関数
2値分類→Logisitic-Sigmoid
多値分類→ Softmax
ynk = yk(x
n; w) として
En(w) =12
X
k
⇣tn
k � ynk
⌘2
En(w) = �X
k
tnk ln yn
k
+ (1 � tnk )(1 � yn
k)
連鎖則による微分の導出(2)
58
コスト関数yk
tk
k
jwkj
iwji� j
微係数 誤差 δ の導入ですっきり
誤差 δ は,上位層からの逆方向の伝達 (Back propagation) で記述可能
誤差逆伝搬法の実装
59
yk
xi
ujzj
uk
yk
tk
zj
δk
xi
δj
�k = �0(uk)(yk � tk)
Feed forward を一旦計算 Back Prop. を計算 勾配を計算
誤差逆伝搬法の適用
コスト関数 En(w) はパターン事に定義可能
1サンプルごとの勾配で動かす (Online learning) → 局所解の問題
全サンプルの平均勾配で動かす(Batch learning) → 学習が遅い
確率的降下法(Stochastic GD)[Amari 67] mini Batch: 数個~100個程度の平均勾配
準ニュートン法や,共益勾配法 (Le+11)
60
Back prop. の応用先
XOR 問題 (Rumelhart+ 86)
Auto-Encoder (Ackley+ 85), 画像圧縮(Cottrell+ 87)
NETtalk (Sejnowski & Rosenberg 87)
ソナー音識別(Gorman & Sejnowski 88)
コンボリューションネット(Le-Net)(LeCun+ 89)
61
62
Simple/Complex cell(Hubel&WIesel 59)
Linear resp. func.(Anzai+ 99)
201020001990198019701960
Perceptron(Rosenblatt 57)
Neocognitron(Fukushima 80)
Conv. net(LeCun+ 89)
Deep learning(Hinton+ 06)
“Linear Separable” (Minski & Papert 68)
Sparse Coding(Olshausen&Field 96)
Stochastic GD(Amari 67)
Boltzmann Mach.(HInton+85)
Back Prop.(Rumelhart+ 86)
第1期 第2期
Neural network (NN) 歴史的背景
今ココ
第3期(たぶん)
視覚野(Ventral pathway)の性質
視覚野: 階層構造を持ち,階層ごとに異なる視覚課題の解決
初期視覚野: 狭い受容野,単純な特徴抽出Simple Cell,Complex Cellの存在
高次視覚野: 広い受容野,中程度に複雑な特徴に選択的
64
V1
V2V4
PITCIT
Ventral PathwayAIT
TEO
TE
V1
V2
V3 VP
V4 MT VA/V4
PIT
AIT/CIT 8 TF
LIP MST DPL VIP
7a
V3A
V1
V4
V2
IT
Small receptive fieldEdge, Line segmentdetector
Large receptive fieldFace, Complex featuredetector
?
?
(Felleman & van Essen 91 を改変)
初期視覚野 (V1野) の受容野計測初期視覚野の細胞の観える範囲(受容野)は狭い
視覚野中の “エッジ” や “線分” 成分に反応
単純型細胞(simple cell)と複雑型細胞(complex cell)に大きく分けられる
65
2
ĉƻ�8ƙĵ�ǷPMC48�Ɖ7 5G�¹bp{d
QǬ´&C(�":-F�ɑɆ�KŽ3�MŘƞĉQǷ
PMƙĵ;G�x]f�:Ɣɀ4;�LC*R�Řƞĉ
8; 150ɇɅ:Řƞĉƻ��Lj9KN3�C(�500ɇ
ĝ:ŘľɃ�K 150ɇɅ:ƻ�870-:4(�K�¬
K�:Ɣɀ�ż�Û8ɑɆ4á03�C(�
� 6:J�7ƔɀƂɧ�á03�M:�Q¸Ư(M-
F8;��ĝ�ĝ:ƞĉľɃ�1CL�Ʌ�Ʌ:ƞĉƻ
��ǜ�ƔɀQƏľ8ljMȦɠ��LC(��1:ȣƓ
8ɘĦ7Ɂɂ;ĝ�:ľɃ:ŰɜɕQljM"54(�A
5R6 180ǻ8þ�ī$Qś1ȃȴĝǒ:Řɕ5�7L�
ĝ�:ŘÅľɃ8503:Řɕ;�Ƣ�8�MJ�8Æ
ǻ8&3 1~ƥǻ:ö�Ƞ�8ĜKN3�C(�":J�
7�ĝ�:ƞĉľɃ�ĤōČ8Ǔ&3ÌŰƨQś1ɰ�
5,:ĄQŰɜɕ5ğ=C(�Űɜɕ;ŘÅľɃ850
3;��P<¿»8½�N-ƈ$7ǃ4�M5��"5�4�C(�ŘÅľɃ:Űɜɕ:Ą;�ɑ
Ɇ�KĴŝ:Ȕɰ�C4:ÀǠ¾4�ȆǧDz7��Qś03�C(�Űɜɕ:ĄQĔN<�,:ľ
Ƀ�¶DžǤ8ÔCNM6:J�7Ą8ĽGɯ ȝ¦(M:��ɚlj4�C(�
� -5�<�Řƞĉƻ�:�Ʌ�Ʌ;ɑɆ8�MƞĉƶľɃ5��ůɳ:ľɃ�KŽ3�ŘƊ5�
�Ȕ:Ǥƛȯȵ8�MƞĉÂ:ľɃ8bp{dQ·&317�LC(��"NK:ƞĉƶľɃ:Ű
ɜɕ;ȋŻ:Ȅƛ£ă:ĮdžQ&3�C(�":-F�ƈ$7Ǥƛȯȵ8ɍM�Ĥ:d�jnQ�
ȄŜ8,:ŲL8�Mo�pkƕ:ȯȵ8��ōČQǯŠ(M5ĽGɯ ȝ¦&C(�ŘƊ:ľɃ
GA5R6Ȅɝ:ŰɜɕQś03�C(�Ĥ�Ǥƛȯȵ5��^ƕ:ŲȽȯȵ8éB(Ħ±;è8
Ȃ :4�Űɜɕƽǒ8�ɝ8ɍM�ĤQƋŪ&3G�ľɃ;��03ȝ¦&C*R�1CL�Ó
�Ą4`�n�dn�ɯ ȫ�3�7�5�ɑɆ:ľɃ;ɯ ȝ¦&C*R�
����¦: v v:~¯'t3"C?:� ��+7��·�¥:§:¨��
� ǖȔ4Ľƃ8ŘƊ�K:ƞĉƙĵQŰ!ŭMɰ�Q�ŝŘÅɕ(V1)5ğ=C(�":ɰɕ8�M
ľɃ;�ɑɆHŘƊ4;Ħ±Dz.0-Ó�ōČ8;�CLȝ¦&C*R�V1 :ƞĉľɃ; 1960
Ȑĸ�ľɃ8J03�7MȆǮ:Æǻ4Ǫ Ƙ=-ƺƕ:ĤH�ǫƺƕ:ɍ�:ò»8J ȝ¦(
M"5��Ģ8s�|�ƐQŰƐ(MHubel5Wiesel5��ȋơ:°Èū8JLțĔ$NC&-�
":țĔǼƃ�K 1980Ȑ"OC4;�V1:ƞĉľɃ;ƺHWjcò»�Űɜɕ8ȍM5ȝ¦
(M�ƺ:ĒŽÙ�H�WjcĒŽÙ�5&3Ýȓ&3�M:4;7��5ǐ :ēìū�İ�C
&-�
� &�&�ĚŁ;":İ�;ęɉ8;ƫ& 7�0-5$N3�C(�,N; V1ľɃ:Űɜɕ:
� ��n�fq:�r~¯:�³²�http://ohzawa-lab.bpe.es.osaka-u.ac.jp/resources/text/KisokouKoukai2009/Ohzawa2009Koukai04.pdf
初期視覚野の性質
線分やエッジなどの成分に反応 Simple cell: 方位,位相に敏感 Complex cell: 位相には許容的
66
Simple Cell Phase SensitiveOrientation Selective
Receptive Field
Input Stimulus
Fire Not FireNot Fire
Phase InsensitiveComplex Cell
Receptive Field
Input Stimulus
Fire Not FireFire
V1
V2V4
PITCIT
Ventral PathwayAIT
TEO
TE
V1
V4
V2
IT
Small receptive fieldEdge, Line segmentdetector
Large receptive fieldFace, Complex featuredetector
?
?
Simple Cell Phase SensitiveOrientation Selective
Receptive Field
Input Stimulus
Fire Not FireNot Fire
Phase InsensitiveComplex Cell
Receptive Field
Input Stimulus
Fire Not FireFire
Hubel-Wiesel 階層仮説
Simple Cell の出力合成で,Complex cell は説明可能(Hubel & Wiesel 59)
67
Simple Cell Phase SensitiveOrientation Selective
Receptive Field
Input Stimulus
Fire Not FireNot Fire
Phase InsensitiveComplex Cell
Receptive Field
Input Stimulus
Fire Not FireFire
Simple/Complex Cell 計算論的解釈
68
細胞種類 結合様式 計算の意味 計算操作
Simple cell
特徴抽出 テンプレートマッチ
Gaussian-Tuning (AND 的)
Complex cell
変形の許容 並進不変性
Soft-max (OR 的)
(Poggio 07 を改変)
高次視覚野の性質
中程度に複雑な特徴に反応顔細胞の存在
巨大な受容野
時空間的な変化に許容的69
V1
V2V4
PITCIT
Ventral PathwayAIT
TEO
TE
V1
V4
V2
IT
Small receptive fieldEdge, Line segmentdetector
Large receptive fieldFace, Complex featuredetector
?
?
(Kobatake & Tanaka 94 を改変)
CNN の視覚野的解釈
Hubel & Wiesel : Simple → Complex Cell の階層性
V2 → IT の不明な領野 → 初期視覚野構造のアーキテクチャ外挿
学習によるチューニング可能性71
V1
V2V4
PITCIT
Ventral PathwayAIT
TEO
TE
V1
V4
V2
IT
Small receptive fieldEdge, Line segmentdetector
Large receptive fieldFace, Complex featuredetector
?
?
U0 Us1Uc1 Us2Uc2 Us3Uc3 Us4Uc4 Us5Uc5
41x41x1
41x41x8
41x41x8
41x41xK2
21x21xK2
21x21xK3
11x11xK3
11x11xK4
5x5xK4
5x5xK5
1x1xK5
Convolution NN (CNN) (Neocognitron)
畳み込みによる局所特徴抽出と空間プーリング Neocognitron(Fukushima80): 階層仮説の実装 (Hubel & Wiesel 59)
72
S-Cell Feature Extraction
Us1 Uc1
C-Cell Tolerance to the distortion
Input
Recognition
U0 Us2 Uc2 Us3 Uc3 Us4 Uc4
It’ s “5”
S-Cell S-Cell
C-Cell
S-Cell
C-Cell
Feature IntegrationLocal Feature
Global Feature
CNN の動作原理局所特徴抽出(畳み込み)+変形に対する不変性(プーリング)
73
Preferred Feature (Orientation): X
Input: x
Convlution Layer
Blurring
PreferredOrientation
S-cell responseInput: x
Subsampling Layer
ConvolutionsSubsampling
Convolutions Subsampling
Preferred feature
Neocognitron まとめ
畳み込み演算を原理としたネットワーク構造
Perceptron に比べて,結合係数の自由度は低いでも視覚入力は並進対称なので構造としては妥当(多分)
特徴抽出層とプーリング層の階層構造
徴抽出層は学習で決定可能 BP使わなくても割りと普通に動く.たぶんクラスタリングアルゴリズムでも動く
プーリングによる空間的な位相ずれの許容
75
77
Simple/Complex cell(Hubel&WIesel 59)
Linear resp. func.(Anzai+ 99)
201020001990198019701960
Perceptron(Rosenblatt 57)
Neocognitron(Fukushima 80)
Conv. net(LeCun+ 89)
Deep learning(Hinton+ 06)
“Linear Separable” (Minski & Papert 68)
Sparse Coding(Olshausen&Field 96)
Stochastic GD(Amari 67)
Boltzmann Mach.(HInton+85)
Back Prop.(Rumelhart+ 86)
第1期 第2期
Neural network (NN) 歴史的背景
今ココ
第3期(たぶん)
Convolution-net
基本アーキテクチャNeocognitron (Fukushima 80)
畳み込み演算による,局所特徴抽出+並進不変性
学習則に Back-Propagation (LeCun+86, Okada88)
79
(LeCun+86)
CNN デモ
80http://yann.lecun.com/exdb/lenet/index.html
Rotation Scale
NoiseMultiple Input
Deep learning事例: 一般物体認識
IMAGENET Large Scale Visual Recognition Challenge 2012
1000 カテゴリ × 約1000枚の訓練画像
Convolution Neural Network
81
Krizhevsky et al. NIPS 2012
SIFT + FVs: 0.26 test err.CNN: 0.15 test err.
Neural network (NN) 歴史的背景
82
Simple/Complex cell(Hubel&WIesel 59)
Linear resp. func.(Anzai+ 99)
201020001990198019701960
Perceptron(Rosenblatt 57)
Neocognitron(Fukushima 80)
Conv. net(LeCun+ 89)
Deep learning(Hinton+ 06)
“Linear Separable” (Minski & Papert 68)
Sparse Coding(Olshausen&Field 96)
Stochastic GD(Amari 67)
Boltzmann Mach.(HInton+85)
Back Prop.(Rumelhart+ 86)
第1期 第2期
今ココ
第3期(たぶん)
生成モデルの推定とは
確率分布のエミュレートとは
下のようなデータ {vp} があった時どのようなルールで生成されているかを知りたい
84
v1:v2:v3:v4:v5:
x1 x2 x3 p(x1=+1)= 3/5p(x2=+1)= 2/5p(x3=+1)= 4/5
としてしまって良いか?
Boltzmann Machine (Hinton+ 85)
確率型素子
隠れ素子 h と可視素子 v
相互結合型アーキテクチャ
対数尤度最大化による学習
出来ること: パターンの生成,模倣確率分布のエミュレート
85
h
v
v1:v2:v3:
学習パターン
p(v) に基づきパターン生成v:
Boltzmann Machine: アーキテクチャ
素子モデル
86
h
v
vi = {�1,+1}, h j = {�1,+1}
u =
vh
!
とりあえず,系のエネルギーを定義しておくE(u) = �
X
i,i0Wi0ivivi0 �
X
j, j0Wj0 jh jh j0 �
X
i, j
Wi jvih j
係数 W が互いの素子の好感度設定Wukul において W > 0 ならukとul とは好きどうし
Boltzmann Machine: アーキテクチャ
素子モデル
エネルギー関数
同時分布
87
h
v
vi = {�1,+1}, h j = {�1,+1}
u =
vh
!
p(h, v) =1
Z(W)
exp(�H(h, v))
Z(W) =X
h,vexp(�H(h, v))
(Boltzmann 分布)H(h, v) = �uTWu
Boltzmann Machine: 学習モデル対数尤度最大化
88
h
v
対数尤度
対数尤度の勾配を用いた最大化W (p)
i j = W (p�1)i j + ⌘
@ ln p(v(p))@Wi j
ln p(v(p)
) = ln
X
hexp(�H(h, v(p)
)) � ln Z(W)
@ ln p(v)@Wi j
=Duiu jE
cramp�Duiu jE
free
MCMC 法による期待値→ 恐ろしく時間がかかる
MCMC法について
Markov Chain Monte Carlo (MCMC)法:乱数にも基づき対象の統計量を算出する手法
与えられたエネルギー関数の密度に従い状態空間をうろつく(最小値への最適化ではない)
89
Metropolis Hasting 法Gibbs Sampling
Metropolis 法
Slice Sampling
Gibbs Sampling
簡単のため,2個の変数(素子) x1, x2 で大まかなアルゴリズム
1. x1 の更新では,x2 を固定した条件付き確率 p(x1 | x2) を考える(この確率からの乱数が楽に取れることが重要)
2. 条件付き確率から新たにサンプル x1を生成する
3. x2 の更新では, x1 を固定した確率 p(x2 | x1) からのサンプルを生成
4. 1. に戻る
90
Restricted Boltzmann Machine(RBM): アーキテクチャBM で恐ろしく時間がかかる理由→結合数が多すぎること
隠れ層と可視層を階層構造と考え,層内結合を撤廃→ RBM 何ということでしょう.素子が条件付き独立に!
92
h
v
H(h, v) = �X
i, j
h jWi jvi p(h | v) =Y
j
p(h j | v) =Y
j
exp(h jP
i Wi jvi)
2 cosh(
Pi Wi jvi)
p(v | h) =Y
i
p(vi | h) =Y
i
exp(viP
j Wi jh j)
2 cosh(
Pj Wi jh j)
補足関数 exp( ±u ) / 2 cosh( u ) に関して あまり見かけない表記だがシグモイド関数である
この表記だと hj = ±1 の値によらない表記で,計算に便利なので(統計)物理屋さんが好む.
93
exp(h ju)
2 cosh(u)
=exp(+u)
exp(+u) + exp(�u)
=1
1 + exp(�2u)
where hj=1
Restricted Boltzmann Machine(RBM): 学習モデル
対数尤度最大化
94
h
v
対数尤度と勾配を用いた最大化ln p(v(p)
) = ln
X
hexp(�H(h, v(p)
)) � ln Z(W)
W (p)i j = W (p�1)
i j + ⌘@ ln p(v(p))@Wi j
@ ln p(v)@Wi j
=Dh jviE
cramp�Dh jviE
free
ほぼ一撃計算vi tanh(
X
i
Wi jvi)
MCMC だけど 10回ぐらいでいいよね?
(Hinton 00)
Restricted Boltzmann Machine(RBM): 応用先
95
h
v
Images$&$Video$
Rela:onal$Data/$$Social$Network$
Massive$increase$in$both$computa:onal$power$and$the$amount$of$data$available$from$web,$video$cameras,$laboratory$measurements.$
Mining$for$Structure$
Speech$&$Audio$
Gene$Expression$
Text$&$Language$$
Geological$Data$Product$$Recommenda:on$
Climate$Change$
Mostly$Unlabeled$• $Develop$sta:s:cal$models$that$can$discover$underlying$structure,$cause,$or$sta:s:cal$correla:on$from$data$in$unsupervised*or$semi,supervised*way.$$• $Mul:ple$applica:on$domains.$ Salkahudinov+14 から拝借
Neural network (NN) 歴史的背景
96
Simple/Complex cell(Hubel&WIesel 59)
Linear resp. func.(Anzai+ 99)
201020001990198019701960
Perceptron(Rosenblatt 57)
Neocognitron(Fukushima 80)
Conv. net(LeCun+ 89) Deep learning
(Hinton+ 06)
“Linear Separable” (Minski & Papert 68)
Sparse Coding(Olshausen&Field 96)
Stochastic GD(Amari 67)
Boltzmann Mach.(HInton+85)
Back Prop.(Rumelhart+ 86)
第1期 第2期
今ココ
第3期(たぶん)
p(v | h1) =Y
i
p(vi | h1)
SigmoidBelief net
Deep Belief Net(DBN): アーキテクチャ
RBM は単層モデル (結構成功はしている)
隠れ層の表現をさらに RBM で学習する機械を考えてみよう!
学習後の下層はパターン生成器として働く(Sigmoid Belief net)
98
h1
v
h2
RBM
Sigmoid Belief net
p(v, h1, h2) = p(v | h1)p(h1, h2)RBM
p(h1, h2
) =1
Z(W2
)
exp(
X
j,k
h2
kW2
jkh1
j )
Deep Belief Net(DBN): 学習モデルDBN の学習は,階層ごとのRBM学習 (Greedy Layer-wise Learning)
第1層: 勾配法での対数尤度最大化
99
h1
v
RBM
@ ln p(v)@W1
i j=Dvih jE
cramp�Dvih jE
free
ln p(v(p)) =X
i, j
h1jW
1i jv
(p)i � ln Z(W1)
Deep Belief Net(DBN): 学習モデルDBN の学習は,階層ごとのRBM学習 (Greedy Layer-wise Learning)
第1層学習後,p(h1 | v) に基づき サンプル {h1(p)} を収集
第2層: 勾配法による対数尤度最大化
100
h1
v
h2
RBM
Sigmoid Belief net
@ ln p(h1)@W2
jk
=Dh1
jh2k
Ecramp
�Dh1
jh2k
Efree
ln p(h1(p)) =X
j,k
h2kW2
jkh1j(p) � ln Z(W2)
Deep Belief Net(DBN): サンプリング
DBN によるサンプリング
最上位層 ( p(h1, h2) )の Gibbs サンプリング,h1 のサンプルを生成
得られた表現 h1 を 下層の Sigmoid Belief Net へ投入,p(v | h1) により v のサンプルを生成
101
h1
v
h2
RBM
Sigmoid Belief net
h2 h2 h2
h1 h1 h1
v
Deep Belief Net(DBN): MNIST を使った場合
MNIST を用いたDBNの学習
高位層では,より大まかな特徴抽出器として振る舞う
102
h1
v
h2
RBM
Sigmoid Belief net
Learned�Features
(Salakhudinov13, 14 より)
Convolution Net + Deep Belief Net(CDBN): 自然画像への適用
Convolution net + DBN の自然画像への応用(Lee+09)
103
Learning�PartͲbased�RepresentationConvolutional DBN
Faces
Trained�on�face�images.
Object�Parts
Groups�of�parts.
Lee�et.al.,�ICML�2009
Convolution Net + Deep Belief Net(CDBN): 自然画像への適用
Convolution net + DBN の自然画像への応用(Lee+09)
104
Learning�PartͲbased�RepresentationFaces Cars Elephants Chairs
Lee�et.al.,�ICML�2009
MLP における Back Prop.
106
過学習問題 訓練誤差 ≫ 汎化誤差
勾配情報の拡散 識別器だけなら上位層で実現可能 全体のトレーニングは難しい
全結合型 NN で顕著 データに対してパラメータ数が過多
O(Mk Mk+1 )
Deep Neural Net(DNN): アーキテクチャ
DBN の構造↔ MLP の構造
識別モデルとして使ったら?
107
h1
v
h2
p(h1
j | v) =exp(h1
jP
i W1
i jvi)
2 cosh(
Pi W1
i jvi)
y
p(h2
k | h1
) =exp(h2
kP
j W2
jkh1
j )
2 cosh(
Pj W2
jkh1
j )
p(yl = 1 | h2
) =exp(
Pk W3
klh2
k)
Pm exp(
Pk W3
kmh2
k)
SoftMax
Deep Neural Net(DNN): 学習
Back Prop の問題点: 局所解の存在 DBN を初期状態として使う(Pre-Training) ネットワークの結合 (Unroll) 結合したネットワークを MLP としてBP 学習(Fine Tuning)
108
h1
v
h2
y
h2
h1
RBM
RBM
SoftMax
Deep Neural Net(DNN): MNIST への応用
誤識別率→ DNN: 1.2 %, SVM 1.4 %, MLP: 1.6 %
109
DBNs$for$Classifica:on$
• $Aber$layerSbySlayer$unsupervised*pretraining,$discrimina:ve$fineStuning$$by$backpropaga:on$achieves$an$error$rate$of$1.2%$on$MNIST.$SVM’s$get$1.4%$and$randomly$ini:alized$backprop$gets$1.6%.$$
• $Clearly$unsupervised$learning$helps$generaliza:on.$It$ensures$that$most$of$the$informa:on$in$the$weights$comes$from$modeling$the$input$data.$
W +�W
W
W
W +�
W +�
W +�
W
W
W
W
1 11
500 500
500
2000
500
500
2000
5002
500
RBM
500
20003
Pretraining Unrolling Fine�tuning
4 4
2 2
3 3
1
2
3
4
RBM
10
Softmax Output
10RBM
T
T
T
T
T
T
T
T
Deep Auto Encoder DNN の応用
DNN の応用入力の自動写像 圧縮表現の生成 PreTraining による効率良い学習
110
Deep$Autoencoders$
!
!
! !�
!
!
!
!
! !�
! !�
! !�
!
! !�
! !�
! !�
!�
!
!
!
!
!
!
"
#$$$
%&'
#
#$$$
"$$$
($$
($$
"$$$
"$$$
($$
" "
#$$$
#$$$
($$($$
"$$$
"$$$
#$$$
($$
#$$$
)
*)
%&'
+,-.,/01012 31,455012
"$$$ %&'
6
*
6$
6$
701-�.81012
* *
# #
6 6
*)
(
6)
9
#)
:
")
;
<1=4>-,
"
#
6
6$
*
6
#)
")
?4>-@5/A-,
B-=4>-,
%&')4C
DNN の応用: テキスト分類
111
Legal/JudicialLeading Economic Indicators
European Community Monetary/Economic
Accounts/Earnings
Interbank Markets
Government Borrowings
Disasters and Accidents
Energy Markets
Model$P(document)$
Bag$of$words$
Reuters$dataset:$804,414$$newswire$stories:$unsupervised*
Deep$Genera:ve$Model$
(Hinton & Salakhutdinov, Science 2006)!(Hinton+ 06 より)