自己組織化

浅川伸一

はじめに

網膜と第一次視覚野 V1 の間には連続的な 1 対 1 対応が存在します retinotopy。 鼓膜の周波数選択特性と第一次聴覚野 A1 との間にも対応関係が見られます tonotopy。 同様に体表面の感覚と体制感覚野の間にも対応関係が見られます somatopy。 すなわち感覚器官と第一次感覚野との間の神経結合は、 類似した刺激に対して皮質上の同じような位置に対応する受容野を持つことが知られています。このような 2 つの神経場間の連続的な結合関係のことを トポグラフィックマッピング topographic mapping と言います。

視覚野のトポグラフィックマッピングについては、さらに細かいことが分ってい て任意の視覚位置に対して、眼優位性 ocular dominancy, 方位選択性 orientation selectivity, 色 などの情報が処理されるように規則正しく配列さ れています。ハイパーコラム hypercolumn 構造といいます。 ハイパーコラムは、2 次元しかない皮質上に、2次元の網膜位置、 方位、視差情報(立体視)、色情報処理などの多次元情報をなるべく効率よく 処理しようとする生体情報処理の機構を表していると言えます。

図 1: V1 におけるハイパーコラム構造
\resizebox{0.4\textwidth}{!}{%%
\includegraphics{hypercolumn.eps}}

このような構造は、 大まかな構造は遺伝子によって決定されますが、 細かい構造については神経回路の 自己組織化 self organization によって達成されると考えられています。 このような例は枚挙に暇がありません1。 一例として Linsker の行なったシミュレーションを紹介します。

図 2: Linsker net
\resizebox{0.5\textwidth}{!}{%%
\includegraphics{linsker.eps}}

Linsker は図2 のような数層の細胞で構成されるモデルを考え ました。
各細胞層では、多数の細胞が 2 次元的に広がっています。 B 層の各細胞は A 層の細胞から入力を受けます。たとえば、 A 層の円で囲まれた領域にある細胞 100 個がそれぞれ B 層の 一個の細胞に結合しています。同様にして、B 層から C 層、C 層から D 層 へと続く結合も同様です。

結合強度の変化は Hebb の学習則の変形(表 1)で 入力と出力ともに活動度が高い場合には結合を強める他に、 両方ともの活動が低ければ結合の強さを弱めるような学習です。

入力は A 層から入りますが、A 層においてはランダムで相関がない活動が自発 的に起きていると想定しました。その結果、次のようなことが起きました。A か ら B への結合では、結合の強さは正の大きな値になるか、負の大きな値になる かのどちらかでした。結合が正の興奮性になった場合にどういうことが起きたの でしょうか? そのとき細胞が観察しているのは、細胞層 A のある領域の入力の 平均です。B 層では、隣り合う細胞が受け取る A 層の細胞の範囲は重なりあっ ています。したがって、この二つの細胞は A 層におけるパターンの似た部分を 見ており、ある時刻に一方の細胞の活動度が高ければ、もう一方の細胞の活動度 も高い可能性がたかいです。つまり、B 層において、近くに位置する 2 つの細 胞の活動度の間には相関が生じています。

次に B 層から C 層への結合の変化が図3 に示されています。

図 3: Linsker のシミュレーション結果
\resizebox{0.6\textwidth}{!}{%%
\includegraphics{linsker-graph1.eps}}
\resizebox{0.15\textwidth}{!}{%%
\includegraphics{linsker-graph2.eps}}
\resizebox{0.6\textwidth}{!}{%%
\includegraphics{linsker-graph3.eps}}

3 では C 層の一つの細胞を取り上げ、そこからB 層 をながめています。つまり C 層の一つの細胞へ入力する B 層の細胞を見ている わけです。シミュレーション開始時(t=0)にはすべての結合はランダムですが、 時間が経過するにつれて中央に点が見えてきます(興奮性の領域)。周辺には 抑制性の領域が現れます。 ランダムな結合と Hebb 則だけを使って、 on 中心型細胞が生じることが 示されたことになります。さらに先の層には方位選択性の細胞が現れます。

