• 検索結果がありません。

知的学習認識システム特論9.key

N/A
N/A
Protected

Academic year: 2021

シェア "知的学習認識システム特論9.key"

Copied!
55
0
0

読み込み中.... (全文を見る)

全文

(1)

電気通信大学 総合情報学専攻 庄野 逸

[email protected]

知的学習システム(9)

(2)

ディープラーニングの

歴史と背景

(3)

AIのニューストレンド

(4)

AIのニューストレンド

(5)

AIのニューストレンド

(6)

AIのニューストレンド

(7)

なぜ,いま

(ディープな)ニューラルネットなのか?

岡之原さんのスライドから

(8)

なぜ,いま Deep Learning なのか?

(9)

Internet Google Facebook Twitter

AI の歴史的背景

2010 2000 1990 1980 1970 1960 第1期 第2期 第3期(たぶん) inspired from 岡谷貴之(東北大),麻生英樹(産総研),岡田真人(東大) 今ココ Perceptron (Rosenblatt 57) Neocognitron (Fukushima 80) Conv. net

(LeCun+ 89) Deep learning
(Hinton+ 06) “Linear Separable” 


(Minski & Papert 68)

Back Prop.
 (Rumelhart+ 86) SVM
 (Vapnik 95) 脳型AI 第5世代コンピュータ
 エキスパートシステム 知識工学 
 1982∼92 Watoson(IBM) 記号処理的AI オントロジー semantic web カーネル法の勃興 知識獲得の難しさ 特徴表現の難しさ 理論的な限界

(10)

Deep Learning(深層学習)とは?

神経回路(ニューラルネット)モデルを用いた人工知能技術 脳の働きを模した構造と学習方式 深い階層構造を持つことが特徴 Input Recognition It’ s “5” It’ s “5”

(11)

ディープラーニングは新技術?

歴史的には 1960 年代くらいまで れる 要素技術には新しいことはそれほどない(多分) DeepMind は比較的枯れた技術で成功 第2期のブームから大きく変化したもの データの質と量: Internet, SNS, Cloud… 計算機環境: パッケージ化,GPU の勃興…

(12)
(13)

ニューラルネット(NN)の基礎知識

NN を構成する3要素 基本ユニット(ニューロン) 決定論的ユニット 確率的ユニット ネットワークアーキテクチャ 階層型 相互結合型 学習ルール 教師あり学習 教師なし学習

(14)

神経回路モデルのはじまり

ニューラルネットワーク (NN) は脳構造の真似から 脳は 140億個の神経細胞(Neuron) から構成される http://ja.wikipedia.org http://www.scholarpedia.org/article/Neuron ニューロンのモデル化ができるか?

(15)

ニューロンの特性

ニューロンは 2値表現


活性(ON)状態/非活性(OFF)状態 閾値処理による発火制御

(16)

McCulloch-Pitts 素子モデル

最初の数理的ニューロンモデル (McCulloch&Pitts 43) 入力は線形重ねあわせ 活性化関数 f ( ): 閾値制御 u y x1 y x2

Σ

u θ w1 w2

(17)

McCulloch-Pits モデルでできること

モデルパラメータ {w, θ} の変更→様々な論理素子 u y x1 y x2

Σ

u θ w1 w2

w

1

w

2

θ

AND 1 1 1.5 OR 1 1 0.5 NAND -1 -1 -1.5

(18)

y y

モダンNN の基本素子ユニット(1)

決定論的ユニット

内部状態: 入力の線形和 出力: 非線形活性化関数 Logistic-Sigmoid Rectified Linear

Hyperbolic Tangent, etc... y1 y3 x1 x2 x3 y2 u f (u) uj = 3 X i=1 wji xi + bj yj = f ⇣uj⌘ 内部状態 出力

(19)

u j = 3 X i=1 w jixi + b j y j ⇠ p(yj | uj) y y

モダンNN の基本素子ユニット(2)

確率的ユニット

内部状態: 入力の線形和 出力: 確率変数値 内部状態 uj は事後確率の
 パラメータとして用いられる x1 x2 x3 y2 z2 内部状態 出力 p(yj | uj) = 1 1 + e uj など

(20)

ネットワークアーキテクチャ

