ニューラルコンピューティング - Keio University
Download
Report
Transcript ニューラルコンピューティング - Keio University
ニューラルコンピューティングを理解する
第一版:2006/12/12
第二版:2007/11/12
Graduate School of Media and Governance
Keio University
Kensuke Naoe
1/42
動機・勉強会の趣旨
ﻪ武藤研の中でもニューラルについてほとんど理
解していない学生が多い
ﻪ自分自身もそうであった
ﻩ元々の興味は情報セキュリティ
ﻩ問題解決の一つのツールとしてニューラルを使った
ﻯ適切に問題設定をし,適切なモデルを使うと有用
ﻪみんなにもニューラルについて詳しくなってほし
い・興味を持ってほしい
2/54
応用範囲
ﻪ
ﻪ
ﻪ
ﻪ
ﻪ
ﻪ
ﻪ
ﻪ
ﻪ
ﻪ
ﻪ
数学
物理学
化学
経済学
統計学
遺伝子工学
言語処理
画像処理(静止・動)・音声処理
セキュリティ
情報工学(通信・プロトコル)
認知科学(パターン処理・認識・分離)
ﻪ
問題設定(発見)>モデルを作り>問題を解く
ﻩ
結局ニューラルがというわけではなく,すべてのアルゴリズムのコアの部分は突
き詰めていくとどれも似たようなものになっている.
3/54
Agenda
ﻪ第一部 ニューラルネットワークとは
ﻪ第二部 多層パーセプトロンモデル
ﻪ第三部 自己組織化特徴マップモデル
4/54
ニューラルネットワーク
ﻪニューロン(神経細胞)
ﻩ電気信号の入力と出力という単純な作業しか
出来ない
ﻩ有機的に接続されたネットワークを形成すると,
様々な複雑な処理が可能
ﻪニューロンにより形成されたネットワークを
モデル化したものをニューラルネットワーク
と呼ぶ
5/54
ニューラルネットワークモデル
ﻪ
ニューロンのモデル
ﻩ
ﻩ
ﻩ
ﻩ
ﻪ
バイナリモデル(Hopfield, McCulloch&Pitts)
シグモイドモデル
Radial Basis Functionモデル
競合ニューロン
シナプス結合の形態
ﻩ
ﻩ
リカレントモデル
階層型パーセプトロン
ﻯ
ﻯ
ﻪ
フィードフォワード
フィードバック
ニューロンと結合によるモデルの違い
ﻩ
状態遷移モデル
ﻯ
ﻩ
Hopfield 連想記憶,最適化問題 Hebb則
競合学習モデル
ﻯ
Self Organization Map 自己組織化マップ
ﻳ
ﻩ
教師なし学習
信号伝播モデル
ﻯ
パーセプトロン (rosenblatt)
ﻳ
一般δルール Rummelhart 教師あり学習
最適化,自己組織化,学習
optimization, self organization, supervised learning
6/54
ニューラルネットワークへの誤解
ﻪ
ニューラルは使えない
ﻩ
ﻩ
ﻪ
アバウトすぎて使えない
毎回答えが違うなんてありえない
ニューラルは万能だ
ﻩ
ニューラル使えばなんでも解けちゃうよ
ﻪ
これらは全部誤解であると言いたい!
ﻪ
ﻪ
ﻪ
問題に合わせたモデルを選択する事が重要
ニューラルの手法の得意な事・不得意な事がある
ニューラルが取り扱いたい実際の問題として,
ﻩ
最適な配置問題,最適化
ﻯ出力(システム)のダイナミクスを観察することで理解できることもある
ﻩ
特徴空間の分類問題.
ﻯ特徴空間のクラスが最初からgiven or known
ﻯ特徴空間がどのようにマップされるか分からない
7/54
出力のダイナミクスを観察する
N-queen問題の場合
8/54
ニューラルでN-queen問題を解く
9/54
分類問題
あらかじめクラスが分かっている時(1)
10/54
分類問題
あらかじめクラスが分かっている時(2)
11/54
XOR問題をbackpropagation学習で解く
12/54
分類問題
クラスがいくつ存在するか分からない時(1)
13/54
分類問題
クラスがいくつ存在するか分からない時(2)
14/54
分類問題
クラスがいくつ存在するか分からない時(3)
15/54
分類問題
クラスがいくつ存在するか分からない時(4)
16/54
ニューラルで色の分類をしてみる
17/54
今回の勉強会で話すこと
ﻪ信号伝播モデル
ﻩ階層型パーセプトロンモデル
ﻪ競合学習モデル
ﻩ自己組織化特徴マップモデル
18/54
「多層パーセプトロンモデルと
バックプロパゲーション学習」
を説明するスライド
Special thanks to Masato Aoba
Keio University
Graduate School of Media and Governance
Kensuke Naoe
19/42
パーセプトロン限界説
ﻪMinskyのパーセプトロン限界説
ﻩ非線形分離が出来ない
ﻪRummelhartが多層構造を持たせて,バックプロパゲー
ション学習を使えばXOR問題も解けることをしめした.
ﻩこのことから非線形分離問題を解けるバックプロパゲーション学
習が広まり,ニューラルネットワークはまた脚光を浴び始めた.
ﻩ直江持論:
ﻯ特徴空間における非線形分離能力はバックプロパゲーションで得ら
れる能力のほんの一部でしかない.
ﻯむしろ非線形な関数近似能力が最大の利点だ!
20/54
ニューラルネットワークの種類と性質
(構造による違い)
ﻪリカレント型
ﻩ
ﻩ
ﻩ
ﻩ
•Backpropagation学習
Hopfieldモデル,武藤モデル
など
•教師付き学習
リカレント結合
•パターン分離,関数近似 が得意
出力のダイナミクスに特徴がある
組み合わせ最適化問題,連想記憶
•非線形なパターン分離が可能
ﻪ階層型
ﻩ多層パーセプトロン,Kohonenモデル,RBFネット など
ﻩ層構造を持つ
ﻯフィードフォワード
ﻯフィードバック
ﻩ入力に対して出力が一意に決まる
通常は
ﻩ結合係数を学習
ﻯ
教師つき学習
3層で十分
ﻯ自己組織化学習
21/54
3層パーセプトロン
出力層
中間層
(隠れ層)
ﻪ3層構造
ﻪフィードフォワード型
k
w jk
ﻪニューロンの入出力関数
j
ﻩシグモイド関数
w ij
i
ﻪBackpropagation 学習
x1
xi
xM
入力層
22/54
ネットワークの計算
ﻪニューロンの入力値
ﻩ前層のニューロン出力と結合係数の積和
N
xj
w
ij
yi
yj
i 1
j
xj
w1j
wij
y1
yi
wNj
yN
23/54
パーセプトロンの動作
1
y
0 . 89
フィードフォワードのしくみ
1 exp 2 . 12
0.88
1.0
2.0
0.89
1.0
y
1
1 exp 0 . 71
0 . 67
-1.0
x 1 . 0 0 . 88 2 . 0 0 . 62
1
0.67
1
y
0
.
88
2 . 12 y
0 . 18
1
exp
2
.
0
2.0
1 exp 1 . 50
-1.0
x 1 . 0 0 . 89 1 . 0 0 . 18
-1.0
0.5
0.62
0.18
0 . 71
x 1 . 0 0 . 88 1 . 0 0 . 62
1
結合係数(Wij)の値によって最終出力が変わる
y
. 50
0 . 62
1
1 exp 0 . 5
ﻪ
ﻪどのように結合係数を決めてやるか?
→ ﻪ学習させる
24/54
Backpropagation 学習
ﻪ多層パーセプトロンの学習則
ﻪ教師付き学習
ﻪ教師信号との誤差を逆方向に伝播して結合
係数を修正する
1.0
0.9
2.0
入力
信号
0.5
1.0
1.3
-1.0
-0.8
2.0
1.9
-1.0
-0.9
出力
信号
0.67
教師
信号
1.0
誤差
-1.0
-0.8
25/54
バックプロパゲーションの説明(1/10)
ﻪ二点のニューロンiとjで考えると
i
j
:ネットワークの重みとする
(結合係数)
26/54
バックプロパゲーションの説明(2/10)
i1
i2
i3
・
・
・
i3
j
jユニットへの入力の総和(
)
を入出力関数に代入=
jユニットの出力の値
入力とは:前ユニットの出力
結合係数をかけたものの総和
:前ユニット(iユニット)からjへの出力値
27/54
バックプロパゲーションの説明(3/10)
ﻪ最終的なニューロンの出力値はそのユニット
の入出力関数に依存する
ﻩバックプロパゲーション学習ではシグモイド関数
ﻩシグモイド=S字
x
y
y
1
1 exp x
28/54
バックプロパゲーションの説明(4/10)
ﻪなぜシグモイドがいいのか
ﻩ微分可能である
ﻩ単調増加関数である
ﻩ微分後の式を元の式だけで表現できる
29/54
バックプロパゲーションの説明(5/10)
を微分してみる
30/54
バックプロパゲーションの説明(6/10)
ﻪ教師値とネットワークの出力を比較してそ
の誤差を最小化するようにネットワークの
重みを更新していく=学習
つまり更新式:
が求まれば学習できる
この式のことを一般デルタルールと呼んだりする
31/54
バックプロパゲーションの説明(7/10)
は学習係数と呼ばれる値
大きいほど学習が急激
小さいほど学習がなだらか
通常は0~1の値をとる
はjユニットの誤差の値
しかし,jユニットが出力層のユニットなのか
それ以外の層のユニットなのかで求め方が変わる
32/54
バックプロパゲーションの説明(8/10)
i
j
k
入力層
中間層
出力層
出力層の場合:
出力層以外の場合:
33/54
バックプロパゲーションの説明(9/10)
前スライドの式の説明:
はkユニットの目標値(教師値)
出力層以外の誤差は
上位の層の誤差が計算に影響されるので
上位の誤差それぞれとその間の重みをかけたものの
総和がそのユニットの誤差となる.
例えば中間層jユニットの場合
上位層kユニットの誤差の影響がある:
34/54
バックプロパゲーションの説明(10/10)
まとめ:
以下の図のような
三層パーセプトロンの場合
教師値:
1.
はニューロンiとjの間の結合係数
2.
はニューロンiの出力値
3.
はニューロンjへの入力総和
入出力関数がシグモイドなら
=
出力層:k層
4.
中間層:j層
入力層:i層
ヒント:
シグモイド関数の微分は
自分自身で表す事が可能
更新式は
このとき
5. δの値はjが出力層かどうかで決まる
jが出力層(k層)の場合
jがそれ以外の層の場合
35/54
課題
ﻪこの図のネットワークでバックプロパ
ゲーション学習させるときの重み係数
の更新値
を全て求めよ
ﻪただし:
ﻪ入出力関数はシグモイド関数とする.
ﻪiユニットの出力値はOiとする.
36/54
課題その2
ﻪXOR問題を解くニューラルネットワークを
学習する
X Y X xor Y
0
0
0
0
1
1
1
0
1
1
1
0
37/54
「Self-Organizing Map
自己組織化マップ」
を説明するスライド
Special thanks to H.Kusumoto
Keio University
Graduate School of Media and Governance
Kensuke Naoe
38/42
Self-Organizing Map (1)
ﻪ
ﻪ
ﻪ
ﻪ
自己組織化マップ
T. Kohonen 1982年
教師なし学習
応用
ﻩ
ﻩ
ﻩ
ﻩ
遺伝子解析
音声認識
画像解析
ロボット制御
39/54
SOM(2) 入力データ(多次元)
40/54
『自己組織化マップ』T.Kohonen
SOM(3) SOMによる結果
41/54
『自己組織化マップ』T.Kohonen
Self-Organizing Map (4)
ﻪ入力データ
ﻩ多次元データ
ﻩ表だけを見ていてもデータの特性を理解しづらい
ﻪSOMによる結果
ﻩ
ﻩ
ﻩ
ﻩ
2次元空間上にマッピングする
似た特徴のデータは近い場所にマッピング
異なる特徴のデータは遠い場所にマッピング
視覚的に理解しやすい
42/54
SOM(5) アルゴリズム(1)
ﻪ入力データ
ﻩX1, X2, X3, … , Xi, … , Xn :動物
ﻩXi=(xi1, xi2, … , xik, … , xid):属性
ﻪマップ
ﻩ格子状の2次元の空間を用意する
ﻩデータは格子点にマッピングされることになる
ﻩマップの大きさはデータ量などから決める
(m×m)
43/54
SOM(6) アルゴリズム(2)
ﻪマップの格子点に重みベクトルWを置く
ﻪ各Wに入力データと同じ次元数の要素を
与える
W
(m,m)
W(1,2)
W(1,1)
44/54
SOM(7) アルゴリズム(3) 初期化
ﻪ入力データ:4個 X1, X2, X3, X4
ﻪデータの属性:3次元 X1=(x11, x12, x13)
ﻪマップ:5×5
W(5,5)=(w(5,5)1,w(5,5)2, w(5,5)3)
Wの初期値は任意
45/54
SOM(8) アルゴリズム(4) 探
索
ﻪ入力データを1つ持ってくる
X1=(x11, x12, x13)
Wの中からX1に値が最
も近いものを探す
Wwin 勝者ベクトルと呼ぶ
46/54
SOM(9) アルゴリズム(5) 学
習
X1=(x11, x12, x13)
Wwinの値をX1に近づける
Wnew=Wold+α(X1-Wold)
α:学習率係数
47/54
SOM(10) アルゴリズム(6) 学習
X1=(x11, x12, x13)
WwinのそばにあるWの値もX1
に少し近づける
Wwinから離れるに従って
X1に近づける割合を減らす
48/54
SOM(10) アルゴリズム(6) 学習
ﻪこのように「Wの値
を変えること」を「学
習」と呼ぶ
ﻪX2,3,4に関しても同様
に学習する
ﻪこの学習を繰りかえ
し行う
49/54
SOM(11) アルゴリズム(7)
マッピング
ﻪX1, X2, X3, X4に対して,それぞれ最も近いW
を探し,そこにマッピングする
X3 X4
X1
X2
X3
X4
似た特徴のデータは近くに
異なる特徴のデータ遠くに
X1
X2
マッピングされる
50/54
実問題への適用
ﻪSOMの利点
ﻩほとんどの多次元データを扱える
ﻩシンプル(複雑な計算式がない)
ﻩ結果が視覚的にわかりやすい
ﻪ問題点もある
ﻩ実問題ではデータ数が多い場合がある
ﻯマップ上での表現
ﻯ計算時間
↓
ﻩ実問題への適用には様々な工夫が必要
51/54
SOMの問題点(1)
結果の表現方法
ﻪ入力データ数が多い場合(数百~数万)
マップ上に全てを表記するのは不可能
動物の例題では
16データしかない
『自己組織化マップ』T.Kohonen
52/54
SOMの問題点(2) 計算コスト
ﻪSOMでは繰り返し学習(データ数×数回)
が必要
ﻪデータ数が多い場合(数百~数万)なるべ
く大きなマップを使いたい
ﻩ入力ベクトルXに最も近い重みベクトルWを探
す時に,Wの個数分の計算が必要になる
↓
ﻪ繰り返し学習の回数と,マップの大きさ
(M×M)に比例して計算量が増える
53/54
課題
右の図の動物たちを
自己組織化特徴マップ
でクラスタリングしてみ
なさい
54/54