ニューロンの近傍関係を考慮した自己組織化

Self-Organization Considering Neighborhood Relationshipbetween Neurons
松下春奈 †
西尾芳文 †† 徳島大学 工学部 電気電子工学科

Haruna MATSUSHITA†
Yoshifumi NISHIO††Department of Electrical and Electronic Engineering, Tokushima University
1

はじめに自己組織化マップ（Self-Organizing Map: SOM）
[1] は教師無しニューラルネットワークの一つで，入力の統計的な特徴を反映したマップを自己組織的に得られる性質を持つ．このことから，クラスタリン
グの分野において非常に注目されている．SOM の学習過程においては，最も入力ベクトルに近い重みベクトルを持つニューロンを勝者ニューロンとし，勝者ニューロンとその近傍ニューロンの重みベクトルが更新される．このとき，近傍ニューロンは入力ベクトルとの距離で決定されるのではなく，勝者ニューロンとのマップ上での結合関係の距離で選ばれる．このことから，離れた場所にいくつかのクラスタがあるような入力に対して SOM を適用した場合，そのクラスタ間に不活性ニューロンが存在してしまう．入力データが存在しないエリアに不活性ニューロンがあるために，クラスタ間にデータがあると勘違いしてしまうことが懸念される．
その一方で，実社会において，隣の家とはいえ距離的には自分の家の近くではない場合が多々ある．つまり，“近傍” がいつも “本当の近傍” であるとは限らないことを意味している．さらに，近傍関係は一定ではなく，時間と共に常に変化し続けていることから，状況に応じて近傍関係を柔軟に変化させることが重要であると考えられる．
また，実際の脳においてもシナプスの強さは一定ではない．1985 年に発表された Growing Grid [2] では，ニューロン数を増やすことによりニューロン間の近傍距離を増加させている．このように，ニューロン数を増加させたりライバルニューロンを考慮するアルゴリズム [3] はあっても，シナプスの強さ自体を変化させた研究はあまり報告されていない．
そこで本研究では，ニューロン間の誤り近傍度を考慮する自己組織化マップ（SOM with False-Neighbordegree between neurons: FN-SOM）を提案する．誤り近傍度は FN-SOM のニューロンの行間と列間に割り当てられている．アルゴリズムでは，一度も勝者になったことのないニューロン q を探し，q と１近傍で直接結合されているニューロンのうち，最も qから離れているニューロンを q の “誤り近傍ニューロン” とする．誤り近傍度の初期値は 0 に設定されるが，学習と共に徐々に増加し，重みベクトル更新の際にマップ上のノード間の距離の重みとして作用する．つまり，FN-SOM は状況と入力データの形によって近傍関係を柔軟に変化させて学習する．
また，FN-SOM を 2 次元データ，3 次元データ，実データに対して適用し，FN-SOM の振る舞いを調査する．またその結果を数値的にも評価し，FN-SOMが入力の分布状態を最も反映したマップを得ることを確認する．

2

誤り近傍度を考慮した SOM (FN-SOM)

提案手法である FN-SOM について詳しく説明する．FN-SOM は 2 次元グリッド上に配置された n×m個のニューロンによって構成されており，各ニューロン i は d 次元の重みベクトル wi = (wi1 , wi2 , · · · , wid )(i = 1, 2, · · · , nm) を備えている．FN-SOM の行間に誤り近傍度 Rr (1 ≤ r ≤ n − 1) を，列間に誤り近傍度 Ck (1 ≤ k ≤ m − 1) を割り当て，それぞれの初期値は 0 に設定する．学習のフローチャートを図 1に示す．

StartC2qInput

fqfq
R3

Find winner
Learning step

Calculateneighboring distancesq(a)(b)

Update weight vectors
NoYes
FindYesNo

Considering
False-Neighbors

Find false-neighbor

図 2: 誤り近傍度の増加．(a) q が 3 行 2 列に，その誤り近傍 fq が 3 行 3 列に位置する場合，2 列と 3 列間の誤り近傍度 C2 が式 (6) に従って増加される．(b) qが 4 行 2 列に，その誤り近傍 fq が 3 行 2 列に位置する場合，3 行と 4 行間の誤り近傍度 R3 が式 (7) に従って増加される．

Increase false-neighbor degree
between eachandResets2 間の近傍距離は，次の式によって定義される．
YesNodf (s1 , s2 ) =Yes|r1 − r2 | +⎛Nor
2 −1Rrr=r1k
2 −1+ ⎝|k1 − k2 | +Endc = arg min{wi − xj }i(1)ここで， ·  はユークリッド距離を表す．
(FN-SOM3) 勝者ニューロン c の勝者回数を増加させる：γc new = γc old + 1．
(FN-SOM4) 勝者ニューロン c と各ニューロンとの近傍距離を計算する．例えば，r1 行 k1 列に位置するニューロン s1 と，r2 行 k2 列に位置するニューロン

