4  エンコーディング ── 刺激から応答への写像

1958年、Hubel と Wiesel は麻酔したネコの第一次視覚野に電極を刺し、スクリーンに図形を映していた。細胞はほとんど反応しない。何時間も続いた。

そして偶然が起きる。スライドを差し替えるとき、ガラス板の縁の影がスクリーンを横切った。細胞が激しく発火した。

彼らが見つけたのは、V1 の細胞が特定の方位の線分に選択的に応答するということだった。この発見は1981年のノーベル賞につながり、そして—半世紀後、畳み込みニューラルネットワークの設計思想の源流になった。

本章は、この「刺激と応答の対応」を数学的に書く。中心となる道具が畳み込みである。

そして本書でもっとも息の長い伏線が、ここから始まる。第8章で畳み込みは CNN の畳み込み層として再登場し、第13章で「線形かつ平行移動同変な作用素は畳み込みしかない」という定理として正体を明かされる。いま我々が便利な記述として導入するものが、実は必然だった—という回収が、10章あとに待っている。

ヒント本章のガイド

第2節(畳み込みとフーリエ変換)が道具、第3〜5節が視覚系への適用、第6〜7節が「なぜそうなっているか」への展開である。

第2節は丁寧に読んでほしい。畳み込みは本書で三度、フーリエ変換は二度使う。複素指数関数から積み上げるので、フーリエ変換に不慣れでも追える。

第5節で「不変性」という言葉が出る。そこでは定義せずに使う。これは意図的な保留である—第13章第4節で、不変・同変・共変として整理される。

第7節は深層学習への橋である。急ぐならここだけでもよい。


1. 受容野という概念

定義

ある細胞の受容野(receptive field)とは、その細胞の応答に影響を与える感覚空間の領域のことである。視覚なら網膜上の(あるいは視野上の)ある範囲を指す。

だが「領域」だけでは足りない。同じ場所でも、明るくするか暗くするかで応答が違う。だから受容野は空間の各点に符号と強さを割り当てたものとして記述される。

網膜神経節細胞の典型的な受容野は、中心-周辺拮抗型である。中心を明るくすると応答が増え、周辺を明るくすると減る(ON中心型)。あるいはその逆(OFF中心型)。

線形フィルタとしての記述

もっとも単純なモデルは、応答が刺激の重み付き和であるというものだ。

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 に近い形の刺激がもっとも強い応答を引き出す—これが最適刺激という概念の数学的な中身である。

LN モデル

だが発火率は負にならないし、いくらでも大きくなるわけでもない。そこで非線形関数を通す。

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)である。発想はこうだ—同じ刺激に対する複数回の測定を用意し、測定どうしがお互いをどれだけ予測できるかを計算する。データがデータ自身を説明できる程度が、どんなモデルにも越えられない天井になる。モデルの成績は、この天井に対する割合で報告する。

この一手間には二つの意味がある。

一つは公平さである。天井が低い脳領域と高い脳領域を、生の相関係数で比べても意味がない。

もう一つのほうが本書にとって重要だ。天井そのものが、しばしば低い。 神経エンコードモデルの説明可能な分散は 20% 以下にとどまることが多い(神谷 2026)。「脳活動が予測できるようになった」という言い方から一般に想像されるほど、我々は脳活動を当てられていない。

しかも、残りが雑音なのか、行動や内部状態に由来する信号なのかは、簡単には切り分けられない。実験で制御していない要因が応答を動かしていれば、それは「説明できない分散」に混ざって見える。

ではデコーディングはなぜ数字が出るのか。 第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}

「同じフィルタを、全位置に当てて回る」—これが畳み込みの意味である。

ノート畳み込みと相関の違い

上の二式で k の引数の符号が違うことに気づいたかもしれない。厳密には、k(\mathbf{x}-\mathbf{y}) を使うのは相互相関k(\mathbf{y}-\mathbf{x}) を使うのが畳み込みである。

両者はフィルタを反転させれば移り合うので、本質的な違いはない。深層学習の「畳み込み層」は、実際には相互相関を計算しているが、慣例として畳み込みと呼ばれる。本書でもこの慣例に従い、必要なとき以外は区別しない。

畳み込みの性質

