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