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

ナビゲーションに移動 検索に移動
編集の要約なし
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>[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]</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]。


==ニューラルネットとしての自己組織化マップ==
==ニューラルネットとしての自己組織化マップ==
20行目: 26行目:
[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>[11]で色付けしており、赤い領域がクラスタ境界を表す。]]
===入力と出力===
===入力と出力===
 自己組織化マップの入力は通常、高次元のベクトルデータセットである。一方、出力はデータセットを低次元(通常は2次元)に射影したものであり、データ分布を地図として可視化して見ることができる。また低次元マップ空間から高次元データ空間への写像も学習によって得られる。
 自己組織化マップの入力は通常、高次元のベクトルデータセットである。一方、出力はデータセットを低次元(通常は2次元)に射影したものであり、データ分布を地図として可視化して見ることができる。また低次元マップ空間から高次元データ空間への写像も、学習によって得られる。


'''図1'''は自己組織化マップにより得られた「動物マップ」である。入力データ('''表1''')は16種の動物データであり、それぞれ15次元のベクトルで表されている。マップ上で類似する動物(哺乳類や鳥類、肉食や草食)は互いに近くに配置されている。
 '''図1'''は自己組織化マップにより得られた「動物マップ」である。入力データ('''表1''')は16種の動物データであり、それぞれ15次元のベクトルで表されている。マップ上で類似する動物(哺乳類や鳥類、肉食や草食)は互いに近くに配置されている。


 学習が終了した後、得られたマップは主に3つの用途で使うことができる。第一は可視化によるデータマイニングである。動物マップの例ならば、どの動物が互いに似ているか、どのような動物クラスタが存在するかを知ることができる。第二は新規データをマップ上へ射影することである。これにより新規データがマップのどこに位置するかを可視化できる。またラベル付き学習データを用いた場合は、新規データのラベルを推定することも可能である。動物マップの例ならば、新規の動物がマップのどこに位置するかを示したり、その動物が哺乳類か鳥類かを推測したりできる。第三は、新規データの予測や生成である。たとえば2種の中間的な性質を持つ動物の特徴を予測することができる。
 学習が終了した後、得られたマップは主に3つの用途で使うことができる。第一は、可視化によるデータマイニングである。動物マップの例ならば、どの動物が互いに似ているか、どのような動物クラスタ(類似する動物群)が存在するかを知ることができる。第二は新規データをマップ上へ射影することである。これにより新規データがマップのどこに位置するかを可視化できる。またラベル付き学習データを用いた場合は、新規データのラベルを推定することも可能である。動物マップの例ならば、新規の動物がマップのどこに位置するかを示したり、その動物が[[哺乳類]]か[[鳥類]]かを推測したりできる。第三は、新規データの予測や生成である。たとえば2種の中間的な性質を持つ動物の特徴を予測することができる。


{| class="wikitable"
{| class="wikitable" style="text-align: center;"
|+ 表1. 図1の生成に用いた動物データ
|+ 表1. 図1の生成に用いた動物データ
|-  
|-  
! !!ハト !! ニワトリ !! アヒル !! カモ !! フクロウ !! タカ !! ワシ !! キツネ !! イヌ !! オオカミ !! ネコ !! トラ !! ライオン !! ウマ !! シマウマ !! ウシ
! !!ハト!! ニワトリ!!アヒル!! カモ !! フクロウ !! タカ !! ワシ !! キツネ !! イヌ !! オオカミ !! ネコ !! トラ !! ライオン !! ウマ !! シマウマ !! ウシ
|-
|-
! 小さい
! 小さい
82行目: 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>を保持する(iは ニューロンの番号)。参照ベクトルは感覚ニューロンから皮質ニューロンへのシナプス強度と解釈できる。ただし自己組織化マップでは各ニューロンが参照ベクトル値を記憶さえしていればよく、必ずしもシナプスという形で実装される必要はない。


 自己組織化マップは競合原理と近傍学習原理という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]]とも呼ばれる。


 第二の原理である近傍学習は、勝者が獲得した学習の権利を近傍のニューロンに分配するものである。勝者に隣接するニューロンには入力データを学習する権利が分配される一方で、勝者から離れたニューロンには学習の権利が与えられない。近傍学習原理により、勝者およびその近傍ニューロンの参照ベクトルは入力<math>x</math>との誤差が小さくなるように更新され、次に同じ入力が来たときに再び勝者になりやすくなる。この2つの学習原理が位相的な順序を自己組織化する上で重要な役割を果たす。
 第二の原理である近傍学習は、勝者が獲得した学習の権利を近傍のニューロンに分配するものである。勝者に隣接するニューロンには入力データを学習する権利が分配される一方で、勝者から離れたニューロンには学習の権利が与えられない。近傍学習原理により、勝者およびその近傍ニューロンの参照ベクトルは入力<math>x</math>との誤差が小さくなるように更新され、次に同じ入力が来たときに再び勝者になりやすくなる。この2つの学習原理が位相的な順序を自己組織化する上で重要な役割を果たす。


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


::<math>c(t)=arg\ m\underset{i}in||\mathbf{x}_{(t)}-\mathbf{m}_i(t)||</math>
::<math>c(t)=arg\ m\underset{i}in||\mathbf{x}_{(t)}-\mathbf{m}_i(t)||</math>
134行目: 140行目:


===自己組織化マップと機械学習===
===自己組織化マップと機械学習===
 自己組織化マップは高次元データを低次元に射影して可視化するため、次元削減法の一種とみることができる。したがって高次元データの可視化やデータマイニングのみを目的とする場合は、他の次元削減法、たとえば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. (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の分野では自己組織化マップに代わってこれらの手法が広く使われている。
 新規データの射影・予測・生成も含めた自己組織化マップと等価な手法として、[[ガウス過程潜在変数モデル]](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]]の分野では自己組織化マップに代わってこれらの手法、とりわけガウス過程潜在変数モデルと変分オートエンコーダが広く使われている。


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