「自己組織化マップ」の版間の差分

編集の要約なし
(ページの作成:「古川 徹生 九州工業大学 英語 Self-Organizing Map, Kohonen map <br> 略称 SOM<br> 同義語 自己組織化写像<br> {{box|text= 自己組織化マップ…」)
 
編集の要約なし
10行目: 10行目:
 大脳皮質には機能局在性があり、機能の類似するニューロンは皮質上で隣接して分布することが知られる。また感覚系では入力の空間的トポロジーが保存されるトポグラフィックマッピングが知られる。これらの空間的な機能分化が自己組織的に生じる原理について、形式ニューロンを用いた数理モデルの研究が行われた。たとえばMarsburg<ref name=vonderMalsburg1973><pubmed>4786750</pubmed></ref>[14]やAmari<ref name=Amari1980><pubmed>6246997</pubmed></ref>[1]は外界からの刺激によりニューロンの機能局在と位相的な配置が自己組織化することを示した。
 大脳皮質には機能局在性があり、機能の類似するニューロンは皮質上で隣接して分布することが知られる。また感覚系では入力の空間的トポロジーが保存されるトポグラフィックマッピングが知られる。これらの空間的な機能分化が自己組織的に生じる原理について、形式ニューロンを用いた数理モデルの研究が行われた。たとえばMarsburg<ref name=vonderMalsburg1973><pubmed>4786750</pubmed></ref>[14]やAmari<ref name=Amari1980><pubmed>6246997</pubmed></ref>[1]は外界からの刺激によりニューロンの機能局在と位相的な配置が自己組織化することを示した。


 このような空間的機能分化の自己組織化は2種に分けられる<ref name=Kohonen2006><pubmed>16774731</pubmed></ref>[5]。タイプ1はレチノトピーを典型例とするトポグラフィックマッピングであり、入力信号の類似性に基づく自己組織化である。タイプ2は視覚系における方向選択性ニューロンなどの機能マップであり、出力信号の類似性に基づく自己組織化である。Kohonenはタイプ2の自己組織化の数理モデルを元に、ニューロン間の結合やダイナミクスを簡約化し、実データ解析に応用可能なシンプルなアルゴリズムに帰着した<ref name=Kohonen1982>'''T. Kohonen.(1982).'''<br>Self-organized formation of topologically correct feature maps. Biological Cybernetics, 43(1):59-69 [https://doi.org/10.1007/BF00337288 PDF]</pubmed></ref>[4]。これが自己組織化マップである。自己組織化マップは初期の提案からいくつかの改良を重ねており、最終形であるバッチ型自己組織化マップにおいては安定した学習が達成できる一方で、形式ニューロンを用いた数理モデルからは大きく様変わりしている<ref name=Kohonen2013><pubmed>23067803</pubmed></ref>[6]。
 このような空間的機能分化の自己組織化は2種に分けられる<ref name=Kohonen2006><pubmed>16774731</pubmed></ref>[5]。タイプ1はレチノトピーを典型例とするトポグラフィックマッピングであり、入力信号の類似性に基づく自己組織化である。タイプ2は視覚系における方向選択性ニューロンなどの機能マップであり、出力信号の類似性に基づく自己組織化である。Kohonenはタイプ2の自己組織化の数理モデルを元に、ニューロン間の結合やダイナミクスを簡約化し、実データ解析に応用可能なシンプルなアルゴリズムに帰着した<ref name=Kohonen1982>'''T. Kohonen.(1982).'''<br>Self-organized formation of topologically correct feature maps. Biological Cybernetics, 43(1):59-69 [https://doi.org/10.1007/BF00337288 PDF]</ref>[4]。これが自己組織化マップである。自己組織化マップは初期の提案からいくつかの改良を重ねており、最終形であるバッチ型自己組織化マップにおいては安定した学習が達成できる一方で、形式ニューロンを用いた数理モデルからは大きく様変わりしている<ref name=Kohonen2013><pubmed>23067803</pubmed></ref>[6]。


==ニューラルネットとしての自己組織化マップ==
==ニューラルネットとしての自己組織化マップ==
[[ファイル:Furukawa Self organizing map fig1.png|サムネイル|図1. 自己組織化マップによる動物マップ <br>表 1のデータをバッチ型自己組織化マップで学習した結果.哺乳類/鳥類,肉食/草 食,大型/小型などの動物の特徴に基づき,類似した動物の地図を作っている.このマップは U-matrix 法<ref name=Ultsch1993>'''A. Ultsch. (1993).'''<br>Self-organizing neural networks for visualization and classification. In O. Opitz, B. Lausen, and R. Klar, editors, Information and Classification, pages 307-313. Springer, Berlin.
[https://doi.org/10.1007/978-3-642-50974-2_31 PDF]</ref>[11]で色付けしており、赤い領域がクラスタ境界を表す。]]
===入力と出力===
===入力と出力===
 自己組織化マップの入力は通常、高次元のベクトルデータセットである。一方、出力はデータセットを低次元(通常は2次元)に射影したものであり、データ分布を地図として可視化して見ることができる。また低次元マップ空間から高次元データ空間への写像も学習によって得られる。
 自己組織化マップの入力は通常、高次元のベクトルデータセットである。一方、出力はデータセットを低次元(通常は2次元)に射影したものであり、データ分布を地図として可視化して見ることができる。また低次元マップ空間から高次元データ空間への写像も学習によって得られる。
29行目: 31行目:


===オンライン型アルゴリズム===
===オンライン型アルゴリズム===
 自己組織化マップの学習アルゴリズムは、競合・協調・適合という3プロセスの繰り返し計算である<ref name=Haykin1998> aykin, S. (1998).<br>Neural Networks - A Comprehensive Foundation (2nd ed). Prentice Hall.</ref> [2]。時刻 tにおける入力データをx(t)とすれば、それにもっとも近い参照ベクトルを持つニューロンc(t)が時刻tの勝者となる:
 自己組織化マップの学習アルゴリズムは、競合・協調・適合という3プロセスの繰り返し計算である<ref name=Haykin1998>'''Haykin, S. (1998).'''<br>Neural Networks - A Comprehensive Foundation (2nd ed). Prentice Hall.</ref> [2]。時刻 tにおける入力データをx(t)とすれば、それにもっとも近い参照ベクトルを持つニューロンc(t)が時刻tの勝者となる:
c(t) = arg min ∥x(t) − mi (t)∥. i  
c(t) = arg min ∥x(t) − mi (t)∥. i  
これが競合プロセスである。
これが競合プロセスである。
41行目: 43行目:
 ここでεは正の小さな定数である。これを適合プロセスである。
 ここでεは正の小さな定数である。これを適合プロセスである。


 このように入力x(t)を変えながら競合・協調・適合プロセスを繰り返すのがオンライン型自己組織化マップのアルゴリズムである。また近傍の広さσは学習の初期に広くしておき、学習が進むに連れて小さくしていく。このオンライン型アルゴリズムは、他の数理モデルや現実の脳との関連性を考えるうえで有用である。しかしオンライン型は学習時間がかかる上に計算結果が不安定であり、実データ解析には次に述べるバッチ型アルゴリズムを用いるべきであるとKohone自身も指摘している<refname=Kohonen2013><pubmed>23067803</pubmed></ref>[6]。
 このように入力x(t)を変えながら競合・協調・適合プロセスを繰り返すのがオンライン型自己組織化マップのアルゴリズムである。また近傍の広さσは学習の初期に広くしておき、学習が進むに連れて小さくしていく。このオンライン型アルゴリズムは、他の数理モデルや現実の脳との関連性を考えるうえで有用である。しかしオンライン型は学習時間がかかる上に計算結果が不安定であり、実データ解析には次に述べるバッチ型アルゴリズムを用いるべきであるとKohone自身も指摘している<ref name=Kohonen2013><pubmed>23067803</pubmed></ref>[6]。


===バッチ型アルゴリズム===
===バッチ型アルゴリズム===
54行目: 56行目:


=== 自己組織化マップの学習理論 ===
=== 自己組織化マップの学習理論 ===
 自己組織化マップの学習理論に関しては多くの研究が行われてきた。Kohonenの自己組織化マップに直接対応する目的関数は存在しないが、アルゴリズムをわずかに修正することで目的関数を得ることができる<ref name=Heskes2001><pubmed>18249959</pubmed></ref> [3]。また自己組織化マップのアルゴリズムは競合・協調プロセスをEステップ、適合プロセスをMステップとするEMアルゴリズムとして解釈できる<ref name=Heskes2001 /><ref name=Verbeek2005>J.J. Verbeek, N. Vlassis, and B.J.A. Kröse. Self-organizing mixture models. Neurocomputing, 63(SPEC. ISS.):99-123, 2005 [https://doi.org/10.1016/j.neucom.2004.04.008 PDF]</ref> [3, 13]。
 自己組織化マップの学習理論に関しては多くの研究が行われてきた。Kohonenの自己組織化マップに直接対応する目的関数は存在しないが、アルゴリズムをわずかに修正することで目的関数を得ることができる<ref name=Heskes2001><pubmed>18249959</pubmed></ref> [3]。また自己組織化マップのアルゴリズムは競合・協調プロセスをEステップ、適合プロセスをMステップとするEMアルゴリズムとして解釈できる<ref name=Heskes2001 /><ref name=Verbeek2005>'''J.J. Verbeek, N. Vlassis, and B.J.A. Kröse. (2005).'''<br>Self-organizing mixture models. Neurocomputing, 63(SPEC. ISS.):99-123 [https://doi.org/10.1016/j.neucom.2004.04.008 PDF]</ref> [3, 13]。


===自己組織化マップと機械学習===
===自己組織化マップと機械学習===
 自己組織化マップは高次元データを低次元に射影して可視化するため、次元削減法の一種とみることができる。したがって高次元データの可視化やデータマイニングのみを目的とする場合は、他の次元削減法、たとえばt-SNE<ref name=VanDerMaaten2008>'''L. Van Der Maaten and G. Hinton. (2008).'''<br>Visualizing data using t-sne. Journal of Machine Learning Research, 9:2579-2625, 2008.</ref>[12], Isomap<ref name=Tenenbaum2000><pubmed>11125149</pubmed></ref> [10], Locally Linear Embedding <ref name=Roweis2000><pubmed>11125150</pubmed></ref>[9]などでも代用できる。これらの手法と自己組織化マップの大きく異る点は、学習終了後、新規の入力データに対してもマップ上へ射影できること、および新規データの予測や生成ができるという点である。
 自己組織化マップは高次元データを低次元に射影して可視化するため、次元削減法の一種とみることができる。したがって高次元データの可視化やデータマイニングのみを目的とする場合は、他の次元削減法、たとえばt-SNE<ref name=VanDerMaaten2008>'''L. Van Der Maaten and G. Hinton. (2008).'''<br>Visualizing data using t-sne. Journal of Machine Learning Research, 9:2579-2625, 2008.</ref>[12], Isomap<ref name=Tenenbaum2000><pubmed>11125149</pubmed></ref> [10], Locally Linear Embedding <ref name=Roweis2000><pubmed>11125150</pubmed></ref>[9]などでも代用できる。これらの手法と自己組織化マップの大きく異る点は、学習終了後、新規の入力データに対してもマップ上へ射影できること、および新規データの予測や生成ができるという点である。


 新規データの射影・予測・生成も含めた自己組織化マップと等価な手法として、ガウス過程潜在変数モデル(Gaussianprocess latent variable model, GPLVM)がある<ref name=Lawrence2004>N.D. Lawrence. Gaussian process latent variable models for visualisation of high dimensional data. 2004.</ref> [7]。GPLVMはベイズ推論に基づくため柔軟な拡張が可能である。また教師なしカーネル回帰(Unsupervisedkernelregression, UKR) は自己組織化マップと同じ目的関数を用いており、自己組織化マップの直接的な発展形と見ることができる<ref name=Meinicke2005><pubmed>16173183</pubmed></ref>[8]。マップ空間を離散化する自己組織化マップと異なり、GPLVMとUKRは低次元空間を連続空間のまま扱える。また可視化を目的としないのであれば、変分オートエンコーダ(Variational auto-encoder, VAE)も自己組織化マップと同じ機能を持つ。現在の機械学習・AIの分野では自己組織化マップに代わってこれらの手法が広く使われている。
 新規データの射影・予測・生成も含めた自己組織化マップと等価な手法として、ガウス過程潜在変数モデル(Gaussianprocess latent variable model, GPLVM)がある<ref name=Lawrence2004>'''N.D. Lawrence. (2004).''' Gaussian process latent variable models for visualisation of high dimensional data.</ref>[7]。GPLVMはベイズ推論に基づくため柔軟な拡張が可能である。また教師なしカーネル回帰(Unsupervisedkernelregression, UKR) は自己組織化マップと同じ目的関数を用いており、自己組織化マップの直接的な発展形と見ることができる<ref name=Meinicke2005><pubmed>16173183</pubmed></ref>[8]。マップ空間を離散化する自己組織化マップと異なり、GPLVMとUKRは低次元空間を連続空間のまま扱える。また可視化を目的としないのであれば、変分オートエンコーダ(Variational auto-encoder, VAE)も自己組織化マップと同じ機能を持つ。現在の機械学習・AIの分野では自己組織化マップに代わってこれらの手法が広く使われている。


==参考文献==
==参考文献==
<references />
<references />