ニューラルネットワークアーキテクチャとは? 素子と素子とをどう繋いでネットワーク構築するか? 全体の構成に関する議論 階層型アーキテクチャ 相互結合型アーキテクチャ それ以外の観点も在る 結合がスパース/全結合か?

(21)

階層型アーキテクチャ

入力パターンを順次変換していくアーキテクチャ 入出力が層単位で定義され一つの階層が変換された入力を記述 素子の状態更新順序は一意に決定 (Feed forward など) Input Output Perceptron

Deep Convolution Net Neocognitron

GoogLeNet などなど

(22)

相互結合型アーキテクチャ

全ての素子が互いに結合することを許すアーキテクチャ 素子集合全体で一つの状態を表す 素子の更新順序によって状態が変わってくる 連想記憶モデル Boltzmann Machine

(23)

u y x1 y x2

Σ

u θ w1 w2

NN の学習とは?

モデルパラメータ {w, θ} で振る舞いが変化 モデルパラメータをデータから決定する→学習

w

1

w

2

θ

AND 1 1 1.5 OR 1 1 0.5 NAND -1 -1 -1.5

(24)

教師あり学習

(supervised learning)

入力データ x に対して 教師信号 t が設定されている 出力 y が t と一致するように {w,θ} を調整 y x1 w2 w1 t x2 x2 x1 (0,0) (1,0) (0,1) (1,1) AND 素子 1 → 1 → 青だと思う 赤です

(25)

教師なし学習

(unsupervised learnning)

与えられるのは入力データ x のみ 入力 x が似ているかどうかでグループ分け等
 (クラスタリング) y x1 w2 w1 x2 x2 x1 1 → 0 → 前見た 青に似ている

(26)

Population coding (Desimone+ 84, Tanaka+ 84)

NN の歴史的背景

2010 2000 1990 1980 1970 1960 第1期 inspired from 岡谷貴之(東北大),麻生英樹(産総研),岡田真人(東大) 今ココ Perceptron (Rosenblatt 57) Neocognitron (Fukushima 80) Conv. net

(LeCun+ 89) Deep learning
(Hinton+ 06) “Linear Separable” 


(Minski & Papert 68)

Back Prop.
 (Rumelhart+ 86) SVM
 (Vapnik 95) Boltzmann Mach. 
 (Hinton+ 85)

Simple / Complex cell (Hubel & Wiesel 59)

(27)

Perceptron

(Rosenblatt 57)

(28)

Perceptronがやりたかったこと

パターン認識: 与えられた入力をどうにかして分類 入力空間を分離すること 線引きはどうやってするか? 0 0 : 1 1 : 0 0 入力データ→ベクトル 新規入力: 赤?青?

(29)

Perceptron のアーキテクチャ

McClloch-Pits ニューロンによる階層型ネットワーク S層 → A層 間は固定ランダム結合 A層 → R層 間が学習で決定される結合 Response Layer

{x

n

}

Sensory Layer Associative Layer

x

3n 1

x

2n

x

1n

y

2

(x

n

)

y

1

(x

n

)

y

3

(x

n

)

It's  "1"

(30)

単純 Perceptron による識別

2入力1出力単純パーセプトロン

φ

2

φ

1 y = sgn 0 BBBBB B@ X j wj j 1 CCCCC CA = sgn (w0 + w1 1 + w2 2) w0 + w1 1 + w2 2 = 0 1 2 y クラス1 クラス2 AND 素子

(31)

Perceptronの学習(1): 誤り訂正学習

Hebb 学習則
 教師 t と出力 y の関係により w を修正 目標
 {xn, tn} が与えられたとき y(xn) = tn としたい 正解 tn と出力 yn が不一致のときのみ w を修正 解が存在する場合,正しい解に収束する→デモ y x w t

(32)

単純パーセプトロンの限界

単純パーセプトロン:一本の直線での境界分離(線形分離)

XOR 問題は解けない (Minsky & Papert 68)


→ NN 第1次 冬の時代

クラス1 クラス2

φ

2

(33)

単純パーセプトロンの限界の打破

XOR 問題の解法 複数の分離直線を使えば分離可能 各線の分離結果を合成→階層化は妥当(多分) クラス1 クラス2

