4 エンコーディング ── 刺激から応答への写像
1958年、Hubel と Wiesel は麻酔したネコの第一次視覚野に電極を刺し、スクリーンに図形を映していた。細胞はほとんど反応しない。何時間も続いた。そして偶然が起きる。スライドを差し替えるとき、ガラス板の縁の影がスクリーンを横切った。細胞が激しく発火した。
彼らが見つけたのは、V1 の細胞が特定の方位の線分に選択的に応答するということだった。この発見は1981年のノーベル賞につながり、そして—半世紀後、畳み込みニューラルネットワークの設計思想の源流になった。
本章は、この「刺激と応答の対応」を数学的に書く。中心となる道具が畳み込みである。そして本書でもっとも息の長い伏線が、ここから始まる。第8章で畳み込みは CNN の畳み込み層として再登場し、第13章で「線形かつ平行移動同変な作用素は畳み込みしかない」という定理として正体を明かされる。いまわれわれが便利な記述として導入するものが、実は必然だった—という回収が、10章あとに待っている。
第2節(畳み込みとフーリエ変換)が道具、第3〜5節が視覚系への適用、第6〜7節が「なぜそうなっているか」への展開である。
第2節は丁寧に読んでほしい。畳み込みは本書で三度、フーリエ変換は二度使う。複素指数関数から積み上げるので、フーリエ変換に不慣れでも追える。
第5節で「不変性」という言葉が出る。そこでは定義せずに使う。これは意図的な保留である—第13章第4節で、不変・同変・共変として整理される。
第7節は深層学習への橋である。急ぐならここだけでもよい。
1. 受容野という概念
定義
ある細胞の受容野(receptive field)とは、その細胞の応答に影響を与える感覚空間の領域のことである。視覚なら網膜上の(あるいは視野上の)ある範囲を指す。だが「領域」だけでは足りない。同じ場所でも、明るくするか暗くするかで応答が違う。だから受容野は空間の各点に符号と強さを割り当てたものとして記述される。
網膜から脳へ信号を送り出す網膜神経節細胞の典型的な受容野は、中心-周辺拮抗型である(Kuffler 1953)。中心を明るくすると応答が増え、周辺を明るくすると減る(ON中心型)。あるいはその逆(OFF中心型)。
線形フィルタとしての記述
もっとも単純なモデルは、応答が刺激の重み付き和であるというものだ。画像なら位置は \mathbf{x} = (x, y)^\top \in \mathbb{R}^2 で、刺激と重みは、その位置に実数を割り当てる関数 s, k: \mathbb{R}^2 \to \mathbb{R} である。各位置で刺激と重みを掛け、画像全体で足し合わせた一つの値を u \in \mathbb{R} とする(これは、あとで発火率に変換する前の線形出力である)。連続した位置について足す積分の形と、画像を区切る小さな升目である画素(ピクセル)ごとに足す離散の形を、並べて書いておこう。
u = \int k(\mathbf{x})\, s(\mathbf{x})\, d\mathbf{x} \qquad\text{(離散なら } u = \sum_{\mathbf{x}} k(\mathbf{x})\, s(\mathbf{x})\text{)}
s(\mathbf{x}) が位置 \mathbf{x} での刺激強度、k(\mathbf{x}) が重み—これが受容野そのものである。k が正の場所を明るくすれば u が増え、負の場所を明るくすれば減る。
この式は内積である。u = \langle k, s\rangle。つまり細胞は「自分の受容野と刺激がどれだけ似ているか」を測っている、と読める。k に近い形の刺激がもっとも強い応答を引き出す—これが最適刺激という概念の数学的な中身である。
ただし条件が一つ要る。刺激の大きさを固定しての話である。固定しなければ、同じ形のまま明るくすればするほど応答は上がってしまい、最大を与える刺激は決まらない。\|s\| を一定に保てば、コーシー・シュワルツの不等式 \langle k, s\rangle \le \|k\|\,\|s\| が使える。等号が成り立つのは s が k の正の定数倍のとき—受容野と同じ向きの刺激が最大の応答を引き出す(負の定数倍なら、逆に最小になる)。
LN モデル
だが発火率は負にならないし、いくらでも大きくなるわけでもない。そこで、線形出力 u \in \mathbb{R} を発火率の予測値 r \ge 0 に変える非線形関数 F を通す。負の出力を切り落としたり、大きな入力に対して飽和したりする形を、細胞の応答に合わせて選ぶ。
r = F(u) = F\big(\langle k, s\rangle\big)
線形フィルタ(L)+非線形関数(N) という構成なので、LN モデルと呼ばれる。F は第2章で見た f–I 曲線にあたる。
LN モデルは記述モデル(第1章第2節)である。なぜその受容野なのかは説明しない。第6節でそこに踏み込む。
どこまで予測できるのか ── ノイズ天井
ここで、あとの章のためにも大事な事実を挟んでおきたい。エンコードモデルの予測精度には、原理的な上限がある。
理由は単純で、神経応答が試行ごとに揺らぐからである。第2章第6節で見たとおり、スパイクの発生はポアソン過程でよく近似できる。ポアソン分布では分散が平均に等しいから、平均10発しか出ない細胞なら、標準偏差は \sqrt{10} \approx 3.2 発ある。同じ刺激を二度見せても、同じ応答は返ってこない。
fMRI ならさらに厳しい。立体画像を区切る小さな一区画をボクセルという。一つのボクセルは何万個ものニューロンの活動を血流の変化ごしに見たもので、そこに走査ごとの雑音が乗る。
完璧なモデルでも、試行ごとの揺らぎまでは当てられない。同じ刺激を繰り返し見せた測定どうしの一致から、予測精度の上限を見積もるのがノイズ天井(noise ceiling)である。比べる前に、一回の応答を予測するのか試行平均を予測するのか、そしてどの指標を使うのかを決めよう。
予測と測定の相関係数 r\in[-1,1] は、LN モデルの発火率 r とは別の記号である。説明できた分散の割合 R^2 は、平均値だけで予測する場合に比べて二乗誤差をどれだけ減らしたかを表す。完全に当たれば1、平均値と同じ誤差なら0、それより悪ければ負になる。相関の二乗 r^2 とは一般に異なる。
一回の応答を y=\mu_s+\varepsilon としよう。\mu_s は刺激ごとの真の平均、\varepsilon は平均ゼロの揺らぎである。揺らぎが試行間で独立、\mu_s と無相関、同じ分散を持つとする。二回の測定の相関を \rho とすると、真の平均を完全に当てるモデルと一回の測定との相関は \sqrt{\rho} になる。\rho そのものではない。試行を平均すれば揺らぎが減り、天井も上がる。計算と指標の定義は、発展編A.1で確かめられる。「天井の何割」という数には、予測対象と指標を添える必要がある。
天井で補正するというこの一手間には、二つの意味がある。
一つは公平さである。天井が低い脳領域と高い脳領域を、生の相関係数で比べても意味がない。
もう一つのほうが本書にとって重要だ。補正する前の生の成績が、そもそも低い。 神経エンコードモデルが実際に説明できる分散は、天井で補正する前の値で 20% 以下にとどまることが多い(神谷 2026)。「脳活動が予測できるようになった」という言い方から一般に想像されるほど、われわれは脳活動を当てられていない。
数字を読むときは、いま決めた二つ—何を予測対象にしたのか、どの指標で測ったのか—に加えて、天井で補正した後の値か、補正する前の値かを確かめてほしい。同じ「20%」でも、補正前の説明分散が 20% なのか、天井に対する到達率が 20% なのかで、意味はまるで違う。
しかも、残りが雑音なのか、行動や内部状態に由来する信号なのかは、簡単には切り分けられない。実験で制御していない要因が応答を動かしていれば、それは「説明できない分散」に混ざって見える。
ではデコーディングでは、なぜ高い成績が出るのか。 第6章で見ることになるが、デコーディングは応答そのものではなく、応答が表している内容の側で成績を測る。方位を当てる、見ている物体のカテゴリを当てる—揺らぎは残っていても、多数のボクセルにまたがって集めれば内容は取り出せる。同じデータでも、内容の側で測るほうが手応えのある効果量になりやすいのである。
これはデコーディングを使う実務上の理由の一つであり、第6章第6節で扱う方法論の話とも噛み合っている。測る場所を選ぶことは、何を主張できるかを選ぶことでもある。
2. 必要な数学:畳み込みとフーリエ変換
畳み込みの定義
受容野の話には、まだ足りないものがある。位置である。
前節の式は、ある一個の細胞について書いたものだった。だが V1 には、網膜上のあらゆる位置に受容野を持つ細胞がある。しかも受容野の形は、位置によらずほぼ同じである。
ここは近似だと断っておきたい。「ほぼ同じ」が成り立つのは、同じ型の細胞を狭い視野範囲で見比べたときである。実際には方位・位相(縞の明暗の位置ずれ)・空間周波数(単位距離あたりの縞の繰り返し数)の好みは細胞ごとに違い、受容野の大きさは網膜の中心から離れるにつれて大きくなる。それでもこの近似を置くと、見通しのよい式が書ける。この状況を一本の式で書くと、こうなる。
u(\mathbf{y}) = \int k(\mathbf{x} - \mathbf{y})\, s(\mathbf{x})\, d\mathbf{x}
\mathbf{y} が「受容野の中心位置」である。同じ k を、位置をずらしながら当てている。これを畳み込み(convolution)と呼び、u = k * s と書く。慣習に合わせて書き直すと、
(k * s)(\mathbf{y}) = \int k(\mathbf{y} - \mathbf{x})\, s(\mathbf{x})\, d\mathbf{x}
「同じフィルタを、全位置に当てて回る」—これが畳み込みの意味である。
一次元の離散信号で一度やってみよう。位置を整数にとり、値を並べたものを信号とする。明るさが途中で切り替わる縞の縁を模して s = (0, 0, 1, 1, 1, 1, 0, 0) とし、フィルタを k = (1, -1) とする(位置ずれ 0 での重みが 1、位置ずれ 1 での重みが -1、それ以外はゼロ)。上の定義に入れると、位置 y の出力は k(0)\, s(y) + k(1)\, s(y-1) = s(y) - s(y-1)、つまり隣どうしの差である。並べた範囲の外では信号をゼロとみなすことにすれば(左端の一つ前は 0 である)、順に計算して出力は (0, 0, 1, 0, 0, 0, -1, 0) になる。
読んでほしいのは、値が並んでいるところではゼロになり、明るさが変わる場所だけに値が立つという点である。一様な面には応じず、輪郭にだけ応じる—第1節の中心-周辺拮抗型の受容野が何をしているのか、これで一つの形として見えるはずだ。明るい側から暗い側へ変わる縁では符号が反転しており、フィルタの向きが刺激の向きを区別していることも分かる。
畳み込みの性質
三つ挙げておく。どれも定義から直接確かめられる。
- 交換律 k * s = s * k
- 結合律 (k_1 * k_2) * s = k_1 * (k_2 * s)
- 線形性 k * (as_1 + bs_2) = a(k*s_1) + b(k*s_2)
結合律が実務的に効く。二つのフィルタを続けて掛けることは、あらかじめ合成した一つのフィルタを掛けることと同じである。だから多段のフィルタリングは、原理的には一段にまとめられる。そしてもう一つ、決定的な性質がある。
- 平行移動と可換 — 入力を \mathbf{a} だけずらすと、出力も \mathbf{a} だけずれる(画像なら \mathbf{a} = (a_x, a_y)^\top \in \mathbb{R}^2 で、a_x、a_y が横方向と縦方向の移動量である)
この4番目が、第13章で主役になる。そこでは逆が示される—「線形かつ平行移動と可換」ならば畳み込みしかありえない、と。いまは性質の一つとして受け取っておいてほしい。
複素指数関数とオイラーの公式
フーリエ変換に入る前に、道具を一つ確認する。周期的な波を扱いやすくするために、余弦と正弦を一つの複素数の実部と虚部にまとめて表しておきたい。
e^{i\theta} = \cos\theta + i\sin\theta
オイラーの公式である。複素平面上で、単位円周上の角度 \theta の点を表す。
なぜこれを使うのか。微分と掛け算が対応するからである。
\frac{d}{d\theta} e^{i\theta} = i\, e^{i\theta}
三角関数だと \sin と \cos が入れ替わって煩わしいが、複素指数なら定数倍で済む。線形システムの解析が劇的に簡単になる。
フーリエ変換
フーリエ変換は、関数を複素指数関数の重ね合わせとして書き直す操作である。画像なら、さまざまな向きと細かさの縞に分けると考えればよい。各成分を指定するのが周波数ベクトル \boldsymbol{\omega} \in \mathbb{R}^n、位置が \mathbf{x} \in \mathbb{R}^n で、n は空間の次元(画像なら2)である。変換前の s: \mathbb{R}^n \to \mathbb{R} が位置ごとの刺激強度、変換後の \hat{s}: \mathbb{R}^n \to \mathbb{C} が各周波数成分の強さと位相をまとめた複素数を返す(\mathbb{C} は複素数の集合、式中の i は i^2 = -1 を満たす虚数単位である)。
\hat{s}(\boldsymbol{\omega}) = \int s(\mathbf{x})\, e^{-i\boldsymbol{\omega}\cdot\mathbf{x}}\, d\mathbf{x}
\hat{s}(\boldsymbol{\omega}) が「周波数 \boldsymbol{\omega} の成分がどれだけ含まれているか」を表す。逆変換で元に戻せる。
s(\mathbf{x}) = \frac{1}{(2\pi)^n}\int \hat{s}(\boldsymbol{\omega})\, e^{i\boldsymbol{\omega}\cdot\mathbf{x}}\, d\boldsymbol{\omega}
記号を二つ、読めるようにしておこう。\boldsymbol{\omega} は角周波数ベクトルである。その向きは明暗が変化していく方向を指す—縞模様で言えば、縞に垂直な向きである。大きさが縞の細かさを表す。内積 \boldsymbol{\omega}\cdot\mathbf{x} が出てくるのは、この向きに沿った位置だけが位相を決めるからだ(縞に平行に動いても明暗は変わらない)。なお n は空間の次元で、画像なら n=2 である。
もう一つ。\hat{s}(\boldsymbol{\omega}) は複素数である。その大きさ |\hat{s}(\boldsymbol{\omega})| がその成分の強さを、偏角がその成分の位相—縞がどこにあるか—を表す。二つの情報が一つの複素数に束ねられている。これが複素指数を使う実利である。
画像なら、低周波成分が大まかな明暗、高周波成分が細かい模様やエッジに対応する。
畳み込み定理
そして、フーリエ変換を使う最大の理由がこれである。画像とフィルタをそれぞれ周波数成分に分けてしまえば、畳み込みの出力は、同じ周波数どうしの成分を掛け合わせるだけで求まる。
\widehat{k * s}(\boldsymbol{\omega}) = \hat{k}(\boldsymbol{\omega})\, \hat{s}(\boldsymbol{\omega})
畳み込みが、掛け算になる。導出を追っておこう。
\begin{aligned} \widehat{k*s}(\boldsymbol{\omega}) &= \int\!\!\int k(\mathbf{y}-\mathbf{x})\, s(\mathbf{x})\, d\mathbf{x}\; e^{-i\boldsymbol{\omega}\cdot\mathbf{y}}\, d\mathbf{y} &&\textsf{(定義を代入)}\\ &= \int\!\!\int k(\mathbf{z})\, s(\mathbf{x})\, e^{-i\boldsymbol{\omega}\cdot(\mathbf{z}+\mathbf{x})}\, d\mathbf{z}\, d\mathbf{x} &&\textsf{(} \mathbf{z} = \mathbf{y}-\mathbf{x} \textsf{ と置換)}\\ &= \int k(\mathbf{z}) e^{-i\boldsymbol{\omega}\cdot\mathbf{z}} d\mathbf{z} \cdot \int s(\mathbf{x}) e^{-i\boldsymbol{\omega}\cdot\mathbf{x}} d\mathbf{x} &&\textsf{(指数が分離するので積分も分離)}\\ &= \hat{k}(\boldsymbol{\omega})\, \hat{s}(\boldsymbol{\omega}) \end{aligned}
第三行が要点である。e^{-i\boldsymbol{\omega}\cdot(\mathbf{z}+\mathbf{x})} = e^{-i\boldsymbol{\omega}\cdot\mathbf{z}}\, e^{-i\boldsymbol{\omega}\cdot\mathbf{x}} と分解できるから、二重積分が二つの積分の積になる。指数関数の性質がそのまま効いている。
この定理の意味を、読み替えておこう。複素指数関数 e^{i\boldsymbol{\omega}\cdot\mathbf{x}} は、畳み込み作用素の固有関数である。行列に固有ベクトルがあるように、関数を関数に写す作用素にも「掛けても向きが変わらないもの」がある。それが固有関数で、変わるのは大きさだけだ。実際に入れて確かめよう。入れる波を q(\mathbf{x}) = e^{i\boldsymbol{\omega}\cdot\mathbf{x}} と書く。
\begin{aligned} (k * q)(\mathbf{y}) &= \int k(\mathbf{y}-\mathbf{x})\, e^{i\boldsymbol{\omega}\cdot\mathbf{x}}\, d\mathbf{x} \\ &= \int k(\mathbf{z})\, e^{i\boldsymbol{\omega}\cdot(\mathbf{y}-\mathbf{z})}\, d\mathbf{z} &&\textsf{(} \mathbf{z} = \mathbf{y}-\mathbf{x} \textsf{ と置換)}\\ &= e^{i\boldsymbol{\omega}\cdot\mathbf{y}} \int k(\mathbf{z})\, e^{-i\boldsymbol{\omega}\cdot\mathbf{z}}\, d\mathbf{z} &&\textsf{(} \mathbf{y} \textsf{ の分を外に出した)}\\ &= \hat{k}(\boldsymbol{\omega})\; e^{i\boldsymbol{\omega}\cdot\mathbf{y}} \end{aligned}
入れた波と同じ波が出てきて、掛かっているのは \hat{k}(\boldsymbol{\omega}) という一つの数だけである。これが固有値にあたる。だからフーリエ基底で見ると、畳み込みが対角化される。
第13章第3節で、この事実を群論の言葉で読み直す。フーリエ変換とは平行移動群の表現論であり、複素指数関数は既約表現である—という見方である。いまは「便利な変換」として使ってよい。
ここがポイント
畳み込みは「同じフィルタを全位置に当てて回る」操作であり、平行移動と可換である。そしてフーリエ変換すると掛け算になる(畳み込み定理)。この二つの性質が、以降の章で繰り返し効いてくる。
3. ガボールフィルタ(Gabor filter)と単純細胞
単純細胞の受容野
Hubel と Wiesel が V1 で見つけた細胞のうち、単純細胞(simple cell)と呼ばれるものは、次の性質を持つ。
- 受容野が細長いサブ領域に分かれている
- 隣り合うサブ領域は ON と OFF が交替する
- したがって特定の方位の線分やエッジによく応答する
- しかも刺激の位置と位相に敏感である(少しずらすと応答が落ちる)
ガボール関数
この受容野をよく近似するのが、ガボール関数である。単純細胞の受容野をこの形で書けると提案したのは Marčelja (1980) で、Daugman (1985) がそれを2次元に拡張し、Jones と Palmer (1987) がネコの V1 で実測と突き合わせた。
k(x, y) = \underbrace{\exp\left(-\frac{x'^2 + \gamma^2 y'^2}{2\sigma^2}\right)}_{\textsf{ガウス窓}} \cdot \underbrace{\cos\left(\frac{2\pi}{\lambda} x' + \phi\right)}_{\textsf{正弦波}}
ここで x' = x\cos\theta + y\sin\theta、y' = -x\sin\theta + y\cos\theta は、\theta だけ回転した座標である。
構造は単純だ。正弦波にガウス窓を掛けただけである。
| パラメータ | 意味 |
|---|---|
| \theta | 明暗が変化する向き(x' 軸の向きを、元の x 軸から測った角度)。縞や線分の向きは、これに垂直である |
| \lambda | 波長。x' 方向に明暗が一周する距離で、空間周波数はその逆数 1/\lambda。大きいほど縞は粗い |
| \sigma | 受容野の大きさ(ガウス窓の x' 方向の幅を表す標準偏差) |
| \phi | 位相。窓の中心に対する ON/OFF の置き方。x' \mapsto -x' に対して \phi=0 なら対称、\phi=\pi/2 なら反対称 |
| \gamma | 縦横比。y' 方向の幅は \sigma/\gamma なので、大きくすると縦に細くなる |
\lambda, \sigma, \gamma は正の実数、\theta, \phi はラジアンで測る角度である。\lambda と \sigma は座標 x, y と同じ長さの単位を持ち、\gamma は単位を持たない。
正弦波の部分が「特定の方位・周波数に選択的」であることを与え、ガウス窓が「局在している」ことを与える。両方を兼ね備えているのがガボール関数の妙味である。
なぜ両方が必要か
ここで少し考えてほしい。なぜ純粋な正弦波ではいけないのか。
純粋な正弦波は、空間的に無限に広がっている。だから周波数は完全に特定できるが、位置がまったく特定できない。逆に、全体の積分を1に保ったまま幅をゼロへ縮めた理想的な点状の信号(デルタ関数)なら位置は完全に決まるが、あらゆる周波数を含む。
この両極端のあいだにも制約がある。空間の一方向に注目し、関数の広がりを \Delta x、フーリエ変換した成分の広がりを \Delta\omega と書こう(どちらも、絶対値の二乗を全体で1に正規化したうえで標準偏差として測った幅である)。位置と周波数を同時に精密には測れない—これは不確定性関係であり、フーリエ変換の一般的な性質である。\Delta x \cdot \Delta\omega \ge \text{const}。右辺は幅と周波数の定義で決まる正の定数で、一方の幅を狭くするほど、もう一方は広がらざるをえない。
そして、この不確定性の下限を達成するのは、ガウス窓に複素指数を掛けた形—複素ガボールである。この関数形と下限の議論は Gabor (1946) が通信の理論として与えたもので、名前もそこから来ている。上に書いた実数のコサイン型は、その実部にあたる。下限をそのまま達成するとは限らないが、位置と周波数を同時に絞り込むという性質は共有している。視覚系がこの形の受容野を持つことには、情報理論的な合理性があるわけである。
パラメータを変えたガボールフィルタを並べたのが 図 1 である。
応答の計算
ガボールフィルタを持つ細胞が、明暗がなめらかに繰り返す縞模様、正弦波格子(sinusoidal grating)に対してどう応答するかを見よう。刺激側の波長を \lambda_s > 0、明暗が変化する方向の角度を \theta_s、位相を \phi_s とする(添字の s は、受容野側の同名のパラメータと区別する印である)。刺激を
s(x,y) = \cos\left(\frac{2\pi}{\lambda_s}(x\cos\theta_s + y\sin\theta_s) + \phi_s\right)
とする。\langle k, s\rangle を計算すると(積分は省略する)、ガウス窓の内側に縞が十分多く入る場合、応答は近似的に方位差 \theta - \theta_s、周波数差、そして位相差 \phi - \phi_s の関数になる。方位と周波数が合い、さらに位相も合っているときにほぼ最大になる。位相差が \pi ずれれば符号が反転する—単純細胞が位相に敏感だというのは、このことである。
応答を方位差の関数として見たものが「チューニング曲線」である。横軸に刺激の方位、縦軸に応答を取れば、細胞の好み方位で山になる曲線が描ける。第6章と第11章で、この曲線が主役になる。
4. 時空間フィルタと運動視
視覚は静止画だけを扱うのではない。動きをどう検出するか。
時空間受容野
受容野を時間方向にも拡張する。同じ場所に与えた刺激でも、何ミリ秒前だったかによって現在の応答への効き方が変わる、と考えるのである。その重みを k(x, y, \tau) とし、\tau \ge 0 は「何ミリ秒前の刺激か」を表す。現在時刻を t とすれば、s(x, y, t - \tau) が \tau だけ前の位置 (x,y) での刺激強度で、これを全位置と全遅れについて重み付きで足したものが、現在の線形出力 u(t) になる。
u(t) = \int_{0}^{\infty}\!\!\iint k(x,y,\tau)\, s(x, y, t-\tau)\, dx\, dy\, d\tau
これも畳み込みである(時間方向にも畳み込んでいる)。
分離可能と分離不可能
時空間受容野が k(x,y,\tau) = k_s(x,y)\, k_t(\tau) と分解できるとき、分離可能(separable)という。この場合、空間パターンは時間とともに強さが変わるだけで、形自体は動かない。
運動を検出するには、分離不可能でなければならない。受容野の ON/OFF の縞が、時間とともに空間的にずれていく—そういう構造が要る。
直交位相対とエネルギーモデル
Adelson と Bergen (1985) の時空間エネルギーモデルは、運動検出を次のように構成する。第一段階では、分離可能なフィルタを組み合わせて、時空間的に傾いたフィルタを作る。空間のガボールには位相が0のもの(偶関数)と \pi/2 のもの(奇関数)があり、時間フィルタにも二種類ある。それらを足し引きすることで、「右へ動くものに応答する」フィルタが作れる。
第二段階では、位相が90度違う二つのフィルタ(直交位相対, quadrature pair)の出力を、それぞれ二乗して足す。偶フィルタの線形出力を u_{\text{even}}、奇フィルタの線形出力を u_{\text{odd}} と書き、二乗和を E \ge 0 とする。ここでの「エネルギー」は、物理量ではなくフィルタ出力の二乗和の呼び名である。
E = u_{\text{even}}^2 + u_{\text{odd}}^2
なぜ二乗和なのか。これが要点である。正弦波刺激に対して、偶フィルタの出力は A\cos\phi、奇フィルタの出力は A\sin\phi の形になる(\phi は刺激の位相)。二乗して足すと、
E = A^2\cos^2\phi + A^2\sin^2\phi = A^2
位相 \phi が消えた。振幅 A だけが残っている。その方位・周波数・速度の成分がどれだけ含まれるかだけを返し、刺激の位相には答えない。
これが位相不変性である。いま示したことの範囲を確かめておこう。消えたのは、理想的な直交位相対(偶と奇がちょうど 90 度ずれている)に単一の正弦波を入れたときの位相である。任意の刺激について「受容野内のどこに置いても同じ応答」を示したわけではない。短い線分のような局在した刺激では、ガウス窓の内側での小さな位置ずれに頑健になる、という近似的な性質になる。この違いは、第8章でプーリングを扱うときにもう一度効いてくる。
5. 複雑細胞と不変性
複雑細胞
Hubel と Wiesel は、単純細胞とは別の型の細胞も見つけた。複雑細胞(complex cell)である。
- 方位選択性はある(単純細胞と同じ)
- だが位置と位相に鈍感である。受容野の内側なら、線分の位置が少しずれても応答が保たれる
- 明線でも暗線でも応答する
エネルギーモデル
複雑細胞は、位相の違う単純細胞の出力を二乗和したものとしてモデル化される。前節と同じ形である(Adelson と Bergen 1985)。
r_{\text{complex}} = \big(\langle k_{\text{even}}, s\rangle\big)^2 + \big(\langle k_{\text{odd}}, s\rangle\big)^2
前節の計算がそのまま使える。位相が消え、方位と周波数の選択性だけが残る。この構成を図にすると 図 2 になる。
階層としての読み方
ここには、視覚系の設計原理の縮図がある。単純細胞は特徴を検出し、複雑細胞はその位置情報を—受容野の内側の範囲で—捨てる。そして情報が捨てられていることは、失敗ではない。目的である。「線分がある」ことだけを知りたくて「どこにあるか」は要らないなら、位置を捨てたほうが後段の処理が楽になる。
この「検出 → 捨てる」の繰り返しが階層を作る。V1 の複雑細胞は位相への感度を弱め、より高次の領野は位置・大きさ・向きへの感度を段階的に弱めていく。IT 野に至ると物体の同一性が主に残る—というのが古典的な描像である。ただし「捨てきる」わけではない。IT 野の応答からも位置や大きさはある程度読み出せることが知られており、程度の問題である。
保留
さて、いま「不変性」という言葉を使った。だが定義していない。
「位置に不変」「位相に不変」「大きさに不変」—これらは何が同じで何が違うのか。そして「捨てる」と言ったが、本当に捨てているのか、それとも別の形で保持しているのか。
この問いは保留する。第13章第4節で、群の作用という枠組みのもとで、不変・同変・共変として正確に整理する。そして第13章第8節では、この二乗和プーリングが「群の軌道上で足し合わせる操作」の一例だったと分かる。
いまは「情報を捨てることで頑健さを得る」という直感だけ持っておいてほしい。
ここがポイント
単純細胞(位相に敏感)から複雑細胞(位相に鈍感)への流れは、特徴を検出することと、いまは要らない情報への感度を落とすことの二段構えである。第8章の CNN の「畳み込み → プーリング」は、この二段構えの役割を受け継いでいる(演算そのものは違う。図 2 の説明で見たとおりである)。
6. 効率的符号化仮説 ── 自然画像の統計から受容野へ
ここまでは記述モデルだった。なぜその受容野なのかを問おう。解釈モデルの出番である(第1章第2節)。この問いの立て方を作ったのは Barlow (1961) で、感覚系は入力の冗長性を減らすように符号化しているのではないか、という提案だった。
発想
問いを立て直す。視覚系が自然画像を効率よく表現しようとすると、どんな受容野になるべきか。
「効率よく」を定義しなければならない。二つの方向がある。
方向1:冗長性を減らす。自然画像の隣接ピクセルは強く相関している。同じ情報を何度も送るのは無駄だ。だから相関を除去する(白色化する)ように符号化すべきである。
方向2:スパースにする。どんな画像に対しても、ごく少数の細胞だけが強く発火するようにする。エネルギー効率がよく、後段での読み出しも容易になる。
白色化と網膜
方向1を追うと、網膜神経節細胞の受容野が出てくる。周波数ごとの成分の強さを二乗して表すパワースペクトルは、自然画像では経験的に |\hat{s}(\boldsymbol{\omega})|^2 \propto 1/|\boldsymbol{\omega}|^2 に従うことが知られている。低周波が強く、高周波が弱い。
出力の各成分を等しいパワーにしたい(白色化)なら、フィルタは |\hat{k}(\boldsymbol{\omega})| \propto |\boldsymbol{\omega}| とすべきである。これは高周波を強調するフィルタ—空間的には中心-周辺拮抗型になる。
網膜神経節細胞の受容野そのものである。ただしノイズがある場合は、非常に高い周波数まで増幅すると雑音まで増幅してしまうので、どこかで頭打ちにする必要がある。実際の受容野は、この修正を加えた予測とよく合う(Atick と Redlich 1992。修正の中身は第5章第5節で補う)。
スパースコーディングと V1
方向2を追うと、V1 の受容野が出てくる。Olshausen と Field (1996) の仕事である。画像を、小さな模様をいくつも重ね合わせて表すと考えよう。この重ね合わせの部品が基底 \{\phi_j\} で、j が部品の番号、a_j がその部品に掛ける係数である。画素数を M、基底の本数を K とすれば、画素を一列に並べた画像と各基底は s, \phi_j \in \mathbb{R}^M、係数をまとめたベクトルは \mathbf{a} \in \mathbb{R}^K となる。画像 s を、基底 \{\phi_j\} の線形結合で表す。
s(\mathbf{x}) \approx \sum_j a_j\, \phi_j(\mathbf{x})
元の画像によく似せたいが、使う部品は少なくしたい。この二つの要求を一つの目的関数 \mathcal{C}(コスト)にまとめて、これを最小化する。第一項の \|\cdot\|^2 は各画素での再構成のずれを二乗して足したもの、\lambda \ge 0 は第二項の罰則をどれだけ重く見るかを決める実数である(第3節でガボール関数の波長に使った \lambda とは別物である)。まず基底を固定して画像ごとに係数 a_j を求め、さらに多数の画像にわたる平均が小さくなるように、共通の基底 \phi_j も学習する(この \phi_j は基底の関数で、第3節でガボールフィルタの位相に使った \phi とは別物である)。ただし各基底は \|\phi_j\|=1 に正規化しておく—そうしないと、基底を大きくして係数を小さくするだけで、再構成を変えずに罰則を減らせてしまう。
\mathcal{C} = \underbrace{\Big\| s - \sum_j a_j\phi_j \Big\|^2}_{\textsf{再構成誤差}} \;+\; \lambda \underbrace{\sum_j S(a_j)}_{\textsf{スパース性のペナルティ}}
S は |a| や \log(1+a^2) のような関数で、係数が非ゼロになることを罰する。第一項だけでは基底が一意に定まらない(回転させても誤差は変わらない)。次元を絞れば、ばらつきの大きい方向を残す主成分分析(第6章第7節)になり、出てくるのは画像の広い範囲にわたる(大域的な)、滑らかな基底である。第二項を入れると結果が一変する。自然画像から切り出した小領域(パッチ)で学習させると、得られる基底は—
局在し、方位選択的で、限られた周波数範囲に強く応じる(帯域制限された)、ガボール様の関数になる。V1 の単純細胞の受容野が、自然画像の統計とスパース性の要求だけから導かれた。生理学的な知識を一切使わずに。
何が説明されたのか
この結果の位置づけを、正確にしておきたい。
説明されたこと
「なぜガボール様なのか」に対する規範的な答えが得られた。それは自然画像という入力の統計と、スパースという目的関数の帰結である。
説明されていないこと
脳が実際にこの最適化を解いているという証拠にはならない。同じ結果を出す別の説明がありうる。実際、成分どうしが統計的に独立になるように分ける独立成分分析(ICA)でも似た基底が出るし、単に「自然画像で予測誤差を最小化する」だけでも出る。この留保は重要である。「モデルが実験結果を再現した」ことが「機構を明らかにした」ことにならない—第1章第2節で述べた問題が、ここでも現れている。
もう一つ、第1章の警鐘を具体化しよう。再構成の正確さとスパース性の重み \lambda を選んだのは研究者である。この選び方が、脳の発達や配線の制約から独立に裏づけられているかは、別の問いだ。また、成績が最適に近いことから、最適解を導く計算そのものが脳内にあるとは限らない。Gardner (2019) が論じるように、簡便な経験則でも最適な成績に近づける場合がある。受容野や行動の一致は出発点であり、候補となる仕組みの違いが表れる条件へ実験を進める必要がある。
罰則を強めると、使う部品はどれだけ減るだろうか。配布コード コード/04_sparse.py で、64本の基底による再構成を試すと、一つの画像パッチで使う係数は平均64本から3.6本へ減る。少数の部品で書く、という意味が数値になる。
ただし、この合成画像による短い計算はガボール様の受容野を再現したものではない。実装と条件、結果の表は、第4章第6節「手を動かす」(Web版の追加実験)を見てほしい。問い—使う係数をすべてゼロにしたら、画像はどうなるだろうか。使う方向を減らすという見方は、第11章の表現の次元につながる。
罰則の効果と計算の打ち切りを分ける
コード/04_sparse.pyでは、合成した 1/f 画像から 12\times12 画素のパッチ4000枚を取り、64本の基底で再構成する。1/f は振幅スペクトルが空間周波数の大きさの逆数に従う設定である。
画像は X\in\mathbb R^{N\times M}(行がパッチ)、基底は D\in\mathbb R^{K\times M}(行が基底)、係数は A\in\mathbb R^{N\times K} に並べ、AD で再構成する。N=4000,M=144,K=64 である。コードの目的は
\frac12\|X-AD\|_F^2+\lambda\sum_{n,k}|A_{nk}|
を小さくすること。\|\cdot\|_F^2 は全成分の二乗和で、再構成誤差に 1/2 を付けない本文の約束と比べれば、コードの \lambda は本文の値の半分に当たる。
各パッチは平均0・標準偏差1にそろえ、基底の各行も更新のたびに長さ1へ戻す。この条件を保ったまま、基底を固定して係数を求め、係数を固定して基底を更新する。係数の計算は、誤差が減る方向へ動かす操作と小さい値をゼロにする操作を反復する ISTA、基底の更新は勾配法である(第8章)。
| コードの \lambda | 活性な係数/パッチ | 相対再構成誤差 |
|---|---|---|
| 0 | 64.0 | 0.593 |
| 0.1 | 56.0 | 0.546 |
| 0.3 | 42.8 | 0.520 |
| 1.0 | 15.8 | 0.630 |
| 3.0 | 3.6 | 0.827 |
活性な係数は絶対値が 10^{-3} を超えるもの、誤差は \|AD-X\|_F/\|X\|_F である。\lambda=0.3 の誤差が罰則なしより小さいのは、真の最小値を比べていないからだ。ここでは更新を60回で打ち切り、各条件を異なる乱数の初期基底から始めている。
初期基底をそろえ、複数の乱数系列で、訓練データと未見データの誤差を分けて記録してみよう。罰則が与える解の選び方と、計算がどこまで進んだかを分けて見るためである。この例はOlshausen と Field (1996) の自然画像による受容野形状の再現ではない。
7. 畳み込みニューラルネットとの合流
本章の道具が、そのまま深層学習に流れ込む道筋を確認しておく。
ネオコグニトロン
福島邦彦が1980年に発表したネオコグニトロン(neocognitron)は、Hubel と Wiesel の知見を直接に模したモデルである(Fukushima 1980)。その前身として、多層のネットワークを自己組織化で学習させるコグニトロン(cognitron)が1975年に出ている(Fukushima 1975)。
- S 細胞(simple)— 特徴を検出する。単純細胞に対応
- C 細胞(complex)— S 細胞の出力を空間的にまとめ、位置ずれに頑健にする。複雑細胞に対応
この S-C の対を積み重ねる。現代の CNN の「畳み込み層 → プーリング層」の繰り返しと、構造が一致している。
現代の CNN が持つ要素の多くが、すでにここにある。局所的な受容野、同じ特徴検出器を全位置に置く重み共有、段階的に受容野を広げる階層、そしてプーリングによる位置ずれの吸収—第2節と第5節で本章が組み立ててきたものが、そのまま設計として実装されている。S 細胞の出力関数は \varphi[x] = x\,(x \ge 0),\ 0\,(x < 0) と定義されていて、これはいまの ReLU そのものである(第8章第6節)。
足りなかったのは、学習の方法である。ネオコグニトロンは誤差逆伝播を使わず、自己組織化で特徴検出器を作った(1980年であり、誤差逆伝播が広く知られる六年前である)。第8章第3節で見るように、多層を勾配で学習させるという発想そのものは、1967年に甘利俊一が確率的勾配降下法として提案していた(Amari 1967)。アーキテクチャと学習則が別々に日本で出そろっていて、両者が結び付くのは後になってからだった、という言い方もできる。
LeNet から AlexNet へ
LeCun らは1989年、この構造に誤差逆伝播を組み合わせた。手書き数字認識の LeNet である。畳み込み層が特徴を検出し、プーリング層が位置ずれを吸収し、最後に前の層の全ユニットから入力を受ける全結合層で分類する。
2012年、Krizhevsky らの AlexNet が、多数の物体カテゴリを含む画像集 ImageNet で圧倒的な成績を出し、深層学習の時代が始まった。構造は LeNet の拡大版である。変わったのは規模と、多数の計算を並行して行う装置(GPU)と、いくつかの工夫(ReLU、訓練中に一部のユニットをランダムに休ませるドロップアウト)だった。
対応表
本章と深層学習の対応を整理しておく。
| 本章 | CNN |
|---|---|
| 受容野 k | 畳み込みカーネル |
| 「同じ受容野を全位置に」(第2節) | 重み共有 |
| LN モデルの非線形性 F | 活性化関数 |
| 複雑細胞の二乗和(第5節) | プーリング層(役割は同じだが演算は別。第5節) |
| 単純細胞 → 複雑細胞の階層 | 畳み込み層 → プーリング層の繰り返し |
| ガボール様の受容野(第6節) | 学習された第1層のフィルタ |
最後の行が面白い。ImageNet で訓練した CNN の第1層フィルタを可視化すると、ガボール様のパターンが現れる。自然画像で学習すると、目的関数が違っても似たものが現れることが多い—第6節の結果と符合する。ただし、だから脳もそうしているとは言えないことは、第6節で述べたとおりである。
そして伏線
だが、まだ答えていない問いがある。なぜ「重み共有」なのか。
CNN の教科書では「パラメータが減って効率がよいから」と説明されることが多い。実際そうなのだが、それは本当の理由ではない。
第13章第7節で、次の定理を証明する。
線形かつ平行移動同変な作用素は、畳み込みに限る。
つまり—「位置によらず同じ処理をする」ことを要求した時点で、畳み込み以外の選択肢はない。重み共有は効率のための工夫ではなく、対称性の帰結である。そして本章第2節で挙げた畳み込みの性質4(平行移動と可換)が、その要求そのものだった。V1 の受容野が位置によらずほぼ同じ形をしているという—第2節で近似だと断ったうえでの—経験的な描像も、同じ要求の現れである。同じ一つの原理が、視覚生理学と深層学習の両方を貫いている—それを示すのが、第13章の仕事になる。
次章へ
本章では、刺激から応答への写像を決定的な関数として書いた。だが第2章第6節で見たように、実際の応答は毎回ばらつく。
次章では確率の道具を整える。分布、変数変換、エントロピー—そして第2節の変数変換とヤコビアンは、第11章の表現幾何と第15章の拡散モデルの両方で主役になる。本書でもっとも使い回される道具の一つである。
確認問題
[確認]線形受容野モデル u = \langle k, s\rangle が内積であることから、「最適刺激」がどんな刺激かを述べよ。(第1節)
[確認]畳み込みの四つの性質(交換律・結合律・線形性・平行移動と可換)のうち、第13章で主役になるのはどれか。またそこで何が示されるか。(第2節・第13章第7節)
[導出]畳み込み定理 \widehat{k*s} = \hat{k}\hat{s} を導出せよ。導出のどの段階で指数関数の性質が効いているか。(第2節)
[考える]純粋な正弦波でもデルタ関数でもなく、ガボール関数が使われる理由を、位置と周波数の不確定性から説明せよ。(第3節)
[導出]時空間受容野が「分離可能」であるとはどういうことか。運動検出には分離不可能でなければならない理由を述べよ。(第4節)
[考える]複雑細胞のモデルにおいて、「情報を捨てている」ことが失敗ではなく目的である理由を述べよ。(第5節・第13章第4節)
[導出]自然画像のパワースペクトルが 1/|\boldsymbol{\omega}|^2 に従うとき、白色化するフィルタの振幅特性を求めよ。それは空間的にどんな受容野になるか。(第6節)
[考える]「スパースコーディングでガボール様の基底が得られた」ことは、脳がスパースコーディングを実行している証拠になるか。ならないとすれば何が足りないか。(第6節・第1章第2節)
参考文献
Gardner, J. L. (2019). Optimality and heuristics in perceptual neuroscience. Nature Neuroscience, 22, 514–523. https://doi.org/10.1038/s41593-019-0340-4 — 最適な成績と、それを実現する経験則の区別[6節]
Hubel, D. H., & Wiesel, T. N. (1962). Receptive fields, binocular interaction and functional architecture in the cat’s visual cortex. The Journal of Physiology, 160(1), 106–154. https://doi.org/10.1113/jphysiol.1962.sp006837 / Hubel, D. H., & Wiesel, T. N. (1968). Receptive fields and functional architecture of monkey striate cortex. The Journal of Physiology, 195(1), 215–243. https://doi.org/10.1113/jphysiol.1968.sp008455 — 単純細胞・複雑細胞の原典[3節・5節]
Fukushima, K. (1980). Neocognitron: a self-organizing neural network model for a mechanism of pattern recognition unaffected by shift in position. Biological Cybernetics, 36(4), 193–202. https://doi.org/10.1007/bf00344251 — CNN の直接の祖先[7節]。S 細胞・C 細胞の階層と、ReLU 型の出力関数がここにある
Fukushima, K. (1975). Cognitron: a self-organizing multilayered neural network. Biological Cybernetics, 20(3), 121–136. https://doi.org/10.1007/bf00342633 — その前身[7節]
神谷之康(2026)「脳とAI は似ているか — NeuroAI の挑戦」『人工知能』41(2), 93–100. — 説明可能な分散の現状[1節]
Olshausen, B. A., & Field, D. J. (1996). Emergence of simple-cell receptive field properties by learning a sparse code for natural images. Nature, 381(6583), 607–609. https://doi.org/10.1038/381607a0 — スパースコーディング[6節]
Olshausen, B. A., & Field, D. J. (2005). How close are we to understanding V1? Neural Computation, 17(8), 1665–1699. https://doi.org/10.1162/0899766054026639 — 本章の留保の出典。線形フィルタモデルで説明できる範囲を冷静に見積もっている
Simoncelli, E. P., & Olshausen, B. A. (2001). Natural image statistics and neural representation. Annual Review of Neuroscience, 24(1), 1193–1216. https://doi.org/10.1146/annurev.neuro.24.1.1193 — 効率的符号化の総説[6節]
Adelson, E. H., & Bergen, J. R. (1985). Spatiotemporal energy models for the perception of motion. Journal of the Optical Society of America A, 2(2), 284. https://doi.org/10.1364/josaa.2.000284 — 運動視のエネルギーモデル[4節]
Barlow, H. B. (1961). Possible principles underlying the transformations of sensory messages. In W. A. Rosenblith (Ed.), Sensory Communication (pp. 216–234). MIT Press. https://doi.org/10.7551/mitpress/9780262518420.003.0013 / Atick, J. J., & Redlich, A. N. (1992). What does the retina know about natural scenes? Neural Computation, 4(2), 196–210. https://doi.org/10.1162/neco.1992.4.2.196 — 雑音を入れた版が網膜の受容野と合う
Kuffler, S. W. (1953). Discharge patterns and functional organization of mammalian retina. Journal of Neurophysiology, 16(1), 37–68. https://doi.org/10.1152/jn.1953.16.1.37 — 中心-周辺拮抗型の発見[1節]
Marčelja, S. (1980). Mathematical description of the responses of simple cortical cells. Journal of the Optical Society of America, 70, 1297. https://doi.org/10.1364/josa.70.001297 / Daugman, J. G. (1985). Uncertainty relation for resolution in space, spatial frequency, and orientation optimized by two-dimensional visual cortical filters. Journal of the Optical Society of America A, 2(7), 1160. https://doi.org/10.1364/josaa.2.001160 / Jones, J. P., & Palmer, L. A. (1987). An evaluation of the two-dimensional Gabor filter model of simple receptive fields in cat striate cortex. Journal of Neurophysiology, 58(6), 1233–1258. https://doi.org/10.1152/jn.1987.58.6.1233 — ガボール受容野モデルの提案・2次元化・実測での検証[3節]