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