三つ挙げておく。どれも定義から直接確かめられる。

  1. 交換律 k * s = s * k
  2. 結合律 (k_1 * k_2) * s = k_1 * (k_2 * s)
  3. 線形性 k * (as_1 + bs_2) = a(k*s_1) + b(k*s_2)

結合律が実務的に効く。二つのフィルタを続けて掛けることは、あらかじめ合成した一つのフィルタを掛けることと同じである。だから多段のフィルタリングは、原理的には一段にまとめられる。

そしてもう一つ、決定的な性質がある。

  1. 平行移動と可換 — 入力を \mathbf{a} だけずらすと、出力も \mathbf{a} だけずれる

この4番目が、第13章で主役になる。そこでは逆が示される—「線形かつ平行移動と可換」ならば畳み込みしかありえない、と。いまは性質の一つとして受け取っておいてほしい。

複素指数関数とオイラーの公式

フーリエ変換に入る前に、道具を一つ確認する。

e^{i\theta} = \cos\theta + i\sin\theta

オイラーの公式である。複素平面上で、単位円周上の角度 \theta の点を表す。

なぜこれを使うのか。微分と掛け算が対応するからである。

\frac{d}{d\theta} e^{i\theta} = i\, e^{i\theta}

三角関数だと \sin\cos が入れ替わって煩わしいが、複素指数なら定数倍で済む。線形システムの解析が劇的に簡単になる。

フーリエ変換

フーリエ変換は、関数を複素指数関数の重ね合わせとして書き直す操作である。

\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}

画像なら、低周波成分が大まかな明暗、高周波成分が細かい模様やエッジに対応する。

畳み込み定理

そして、フーリエ変換を使う最大の理由がこれである。

\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}} は、畳み込み作用素の固有関数である。畳み込みを掛けても形が変わらず、定数倍(\hat{k}(\boldsymbol{\omega}) 倍)されるだけだ。だからフーリエ基底で見ると、畳み込みが対角化される。

第13章第3節で、この事実を群論の言葉で読み直す。フーリエ変換とは平行移動群の表現論であり、複素指数関数は既約表現である—という見方である。いまは「便利な変換」として使ってよい。

ここがポイント

畳み込みは「同じフィルタを全位置に当てて回る」操作であり、平行移動と可換である。そしてフーリエ変換すると掛け算になる(畳み込み定理)。この二つの性質が、以降の章で繰り返し効いてくる。


3. ガボールフィルタ(Gabor filter)と単純細胞

単純細胞の受容野

Hubel と Wiesel が V1 で見つけた細胞のうち、単純細胞(simple cell)と呼ばれるものは、次の性質を持つ。

  • 受容野が細長いサブ領域に分かれている
  • 隣り合うサブ領域は ON と OFF が交替する
  • したがって特定の方位の線分やエッジによく応答する
  • しかも刺激の位置と位相に敏感である(少しずらすと応答が落ちる)

ガボール関数

この受容野をよく近似するのが、ガボール関数である。

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\thetay' = -x\sin\theta + y\cos\theta は、\theta だけ回転した座標である。

構造は単純だ。正弦波にガウス窓を掛けただけである。

パラメータ 意味
\theta 方位。どの向きの線分に応答するか
\lambda 空間周波数の逆数。縞の細かさ
\sigma 受容野の大きさ
\phi 位相。ON/OFF の配置。\phi=0 なら対称、\phi=\pi/2 なら反対称
\gamma 縦横比

正弦波の部分が「特定の方位・周波数に選択的」であることを与え、ガウス窓が「局在している」ことを与える。両方を兼ね備えているのがガボール関数の妙味である。

なぜ両方が必要か

ここで少し考えてほしい。なぜ純粋な正弦波ではいけないのか。

純粋な正弦波は、空間的に無限に広がっている。だから周波数は完全に特定できるが、位置がまったく特定できない。逆にデルタ関数なら位置は完全に決まるが、あらゆる周波数を含む。

位置と周波数を同時に精密には測れない—これは不確定性関係であり、フーリエ変換の一般的な性質である。\Delta x \cdot \Delta\omega \ge \text{const}

そしてガボール関数は、この不確定性の下限を達成する関数として知られている。位置と周波数の両方を、可能な限り同時に絞り込んでいる。視覚系がこの形の受容野を持つことには、情報理論的な合理性があるわけである。

