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