自己組織化特徴マップ(SOM)

トップページ研究分野と周辺ニューラルネットワーク

自己組織化特徴マップ(SOM)は、ヘルシンキ大学のコホーネン教授により1981年頃に発表された。教師なし学習を行なうニューラルネットワークの代表例と言える。
様々な入力データを、それらの類似度に応じて自動的に分類するクラスタリング能力に優れる。
何種類かのデータを適当に繰返し入力し続けると、いつの間にか、似たようなデータを近くに配置していく。

入力層と出力(競合)層

基本的には図のような2層構造で、入力層の細胞は全ての出力層の細胞と、出力層の細胞は全ての入力層の細胞と結合し、結合係数W1_1、W1_2・・・W3_9を持つ。結合係数は最初はランダムに与えられる(ここでは仮に0~1の間の乱数とする)。
図では入力層が3、出力層が9の細胞数だが、其々いくつでもよい。出力層の細胞は多くしておく。

勝ちニューロン(細胞)の決定

或る入力データが与えられるたびに、出力層の中から一つの勝ちニューロン(Winner)を決める。決め方は出力層各細胞の得点による。
例えば出力層の細胞1はW1_1、W2_1、W3_1の三つの結合係数を持っている。例えばW2_1は、入力層第2細胞と出力層第1細胞との結合係数を表す。
ここでは結合係数は0~1の間の値とし、ランダムに与えられる最初の値はW1_1=0.3、W2_1=0.5、W3_1=0.1だとする。
入力データは、其々の成分が0又は1で与えられるとする。仮に第1成分(In1)=1、第2成分(In2)=0、第3成分(In3)=1だったとする。
このときの出力層細胞1の得点は、((In1-W1_1)の二乗+(In2-W2_1)の二乗+(In3-W3_1)の二乗)の平方根となる。
全ての出力層細胞の得点を計算し、得点が最も小さい(入力データと最も近い結合係数を持つ)細胞が勝ちニューロンとなる。

結合係数の更新

勝ちニューロンが決定したら、勝ちニューロンを含む全ての細胞が全ての結合係数の更新を一斉に行なう(実際には学習回数が進むにつれて、勝ちニューロンから距離の離れた細胞のh(winner,m,t)はゼロに近づくので、勝ちニューロンの近傍の細胞しか更新らしい更新はしなくなる)。
入力層の細胞nと出力層の細胞mの結合係数(Wn_m)の更新は、以下の式によって行なう。

ここで、tやt-1は何回目の入力かを示す数で、学習回数を表す。全体の学習回数は、入力データの種類の数よりはるかに多い数の設定をする。Wn_m(t-1)はt-1回目のときの結合係数、Wn_mはt回目(次の回)の結合係数を示す。
xnはそのとき入力層の細胞nに入ったパターンの値となる。
h(winner,m,t)の関数は近傍関数と呼ばれ、勝ちニューロン(winner)と出力層の細胞mの距離(予め定義してある。図のように一列に並んでいれば横の距離)が近いほど大きい値となる。しかし、tが大きくなる程(学習回数が進む程)、大きい値を取る細胞の範囲は狭まっていくように設定する。

近傍関数

近傍関数は、具体的には以下のような式となる。
変数disは、或る細胞と勝ちニューロンの距離(2次元SOMならばX座標とY座標で得られるユークリッド距離)で、αは学習回数に応じて単調に減少する数となる(tはその時の学習回数、Tは予定する総学習回数)。
exp(x)は、約2.718のx乗なので、近傍関数の値は、二つの細胞の距離が遠いほど小さくなり、その距離に応じて小さくなる度合いも学習が進むにつれて激しくなる(分母のαが小さくなるため)。
cは、disとαのスケールを調整するための正の定数となる。
勝ちニューロンの持つ結合係数は、その時の入力パターンに大きく近づき、近傍の細胞の結合係数も距離に応じてそのパターンに近づく。
学習の初期は広範囲の細胞が同じ入力パターンの影響を受けるが、学習が進むにつれて勝ちニューロンのごく近くにいる細胞しか影響を受けなくなってくるという特徴がある。

参照ベクトル

或る出力層細胞が持つ結合係数の組を参照ベクトルという。例えば上記の例で出力層細胞nは、W1_n、W2_n、W3_nの三つの値から成る参照ベクトルを持つ。
学習が進むに連れて、参照ベクトルは入力パターンのどれかと似てくる。
そして互いに近傍に在る細胞の参照ベクトルは、同じ入力パターンに似る事になる。
SOMによる入力パターンの分類は、参照ベクトルによって行なわれる。

色彩の分類に応用した例

図は、黒、灰色、赤、黄色、緑、水色、青、紫の8色を入力パターンにした学習例となる。
入力層は色を表すRGB値の、R値、B値、G値とし、各色に対応した値を持つ入力パターンをランダムに受け取る。
出力層は36細胞で、2次元に配置した。初期参照ベクトルは其々0~255の範囲でランダムに発生している。
隣接する細胞間の座標差は縦横30pxで、この実数を使って計算するため、cは0.0001で補正した。
結果を見ると、初期の段階(200回学習時)は、広範囲に特定の色の影響を受けている。
しかし、学習が進むに連れて次第に色の細かい分類が進み、1000回終了時では8色が似ている色の近くに来るように塗り分けられている。

自己組織化特徴マップ(SOM)は様々なデータ分類に応用出来、体の様々な形状や大きさ等の特徴に基づく動物の分類等が、よく例として説明に使われる。
或る文学作品の全文を入力し、登場する単語間の相関関係等を調べた例もあるという。