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

編集の要約なし
編集の要約なし
9行目: 9行目:
同義語 自己組織化写像<br>
同義語 自己組織化写像<br>


{{box|text= 自己組織化マップはT. Kohonenによって提案された教師なしニューラルネットの一種である。自己組織化マップはもともと大脳の機能地図の自己組織的な分化現象を説明する数理モデルに由来する。しかし、データ解析へ応用するため、ニューロン間の結合やダイナミクスが簡約化され、計算の効率化が図られている。自己組織化マップの学習原理はwinner-take-allによる競合学習とニューロンの空間的配置に基づく近傍学習の組み合わせである。自己組織化マップはデータの次元削減や可視化を行うニューラルネットであり、高次元データの可視化やデータマイニングなどの目的で幅広い分野で利用されてきた。}}
{{box|text= 自己組織化マップはT. Kohonenによって提案された教師なしニューラルネットの一種である。自己組織化マップはもともと大脳の機能局在の自己組織的な分化現象を説明する数理モデルに由来する。しかし、データ解析へ応用するため、ニューロン間の結合やダイナミクスが簡約化され、計算の効率化が図られている。自己組織化マップの学習原理はwinner-take-allによる競合学習とニューロンの空間的配置に基づく近傍学習の組み合わせである。自己組織化マップはデータの次元削減や可視化を行うニューラルネットであり、高次元データの可視化やデータマイニングなどの目的で幅広い分野で利用されてきた。}}


==脳の数理モデルとしての自己組織化マップ==
==脳の数理モデルとしての自己組織化マップ==
 [[大脳皮質]]には[[機能局在]]性があり、機能の類似する[[ニューロン]]は[[皮質]]上で隣接して分布することが知られる。また[[感覚]]系・[[運動]]系では身体的な空間的トポロジーが保存される[[トポグラフィックマッピング]]や[[体部位再現]]が知られる。これらの空間的な機能分化が自己組織的に生じる原理について、形式ニューロンを用いた数理モデルの研究が行われた。たとえば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>やAmari<ref name=Amari1980><pubmed>6246997</pubmed></ref>は外界からの刺激によりニューロンの機能局在と位相的な配置が自己組織化することを示した。


 このような空間的機能分化の自己組織化は2種に分けられる<ref name=Kohonen2006><pubmed>16774731</pubmed></ref>[5]。
 このような空間的機能分化の自己組織化は2種に分けられる<ref name=Kohonen2006><pubmed>16774731</pubmed></ref>[5]。
18行目: 18行目:
 タイプ1は[[レチノトピー]]を典型例とするトポグラフィックマッピングであり、入力が類似するニューロンが皮質上で近くに配置される自己組織化である。
 タイプ1は[[レチノトピー]]を典型例とするトポグラフィックマッピングであり、入力が類似するニューロンが皮質上で近くに配置される自己組織化である。


 タイプ2は[[視覚皮質]]における方向選択性ニューロンなどの機能マップであり、出力が類似するニューロンが皮質上で近くに配置される自己組織化である。
 タイプ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]
 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>。これが自己組織化マップである。自己組織化マップは初期の提案からいくつかの改良を重ねており、最終形であるバッチ型自己組織化マップにおいては安定した学習が達成できる一方で、形式ニューロンを用いた数理モデルからは大きく様変わりしている<ref name=Kohonen2013><pubmed>23067803</pubmed></ref>。