⎞2(2)

Ck ⎠

k=k1

図 1: FN-SOM の学習アルゴリズムのフローチャート

Learning Step
(FN-SOM1) d 次 元 入 力 ベ ク ト ル xj=
(xj1 , xj2 , · · · , xjd ) (j = 1, 2, · · · , N ) を １ つ 選
び，全ニューロンに入力する．
(FN-SOM2) 全ての重みベクトルと入力ベクトル
xj 間の距離を計算し，最も xj に近い重みベクトルを持つニューロンを勝者ニューロン c とする．

2

このとき，r1 < r2 , k1 < k2 とする．つまり，
r2 −1
r=r1 Rr は r1 行と r2 行間の誤り近傍度の合計を，
k2 −1
k=k1 Ck は k1 列と k2 列間の誤り近傍度の合計を，それぞれ意味している．
(FN-SOM5) ニューロンの重みベクトルを更新する．

wi (t + 1) = wi (t) + hF c,i (t)(xj − wi (t))(3)

t は学習回数，hF c,i (t) は FN-SOM の近傍関数である．
hF c,i (t) = α(t) exp −df (c, i)
2σ 2 (t)(4)α(t) と σ(t) は，時間と共に減少する．
(FN-SOM6) もし nm
i=1 γi ≥ λ であれば，(FNSOM7) から (FN-SOM10) のステップに従い誤り近傍度を増加させる．そうでない場合は (FN-SOM11)
へ進む．つまり，λ 個の入力データに対して学習が行なわれる度に，誤り近傍を考慮する．
Considering F alse-N eighbors(FN-SOM7) 一度も勝者になったことのないニューロンの集合 S をみつける：S = {i | γi = 0}．もし，勝1

1

1

1

0.9

0.9

0.9

0.9

0.8

0.8

0.8

0.8

0.7

0.7

0.7

0.7

0.6

0.6

0.6

0.6

0.5

0.5

0.5

0.5

0.4

0.4

0.4

0.4

0.3

0.3

0.3

0.3

0.2

0.2

0.2

0.2

0.1

0.1

0.1

0.1

0000

0.2

0.4

0.6

0.8

1(a)00.2

0.4

0.6

0.8

100(b)

0.2

0.4

0.6

0.8

1(c)

00.2

0.4

0.6

0.8

1(d)

図 3: Target データに対する 3 手法の学習結果． (a) 入力データ．(b) 従来の SOM． (c) Growing Grid．
(d) FN-SOM．

者になったことのないニューロンが存在しない，つまり S = ∅ である場合，誤り近傍度は増加させず(FN-SOM11) へ進む．
(FN-SOM8) 集合 S 内の各ニューロン q に対する誤り近傍 fq を選ぶ．fq は q の 1 近傍ニューロン Nq 1のうち，最も q から遠い重みベクトルを持つニューロンとする．

比較する．

3.1

2 次元入力データ

まず，図 3(a) に示されるような，Target データ [4]と呼ばれる 2 次元入力データを考える．全入力数 N
は 770 個で，4 つの離れたクラスタを含む全部で 6 つのクラスタがある．データはランダムに並べ替えている．
fq = arg max{wi − wq }, q ∈ S, i ∈ Nq 1 (5)
学習条件を以下に示す．従来の SOM 及び FN-SOMi
は nm = 100 個（10 × 10）のニューロンを持ち，(FN-SOM9) q とその誤り近傍 fq 間の誤り近傍度 Growing Grid は 2 × 2 個のニューロンから学習を
Rr ，もしくは Ck を増加させる．図 2(a) のように， 始め，nmmax = 100 以下である限り新しい行と列をq が r 行 k 列，fq が r 行 (k + 1) 列に位置する場合， 挿入する．学習は全入力データに対して 20 回繰り返
k 列と (k + 1) 列間の誤り近傍度 Ck を次式に従い増 す（tmax = 15400）．FN-SOM の学習では λ = 3000とし，誤り近傍度の効果を確認するために，SOM と加させる．
FN-SOMに対して同じ α と σ の減少式を用いる．
n+m(6)
Ck new = Ck old +SOMと Growing Grid の学習結果を図 3(b)従来の2nmと(c)に示す．これを見ると，クラスタ間に複数の同様に，図 2(b) のように，q が (r + 1) 行 k 列，fqが r 行 k 列に位置する場合，r 列と (r + 1) 列間の誤 不活性ニューロンが存在することがわかる．一方，
図 3(d) に示される FN-SOM の結果を見ると，クラり近傍度 Rr を次式に従い増加させる．
スタ間にはほとんど不活性ニューロンは存在せず，従n+m(7)Rr new = Rr old +来の SOM や Growing Grid に比べて，より効果的に2nm
これらの誤り近傍度の増加量は固定値であり，ニュー 入力の分布状態を反映したマップを得られていることがわかる．
ロン数から数値的に計算される．
FN-SOM の学習の性能を数値的にも比較するため(FN-SOM10) 全ニューロンの勝者回数を 0 回にリ
3 つの評価値を用いる．に，以下のようなセットする：γi = 0．