x

2

x

1

{x

n

}

{z

n

}

x

1

x

2

x

0

z

0

z

1

z

2

1

1

y

(34)

Original Perceptron のやっていること

中間層での表現 (上手くいった場合) 入力空間での表現

y

2

(x

n

)

y

1

(x

n

)

y

3

(x

n

)

{x

n

}

x

3n

1

x

2n

x

1n

Sensory Associative Response

(35)

中間層の訓練はどうすれば?

固定ランダム結合

部分はどう学習させるのか?

y

2

(x

n

)

y

1

(x

n

)

w

20 w21 w22

w

23

y

3

(x

n

)

{x

n

}

x

3n 1

x

2n

x

1n Sensory Layer Associative Layer Response Layer It's  "1"

(36)

Population coding (Desimone+ 84, Tanaka+ 84)

NN の歴史的背景

2010 2000 1990 1980 1970 1960 第1期 inspired from 岡谷貴之(東北大),麻生英樹(産総研),岡田真人(東大) 今ココ Perceptron (Rosenblatt 57) Neocognitron (Fukushima 80) Conv. net

(LeCun+ 89) Deep learning
(Hinton+ 06) “Linear Separable” 


(Minski & Papert 68)

Back Prop.
 (Rumelhart+ 86) SVM
 (Vapnik 95) Boltzmann Mach. 
 (Hinton+ 85)

Simple / Complex cell (Hubel & Wiesel 59)

(37)

Multi-Layer Perceptron

(Rumelhart+ 86)

(38)

多層Perceptron

(MultiLayer Perceptron: MLP)

単純 Perceptron の線形分離問題→

階層性

による打破

入力

x

,

出力

y

の他以外に

中間層(隠れ層)

z

を持つ

信号は一定方向(入力から出力へ向けて)で処理

x0 x1 xD z0 z1 zM y1 yK wM D(1) wKM(2) w10(2) hidden units inputs outputs

(39)

MLP にできること

適切な設定(隠れ層の素子数,結合重み)を選べば
 任意の関数を任意精度で表現できる.(Irie 88, Funahashi 89)

{x

n

}

{z

n

}

x

1

x

0

z

0

z

1

z

2

1

1

z

3

y

x

1

y

x

1

y

x

1

y

x

1

y

(40)

どんな解でも表現出来る

こと

どうやったら解に到れるか

(41)

多層ネットワークの学習の難しさ

誤り訂正教師信号 t は1階層であれば対応可能 中間層 z1, z2 に対する教師信号はどう生成する? u y x1 y x2 Σ u θ w1 w2 u y x1 y x2 Σ u θ w1 w2 u y x1 y x2 Σ u θ w1 w2 x1 x2 z1 z2 y t w11(1) w22(1) w12(1) w21(1) w1(2) w2(2) z1 θ z2 θ u u OK! NG!

(42)

Error Back-propagation

単純 Perceptron の線形分離問題
 → 階層性による打破 多層Perceptron (MLP)の学習則 基本アイディアは勾配法 微分の連鎖則を活用 x0 x1 xD z0 z1 zM y1 yK wM D(1) wKM(2) w10(2) hidden units inputs outputs

(43)

線形Perceptronの勾配学習法(1)

2乗誤差の勾配を用いる学習則
 デルタ則,adaline 則 (Widrow-Hoff 60) 勾配を使うには微分可能性が必要
 →活性化関数に線形関数を使う u y x1 y x2

Σ

u w1 w2 u y x1 y x2 Σ u θ w1 w2 McCuloch-Pitts

t

(44)

線形Perceptronの勾配学習法(2)

E(w) = 1 2 n tn y(xn) 2 コスト関数 パラメータ更新則

E(w)

w

@E @w > 0 @E @w < 0

{x

n

}

t

1n

t

2n

t

3n

{t

n

}

y

2

(x

n

)

y

1

(x

n

)

y

3

(x

n

)

x

3n

1

x

2n

x

1n

w

(1)

w

(2)

(45)

MLPでの勾配学習(1)