パラメータを変えたガボールフィルタを並べたのが 図 1 である。

図 1: 方位 \theta と位相 \phi を変えた四枚のガボールフィルタ。正弦波にガウス窓を掛けた形をしている。白が正の重み(そこを明るくすると応答が増える)、黒が負の重みを表す。左の三枚は方位だけが違い、いちばん右は位相だけが90度ずれている。

応答の計算

ガボールフィルタを持つ細胞が、正弦波格子(sinusoidal grating)に対してどう応答するかを見よう。刺激を

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 と周波数差の関数になり、両者が一致するとき最大になる。

これが「チューニング曲線」である。横軸に刺激の方位、縦軸に応答を取れば、細胞の好み方位で山になる曲線が描ける。第6章と第11章で、この曲線が主役になる。


4. 時空間フィルタと運動視

視覚は静止画だけを扱うのではない。動きをどう検出するか。

時空間受容野

受容野を時間方向にも拡張する。k(x, y, \tau) とし、\tau は「何ミリ秒前の刺激か」を表す。

u(t) = \int\!\!\int 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)の出力を、それぞれ二乗して足す。

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 が消えた。つまり「刺激がどの位置にあるか」に依存せず、「その方位・周波数・速度の成分がどれだけ含まれるか」だけを返す。

これが位相不変性である。そして次節の複雑細胞につながる。


5. 複雑細胞と不変性

複雑細胞

Hubel と Wiesel は、単純細胞とは別の型の細胞も見つけた。複雑細胞(complex cell)である。

  • 方位選択性はある(単純細胞と同じ)
  • だが位置と位相に鈍感である。受容野内のどこに線分があっても応答する
  • 明線でも暗線でも応答する

エネルギーモデル

複雑細胞は、位相の違う単純細胞の出力を二乗和したものとしてモデル化される。前節と同じ形である。

r_{\text{complex}} = \big(\langle k_{\text{even}}, s\rangle\big)^2 + \big(\langle k_{\text{odd}}, s\rangle\big)^2

前節の計算がそのまま使える。位相が消え、方位と周波数の選択性だけが残る。

この構成を図にすると 図 2 になる。

図 2: 単純細胞から複雑細胞への流れ(模式)。位相が90度違う二つの単純細胞の出力を二乗して足すと、位相の項が打ち消し合う。その結果、線分が受容野内のどこにあっても同じ大きさで応答するようになる。第8章の「畳み込み層 → プーリング層」が、この構造をそのまま模倣している。

階層としての読み方

ここには、視覚系の設計原理の縮図がある。

単純細胞は特徴を検出し、複雑細胞はその位置情報を捨てる。

そして情報が捨てられていることは、失敗ではない。目的である。「線分がある」ことだけを知りたくて「どこにあるか」は要らないなら、位置を捨てたほうが後段の処理が楽になる。

この「検出 → 捨てる」の繰り返しが階層を作る。V1 の複雑細胞は位相を捨て、より高次の領野は位置・大きさ・向きを段階的に捨てていく。IT 野に至ると、物体の同一性だけが残る—というのが古典的な描像である。

保留

さて、いま「不変性」という言葉を使った。だが定義していない。

「位置に不変」「位相に不変」「大きさに不変」—これらは何が同じで何が違うのか。そして「捨てる」と言ったが、本当に捨てているのか、それとも別の形で保持しているのか。

この問いは保留する。第13章第4節で、群の作用という枠組みのもとで、不変・同変・共変として正確に整理する。そして第13章第8節では、この二乗和プーリングが「群の軌道上で足し合わせる操作」の一例だったと分かる。

いまは「情報を捨てることで頑健さを得る」という直感だけ持っておいてほしい。

ここがポイント

単純細胞(位相に敏感)から複雑細胞(位相に不変)への流れは、特徴の検出と、不要な情報の破棄という二段構えである。第8章の CNN の「畳み込み → プーリング」が、まさにこの構造を模倣している。


6. 効率的符号化仮説 ── 自然画像の統計から受容野へ

ここまでは記述モデルだった。なぜその受容野なのかを問おう。規範モデルの出番である(第1章第2節)。

発想

問いを立て直す。視覚系が自然画像を効率よく表現しようとすると、どんな受容野になるべきか。

「効率よく」を定義しなければならない。二つの方向がある。