(FN-SOM11) 全入力データに対して (FN-SOM1)から (FN-SOM10) を繰り返す．
3

シミュレーション結果

本研究では FN-SOM を様々な入力データに適用し，その結果を従来の SOM，及び Growing Grid と量子化誤差（Quantization Error）Qe は，各入力ベクトルとそれに対する勝者ニューロン間の距離の平均を計算する [1]．より 0 に近い値であるほど良い．

Qe =N1 xj − w̄j ,
N j=1(8)

1

111

0.8

0.8

0.80.80.6

0.6

0.6

0.6

0.4

0.4

0.4

0.4

0.2

0.2

0.2

0.2

010101

1
0.5

0.5

01

1
0.5

10.5

0.5

0 00 0(a)(b)

0.50 0(c)1
0.5

0.50 0(d)図 4: Hepta データに対する 3 手法の学習結果． (a) 入力データ．(b) 従来の SOM． (c) Growing Grid．
(d) FN-SOM．

w̄j は，xj に対する勝者ニューロンの重みベクトル
表 1: Target データに対する，量子化誤差 Qe，トポを示す．
ロジーエラー T e 及びニューロンの利用度 U ．
トポロジーエラー（Topographic Error）Te は，SOMGrowing Grid FN-SOM
入力データの接続形態をどれくらい維持しているか
Qe
0.02070.0237
0.0191を計算し，より 0 に近い値であるほど良い．
Te
0.07400.24550.0442N
1 U
0.81000.81370.9100Te =u(xj ),(9)N j=1
ここで，xj に対する勝者ニューロンと 2 番目の勝者が，マップ上の 1 近傍であれば，u(xj ) = 1，それ以外なら u(xj ) = 0 とする．T e は量子化誤差とは異なり，マップの構造を評価する．不自然にねじれたマップに対しては，量子化誤差が小さい値であったとしてもトポロジーエラーは大きくなる．
ニューロンの利用度（Neuron Utilization）U は，1 つ以上の入力ベクトルに対して勝者ニューロンとなっているニューロンの割合を計算する [3]．より 1.0に近い値であるほど良い．

U=nm
1 ui ,nm i=1(10)ニューロン i が，1 つ以上の入力に対する勝者であれ
ば ui = 1，そうでなければ ui = 0 とする．
計算した 3 つの評価値を表 1 に示す．FN-SOM の量子化誤差 Qe は，3 つのアルゴリズムの中で最も小さい値であり，従来の SOM を用いた場合よりも7.7% 改善されている．これは，FN-SOM の結果にはほとんど不活性ニューロンがないため，より多くのニューロンが入力データを自己組織化できているからである．この結果は，ニューロンの利用度 U の値からも確認できる．FN-SOM の U の値は全アルゴリズム内で最も大きい 0.91 であり，これは 91% のニューロンが 1 つ以上の入力の勝者ニューロンとなっている，つまり，不活性ニューロンが少ないことを示している．また，FN-SOM の Qe と U は最も良い値であるにもかかわらず，トポロジーエラー T e においても FN-SOM が最小値となっている．これらの結果は，FN-SOM がマップの接続形態を正確に維持しつつ，最も効果的な自己組織化をしていることを意味している．

3.2

3 次元入力データ

次に，図 4(a) に示されるような，Hepta データ [4]と呼ばれる 3 次元入力データに対して学習を行う．全データ数 N は 212 であり，密度の違う 7 つのクラスタを含んでいる．学習は全データに対して 70 回繰り返し行い（tmax = 14840），各パラメータは図 3 に対するシミュレーションと同じ値を用いる．
図 4(b)，(c) 及び (d) に示された 3 手法の学習結果
より，FN-SOM はクラスタ間の不活性ニューロンが最も少ないことがわかる．また，この結果に対する 3つの評価値を表 2 に示す．これを見ると，FN-SOM

2

表 2: Hepta データに対する，量子化誤差 Qe，トポロジーエラー T e 及びニューロンの利用度 U ．
SOMGrowing Grid FN-SOMQeTeU

0.03600.16980.65000.04090.15090.68630.03060.14620.8000