線形ニューロンであれば勾配を用いた学習は可能 微分の連鎖則(chain-rule) を適用 ただし線形写像の多重適用なので実用的な意味は余りない u y x1 y x2 Σ u θ w1 w2 u y x1 y x2 Σ u θ w1 w2 u y x1 y x2 Σ u θ w1 w2 x1 x2 z1 z2 y t w11(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

(46)

MLP の勾配学習に線形性ではなく微分可能性では? 微分の連鎖則(chain-rule) を適用 多層に意味を持たせるためには
 微分可能な非線形活性化関数であれば良い u y x1 y x2 Σ u θ w1 w2 u y x1 y x2 Σ u θ w1 w2 u y x1 y x2 Σ u θ w1 w2 x1 x2 z1 z2 y t w11(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での勾配学習(2)

(47)

MLP アーキテクチャの具例

yk tk k j wkj i wji 入力層 x 隠れ層 z 出力層 y

3層 Multi Layer Perceptron(MLP) アーキテクチャ 隠れ層を中間層表現として持つ

信号の処理方向は一方向

(48)

n 番目の出力値 回帰問題 2値分類 多値分類: Softmax 関数

MLP 学習のコスト関数例

yk tk k j wkj i wji 入力層 x 隠れ層 z 出力層 y ynk = yk(xn; w) En(w) = 1 2 X k ⇣ tnk ynk⌘2

(49)

連鎖則による微分の導出(1)

コスト関数

y

k

t

k

k

j

w

kj

i

w

ji j

微係数

割と面倒

(に見える…)

(50)

連鎖則による微分の導出(2)

コスト関数

y

k

t

k

k

j

w

kj

i

w

ji j

微係数

誤差

δ の導入ですっきり

誤差

δ は,上位層からの逆方向の伝達

(Back propagation) で記述可能

(51)

誤差逆伝搬法の実装

xi yk uzjj uk δj Feed forward を一旦計算 k = 0(uk)(yk tk) Back Prop. を計算 勾配を計算 xi yk zj uj δk tk uk

(52)

誤差逆伝搬法の適用

コスト関数

E

n

(w) はパターン事に定義可能

1サンプルごとに動かす

(Online learning)

→ 局所解の問題

平均勾配で動かす

(Batch learning)

→ 学習が遅い

確率的降下法(Stochastic GD)

(Amari 67, Bottou+11,12)

(53)

誤差逆伝搬法の適用

準ニュートン法や,共益勾配法 (Le+11)

AdaDelta(Zeiler 12), AdaGrad(Duchi+11), Adam(Kingma+15) など


学習係数最適化

(54)

Back prop. の応用先

XOR 問題 (Rumelhart+ 86)

Auto-Encoder (Ackley+ 85), 画像圧縮(Cottrell+ 87) NETtalk (Sejnowski & Rosenberg 87)

ソナー音識別(Gorman & Sejnowski 88)

(55)

まとめ

ディープラーニングの要素技術は比較的枯れている 単層の Perceptron のやっていることは,
 線形分離問題の解決 階層を深くすることは,入力表現の変換による線形分 離能力の向上が期待出来る でもチューニング難しい→ので SVM が主流に 学習はもっと問題 ターゲットが決まっているのであれば,
 コスト関数+勾配法のアプローチが取れる 55

参照

関連したドキュメント

・「中学生の職場体験学習」は、市内 2 中学 から 7 名の依頼があり、 図書館の仕事を理 解、体験し働くことの意義を習得して頂い た。

寒地土木研究所 ○正 員 今野久志 (Hisashi Konno) 寒地土木研究所 正 員 西 弘明 (Hiroaki Nishi) 寒地土木研究所 正 員 山口

「比例的アナロジー」について,明日(2013:87) は別の規定の仕方も示している。すなわち,「「比

ロボットは「心」を持つことができるのか 、 という問いに対する柴 しば 田 た 先生の考え方を

ビッグデータや人工知能(Artificial

子どもたちは、全5回のプログラムで学習したこと を思い出しながら、 「昔の人は霧ヶ峰に何をしにきてい

人間は科学技術を発達させ、より大きな力を獲得してきました。しかし、現代の科学技術によっても、自然の世界は人間にとって未知なことが

 講義後の時点において、性感染症に対する知識をもっと早く習得しておきたかったと思うか、その場