方向1:冗長性を減らす。自然画像の隣接ピクセルは強く相関している。同じ情報を何度も送るのは無駄だ。だから相関を除去する(白色化する)ように符号化すべきである。

方向2:スパースにする。どんな画像に対しても、ごく少数の細胞だけが強く発火するようにする。エネルギー効率がよく、後段での読み出しも容易になる。

白色化と網膜

方向1を追うと、網膜神経節細胞の受容野が出てくる。

自然画像のパワースペクトルは、経験的に |\hat{s}(\boldsymbol{\omega})|^2 \propto 1/|\boldsymbol{\omega}|^2 に従うことが知られている。低周波が強く、高周波が弱い。

出力の各成分を等しいパワーにしたい(白色化)なら、フィルタは |\hat{k}(\boldsymbol{\omega})| \propto |\boldsymbol{\omega}| とすべきである。これは高周波を強調するフィルタ—空間的には中心-周辺拮抗型になる。

網膜神経節細胞の受容野そのものである。ただしノイズがある場合は、非常に高い周波数まで増幅すると雑音まで増幅してしまうので、どこかで頭打ちにする必要がある。実際の受容野は、この修正を加えた予測とよく合う。

スパースコーディングと V1

方向2を追うと、V1 の受容野が出てくる。Olshausen と Field (1996) の仕事である。

画像 s を、基底 \{\phi_j\} の線形結合で表す。

s(\mathbf{x}) \approx \sum_j a_j\, \phi_j(\mathbf{x})

そして次を最小化する。

\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) のような関数で、係数が非ゼロになることを罰する。

第一項だけでは基底が一意に定まらない(回転させても誤差は変わらない)。次元を絞れば主成分分析になり、出てくるのは大域的で滑らかな基底である。第二項を入れると結果が一変する。自然画像のパッチで学習させると、得られる基底は—

局在し、方位選択的で、帯域制限された、ガボール様の関数になる。

V1 の単純細胞の受容野が、自然画像の統計とスパース性の要求だけから導かれた。生理学的な知識を一切使わずに。

何が説明されたのか

この結果の位置づけを、正確にしておきたい。

説明されたこと。「なぜガボール様なのか」に対する規範的な答えが得られた。それは自然画像という入力の統計と、スパースという目的関数の帰結である。

説明されていないこと。脳が実際にこの最適化を解いているという証拠にはならない。同じ結果を出す別の説明がありうる。実際、独立成分分析(ICA)でも似た基底が出るし、単に「自然画像で予測誤差を最小化する」だけでも出る。

この留保は重要である。「モデルが実験結果を再現した」ことが「機構を明らかにした」ことにならない—第1章第2節で述べた問題が、ここでも現れている。

ヒント手を動かす

スパースコーディングを実装しよう。コードは コード/04_sparse.py にある。基底 \phi を固定して係数 a を求め(ISTA によるスパース回帰)、a を固定して \phi を勾配法で更新する—この交互最適化でよい。

12\times12 のパッチ4000枚、基底64本で、\lambda を振ったときに何が変わるかを見る。

def ista(X, D, lam, n_iter=120):
    """スパース係数を ISTA(近接勾配法)で求める。"""
    L = np.linalg.norm(D, 2)**2
    A = np.zeros((X.shape[0], D.shape[0]))
    for _ in range(n_iter):
        A = A - (A @ D - X) @ D.T / L        # 勾配を下る
        A = np.sign(A)*np.maximum(np.abs(A) - lam/L, 0)
    return A                                 # ↑ 軟しきい値

def learn(X, lam, K=64, epochs=60, lr=2.0):
    D = rng.standard_normal((K, X.shape[1]))
    D /= np.linalg.norm(D, axis=1, keepdims=True)
    for _ in range(epochs):
        A = ista(X, D, lam)                  # 係数を求める
        D -= lr*(A.T @ (A @ D - X))/len(X)   # 基底を更新
        D /= np.linalg.norm(D, axis=1, keepdims=True) + 1e-9
    return D, ista(X, D, lam)

(軟しきい値の一行が、\lambda より小さい係数をゼロに潰している。ここがスパース性を作る要である。)

\lambda 0 0.1 0.3 1.0 3.0
1パッチあたりの活性な係数 64.0 56.0 42.8 15.8 3.6
相対再構成誤差 0.593 0.546 0.520 0.630 0.827

