ニューラルネットワークについて勉強する ver2

ニューラルコンピューティングを理解する
第一版: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
‫ ﻩ‬シグモイド関数
wij
i
‫ ﻪ‬Backpropagation 学習
x1
xi
xM
入力層
22/54
ネットワークの計算
‫ ﻪ‬ニューロンの入力値
‫ ﻩ‬前層のニューロン出力と結合係数の積和
N
x j   wij yi
yj
i 1
j
xj
w1j
wij
y1
yi
wNj
yN
23/54
パーセプトロンの動作
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
x  1.0  0.89  1.0  0.18
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
-1.0
‫ ﻪ‬どのように結合係数を決めてやるか?
‫ → ﻪ‬学習させる
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
1
y
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