アヤメデータさらに，実データのクラスタリング問題に対しても適用する．今回用いる実データはアヤメデータ [7]で，パターン認識の分野で最もよく知られているデータの１つである．このデータは，それぞれ 50 個のデータで成り立つ 3 つのクラスタを含んでおり，それぞれのクラスはアヤメの種類である Iris setosa，Irisversicolor，Iris virginica に対応する [6]．入力は 4 次元で，それぞれ，がくの長さ，がくの幅，花びらの長さ，花びらの幅である．Iris setosa は線形的に他の2 つと区別できるが，Iris versicolor と Iris virginica
はそれぞれ線形的には区別できない．

223322232311111332222111211122211221112221112222223333222233323233333333333333332332323222333333333(a)は全ての値において最も良い結果を得ており，量子化誤差 Qe は従来の SOM を用いる場合より 15.0% も改善されている．それにもかかわらず，FN-SOM はトポロジーエラー T e においても最小値を示し，従来の SOM よりも 13.9%，Growing Grid よりも 3.1%エラーを減少できている．また，ニューロンの利用度U も最も良い値であり，従来の SOM 及び Growing
Grid を用いる場合よりも，それぞれ 23.1% と 16.6%改善している．これらの結果より，3 次元入力データに対しても FN-SOM が最も有効であるといえる．

3.3211122111122111122111222222222111112211122111223333332332(b)図 5: アヤメデータのシミュレーション結果に対する U-Matrix．ラベル 1， 2 ，3 は Iris setosa，Irisversicolor，Iris virginica にそれぞれ対応する．(a) 従来の SOM．(b) FN-SOM．

Iris setosa と他の 2 つのクラスタ間に不活性ニューロンがほとんどないため，より多くのニューロンがIris versicolor と Iris virginica のデータを自己組織化できるからである．これらの結果から，FN-SOM の有効性が確認できる．
4

おわりに学習は全データに対して 100 回繰り返し行い（tmax = 15000），各パラメータは図 3 に対するシミュレーションと同じ値を用いる．

本研究では，ニューロン間の誤り近傍度を考慮する自己組織化マップ（SOM with False-Neighbor
degree between neurons: FN-SOM）を提案した．誤図 5 はクラスタ構造を示した U-Matrix であり [4]， り近傍度は FN-SOM のニューロンの行間と列間に割図 5 の各セルは近傍ニューロン間の距離を表している．この図より，従来の SOM に比較して，FN-SOMのクラスタ境界の方がはっきりしていることが見て 表 3: アヤメデータに対する，量子化誤差 Qe，トポロジーエラー T e 及びニューロンの利用度 U ．
とれる．
SOM
Growing Grid FN-SOM
量子化誤差 Qe，トポロジーエラー T e，ニューロンの利用度 U の結果を表 3 に示す．FN-SOM の Qe
及び T e は，3 手法の中で最小値であり，Qe は従来の SOM よりも 13.6%，T e は 30.5% も改善されていることが確認できる．これは，FN-SOM の結果にはQeTeU

0.03740.24000.72000.04520.22670.70480.03230.16670.8200

り当てられており，初期値は 0 であるが学習と共に徐々に増加し，重みベクトル更新の際にマップ上のノード間の距離の重みとして作用する．FN-SOM を2 次元データ，3 次元データ，アヤメデータに対して適用し，FN-SOM の学習における振る舞いを調査した．また，FN-SOM の結果を，3 つの評価値を用いて数値的に従来の SOM と Growing Grid に対して比較した．全ての結果で FN-SOM は最も良い値を示したことから，状況と入力データの形によって近傍関係を柔軟に変化させて学習する FN-SOM が，他の 2手法と比べて，より効果的なマップを得られることを確認した．
謝辞
本研究は，財団法人ヤマハ音楽振興会の助成を受けて実施されたものである．
参考文献[1] T. Kohonen, Self-organizing Maps, Berlin,Springer, 1995.
[2] B. Fritzke, “Growing Grid – a self-organizing
network with constant neighborhood range
and adaptation strength,” Neural Processing
Letters, vol. 2, no. 5, pp. 9–13, 1995.
[3] Y. Cheung and L. Law, “Rival-Model Penalized Self-Organizing Map,” IEEE Trans. Neural Networks, vol. 18, no. 1, pp. 289–295, 2007.
[4] A. Ultsch, “Clustering with SOM: U*C,” Proc.
of WSOM’05, pp. 75–82, 2005.
[5] K. Kiviluoto, “Topology Preservation in SelfOrganizing Maps,” Proc. of ICNN, pp. 294–299, 1996.
[6] D. J. Newman, S. Hettich, C. L. Blake andC. J. Merz, UCI Repository of Machine Learning Database, 1998.
[7] R. A. Fisher, “The Use of Multiple Measurements in Taxonomic Problems,” Annual Eugenics, no.7, part II, pp. 179–188, 1936.