==ニューラルネットとしての自己組織化マップ==
==ニューラルネットとしての自己組織化マップ==
[[ファイル: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.
[[ファイル: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]で色付けしており、赤い領域がクラスタ境界を表す。]]
[https://doi.org/10.1007/978-3-642-50974-2_31 PDF]</ref>で色付けしており、赤い領域がクラスタ境界を表す。]]
===入力と出力===
===入力と出力===
 自己組織化マップの入力は通常、高次元のベクトルデータセットである。一方、出力はデータセットを低次元(通常は2次元)に射影したものであり、データ分布を地図として可視化して見ることができる。また低次元マップ空間から高次元データ空間への写像も、学習によって得られる。
 自己組織化マップの入力は通常、高次元のベクトルデータセットである。一方、出力はデータセットを低次元(通常は2次元)に射影したものであり、データ分布を地図として可視化して見ることができる。また低次元マップ空間から高次元データ空間への写像も、学習によって得られる。
88行目: 88行目:
 自己組織化マップではニューロン(ユニット)が低次元(通常は2次元)のマップ空間に格子状に並んだ構造を持つ('''図2''')。これは皮質上にニューロンが並んでいるものに見立てられる。またマップ空間においてニューロンの位置は固定されている。これらニューロンへの入力は<math>q</math>次元のベクトル<math>x = (x_1 , . . . , x_q )</math>であり、すべてのニューロンへ等しく入力される。<math>x</math>は<math>q</math>個の感覚ニューロンから皮質ニューロンへの入力に相当する。
 自己組織化マップではニューロン(ユニット)が低次元(通常は2次元)のマップ空間に格子状に並んだ構造を持つ('''図2''')。これは皮質上にニューロンが並んでいるものに見立てられる。またマップ空間においてニューロンの位置は固定されている。これらニューロンへの入力は<math>q</math>次元のベクトル<math>x = (x_1 , . . . , x_q )</math>であり、すべてのニューロンへ等しく入力される。<math>x</math>は<math>q</math>個の感覚ニューロンから皮質ニューロンへの入力に相当する。


 一方、各ニューロンは参照ベクトルと呼ばれる<math>q</math>次元のベクトル値<math>m_i =(m_{i1},...,m_{iq})</math>を保持する(iは ニューロンの番号)。参照ベクトルは感覚ニューロンから皮質ニューロンへのシナプス強度と解釈できる。ただし自己組織化マップでは各ニューロンが参照ベクトル値を記憶さえしていればよく、必ずしもシナプスという形で実装される必要はない。
 一方、各ニューロンは参照ベクトルと呼ばれる<math>q</math>次元のベクトル値<math>m_i =(m_{i1},...,m_{iq})</math>を保持する(<math>i</math>はニューロンの番号)。参照ベクトルは感覚ニューロンから皮質ニューロンへのシナプス強度と解釈できる。ただし自己組織化マップでは各ニューロンが参照ベクトル値を記憶さえしていればよく、必ずしもシナプスという形で実装される必要はない。


 自己組織化マップは[[競合原理]]と[[近傍学習原理]]という2つの原理で動作する。第一の競合原理では、入力データにもっとも合致するニューロンが勝者(最適ユニット: best matching unitとも呼ばれる)として選ばれる。すなわち入力データ<math>x</math>にもっとも近い参照ベクトル<math>m_i</math>を持つニューロンが勝者となり、そのデータを学習する権利をすべて獲得する。この競合原理は[[winner-take-all]]とも呼ばれる。
 自己組織化マップは[[競合原理]]と[[近傍学習原理]]という2つの原理で動作する。第一の競合原理では、入力データにもっとも合致するニューロンが勝者(最適ユニット: best matching unitとも呼ばれる)として選ばれる。すなわち入力データ<math>x</math>にもっとも近い参照ベクトル<math>m_i</math>を持つニューロンが勝者となり、そのデータを学習する権利をすべて獲得する。この競合原理は[[winner-take-all]]とも呼ばれる。
105行目: 105行目:
::<math>h_{ci} =h(\mathbf{z}_c,\mathbf{z}_i)=exp\left [-\frac{1}{2\rho^2(t)}||\mathbf{z}_c-\mathbf{z}_i||^2\right ]</math>
::<math>h_{ci} =h(\mathbf{z}_c,\mathbf{z}_i)=exp\left [-\frac{1}{2\rho^2(t)}||\mathbf{z}_c-\mathbf{z}_i||^2\right ]</math>


 ここで<math>\mathbf{z}_c</math>, <math>\mathbf{z}_i</math>はマップ空間上でのニューロン<math>c</math>,<math>i</math>の座標であり、<math>\rho</math>は近傍の広さを決めるパラメータである。これが協調プロセスである。
 ここで<math>\mathbf{z}_c</math>, <math>\mathbf{z}_i</math>はマップ空間上でのニューロン<math>c</math>, <math>i</math>の座標であり、<math>\rho</math>は近傍の広さを決めるパラメータである。これが協調プロセスである。


 最後に、入力<math>x(t)</math>との誤差が小さくなるように各ニューロンの参照ベクトルを更新する:  
 最後に、入力<math>x(t)</math>との誤差が小さくなるように各ニューロンの参照ベクトルを更新する:  
115行目: 115行目:
 このように入力<math>x(t)</math>を変えながら競合・協調・適合プロセスを繰り返すのがオンライン型自己組織化マップのアルゴリズムである。また近傍の広さ<math>\rho</math>は学習の初期に広くしておき、学習が進むに連れて小さくしていく。
 このように入力<math>x(t)</math>を変えながら競合・協調・適合プロセスを繰り返すのがオンライン型自己組織化マップのアルゴリズムである。また近傍の広さ<math>\rho</math>は学習の初期に広くしておき、学習が進むに連れて小さくしていく。


 このオンライン型アルゴリズムは、他の数理モデルや現実の脳との関連性を考えるうえで有用である。しかしオンライン型は学習時間がかかる上に計算結果が不安定であり、実データ解析には次に述べるバッチ型アルゴリズムを用いるべきであるとKohone自身も指摘している<ref name=Kohonen2013><pubmed>23067803</pubmed></ref>[6]
 このオンライン型アルゴリズムは、他の数理モデルや現実の脳との関連性を考えるうえで有用である。しかしオンライン型は学習時間がかかる上に計算結果が不安定であり、実データ解析には次に述べるバッチ型アルゴリズムを用いるべきであるとKohone自身も指摘している<ref name=Kohonen2013><pubmed>23067803</pubmed></ref>。


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


=== 自己組織化マップの学習理論 ===
=== 自己組織化マップの学習理論 ===
 自己組織化マップの学習理論に関しては多くの研究が行われてきた。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]
 自己組織化マップの学習理論に関しては多くの研究が行われてきた。Kohonenの自己組織化マップに直接対応する目的関数は存在しないが、アルゴリズムをわずかに修正することで目的関数を得ることができる<ref name=Heskes2001><pubmed>18249959</pubmed></ref>。また自己組織化マップのアルゴリズムは競合・協調プロセスを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>。


===自己組織化マップと機械学習===
===自己組織化マップと機械学習===
 自己組織化マップは高次元データを低次元に射影して可視化するため、[[次元削減法]]の一種とみることができる。したがって高次元データの可視化やデータマイニングのみを目的とする場合は、他の次元削減法、たとえば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>、Isomap<ref name=Tenenbaum2000><pubmed>11125149</pubmed></ref>、Locally Linear Embedding <ref name=Roweis2000><pubmed>11125150</pubmed></ref>などでも代用できる。これらの手法と自己組織化マップの大きく異る点は、学習終了後、新規の入力データに対してもマップ上へ射影できること、および新規データの予測や生成ができるという点である。


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


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