\lambda を上げると活性な係数が減る。64本すべてを使っていたのが、\lambda=3 では平均3.6本になる—これがスパース性である。

注目してほしいのは再構成誤差である。悪くなる一方かと思いきや、\lambda=0.3 でいちばん良い。\lambda=0 では基底が一意に定まらず(本文で述べたとおり回転させても誤差が変わらない)、かえって解が定まらないのだ。スパース性の罰則が正則化として働いている。

ただし正直に書いておく。この設定—合成した 1/f 画像と短い最適化—では、ガボール様の局在した基底までは出てこない。Olshausen と Field (1996) の結果を再現するには、本物の自然画像と桁違いに長い最適化が要る。ここで確かめられるのは「\lambda が表現の性質を決める」という一点である。

そして問い—\lambda をさらに上げて活性な係数がゼロになったら、再構成誤差はいくつになるだろうか。第11章の「表現の次元」の話が、ここにつながっている。


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節) プーリング層
単純細胞 → 複雑細胞の階層 畳み込み層 → プーリング層の繰り返し
ガボール様の受容野(第6節) 学習された第1層のフィルタ

最後の行が面白い。ImageNet で訓練した CNN の第1層フィルタを可視化すると、ガボール様のパターンが現れる。自然画像で学習すると、目的関数が違っても似たものが現れることが多い—第6節の結果と符合する。ただし、だから脳もそうしているとは言えないことは、第6節で述べたとおりである。

そして伏線

だが、まだ答えていない問いがある。なぜ「重み共有」なのか。

CNN の教科書では「パラメータが減って効率がよいから」と説明されることが多い。実際そうなのだが、それは本当の理由ではない。

第13章第7節で、次の定理を証明する。

線形かつ平行移動同変な作用素は、畳み込みに限る。

つまり—「位置によらず同じ処理をする」ことを要求した時点で、畳み込み以外の選択肢はない。重み共有は効率のための工夫ではなく、対称性の帰結である。

そして本章第2節で挙げた畳み込みの性質4(平行移動と可換)が、その要求そのものだった。V1 の受容野が位置によらず同じ形をしているという経験的事実も、同じ要求である。

同じ一つの原理が、視覚生理学と深層学習の両方を貫いている—それを示すのが、10章あとの仕事になる。

次章へ

本章では、刺激から応答への写像を決定的な関数として書いた。だが第2章第6節で見たように、実際の応答は毎回ばらつく。

次章では確率の道具を整える。分布、変数変換、エントロピー—そして第2節の変数変換とヤコビアンは、第11章の表現幾何と第15章の拡散モデルの両方で主役になる。本書でもっとも使い回される道具の一つである。

ノートコラム:視覚系の道すじ

本文で扱った受容野が、どこで測られているのかを確認しておく(図 3)。

図 3: 視覚系の道すじ(模式)。上は網膜の中で起きる100倍の圧縮で、本文第6節の効率的符号化が問われる場所である。下は V1 から先の二つの流れ。ただし二経路説は大まかな傾向であって厳密な区分ではなく、腹側と背側は多数の結合で相互作用している。

網膜から皮質へ。光は網膜の光受容細胞(錐体・桿体)で電気信号に変わり、双極細胞を経て神経節細胞に至る。神経節細胞の軸索が視神経となり、視床の外側膝状体(LGN)を中継して、後頭葉の V1(第一次視覚野)に届く。

網膜には約1億個の光受容細胞があるが、神経節細胞は約100万個しかない。この時点で100倍に圧縮されている—本文第6節の効率的符号化が問題になる場所である。

二つの経路。V1 から先は、大きく二つの流れに分かれるとされる。

  • 腹側経路(V1 → V2 → V4 → IT)— 「何か」を扱う。物体認識。第11章の表現幾何の主な舞台
  • 背側経路(V1 → MT → MST → 頭頂葉)— 「どこか・どう動くか」を扱う。運動と空間。本文第4節の運動視はこちら

階層に沿って何が変わるか。V1 から IT へ向かうにつれて、(a) 受容野が大きくなる(V1 では視野の1度未満、IT では数十度)、(b) 選択性が複雑になる(線分 → 輪郭 → 部分形状 → 物体)、(c) 位置や大きさの変化に頑健になる。