Linsker の提案したネットワークを追試するのは、非常に簡単なプログラムで可 能です。にもかかわらず、第一次視覚野で の細胞の特徴をよくとらえた優れたデモンストレーションと言えます。

自己組織化の特徴を抽象化してとらえれば、多次元刺激をその刺激の持つ規則性に 従って 2 次元の皮質上への対応問題ととらえることができるます。 入力層の空間多次元多様体から 2 次元部分空間への写像といいます。 このような立場から、統計学の用語を用いて説明を試みます。

主成分分析

$p$ 個の $n$ 次元ベクトル $\BRC{\mb{x}_1,\mb{x}_2,\ldots,\mb{x}_n}=\mb{X}$ $m\Brc{= rank\Brc{\mb{X}}}$ 個の(主成分)ベクトル $\mb{y}_1,\mb{y}_2,\ldots,\mb{y}_m$ の一次結合に分解すること を主成分分析という。

パーセプトロンとの関係では、 $p$ 個の入力層ニューロンから、$m$ 個の出力層ニューロンへ の結合を考える。 入力パターンが $n$ 個あるとする。 このとき、入力はデータ $1$ つづつ逐次的にネットワークに与えられ その都度入力層から出力層への結合係数が修正されていくものとする。

主成分分析の復習

$\mb{X}$$p$ 変数のデータが $n$ 個集まったデータであるとする。 すなわち、 $\mb{X}=\Brc{x_{ij}}$, $\Brc{1<i<n, 1<j<p}$ を入力データとする。 このとき適当な線形結合
$\displaystyle \mb{y}_1$ $\textstyle =$ $\displaystyle w_{11} \mb{x}_1 + w_{12} \mb{x}_2 + \cdots + w_{1p} \mb{x}_p$ (1)
  $\textstyle =$ $\displaystyle \mb{X} \mb{w}_1.$ (2)

