半径並列モジュラーネットワーク型自己組織化マッ
プに関する研究
著者
増田 正人
学位授与大学
東洋大学
取得学位
博士
学位の分野
工学
報告番号
甲第325号
学位授与年月日
2012-09-04
URL
http://id.nii.ac.jp/1060/00003932/
Creative Commons : 表示 - 非営利 - 改変禁止 http://creativecommons.org/licenses/by-nc-nd/3.0/deed.ja博士学位論文
半径並列モジュラーネットワーク型
自己組織化マップに関する研究
平成24年9月
東洋大学大学院 工学研究科
機能システム専攻
増田 正人
目次
第1章
11
1.213
序論 はじめに...、... 本研究の目的と意義 本論文の構成 第2章 自己組織化マップ(SOM) 2.1 自己組織化マップとは 2.1.1 SOMのアルゴリズム第3章
3.1 3.2 3.3 3.4 3.5第4章
4.1 4.2 4.3 4.4 自己組織化マップの評価方法SOMの評価方法
評価式Fitness..... 評価式Interpolation 評価式の定式化.... 自己組織化マップの評価式試験.. 3.5.1 自己組織化マップ学習結果. 3.5.2 評価式を用いた学習結果.. 自己組織化マップの並列計算法 並列自己組織化マップ... 競合層分割法..... 入力層分割法 ..... 並列化効率の検証... 第5章モジュラーネットワーク型自己組織化マップ 5ユ モジュラーネットワーク型自己組織化マップ.5.2 mnSOMアルゴリズム
5.3mnSOM実験
1246
890
1
4567890411111122
7890222233
890134661334444445
第6章半径並列自己組織化マップ(RPSOM)
6.1 半径並列自己組織化マップ..。、 6.1.1 温度並列シミュレーテッド 6.1.2 RPSOMアルゴリズム 6.1.3 RPSOM評価方法..... 6.2 RPSOMの学習結果........ 6.2.1 動物のクラスタリング.. 6.2.2 アヤメのクラスタリング. 6.2.3 ワインのクラスタリング. ・ . , . . ● , . ・ ・アニーリング , . . . ・ . ■ ■ ● ・ . ・ ・ . . ● 〉 . ・ . ・ ・ . ・ . ・ ● . ■ ・ . ・ s ■ ■ ■ ・ ・ . . ■ . ■ ● ・566790169555556666
第7章
7.1 7.2 7.3 7.4 7.5 半径並列モジュラーネットワーク型自己組織化マップ(RPmnSOM) 半径並列mnSOMとは...一一..................,...RPmnSOMのアルゴリズム
RPmnSOMの評価方法.......... RPmnSOMのベンチマーク試験.................. 実用問題への適応....................−t........ 7.5.1 7.5.2 7.5.3 7.5.4 7.5.5 7.5.6 支配方程式 計算格子........... 翼型入力データ.,..... 翼型出力データ....... 翼型一空力特性マツプの作成 翼型マッピングの検証...678018891461777888889990
1
第8章 結論 8ユ 結論 105 106 謝辞 108 参考文献110
業績一覧 115第1章序論
序論
1ユはじめに 第1章序論
1.1 はじめに
自己組織化マップ(Se止Orgallizillg Map:SOM)はT.Kohonenによって提案されたニュー ラルネットワークの一一種である[1】∼[5].SOMは中間層のない2階層型ニューラルネット ワークであり,教師なし競合学習モデルを用いて入力パターン群をその類似度に応じて分 類する能力を自律的に獲得していくニューラルネットワークである.つまり,SOMは競 合層と呼ばれるマップ上に,似た入力はそばに,そうでないものは遠くに配置しながら, 入力ベクトルの相対的な位置関係を自律的に獲得しクラスタを形成していく. また,高次元入力ベクトルを低次元のマップ空間に写像し,視覚的に捉えることができ る.また競合学習によるクラスタリングやデータマイニングなどに役立つ特徴を持つ. 競合層のマップは1次元ならばマップのユニットは直線上に等間隔に並んだマップを形 成でき,一軸方向に似たものを順に配置するマップが形成できる.また,2次元ならば平 面空間に等間隔に分布を持ち,このときマップのユニットの並べ方は4角形格子や6角形 格子で表される.4角形格子は,ユニットが縦横に整列していて,それぞれの4方の隣の ユニットとつながっている4角形の格子トポロジーである.6角形格子は行ごとにユニッ トが互い違いになって,それぞれのユニットが6方の隣のユニットとつながっている格子 トポロジーである[6].3次元のマップならば一般的に球体の表面上にユニットを配置する [7][8].このとき6角形格子トポロジーを用いて球面を近似して,ユニットを当てはめる. 本研究でSOMは作成が簡単で1次元よりも複雑な分類が可能な2次元のマップを用い る.また格子トポロジーは4角形格子を用いて実験を行う. 入力データが与えられると入力ベクトルとマップユニットの間の重みからマップユニッ トの活動値を計算し,その活動値が強いものはより強く,弱いものはより弱くなるように ユニット間の重みを修正する学習法をとる.このとき最大の活動値を持つもののみ学習す ることを勝者全奪(winner−take−al1)という.これは単純で扱い易いが多くのマップユニッ トが何の役にも立たないままに学習が終わってしまう危険がある.一方,勝者が周りのユ ニットも引っ張って学習する近傍学習もある.このとき近傍のユニットは勝者からの距離に 応じて重みを修正する.また,勝者だけでなく周りのユニットも学習を行うので,役に立 たないユニットが出現しにくく,入力ベクトル間を補間するユニットの出現も期待できる. 近傍学習を行う場合,学習パラメータの設定が重要である.学習パラメータとは近傍半 径と学習係数であり,それぞれ勝者からの学習影響半径と学習強度を表す.この学習パラ メータの設定は問題に依存したり,マップのサイズに依存するため設計が極めて難しい. また設計には予備試験を繰り返し行い学習に適切なパラメータを試行錯誤的に導出する必 要がある. 学習パラメータである,近傍半径と学習係数は変数で与えられ,一般的に学習のステッ プの増加に伴い減少する関数を用いて表される.この2つのパラメータは学習を行う上で 重要な役割を果たすが,近傍半径は学習係数よりも競合学習を行うSOMでは役割が大き い.そのため,近傍半径の取り方を非対称にする方法[9][10]や2つのマップを持って大域 的なマップと局所的なマップを作ってクラスタリング性能を向上させる方法[11]などが検 討されている.学習係数もマップを構成する上で重要ではあるが,本研究では競合学習に 最も重要な近傍半径に着目して研究を行う. そこで,学習パラメータである近傍半径を複数持つSOM,半径並列SOM(Radius Par一 21.1はじめに 第1章序論 allel SOM:RPSOM)を提案しその有用性を示した[12]. RPSOMは学習パラメータである 近傍半径を動的に変化させることにより,生成されるマップの最適化が行える.また,近 傍半径を適切に選択する本手法は近傍半径の設計を簡略化し,予備試験の試行回数の削減 にっながる. 半径並列SOMは前述の格子トポロジーを変更しても,隣り合うユニットの結合のされ 方が変更されるだけであって,近傍学習には影響しない.そのため格子トポロジーにおけ る向き不向きは存在しない.これはマップを1次元に縮小しても3次元に拡大しても同様 のことがいえる. 一方,最近では徳永らによりモジュラーネットワーク型SOM(Modular Network SOM mnSOM)[13]∼[17iと呼ばれるSOMのユニットをモジュールに置き換えた,一般化され たSOMも提案されている.これはモジュールを変更することにより高度な処理を行う SOMの実装が実現可能である.入力信号と同じベクトルを表現するモジュールならば通
常のSOMであり,モジュールをSOMとするとSOMを階層的に表現するSOM2(SOM of
SOMs)[18]∼[21]を実装可能でベクトルデータの関係性を保存したマップとなる.また,モ ジュールをMLP(Multi−Layer Perceptron)にすることで,関数同士の関係性を保存した マップとなる.MLPを用いたmnSOMでは非線形関数のマッピングや補間,更には教師 あり学習にも適応できる.また,mnSOMは一般にMLPが用いられ,その特徴である非 線形関数のマッピングが注目されている.関数をマッピングすることにより,関数のクラ スタリングや関数の補間が行うことができる.しかし,ユニットの一っ一つをモジュール に置き換えることは計算量の増加につながり,学習パラメータの設計に予備試験の必要な SOMにはモジュール計算がボトルネックとなる.そのため, innSOMでは複数のプロセッ サを用いた並列化手法も研究されている[22}.1.2本研究の目的と意義 第1章序論
1.2 本研究の目的と意義
本研究では自己組織化マップのマップ形成の最適化を行う.自己組織化マップの最適化 を行うことで,近傍半径の最適な設計が行え,そのことによって学習に時間のかかる自己 組織化マップやモジュラーネットワーク自己組織化マップの予備試験の試行回数削減が期 待できる.以下に本研究で提案する3つの方法を提示す. (i)自己組織化マップの評価方法の提案. (ii)半径並列自己組織化マップの提案. (iii)半径並列モジュラーネットワーク型自己組織化マップの提案. (i)の提案は自己組織化マップ(SOM)の学習における最適化手法を実現するために必要 となる.SOMは高次元ベクトルデータを低次元空間に写像するという特徴から,一般的 に視覚にて評価を行う.また,分類機としての性能を評価することが殆どである.しかし ながら,これらは学習終了後に行える評価であり,学習中に行うことにあまり意味をなさ ない. そこで,本研究の半径並列モジュラーネットワーク型自己組織化マップを実現するため に,学習中にマップの評価が行え,分類器ではなく,補間性能を満足させながらマップを 形成させることを重点にした評価方法を提案する.また,提案する評価方法の妥当性を視 覚的評価と照らし合わせて検証する. (ii)の提案はSOMの近傍半径の設計簡略化を目指した手法である.近傍半径を複数持 つSOMを構築し,(i)の評価式を用いて最適な近傍半径で学習を行う手法である.通常, SOMでは近傍関数を予め一つ設定して学習を行う.近傍関数は勝者ユニットの周りでど のくらい学習を行うのかを示す学習強度と近傍半径から導出される関数であり,近傍半径 が競合学習を大きく左右する要素となる.また,学習強度と近傍半径は学習のステップに よって時間変化をする.一般的に近傍半径は学習開始時から単調減少させることが多いが, 問題やマップの規模に応じて半径の減少関数を使い分けた方が学習の効率を向上させると 推測される.また,扱う問題に合わせた適当な近傍関数の設計には予備試験を何度も繰り 返し行う必要がある. 本提案手法を用いることで近傍半径の設計が簡略化でき,予備試験の試行回数削減にっ ながる. (iii)の提案はSOM同様に近傍半径の設計簡略化と予備試験の試行回数の削減を目的と してる. mnSOMと(ii)の半径並列自己組織化マップを組み合わせた手法を提案する. mnSOMは モジュールを含有しているため,複雑な処理を実装可能であるが,計算時間はSOMより大 幅に増える.そのため,適切な近傍半径での学習と,予備試験の試行回数削減はmnSOM でより良い学習を行うために重要である. 本提案手法では,その両方を実現することが可能であり,また,評価式によりmnSOM の最適マップ生成が可能となる. 一41.2本研究の目的と意義 第1章序論 以上より,本研究ではSOMの新しい評価方法を提案し,その評価方法に基づいた半径 並列化手法を提案し,その有用性を示す.また,RPSOMとmnSOMと組み合わせた半径 並列モジュラーネットワーク型自己組織化マップ(Radius Parallel Modular Network Self− Organizing Map:RPmnSONI)を提案し,その有用性を示し,実用問題を例題として学習 させることで本提案手法の実用性を示す.
1.3本論文の構成 第1章序論
1.3 本論文の構成
本論文の構i成を以下に示す.第1章では本研究の導入を紹介する.第2章ではSOMの 特徴とそのアルゴリズムを示す.第3章ではSOMの評価方法にっいて述べ,その妥当性を示す.第4章では一般的なSOMの並列化手法にっいて述べる.第5章ではmnSOMの
特徴とアルゴリズムについて述べ,第4章の並列化手法を用いた並列化効率を示す.またmnSOMを用いた具体例を挙げ, mnSOMの有用性を説明する.第6章ではRPSOMの導
入とアルゴリズム,評価方法について述べ,RPSOMを用いることで従来手法よりも効率 的に学習やマップを形成することができることを示す.第7章ではmnSOMとRPSOMを組み合わせたRPmnSOMの詳細なアルゴリズムとRPmnSOMを用いたベンチマーク試験
の学習結果について述べ,実用的な例題を挙げ本提案手法の有用性を示す.第8章は本研 究で行った結果をまとめ総括する. 一6一第2章自己組織化マソプ(SOM)
2.1自己組織化マップとは 第2章自己組織化マップ(SOM)
2.1 自己組織化マップとは
自己組織化マップ(Self−Organizing Map:SOM)はニューラルネットワークの一種で T.Kohonenによって提案された,中間層の無い2階層型の教師なし競合学習モデルである [1|∼[5].入力データ群をデータ間の関係を保ったまま,任意の次元へ写像することができ る.主に1∼3次元の低次元空間への写像に用いられ,多次元のデータ間の相対的な関係を 低次元空間上に可視化することができる.このとき入力信号を満足するユニットやそれら が形成するクラスタの出現は入力信号の類似度により自動的に生成される.これが自己組 織化マップといわれる由縁である. 以上より,多次元データを直感的に捉えることが可能であったりデータマイニングやデー タのクラスタリングなどを執り行うことが可能である.この低次元の空間をマップ(map), 競合層(competitive layer),出力層(output layer)と呼ぶ.入力データ空間を入力層(input layer)と呼ぶ.自己組織化マップにおいて,マップは離散データ空間である.その格子点 をニューロン(neuron)としユニット(unit)と呼ぶ(Fig.2.1). また,SOMで構築されるマップは決まった意味を持たず,入力データを相対的にマップ 上に配置しているだけであって,入力データの出現位置やそのクラスが占めるユニット数 には直接の意味を持たない.そのため,相対的な入力データの見方が可能で,分類器やマ イニングに多く用いられ,未知の入力データを分類したり,カテゴライズすることでデー タマイニングに役立てることができる. 例として,SOMを用いた情報分析に基づく経済分析や事業戦略管理,建設分野におけ る地盤構造の推定や斜面崩壊予測システム,効率的なロボット制御方法の学習などへの応 用研究が多数行われている[23].また,最近では画像処理をべ一スとした,顔認証[24]や 画像の内挿法[25],医療分野では脈波をカテゴライズする研究[261なども行われている. なお本研究で用いるSOMのマップは2次元空間とする.またT.Kohonenの学習則を基 本として次節に学習のアルゴリズムを記述する. 一9一2.1自己組織化マップとは 第2章自己組織化マップ(SOM) Ul
U2
Outp
tLayer
@xN
●m
UM.N 、 @ W﹂MxNl h騨Vec故s(㌔頗=∫16㎞㎡σ㎞,的”辻㎞) ut Lay Fig.2.1:Conceptual Diagram of SOM(U are map units, m is an unit number,ωare皿it weights, x is input signal. M and N are map size、 Index l is number of input vector, clαss means input signal index)2.1.1SOMのアルゴリズム
SOMのアルゴリズムを以下に示す.学習は「入力の提示」,「勝者,近傍の決定」,「重み の更新」の順で進む.マップ生成には入力層と競合層の2層を用い,2つの層のニューロ ン同士はそれぞれ完全結合で結ばれている.また,層の間の結合には多次元ベクトルデー タの重みが与えられており,学習前に乱数で初期化される(Step 1).入力層は入力データ と同じ1次元を持ち,競合層は出力を視覚的に捉えやすくするため2次元に配列され,入2.1自己組織化マップとは 第2章自己組織化マップ(SOM) はレーベンシュタイン距離,実験心理学で用いる都市ブロック距離,文書間の関連性を表 すタニモトの測度ファジィ論理で用いられるルカシービッチ測度など,必要な情報を引 き出すために様々な距離測度が考案されている[27].ここでは一般的な距離測度であるユー クリッド距離を用いる.最後に競合層ユニットの重みを更新する.ここでは勝者ユニット とその近傍で重みを更新させる(Step 5).近傍の更新量を決定させる近傍関数を用いる. 近傍関数は最初は大きな値をとっておき,学習ステップとともに減少させる.これは学習 の収束を促すためである.ユニットBMUの周りのユニットを近傍集合とし,1VBMuと定 義すると,m∈NβMuならhBAfUm=α, m¢N8MσならばhBAI(ノm=0である.これを 近傍半径σで表したものがEq.(21.5)である. 以上を十分な回数繰り返し行うと各競合層ユニットが持つ重みを参照ベクトルとする空 間が形成される. Step 1.ユニットの重みベクトルwの初期化. Step 2.入力層に入力ベクトルX。,。s、=(xli。。s,エ;。。。,エ;z。。s,…,:cli。s。)を提示.但し, class は入力番号を表す添字,1は入力ベクトルの次元である. Step 3.マップ層(競合層)で入力ベクトルとユニットの重みベクトルとのユークリッド距離i Distを求める. I D乞・孟m−sq’・tΣ( t zZdα85一ωm)2 z=1 (2.1.1) Step 4. Step 3で求めたユークリッド距離が最小となるユニットを勝者ユニットBMU (Best Mαtching Unit)とする. BMσ=argmin Dzstm m (2.1.2) Step 5.勝者ユニットとその近傍のユニットの重みの更新. △ωhニh(1(BMU, m))・(rki。。,一ω㍍) (2⊥3) /(BMU, m)ニllrBMU− rmll (2.1.4) h(1)−a・exp(一芸) (2ユ.5) Step 6. Step 2からStep 5を十分な回数繰り返す. 11
2.1自己組織化マップとは 第2章自己組織化マップ(SOM) ここで,mはユニット番号を表す添字である. hとσはそれぞれ近傍関数と学習の影響 範囲(近傍半径)を表し,学習ステップの増加に対して単調減少させる(Eq.(2⊥6)).αは 学習係数であり,0≦α≦1の間で定める.学習係数αは学習の強度を表す.この学習係 数αも学習ステップの増加に伴い単調減少させる(Eq.(2.1.7)).1は勝者ユニットと重みを 更新するユニットとの距離であり,rBMσ,rmはそれぞれ競合層におけるユニットBMUと mの位置ベクトルである.このときIlrBMu 一 rmllが増加するにっれて近傍関数はh→0と する. σ(り…(i−i) α(t)… a・(・一÷) このとき,tは学習ステップTは総学習回数である. 以上のアルゴリズムに則り,学習を進行させる. (2.1.6) (2.1.7)
第3章自己組織化マップの評価方法
自己組織化マツプの評価方法
3.1SOMの評価方法 第3章自己組織化マップの評価方法
3.1 SOMの評価方法
本章ではSOMの評価方法について述べる. SOMは高次元ベクトルデータを低次元空間に写像して視覚的・直感的に捉えるために 用いられることが多い.そのためSOMの評価は学習後に定性的に行われるのが一般的で ある. 一方で,マップのクラスタ分類の性能を評価する方法もある.マップユニットの勝者に 選ばれ発火したデータの数や,隣接ユニット間のコードベクトルの類似度,クラスタ集積 度を用いたヒストグラムで,クラスタの境界を選定し評価する[28口30].しかし,クラス タを分類する評価はSOMのユニット間の補間性能を評価できない.また,この評価方法 は学習後のマップを用いてクラスタ境界を提示するため,動的に用いることはできない. そこで本研究では学習の過程でも評価できる新しい評価方法[12]を提案する.このこと により,従来定性的,または静的にしか評価できなかったSOMを定量的,または動的に 評価することが可能となる.提案する評価方法はマップの評価を評価関数を用いて表す方 法である.評価関数は入力データの出現を評価する式とSOMのユニット間における補間 性を評価する式を用いる.前者をFitness,後者をInterpolationと呼ぶ.次節以降にそれ ぞれについて説明をする. また,これらの評価値は本研究の提案手法である半径並列モジュラーネットワーク型自 己組織化マップにも用いる.しかし,評価式が2本あるので,一元化して扱い易く定式化 した.3.2評価式Fitness 第3章自己組織化マップの評価方法
3.2 評価式Fitness
SOMは入力信号をある程度模倣する必要がある. SOMの学習は入力信号に似た競合層 のユニットを選択して,入力信号に近づけるための修正を繰り返す.そのため,この模倣 度は学習の善し悪しに大きく関わり,入力信号の競合層上への出現はマップを形成する上 で最も重要である.Fitnessは入力信号を満足させるために用いる式であり,学習の精度を 評価する評価式である.以下にFitnessの評価式を記す. CLAss IEvαIF,t一ΣΣ@5M⊂・』)2 (3・2・1)
ctass=1 z=1 ここでCLASSは入力データセット数,1は入力ベクトル長, BMUは入力データセッ トのclαss番目が入力されたときの勝者ユニットを表す.また,ωは競合層ユニットの荷 重,xは入力ベクトルである. Fitnessはある入力データが与えられたときの勝者ユニットと入力信号のユークリッド 距離の差を全入力データセットで求めたものの和で表される.この評価値は入力信号と勝 者ユニットの差を表すものであるため,値は小さいほど入力信号を再現している.よって, この評価値は小さいほど評価は良い. この評価式を用いることで,入力信号の出現を定量的に検知することができ,学習の精 度検証の指標となる. 一163.3評価式Interpolation 第3章自己組織化マップの評価方法
3.3 評価式Interpolation
次に,SOMは隣り合う競合層ユニットは似た出力を出現させる特徴がある.これは入 力信号間の補間を意味する.SOMは各入力信号を競合層にマップする.このとき競合層 の数にもよるが,一つのユニットに一つの入力信号を割り振る.競合層の数が入力信号よ りも多ければ,勝者ユニット同士の間に勝者ユニットに選ばれなかったユニットが介在す る.これらのユニットは全く役に立たないユニットではなく,勝者ユニットに引かれその 入力信号を学習している.そのため,勝者ユニットの近くにはその勝者ユニットに比較的 似たユニットが存在する.複数の勝者ユニットに囲まれたユニットであればそれぞれの勝 者ユニットに引っ張られ,学習を行っている.そのユニットはそれぞれの勝者ユニットの 中間のユニットを形成する.この特徴をうまく用いることで,少ない入力信号で多種類の 分類が可能となる.また,勝者ユニットの競合層上の配置は,似たものは近く,そうでな いものは遠くに配置される.つまり本来ならば遠くに存在しないといけないはずの信号が 近くに出現するマップは学習がうまく行えていないことを表す.よって,このユニット間 の補間状態を評価することは,競合層の整形と入力信号の補間性を表す指標となる. 補間性能Interpolationは隣接するユニットの近似度を表し,この値が小さいほど隣接す るユニットには似たユニットを配置できていることを示し,補完性が良い.Interpolation の評価式を以下に示す. Eval・・t一葈h@』−w+駕声吟一り醐
ここでM,Nは競合層の大きさを表し, mαp.hとmαp.vはそれぞれ縦方向と横方向のユ ニット番号である. Interpolationは隣り合うユニット出力のユークリッド距離の差を全ユニット間で行いそ の和を表す.すなわち隣り合うユニット出力がどれほど似ているのかを表し,SOMの勝 者ユニット間における補間性能を示す.このInterpolationも値が小さいほど補完性が高い ということとなる.3.4評価式の定式化 第3章自己組織化マップの評価方法
3.4 評価式の定式化
上記の二つの式はそれぞれ,入力信号を満足する指標である適合度Fitllessと隣接する ユニット間距離を表す補間度Interpolationを表すが,入力数やマップのサイズによって その値はまちまちになり,このままだと単純な一元化が難しい.そこで,各評価式の平均 をとり,単位当たりの評価値にすることを考えた.また,平均値では問題別で相対的な評 価しかできないので,評価値を入力信号の大きさで割って無次元化した.以下にその式を 記す. EvαIF、己=:鷲(ω㎞一醐ゾAss
竃1曇』ゾA∬
EvalFit CL/ISS I ΣΣ( 1tT bt ass)2 ctαss=1 2=1 (3.4.1) Evαli,、t;顯鷲ピ』一』㌶蹴』一』り
{(M−1)×N+M・(N−1)}鷲妄』中A∬
CL 4ss・EvαIJnt CLノIss {(M−・)×N+M×(N−1)}ΣΣ(:・・:、ass)2 c↓αs8=1 z=1 (3.4.2) Eq.(3.4.1)とEq.(3.4.2)は単位も合っていることから単純に足し合わせたものをマップ の評価値Evαtuαtionとして定める(Eq.(3.4.3)). 、Evαlzeαtion=EvαIFit+Evαtint (3.4.3) 一18一3.5自己組織化マップの評価式試験 第3章自己組織化マップの評価方法
3.5 自己組織化マップの評価式試験
ここではSOMのベンチマーク試験である動物の分類を行う.
入力データは以下の表に示す.
Table 3.1:Input Vect()rs of Animal
‘Nam・ Sm赴) Mldd〕c l L脳gc ,Noct町頁aUt、 2Leg・ 1Lcg・ 、、|u・kers l U1〕9111ata l Manc Fぐathc【 StnPI・ nluハt Rlul Illv S、、ハm Ilcrhlvor、
Do、e l l O O 0 1 1 U I U l, 1〕 1 「 u O I 〔[ 1 0 ‘ {[5 IFox O l O 05 ‘ O 1 1 O (ハ ll {j l 」 o u I {; ‘ o
Hen I 1 0 0 O l l 0 [ 0 0 0 1 0 〔〕 0 (1 ‘ {戊 1 {}5
Uon O O l l o l o 1 1 O l (⊃ O l 1 i O l O I O ‘
‘Goose l 1 0 1 0 0 1 0 0 0 ‘ O l O O 一Z 1 1 u5 ‘ ‘
Eagle O 1 0 0 1 0 0 0 1 0 1 0 1 O l 〔j o Do9 O l 0 0 ‘ 0 1 ‘ 1 0 0 0 1 0 1 0 1 r) 1 〔D ‘ 〔〕 、、01f O l 0 1 0 1 1 0 1 0 ‘ 0 ↓ 1 1 。寸 。 1。 1 ‘ ‘ Zebra o 「 o 1 0 0 1 l l 1 ‘ 0 1 ‘ 0 1 ([ ([ [ Duck 1 0 0 1 0 1 0 0 o O l l o3 ‘ 0 0 1 u5 1 斗__一 Cat 1 0 0 05 0 1 1 0 Owl 1 0 0 1 1 o o 0 。 1 、〕 /、) 1−÷一ト撒一 lTlger 0 0 1 05 0 1 1 0 0 0 1 1 1 n o O ‘
Hor8や 0 0 1 0 0 1 1 1 I o o (l l I o (, 1
H肌k 1 0 0 0 1 0 o o O l 0 ‘ 1 0 1 叫一
Cow o 「 o 1 0 0 1 1 1 ‘ ⑪ 〔〕 o (1 (⊃ o rl l 」 」
Table 3.1は16種類の動物を16次元の特徴で表したものである.特徴は体の大きさを小 さい,中くらい,大きい,夜行性,2足歩行,4足歩行,ひげの有無,蹄の有無,たてがみ の有無,羽の有無,縞模様の有無,狩猟をするか,よく走るか,飛べるか,泳げるか,草 食性を示している. この16次元の情報から似た特徴をまとめた2次元マップが形成できればSOMの学習は 成功である.以下にSOMの学習の設定を記す. Table 3.2:Setup of Self−Organizing Map for Animals Data Map Size 20×20
Case 1 Ca万e 2 Case 3
Neighborhood Radius
2→0
5→1
8→2
Learning Coe伍cient 0.5→0.1 Learning Iteration 1,000 Map Sizeは競合層のユニットの数を表し,ここでは20×20の正方形状に配置した.近 傍半径であるNeighborhood Radiusは比較のため3種類用いる. Case1は初期近傍半径の 大きさが2マス分であり,学習範囲の直径は4マスである.また学習終盤では勝者ユニッ3.5自己組織化マップの評価式試験 第3章自己組織化マップの評価方法 ここでは近傍半径が小・中・大と変わった場合に形成されるマップのでき方について確 認し,その評価を前述の評価式を用いて検証し,評価式の妥当性を示す.
3.5.1 自己組織化マップ学習結果
学習はTable 32に基づき初期条件を近傍半径以外全て揃えて行った.競合層の荷重も 通常は乱数を用いて実験の度に変わるが,ここでは近傍半径の違いを見るため予め作成し た乱数を用いて,競合層荷重を全て同じものした. 近傍半径がCase 1の場合の学習結果をFig.3.1に示す.ここでは,形成されたマップを 直感的にとらえ,定性的に評価する. ここで表すマップのマスは競合層ユニットを表す.色の濃淡はユークリッド距離を表し, 白いほどそのユニットが属しているクラスに近く,黒いほど遠いベクトルを表す.ユニッ トとユニットの間にある細いバーは,挟まれたユニット同士のユークリッド距離を表して いて,これも白いほど近く黒いほど遠いことを表す.隣合っているユニットでもこのバー の色をみると近いベクトルを持っユニットであるのか遠いベクトルを持つユニットである のかがわかる. Fig.3.1より,鳥類や肉食獣のクラスタが形成されたことがわかる.また,図の左側の鳥 類では隣り合うクラス群との境界が薄くぼやけていることが確認できる.これは似たベク トルが多く,そのクラスを傍に配置するSOMの特徴がうまく出ている.また,クラス間が 薄い色で表されていることから補間もできていると推察される.他のクラスの境界はしっ かりと黒く境界が形成されている.このことから,傍に配置されていても,隣のユニット はあまり似ていないユニットであるということを示唆している. 次にCase 2の場合について結果を評価する.結果をFig.3.2に示す. 近傍半径を変更するだけで,形成されるマップの配置が大きく変わることがわかる.ま た,Fig.3.1に比べ,クラスの境界がぼやけていることが確認できる.これは近傍半径が広 くなったことで学習の影響範囲が広がり,他のクラスに属しているユニットにもその影響 を及ぼしたからだと考えられる.しかし,入力クラスはしっかりと形成されている. 最後にCase 3の場合についてFig.3.3の結果から評価する. 結果から全体的にグレー掛かったマップが形成された.勝者ユニット間の境界がぼやけ ているが,図左上のHorseとEagleの間から右下WolfとOwlの間までに黒い境界が形成 された.これは鳥類と大型の四足歩行獣の境界が形成されたことを意味している,また, 図の右側中段に文字の重なったユニットが存在する.これはGooseとDuckであり, Table 3.1を参照すると非常に良く似ていることがわかる.しかし,このような一つのユニット に複数の勝者があるのは個々の特徴を分類する上で望ましくない. このCase 3は近傍半径が一番大きく学習の影響もより遠くのユニットまで及ぶ.その ため,他の勝者ユニットへの干渉が大きく,ひいては学習を阻害し,複数の入力信号に似 せた勝者ユニットを形成してグレーなユニットを生成する.よってこの動物のクラスタリ ングのように非常に似た入力信号が存在すると,一つのユニットにまとめて勝者とし,そ の勝者ユニットを保護する. 20一3.5自己組織化マップの評価式試験 第3章自己組織化マップの評価方法
Fig.3.2:Result of Single neighborhood Radius SOM(neighborhood Radius is Case 2.)
3.5自己組織化マップの評価式試験 第3章自己組織化マップの評価方法
3.5.2 評価式を用いた学習結果
次に本論文で提案する評価について検証する. 本稿では前述のFitness(3.2章)とInterpolation(3.3章)を用いてSOMのマップの出現を 評価する.Fitnessは入力信号を生成されたマップの勝者ユニットが満足しているかを表 し,Interpolationは隣接するユニット間のユークリッド距離を表す.それぞれ適合度と補 間度であり,値が小さいほど優良なマップである. Case 1からCase 3の評価値をTable 3.3に示す. Table 3.3より, Case 1のFitnessは0.00と入力信号を完全に模倣している値を示してい るが,Interpolationは3つのCaseの中で一番大きい値を示している. Fig.3.1のマップを 見ながら解説する.まずFitnessは勝者ユニットとその周りのユニットの色を識別しても 明らかに白いクラスタが形成されている.これは勝者ユニットの周りにその勝者と似たユ ニット群が形成されていることを意味する.さらに勝者ユニットの各々は完全に独立して いて重なりが無い.このことからそれぞれのクラスは独立したクラスタを形成し,なおか っ干渉も少ないといったマップが形成できたと云える.その反面クラス間の間を埋めるよ うな働きをするユニットが存在しにくく,地図でいうところの谷ができてしまっている. これをTable 3.3で見ても同じ結果を示しているといえる.勝者はうまく模倣できている が,勝者ユニット間を埋める中間のユニットの出現が少ないと見て取れる. 次にCase 2の場合について考察する. Case 1同様にFitnessは0.00と入力信号を模倣 している.また,Interpolationの値もCase 1よりも小さい値をとり,より良い評価値を 示した.Fig.3.2より各クラスは独立し,勝者ユニットは白いユニット上に存在し,かつ, Case 1(Fig.3.1)よりクラスの境界でグレーのユニットが出現している.このことからクラ スの境界で比較的似たユニットを形成していると考えられる. 最後にCase 3について述べる. Case 3の評価値はFitllessは他の二っと違い0.00を示 さなかった.これは入力信号を模倣して出現させるユニットに欠損があることを意味する. しかしながら,Interpolationは3つの中で最小値を示した. Fig.3,3を見ると, Fitllessが 表す解適合度は鳥類に対して低く,勝者ユニットですら白いユニットを持たない.また, 前述したようにGooseとDuckのように一つの勝者ユニットが2つの入力信号をまかなっ ている.これは入力信号に対して十分なマップサイズを確保している本研究の結果として は意に介さない.しかし,Interpolationが示すようにクラス間の境界はぼやけ,クラス境 界のユニットは比較的似たユニットを配置した. また,評価値Euαluαtionの一番小さいCase 2は視覚的に見ても勝者がはっきりしてい る点やクラス境界でもややぼやけた境界が見て取れる点で,他の二つより良いマップであ るといえる. 以上より,FitnessとInterpolationを用いることで,完成したマップを直感的に視覚か ら評価することと同等の評価が得られることがわかった.また,それらを用いてマップの 善し悪しを計ることが可能なEraluαtionによる評価方法の妥当性も示した. 一24一3.5自己組織化マップの評価式試験 第3章自己組織化マップの評価方法
Table 3.3:Evaluation of Self−−Organizing Map(Case 1, Case 2, Case 3) Fitlless IIlterpolatioI1 EuαZμαれoγ↓
Case 1 0.00 9.60×10−2 9.60×10−2
Case 2 0.00 6.20×10 2 6.20×10−2
第4章自己組織化マップの並列計算法
自己組織化マツプの並列計算法
4.1並列自己組織化マップ 第4章自己組織化マップの並列計算法
4.1 並列自己組織化マップ
SOMは入力層と競合層の各ニューロンが完全結合で結ばれているため,大容量のデー タを処理しようとした場合,計算量が膨大になり学習に時間がかかる.この問題を解決す るために計算機のパワーを上げるか,並列化して計算時間を短縮するかの二通りが考えら れる.計算機のパワーを向上させる方法は,一般にシステムの利用者には既存の計算機環 境を用いるため不可能である.そこで並列化手法を取り入れて計算時間の短縮を計ること を考えた. SOMの学習にかかる計算時間はマップのサイズと入力ベクトル長によって決まる.大 まかに,入力ベクトル長が倍なれば,計算時間も倍になる.入力ベクトルと計算時間は比 例関係にある.しかし,マップのサイズは競合学習における修正ユニットの量が変わるた め,単純な比例関係ではない.SOMの学習時間はほぼマップのサイズが支配的である. SOMの並列処理による高速化手法がいくっか提案されている. SOMの並列化には大き く分けて2つ存在する.一つは競合層を分割する方法[31][32]で,もう一っは入力層を分割 する方法[31][33][34]である. それぞれについて簡単に次節で述べるが,本研究ではこのどちらでもない新しい並列化 手法を提案する[12].提案手法はSOMの学習の善し悪しを左右する近傍半径を複数持つ SOMを用いて,各プロセッサには別々の近傍半径を持たせて複数のSOMを同時に学習さ せる.提案手法についての詳細は次章で説明する.4.2競合層分割法 第4章自己組織化マップの並列計算法
4.2 競合層分割法
競合層分割法[31j[32]は文字通り競合層を分割し並列する手法である.この並列学習法 は競合層を分割して各プロセッサに割り当てる.競合層を各プロセッサに割り当てるとい う直感的な方法なので,比較的簡単に実装できる.しかし,この手法はSOMアルゴリズ ムの特性上,結合荷重の更新時に各プロセッサに負荷の不均一が生じ,効率的ではない. なぜなら,結合荷重の更新は勝者ユニットとその近傍ユニットを割り当てられたプロセッ サだけが行い,他のプロセッサはアイドル状態で処理の終了を待っこととなるからである (Fig.4.1).Neighborhood Units
Idol UnitsWinner Unit
Competitive Layer
Edol Units Fig.4.1:Image of Competitive Layer Parallel Method Fig,4.1は一つのプロセッサに一つのユニットを想定しているが,プロセッサに余裕がな い場合は,当然複数のユニットを一っのプロセッサに持たせて学習させることもできる. しかし,負荷の不均一は存在する. 本提案手法では組み込みが容易にできるため,競合層分割法を用いた並列化も行ってい る.並列化効率を本章の4.4節で述べる. 29一4.3入力層分割法 第4章自己組織化マップの並列計算法
4.3 入力層分割法
競合層分割法による並列学習ではプロセッサ間の負荷が不均一になったり,画像等の高 次元な入力では十分な高速化が行えないなどの問題が存在する.この問題を解決するため にプロセッサ間の負荷の不均一が原理的に発生しない入力層分割による並列化が考案され ている[31][33][34]. 入力総分割法は入力データの次元数7L個分の入力層ユニットを持ち,プロセッサは入力 層のユニットーつを担当し,競合層の各ユニットへの結合荷重を持つ(Fig.4.2).よって, 競合層のどのユニットがWinner,または近傍に選ばれ結合荷重の更新を行っても全ての プロセッサが同様の処理を行うため,各プロセッサの負荷は均一になる(Fig.4.3). C・mp・titiv。 L Input Data Fig、4.2:Schematic Input Layer Parallel Method Fig.4.2,4.3は入力データの一つの次元に対して一つのプロセッサを割り当てているが, これも当然一つのプロセッサに複数の入力次元を割り当ることができる.4.3入力層分割法 第4章自己組織化マップの並列計算法 ∫叩・fLayer C・mp・titi !e Layer VVinner Unit Fig.4.3:Weight Update Processing by Input Layer Parallel Method 一31−一
4.4並列化効率の検証 第4章自己組織化マップの並列計算法
4.4 並列化効率の検証
本手法で取り入れている競合層分割の並列化効率を検証した.検証結果を以下に示す. 検証に用いたデータは3.5で用いた動物のデータを使用した.同様にマップサイズは 20×20として,学習回数は1,000回とした.学習係数を〔〕.5,近傍半径を15.0としてそれ ぞれ0.0まで単調減少する関数を用いた.SOMの計算時間に影響を及ぼすものはマップサ イズと学習回数である.並列化効率を計るため学習パラメータは適当に設定してある. 先に学習結果をFig.4.4に示す.4.4並列化効率の検証 第4章自己組織化マップの並列計算法 次に,計算時間の割合を見る.Fig4.5に横軸にプロセッサ数を表示して, 間の割合を示す. 縦軸に所要時 ΦEF℃①椙庄 100% 90% 80% 70% 60% 50% 40% 30% 20% 10% 0% 2 ■Initial Tlme ■Buffer Copy Time 4 5 8 10 16 20 25 40 Number of Processor ■Communication Time Calculation Time ■ File Output Time Fig.4.5:Rate of Calculation Time by Competitive Layer Parallel SOM 一一一 R3一
4.4並列化効率の検証 第4章自己組織化マップの並列計算法 60「 50i 401
署
き3。き
20‘ 10 0 0 | i l ’ ー ー − , ー 1 − − ー −1|. 1, ‘|.‘.ト|ー II ー,, , 1 − ﹂ 一﹁ー ﹂− F. ﹁ ︷ . l l 、 ー − l l . − ’ . , ー ー 1 , F ‘ ー 1 , ー . ー − l l l I I 10 20 30 Number of Processor 40 50 Fig.4.6:Calculation Time by Competitive Layer Parallel S OM 2 2 t 08●工 t 一.一. 一「一一 . .. 一 一一 一一一. 一 .一’ ・ 一 ・. ・ .. 一.一・4.4並列化効率の検証 第4章自己組織化マップの並列計算法 プロセッサ数が増えるにつれてCalculation Timeが減少している.また, Communication Timeはプロセッサ数が増えるにつれ増加した.これは1プロセッサにかかる計算負荷が 分散したためCalculation Timeが減少し,プロセッサとプロセッサ間の通信が増えたため Communication Timeは増加した. Fig.4.6は全体の計算時間をプロセッサ数毎にプロット したグラフである.グラフからノード数が8と16のときに計算時間が早くなり,16ノー ドを過ぎると計算時間が増加する.しかし,計算時間の方が通信時間に比べて支配的なの で単一プロセッサでの計算よりもトータルの計算時間は短縮できている. また,このときのSpeedupグラフをFig.4.7に示す. speedup曲線は理想的なLinearに なっていない.これは通信時間がボトルネックになったのが要因である.1,000回の学習 での合計の通信時間はプロセッサ数8で8.91秒,プロセッサ数16で11.65秒,プロセッサ 数50で22.56秒である.同様に学習の計算時間はプロセッサ数8で5.87秒,プロセッサ 数16で2.94秒,プロセッサ数50で1.00秒であった. また,SOMの学習部分だけ計算時間に対するSpeedup曲線をFig.4.8に示す. 3 9匂8αω 6 5 3 2
∠
1/
/? /d︾^ /・ 0 5 10 15 20 25 30 Number of Processor 35 40 45 50 Calculetion −−tnoar Fig.4.8:Speedup of Calculation in Competitive Layer Parallel SOM SOMの学習は各プロセッサに振り分けられ, Speedup曲線はほぼ理想値のLinearに近 い.また,SOMの入力データやマップサイズによりSpeedup曲線の結果は変わる.入力 ベクトルの次元の多い問題,すなわち学習に時間がかかる問題では計算に時間がかかると 一35一4.4並列化効率の検証 第4章自己組織化マップの並列計算法
予測できる.入力データ数が多い問題では入力データを切り替える毎に通信が発生するた
第5章モジュラーネットワーク型自己組織化マップ
第5章 モジュラーネットワーク型
5.1モジュラーネットワーク型自己組織化マップ第5章モジュラーネットワーク型自己組織化マップ
5.1 モジュラーネットワーク型自己組織化マップ
モジュラー・ネットワーク型自己組織化マップ(Modular Network Self−Organizing Map: mnSOM)はSOMの競合層ユニットの一つ一つをモジュールとして扱うことのできるSOM で,SOMの一般化手法として徳永,古川らによって提案された[13]∼[17].競合層と同じ ベクトルを出力するモジュールであるならば,通常のSOMであり,モジュールをSOM とすることで二階層のSOM分類器であるSOM2[18]∼[21]として扱うことができる.また, 多層型パーセプトロン(MLP)をモジュールと置くことで非線形関数の集合マップを生成 することができる.更に個々のモジュールは異なる非線形関数を実現するが,隣り合うモ ジュールは似た関数を実現し,mnSOMのネットワーク全体では関数間の類似度に基づい たマップが形成される.また,未知の入力に対しても,その入力に発火するモジュールで システムを補間することが可能である.mnSOMは競合層により表現グループを生成し, その内部で具体的な行動を起こす.以上より人工ニューラルネットワークや通常のSOM よりmnSOMは生体系の神経回路網をより高度に表現できるシステムである. mnSOMの応用例として,倒立振子の運動制御[17]や水中ロボットにおける行動獲得[35], ロボットの制御システム[36]などの工学的分野の研究が盛んに行われている.また,後述 するがmnSOMを具体的に用いたシステムを5.4節で紹介する. 本稿ではmnSOMのモジュールはMLPとし,階層は入力層(Input Layer),中間層(Hid− den Layer),出力層(Output Layer)の3層とする(Fig.5.1). Fig.5.1:Image of Modular Network Self−Organizing Map5.2mnSOMアルゴリズム 第5章モジュラーネットワーク型自己組織化マップ
5.2 mnSOMアルゴリズム
mnSOMのアルゴリズムはSOMのアルゴリズムと基本的な考え方は変わらないが,勝 者ユニットの決定をモジL’一ル出力と教師出力とを比較した値で決定する.また,学習で ユニットの結合荷重を修正していたものをモジュール内のパーセプトロンの結合荷重の修 正と変わる.y−f。1。、.(x)で表せる関数がOLASS個あるとして,以下にmnSOMのアル ゴリズムを示す. Step1競合層全てのモジュールの結合荷重ωを初期化する. Step2各モジュールの入力にx。1ass=(xきlass. xZlass, xglass、… ,xliass)を入力.但し, clαss は入力させる関数の番号,1は入力ベクトルの次元である. Step3各モジュールで出力y。la。,=(y:1。。。, y…lass, y…1。ss,…、yき,。。s)を求める.ここで, Jは出力ベクトルの次元である. Step4各モジュール出力と教師出力の誤差Eを次式より求める.E。、ass−÷£ll㌦一鋤・ (521)
」;1 ここでTは教師出力であり,モジュール出力と同じ次元のベクトルである. Step5誤差Eが最小となるモジュールを勝者モジュールBMM(Best Matching Module)と する. BMMclαs、=argmin Ectαs、 (5.2.2) m 但し,mはマップユニットの通し番号を表す.すなわちモジュール番号である. Step6勝者モジュールとその近傍モジュールの結合荷重の修正量を次式のBack Propagation 法より求め,重みを更新する.△w−一㌃一一・警∵(1)∂漂 (J・.2.3)
clαss=1 wnew=・ω゜td十△ω (5.2.4) ここで,cは学習係数である.また結合荷重ωの更新はhとεを固定した状態で十分 な回数繰り返す. Step7 Step2からStep6を十分な回数繰り返す. 405.3mnSOM実験 第5章モジュラーネットワーク型自己組織化マップ
5.3 mnSOM実験
mnSOMの実験を行う. Inl1SOMは関数マッピングを得意とし,更には非線形関数のマッ ピングまで行える.本章ではベンチマーク問題として簡単な3次関数をマッピングする. 3次関数をEq.(5.3.1)に示す.このとき, x,yともに一1∼1の範囲に定め,サンプリング 点を100点とし等間隔に設定した.実際に実験に使用する関数をFig.5.2に示す. y一αx3+bx2 + cx (5、3、1) (a)y=x 1 05 0 一〇5一 05 :1−一一一_..一(c)Ynx2
,,川一11いト‘ 川川川川‘,ー ‘,﹁目 川,︰−﹁い. い13 川 ー − ー 1 1 (t’)y ・−x 05 (d)y■−x25.3mnSOM実験 第5章モジュラーネットワーク型自己組織化マップ 6つの代表的関数で関数マップを作成する.mnSOMの設定をTable 5.1に示す. Table 5.1:Setup of mnSOM for Benchmark Test Setup of SOM for mnSOM Map Size 10×10 Neighborhood Radius 8.0→0.0 Learning Coe伍cient 0,5→0.1 Learning Iteration 5,000 Setup of MLP for mnSOM Input Neuron 1 Hidden Neuron 6 Output Nellroll 1 Class Number 6 Sampling Number 100 MLP Iteration 50 Learning IterationはSOMの場合と同様に入力データ群を1セットとして全ての入力信 号を学習することで1回とカウントする.この場合6つの関数にそれぞれ100個のサンプ リング点のデータがあるで,6×100×5,000=3, OOO,000回の学習ループを行う.さらに, MLPの内部反復回数を50回としているので150,000,000回の演算を行うことなる. ここでは適当な近傍半径と学習係数を設定している.実際に学習が行えていることと関 数マップの形成にっいて検証する.また,競合層分割法を用いて,並列化効率を調べる. 一42一
5.3㎜SOM実験 第5章モジュラーネットワーク型自己組織化マップ
5.3.1mnSOMの学習結果
Fig.5.2の6つの関数をmnSOMでマッピングした結果をFig.5.3に示す.Eヨ\イ\㌃「\\\囚\\
Y\イ\∧二「\\\\\\
\イ>>/∠〔\\\\\
〉\/己イ///「〆ゲ\\\
\イ〆1//1/アイ/τ/1/1/r「\へ\へ\\
/!ン/ンノン/ンン方\E≡]\
//〆元イEヨ〆ゲ\\sへ
///、〆〆〆/1\\\へ
口////ババ(([≡]
Fig,5.3:Result of mnSOM for sample 太枠が勝者モジュール(BMM:Best Matching Module)である.それぞれの入力関数が 出現していることがわかる.また,BMMの間を補間する関数が出現している. mnSOM の関数マッピングでは補間した関数や学習をしていない未知の関数の出現が望める.特に 関数系をマッピングするのであれば,補間性を重要視することでシステム群の補填や未知 の入力に対しての効果を見込むことができる.5.3mnSOM実験 第5章モジュラーネットワーク型自己組織化マップ
5.3.2 並列化効率の検証
mnSOMにおける競合層分割法による並列化効率にっいて述べる. SOMと同様にプロ セッサ数を変えて並列化効率を調べた. またmnSOMの条件はTable 5.1と同じである. 計算時間の割合をFig.5.4に示す.横軸にプロセッサ数,縦軸に所要時間の割合を表し ている.この結果から計算時間(Calculation time)が支配的であるといえる.また,プロ セッサ数の増加に伴い通信時間(Communication time)が増加している.100% 一 一 一一 一 一 ■・一 ■■ ■■■
90% 80%区70%
.ξ60% ト 50%℃ £ 40%遷30%
20% 10% 0% 1 ” lnitial time__ _牌 _ ■■ ■■ ■■
2 ■Buffer copy time 4 5 10 20 Number of Processor[一] 25 ■Communication time Calculation time ■File output time 50 Fig.5.4:Rate of Calculation Time by Competitive Layer Parallel mnSOM 次に全体の計算時間をプロセッサ毎にプロットしたものをFig.5.5に示す.また, Speedup 曲線をFig.5.6に示す. 計算時間はプロセッサ数が増えるにっれて短縮された.また,Speedup曲線を見てもトー タルの並列化効率もモジュール学習の並列化効率も良くなっていることが分かった. よって,mnSOMではモジュール計算がボトルネックになる分,競合層分割法でモジュー ルを複数のプロセッサに分けて処理させるとSOMの場合と比べて格段に計算の効率化が 望める. 一44一5.3mnSOM実験 第5章モジュラーネットワーク型自己組織化マップ 50000 45000 40000 35000 ロ エ30000 ゆε に25000五 已 20000 15000 10000 5000 0 50 45 40 35 =30号 ℃25且
m20
15 10051015202530354045
Number of Processor【一] Fig.5.5 Calculation Time by Competitive Layer Parallel mnSOM 505.4具体的な問題例 第5章モジュラーネットワーク型自己組織化マップ
5.4 具体的な問題例
ml1SOMを用いた具体例としてフリーキックサポートシステムの開発を行った[37]. このフリーキックサポートシステムとはサッカーの直接フリーキックにおいて,ボール が直接ゴールに入る確率を上げ,キーパーに補給されにくいコースにボールを蹴るための 情報を算出するシステムである.選手の経験や感覚に頼っていた技術を誰でも分かる情報 に表現し,実戦の場や練習の補助に用いて,フリーキックの精度や確度の向上に役立つシ ステムを目指している. このシステムは任意の場所から狙った箇所にゴールさせるために,どのようにボールを 蹴り出せば良いかという逆問題を解く.この逆問題を解く方法としてmnSOMを用いた. また,mnSOMを用いた方法とニューラルネットワークだけを用いた方法とでゴール確率 を求め学習精度を比較した.5.4.1 教師データの作成
教師データはフリーキックシミュレータを用いてボールに与える条件を収集する.プ リーキックシミュレータは任意のフリーキックを再現するシミュレータであり,ユーザが ボールに与える初期条件を入力し,自由にフリーキックを再現したり,現実では不可能な ようなフリーキックを再現したり,自由度の高いシミュレータとなっている. フリーキックシミュレータはボールの初速度と回転軸,回転数,ボールの蹴り出し角度 からニュートンの運動法則に基づいてボールの軌道を計算する.計算はボールが受ける空 力を加えオイラー法で逐次計算させる.ボールの運動方程式をEq.(5.4.1)に示す.P−V・t+壷F弓9ぽ (5・4・1)
Vr V ’fm (5.42) ・fd+ F=− 11Vll llv。‖fd−;・DρllVl12A (5・4・3)
fm=C■C.IIVrllR (5.4.4) ここでPはボールの位置ベクトル,Vはボールの速度ベクトル, Voはボールの初速度 ベクトル,Vrはボールの角速度ベクトルとボールの速度ベクトルの外積, llV川ま速度ベ クトルの大きさ,Mはボールの質量, Fはボールにかかる空力, tは時間刻み幅, gは重 力加速度,yは鉛直方向の単位ベクトル, fdは抗力, f,nはマグヌスカ, CDは抗力係数, OMはマグヌス係数, Rはボールの回転数,ρは空気の密度, Aはボールの断面積を表す. 文献[371では抗力係数,マグヌス係数を定数として扱っていてるが,本来ならばレイノ ルズ数によって数値が変わる変数である.そのため,それぞれの係数を内挿するための解 析や実装方法も検討している[38].ここではシステムの構築を目的としているので,空力 係数は定数でも良いものとして進める. フリーキックサポートシステムで扱う仮想フィールドとボールの初期状態を表す図を Fig.5.7∼5.9に示す. 一46一5.4具体的な問題例 第5章モジュラーネットワーク型自己組織化マップ Goal D’{ance ・ツ「←一一一一→」i Ball Offset i Fig.5.7:Field of Free−Kick Support System goal direction l毒ρ、 ground 、巴9 く;’ Angle(heigh◎ ground Fig.5.8:Kicking Angle Rotate Angle Shoo{Velocity 、、 Rotate Speed
5.4具体的な問題例 第5章モジュラーネットワーク型自己組織化マップ フリーキックサポートシステムでは以下の7つの入出力を考える. ・ボールの初期位置(Goal Distance[m], Ball Offset[m]) ・ボールの初速度(Shoot Velocity[ln/s]) ●ボールの回転軸(Rotate Angle[degree]) ・ボールの回転数(Rotate Speed[r/s]) ・ボールの蹴り出し角度(Angle height,L⇔R[degree]) ここではGoal Distanceを25mとして,ボールの初速度と回転軸,回転数を固定し, Ball Offsetを1.Omずつ変化させてシュートを打ち,左上隅のゴール枠内30cm×30cmに到達 した蹴り出し角度を求めた.求めた角度の結果をFigs.5.10,5.11に示す.このとき初速度 を20∼35m/sの範囲で5111/sずつ変え,ボールの回転数を0,5,10rpsの3段階とし,回転 軸を100°と一80°としたときのグラフである.Fig.5.10の線の束は上から20111/s,25111/s, 30m/s,35m/sのゴールに到達する蹴り出し角度の上下角度である. Fig.5.10より,速度に より描ける波形は変化することが分かる.また,回転軸,回転数の影響により波形が上下 にスライドする.Fig.5.11では同時に全てグラフを描いてしまうと重なってわかりづらい ので,ボールの初速度が20111/sと35m/sの場合のグラフで説明する. Fig.5.11(a),(b)を 比較してわかるように速度によりグラフの形状が変化している.また回転数,回転軸も同 様に上下にスライドすることがわかる.また,Goal Distanceを変更した場合でもグラフ の波形は変化する. これらの波形をmnSOMの教師データとした.教師データ数は20個である.また,ニュー ラルネットワークではTable 5.2の入力範囲からランダムで初期条件を選択肢,ゴールす るデータを2、000個収集し学習に用いた. mnSOMでは,この波形の特徴をクラスタリングし,間に存在するであろう未知の関数 形を補間機能に出現させることが狙いである. Table 5.2:Setup of mnSOM for Benchmark Test Parameter Inputs
Range
Goal Distance z1 17.0∼30,0 [m] Ball OfFset z2 一30.0∼30.0 [m] Shoot Velocity z3 20.0∼35.0 [m/s] Rotate Angle z4 一180.0∼180.0 [degree] Rotate Speed コτ5 0。0∼10.0 [r/s] Parameter Outputs Range Angel(L⇔R) y、 一80.0∼80.0 [degreel Ange(height) y2 0.0∼70.0 [degree] 一t S8一5.4具体的な問題例 第5章モジュラーネットワーク型自己組織化マップ [8﹂・。。℃]嵩王Φ曹く 一30
慰
一20 ぶ・、 ミぶ\ ’.一一一P .ク’ z:、”〆
../∠・7 一10 0 10 Ball Offset[m] Fig.5.10:Graph of Angle height 20 305.4具体的な問題例 第5章モジュラーネットワーク型自己組織化マップ 0 ら 0 4 0 0 ︵V う膓 う△ [Φ ウ﹂切Φで]憲﹂Φ一・,⊂< 0 4 一 5 2 0 一 S 一 0 6 0 4 0 ∩V O 2 2 [8﹂・。Φで]匡¢﹂Φ曹く 0 4 一 0 6 一 一20 一15 i”1・こ・≧ 一10 −5 0 5 Ball Offset[m] (a)Shoot Velocity is 20m/s 10 200100・ 20_5_−80 20_S_100 − 2010−80 2U_1⑪_IOO −一・・一一一 ‘\・…_こh 15 20