単純細胞と複雑細胞の発見。Hubel と Wiesel は1959年から1960年代にかけて、ネコとサルの V1 でこの二種を記述した。彼らはさらに、方位選択性がコラム状に整列していること(第13章のコラム参照)、両眼からの入力が縞状に分離していることも見出した。

分かっていないこと。教科書的な「階層」の描像は、実は単純化されすぎている。

第一に、階層は一方向ではない。V1 から V2 へのフィードフォワード結合と同じかそれ以上の数の、フィードバック結合が存在する。第16章の予測符号化は、このフィードバックに役割を与えようとする試みである。

第二に、二経路説には反例が多い。腹側と背側は独立ではなく、多数の結合で相互作用している。「何」と「どこ」の分離は、大まかな傾向としては成り立つが、厳密な区分ではない。

第三に、V1 でさえ完全には理解されていない。Olshausen と Field は2005年に「我々は V1 をどこまで理解しているか」という論文を書き、V1 細胞の応答分散のうち説明できているのは自然刺激下では一部にすぎないと指摘した。単純なフィルタモデルで説明できるのは、単純な人工刺激に対する応答が中心である。本章の LN モデルは、良い出発点ではあるが、到達点ではない。

出典 Hubel & Wiesel (1962, 1968)、Felleman & Van Essen (1991)、Olshausen & Field (2005)。二経路説は Ungerleider & Mishkin (1982)。

確認問題

  1. [確認]線形受容野モデル u = \langle k, s\rangle が内積であることから、「最適刺激」がどんな刺激かを述べよ。(第1節)

  2. [確認]畳み込みの四つの性質(交換律・結合律・線形性・平行移動と可換)のうち、第13章で主役になるのはどれか。またそこで何が示されるか。(第2節・第13章第7節)

  3. [導出]畳み込み定理 \widehat{k*s} = \hat{k}\hat{s} を導出せよ。導出のどの段階で指数関数の性質が効いているか。(第2節)

  4. [考える]純粋な正弦波でもデルタ関数でもなく、ガボール関数が使われる理由を、位置と周波数の不確定性から説明せよ。(第3節)

  5. [導出]時空間受容野が「分離可能」であるとはどういうことか。運動検出には分離不可能でなければならない理由を述べよ。(第4節)

  6. [考える]複雑細胞のモデルにおいて、「情報を捨てている」ことが失敗ではなく目的である理由を述べよ。(第5節・第13章第4節)

  7. [導出]自然画像のパワースペクトルが 1/|\boldsymbol{\omega}|^2 に従うとき、白色化するフィルタの振幅特性を求めよ。それは空間的にどんな受容野になるか。(第6節)

  8. [考える]「スパースコーディングでガボール様の基底が得られた」ことは、脳がスパースコーディングを実行している証拠になるか。ならないとすれば何が足りないか。(第6節・第1章第2節)


参考文献

  • Hubel, D. H. & Wiesel, T. N. (1962, 1968) — 単純細胞・複雑細胞の原典[3節・5節]
  • Fukushima, K. (1980) Neocognitron: A self-organizing neural network model for a mechanism of pattern recognition unaffected by shift in position. Biol Cybern — CNN の直接の祖先[7節]。S 細胞・C 細胞の階層と、ReLU 型の出力関数がここにある
  • Fukushima, K. (1975) Cognitron: A self-organizing multilayered neural network. Biol Cybern — その前身[7節]
  • 神谷之康 (2026) 脳とAI は似ているか — NeuroAI の挑戦.『人工知能』41(2) — 説明可能な分散の現状[1節]
  • Olshausen, B. A. & Field, D. J. (1996) Emergence of simple-cell receptive field properties by learning a sparse code. Nature — スパースコーディング[6節]
  • Olshausen, B. A. & Field, D. J. (2005) How close are we to understanding V1? Neural Comput — 本章の留保の出典。線形フィルタモデルで説明できる範囲を冷静に見積もっている
  • Simoncelli, E. P. & Olshausen, B. A. (2001) Natural image statistics and neural representation. Annu Rev Neurosci — 効率的符号化の総説[6節]
  • Adelson, E. H. & Bergen, J. R. (1985) Spatiotemporal energy models. JOSA A — 運動視のエネルギーモデル[4節]