によって合成変量 $\mb{y}$ を最大化することを考える。 ただし $\mb{x}$ は素データ $\mb{x}^{(r)}$ からその変数の平均をひいた平均偏差ベクトルで、 以下のように表現される。
\begin{displaymath}
\mb{x}=
\BRc{\mb{I}-\mb{1}_n\Brc{\mb{1}'_n\mb{1}_n}^{-1}\mb{1}'_n}\mb{x}^{(r)}
\end{displaymath} (3)

$\IP{\mb{w}}{\mb{w}} = \vert\mb{x}\vert^2 = 1$ の制約のもとで最大の分散を与える $\mb{w}$ を考えると

\begin{displaymath}
E= \mb{w}'\mb{X}'\mb{X}\mb{w} - \lambda\Brc{\mb{w}'\mb{w}-1}
\end{displaymath} (4)

$\mb{w}$ で偏微分して
\begin{displaymath}
\frac{\partial E}{\partial \mb{w}} = 2 \mb{XXw} - 2 \lambda\mb{w}=0
\end{displaymath} (5)

を解けばよい。上記はデータ行列 $\mb{X}'\mb{X}$ の固有値問題に帰結するので データ行列 $\mb{X}'\mb{X}$ の固有値を大きい順に並べて $\Brc{\lambda_1,\lambda_2,\ldots,\lambda_m}$ としたとき対応する (正規化された)固有ベクトルを $\mb{w}_1,\mb{w}_2,\ldots,\mb{w}_m$ とすれば
\begin{displaymath}
\mb{y}_1 = \mb{X}\mb{w}_1,\qquad
\mb{y}_2 = \mb{X}\mb{w}_2,\ldots,\qquad
\mb{y}_m = \mb{X}\mb{w}_m
\end{displaymath} (6)


\begin{displaymath}
\mb{Y} = \mb{X}\mb{W}
\end{displaymath} (7)

を主成分(得点)という。主成分分析の立場では $\mb{w}$ を主成分負荷量という。

バイプロットについて

逆にデータ行列 $\mb{X}$ は 固有値ベクトル $\mb{y}$ を用いて表現することができる。 固有ベクトルの性質
\begin{displaymath}
\IP{\mb{w}_i}{\mb{w}_j} =
\left\{
\begin{array}{ll}
1 &\mbox{$i=j$}\\
0 &\mbox{$i\ne j$}\\
\end{array}\right.
\end{displaymath} (8)

を用いると、式(6)から
$\displaystyle \mb{X}$ $\textstyle =$ $\displaystyle \IP{\mb{y}_1}{\mb{w}_1}
+\IP{\mb{y}_2}{\mb{w}_2}
+\ldots+\IP{\mb{y}_m}{\mb{w}_m}$ (9)
  $\textstyle =$ $\displaystyle \mb{Y}\mb{W}'.$ (10)

である。ここで、 $\mb{y}_1>\mb{y}_2>\cdots\mb{y}_m$ なので、 $\mb{y}_1\doteq\mb{y}_2\doteq\cdots\doteq\mb{y}_m\doteq0$ だとみなして $3$ 番め移行の固有値の影響を無視すると、
\begin{displaymath}
\mb{X}=\mb{y}_1\mb{w}_1 + \mb{y}_2\mb{w}_2
\end{displaymath} (11)

あるいは
\begin{displaymath}
x_{ij} =y_{i1}w_{1j} + y_{i2} w_{2j}.
\end{displaymath} (12)

このことは、 「$i$ 番目のデータ(対象)の $j$ 番目の変数の値 $x_{ij}$ は、 $i$ 番めの対象を表わす主成分得点ベクトル($y_{i1},y_{i2}$) と $j$ 番めの変数表わす主成分負荷量ベクトル($w_{1j},w_{2j}$) と の内積に等しいことを意味する。 $\mb{y}$$\mb{w}$$2$ 次元なので両者を同一平面上に プロットしたものをバイプロットという。

主成分分析

通常の意味での主成分分析では列方向に変数($p$)、行方向にデータ数($n$)、 となる行列を仮定する ( $\mb{X}=\Brc{x_{ij}}$, $\Brc{1\le i\le n, 1\le j\le p}$) ことが多いが、 ここではニューラルネットワークとの関連を考え 通常の意味でのデータ行列の転置を入力データ行列 $\mb{X}$ とする( $\mb{X}=\Brc{x_{ij}}$, $\Brc{1\le i\le p, 1\le j\le n}$ ) 主成分分析とは
\begin{displaymath}
\mb{X}'\mb{X}\mb{g}_j = \lambda_j\mb{g}_j,\qquad\Brc{j=1,2,\ldots,p}
\end{displaymath} (13)

および
\begin{displaymath}
\mb{X}\mb{X}'\mb{f}_j = \tilde\lambda_j\mb{f}_j\qquad\Brc{j=1,2,\ldots,n}
\end{displaymath} (14)

ここに $\lambda_j=\tilde\lambda_j (j=1,2,\ldots,n)$ である。

このとき適当な線形結合

$\displaystyle \mb{y}_1$ $\textstyle =$ $\displaystyle w_{11} \mb{x}_1 + w_{12} \mb{x}_2 + \cdots + w_{1p} \mb{x}_p$ (15)
  $\textstyle =$ $\displaystyle \mb{X} \mb{w}_1.$ (16)

によって合成変量 $\mb{y}$ を最大化することを考える。 $\mb{x}$ は素データからその変数の平均をひいた平均偏差ベクトルであるとすれば、 素データベクトルを $\mb{x}^{(r)}$ として
\begin{displaymath}
\mb{x}=
\BRc{\mb{I}-\mb{1}_n\Brc{\mb{1}'_n\mb{1}_n}^{-1}\mb{1}'_n}\mb{x}^{(r)}
\end{displaymath} (17)

と表わされる。

古典的多次元尺度法

$i$ 番目の変数と $j$ 番目の変数との距離 $d_{ij}$$2$ 乗を
$\displaystyle d_{ij}^2$ $\textstyle =$ $\displaystyle \vert\mb{x}_i - \mb{x}_j\vert^2$ (18)
  $\textstyle =$ $\displaystyle \IP{\mb{x}_i - \mb{x}_j}{\mb{x}_i - \mb{x}_j}$ (19)
  $\textstyle =$ $\displaystyle \IP{\mb{x}_i}{\mb{x}_i} - 2\IP{\mb{x}_i}{\mb{x}_j}
+\IP{\mb{x}_j}{\mb{x}_j}$ (20)
  $\textstyle =$ $\displaystyle \vert\mb{x}_i\vert^2 - 2\IP{\mb{x}_i}{\mb{x}_j}
+\vert\mb{x}_j\vert^2$ (21)

と表現されるので、原点を移動して
\begin{displaymath}
\mb{x}_1 + \mb{x}_2 + \cdots + \mb{x}_p = \mb{0}
\end{displaymath} (22)

となるようにすれば(Young-Householder変換)、距離行列から 内積成分だけを取り出すことができる。 Young-Householder 変換して得られた内積行列を固有値分解して
\begin{displaymath}
\mb{x}_{i1} = \sqrt{\lambda_1} w_{1i}
\end{displaymath} (23)


\begin{displaymath}
\mb{x}_{i2} = \sqrt{\lambda_2} w_{2i}
\end{displaymath} (24)

として、2次元平面へのプロットを得る。 ここでは、データ行列 $\mb{X}$$n$ 本の行ベクトル $\mb{x}_i (1\le i\le n)$ ととらえている。

実際の計算は

\begin{displaymath}
\mb{P}_M^\bot =
\BRc{\mb{I}_n - \mb{1}_n\Brc{\mb{1}'_n\mb{1}_n}^{-1}\mb{1}'}
\end{displaymath} (25)

を用いて2
\begin{displaymath}
\mb{H} = -\frac{1}{2} \mb{P}_M^\bot \mb{D}\mb{P}_M^\bot
\end{displaymath} (26)

の正規化された固有値を計算すればよい($\mb{D}$ は距離行列)。 $\mb{H}$ の固有値 $\lambda_1$,$\lambda_2$,$\ldots$,$\lambda_r$ にたいする正規化した固有ベクトルを $\mb{t}_1$,$\mb{t}_1$,$\ldots$,$\mb{t}_r$ とすれば、 古典的多次元尺度構成法による座標 $\mb{Y}$ は、
\begin{displaymath}
\mb{Y}=\Brc{\mb{y}_1,\mb{y}_2,\ldots,\mb{y}_r}=
\Brc{\sqrt{...
...t}_1,\sqrt{\lambda_2}\mb{t}_2,\ldots,\sqrt{\lambda_r}\mb{t}_r}
\end{displaymath} (27)

となる。

パーセプトロンモデル

上記の主成分分析を神経回路網の立場で表現します。

$\mb{X}$ は入力データセットで、 $p$ 個のニューロンからなる入力層に与えられる $n$ 個のサンプルデータ であると考える。これらのニューロンから $m$ 個の出力層に全結合している モデルを考える。

簡単のため出力層のニューロンが $1$ 個しかない場合 ($m=1$) を考えると、 $k$ 番目の入力パターンに対する出力層ニューロンの出力は以下の式、

\begin{displaymath}
y_k = \sum_i^p w_{i}x_{ki} = \IP{\mb{w}}{\mb{x}_k}.
\end{displaymath} (28)

に従う、すなわち線形出力ニューロンを考える。 ここで、$w_{i}$ は パターン $k$ が与えられたときの $i$ 番目の入力層ニューロン $x_{ki}\,(1\le i\le p, 1\le k\le n)$ と出力層のニューロンとの結合係数である。

仮にパターン $k$ が与えられたときの $i$ 番目の入力層ニューロンから出力層への 結合係数 $w_i$ が式(29)のような Hebb の学習則

\begin{displaymath}
\Delta w_i = \eta\, y_k\,x_{ki}
,
\end{displaymath} (29)

を用いて更新されたとすると、$w_i$ の漸化式は以下のようになる
\begin{displaymath}
\Delta w_i(t+1)
= w_i(t) + \Delta w_i
= w_i(t) + \eta\,y_k\...
... w_i(t) + \eta\,\sum_i^p w_{i}x_{ki},\,\,\mbox{(for all $k$)}.
\end{displaymath} (30)

$w_i$ をまとめて $\mb{w}$ とベクトル表現すれば
\begin{displaymath}
\Delta \mb{w}(t+1)
= \mb{w}(t) + \Delta\mb{w}
= \mb{w}(t) + \eta\,\IP{\mb{x}_k}{\mb{w}}\mb{x}_k,\;\;\mbox{(for all $k$)}.
\end{displaymath} (31)

学習が成立(収束)した時点での $\Delta\mb{w}$$\mb{0}$ になる (すなわち結合係数の更新が行なわれない)ことが期待されるので、 全入力パターンの平均を考えて

\begin{displaymath}
\mb{0}
= \frac{1}{n}\sum_{k=1}^n \Delta\mb{w}^{(k)}
= \eta\...
...}^{(k)}} \mb{x}^{(k)}
= \eta\,\frac{1}{n}\,\mb{X}'\mb{X}\mb{w}
\end{displaymath} (32)

が成り立っていなければならない。

ところが $\mb{X}'\mb{X}$ は、実対称行列であり、 固有値はすべて正で固有ベクトルは直交する。 すなわち Hebb の学習則では有限回の学習によって 解が求められない(実際には最大固有値に対応する固有ベクトルの方向に際限無く大きくなっていく)3

そこで、式(29) を修正して

\begin{displaymath}
\Delta w_i = \eta\, y_k\Brc{1-y_k}\,x_{ki}
\end{displaymath} (33)

のように変形すると結合係数は最大固有値の方向を向き、かつ収束することが Oja (1982) によって証明されている。 その他にも、式(25) の Young-Householder 変換のような 操作などによって、Hebb の学習則を修正する方法が提案されている。

表 1: 田中 1993 より
Hebb 項
モデル シナプス後 シナプス前 非 Hebb 項 備考
マルスバーグ $\begin{array}{c}
\mbox{発火頻度}\\
\eta_j
\end{array}$ $\begin{array}{c}
\mbox{発火頻度}\\
\eta_k
\end{array}$ $\begin{array}{c}
\mbox{拘束条件}\\
\sum_k\rho_{jk}=\mbox{一定}
\end{array}$ 差分方程式の一ステップ毎に次のように規格化 $\rho_{jk}\rightarrow\frac{\rho_{jk}}{\sum_{k'}\rho_{jk'}}$
甘利 $\begin{array}{c}
\mbox{発火頻度}\\
\eta_j
\end{array}$ $\begin{array}{c}
\mbox{発火頻度}\\
\eta_k
\end{array}$ $\begin{array}{c}
\mbox{減衰項}\\
-\frac{1}{\tau}\rho_{jk}
\end{array}$ 抑制性のニューロンの学習方程式と連立する
リンスカー $\begin{array}{c}
\mbox{膜電位}\\
\zeta_j
\end{array}$ $\begin{array}{c}
\mbox{膜電位}\\
\zeta_k
\end{array}$ $\begin{array}{c}
\mbox{拘束条件}\\
-1\le\rho_{jk}\le+1
\end{array}$ $\begin{array}{l}
\rho_{jk} \mbox{はシナプス伝達効率を表す}\\
\rho_{jk}>0 \qq...
...\mbox{興奮性シナプス}\\
\rho_{jk}<0 \qquad \mbox{抑制性シナプス}
\end{array}$
ミラー $\begin{array}{c}
\mbox{膜電位}\\
\zeta_j
\end{array}$ $\begin{array}{c}
\mbox{発火頻度}\\
\eta_k
\end{array}$ $\begin{array}{c}
\mbox{拘束条件}\\
0\le\rho_{jk}\le+1,\\
\sum_{k'}\rho_{jk'}=\mbox{一定}
\end{array}$ 解空間が $\sum_{k'}\rho_{jk'}=\mbox{一定}$ に制限するような射影演算子を方程式に含める
田中 $\begin{array}{c}
\mbox{膜電位}\\
\zeta_j
\end{array}$ $\begin{array}{c}
\mbox{伝達物質放出量}\\
\rho_{jk}\eta_k
\end{array}$ $\begin{array}{c}
\mbox{拘束条件}\\
\rho_{jk}\Brc{1-\sum_{k'}\rho_{jk'}}+\epsilon_{jk}
\end{array}$ 非 Hebb 項はシナプス前後の栄養因子によるシナプスの安定化メカニズムを表す


出力ニューロンが $j$$(1\le j\le m)$ の場合は、

\begin{displaymath}
\Delta \mb{w}_{ij} = \eta \mb{y}_j\BRc{\Brc{x_j-\sum x_kw_k}}\mb{x}_i
\end{displaymath} (34)

を用いて更新すればよい(Sanger,1989)。 Sanger の考え方は、Gram-Schimidt の直交化をそのまま ニューラルネット上で実現したものととらえることができる。

Kohonen の SOM

Kohonen のアルゴリズムは入力データに対して最大出力を与えるニューロンの結 合係数のみを変更する学習則である。出力は
\begin{displaymath}
x_i=\sum_j w_{ij}x_j = \mb{w}_i\mb{x}
\end{displaymath} (35)

と表現される。最大出力を与えるニューロンを $i^*$ とすれば、
$\displaystyle \mb{w}_{i^*}\mb{x}\ge\mb{w}_i \mb{x}\quad\mbox{(for all i)}$     (36)

となる。結合ベクトルの大きさが 1 に正規化されていれば
$\displaystyle \vert\mb{w}_{i^*}-\mb{x}\vert\le\vert\mb{w}_i - \mb{x}\vert\quad\mbox{(for all i)}$     (37)

と等価である。このようにして勝残ったニューロンに対して次のような近傍関数を定義する。
$\displaystyle \delta w_{ij} = \eta \Lambda(i,i^*)\Brc{x_j-w_{ij}}$     (38)

最大出力を与えるニューロンの近傍のニューロンに対しても学習が成立するよう にして、類似した特徴が類似した場所に投射されるようにしたものである。近傍 関数の例としてたとえば次のガウシアン関数を考えれば、生理的データとの一致 がとりやすい


$\displaystyle \Lambda(i,i^*) = e^{-\frac{\vert\mb{r}_i-\mb{r}_{i*}\vert^2}{2\sigma^2}}$     (39)

\resizebox{0.7\textwidth}{!}{%%
\includegraphics{som-explain.eps}}

\resizebox{0.7\textwidth}{!}{%%
\includegraphics{som-result.eps}}



脚注

... このような例は枚挙に暇がありません1
外側膝状体の 6 層構造の形成やら、 Blakemore and Cooper の縦縞しか見せなかった子猫の実験とか…
... を用いて2
ただし、$\mb{I}_n$$n$ 次の単位行列、$\mb{1}_n$ は要素がすべて $1$ であるベクトルである。
... 解が求められない(実際には最大固有値に対応する固有ベクトルの方向に際限無く大きくなっていく)3
$\mb{0}$ 以外に解がない

Shinichi ASAKAWA 平成14年6月13日