ニューラルコンピューティングを理解する 第一版: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
© Copyright 2024 ExpyDoc