進化・学習・意識を、ひとつの勾配で読む
前回(第3回)、私たちは自然選択が適応度地形の勾配を登る営みだと見ました。ところがそこには、正直に認めるべき亀裂がありました ── 自然は微分できない。神さまが損失関数を偏微分して \(\nabla L\) を配ってくれるわけではない。DNAは物理の方程式を知らないし、環境がどんな形の坂なのかも誰も教えてくれません。第1回で立てた更新則 \(\theta\leftarrow\theta-\eta\nabla L\) は、その \(\nabla L\) が手に入ることを前提にしていました。では、勾配を計算できない自然は、どうやって坂を下ってきたのか。今回はその答え ── 進化戦略(Evolution Strategies, ES)を、自分の手で組み立てます。やることは拍子抜けするほど素朴で、あちこちにデタラメに一歩ずつ踏み出してみて、うまくいった方向へ平均として寄っていくだけ。それだけで、微分を一度も使わずに \(\nabla L\) が姿を現します。手品ではありません。最後にはきちんと、これが平滑化した目的関数の勾配の不偏推定であることまで見届けます。
もう一度、第1回の更新則を思い出しましょう。
この式が動くには、いまいる地点 \(\theta\) での勾配 \(\nabla L(\theta)\) が要ります。ニューラルネットなら、これを自動で計算する仕掛け ── バックプロパゲーション(BP、第2回) ── がありました。BPが使えるのは、ネットワークがなめらかな合成関数で、連鎖律で一枚ずつ微分をさかのぼれるからです。
けれど自然界には、その前提が成り立たない場面が山ほどあります。適応度(生き延びて子を残せる度合い)は、DNAという入力に対して式で書けるなめらかな関数ではありません。捕食者に見つかるか、餌にありつけるか、病気にかかるか ── 環境という巨大なブラックボックスを通した結果として、ある個体が生き残ったか死んだかが決まるだけ。中身を微分するどころか、式すら分からない。これが自然のジレンマです。
問題を一つの問いに絞りましょう。\(L(\theta)\) を評価する(値を測る)ことはできるが、微分はできない。このとき、下り方向をどう知るか?
微分が使えないなら、素朴にやりましょう。いまの \(\theta\) のまわりに、小さなデタラメの一歩をいくつも踏んでみる。この「デタラメの一歩」を摂動(perturbation) \(\varepsilon\) と呼び、平均0・分散 \(\sigma^2\) の正規分布から引きます。
\(N\) 個の摂動 \(\varepsilon_1,\dots,\varepsilon_N\) を引いて、それぞれ少しずつずれた \(N\) 人の個体 \(\theta_i=\theta+\varepsilon_i\) を作る。\(\sigma\) は「どれくらい大胆にずらすか」=突然変異の強さです。生物になぞらえるなら、\(\theta\) は親の遺伝子型、\(\varepsilon_i\) は突然変異、\(\theta_i\) はその変異を持った子どもたち。ここまでに微分は一切使っていません。使ったのは乱数だけ。
次に、各個体を評価します。\(L(\theta_i)=L(\theta+\varepsilon_i)\) を測る。これは箱に入れて値をもらうだけなので、微分不要。生物なら「その子が生き延びられたか」=適応度の(符号を反転した)評価です。小さい \(L\) ほど良い個体。ここで手もとにあるのは、\(N\) 組の〈踏んだ方向 \(\varepsilon_i\)、その結果の悪さ \(L(\theta+\varepsilon_i)\)〉というデータだけ。この材料から、下り方向を組み立てられるでしょうか。
直感はこうです。「悪い結果 \(L\) が大きく出た方向 \(\varepsilon_i\)」の逆へ行けばいい。逆に「良い結果(\(L\) が小さい)が出た方向」へは進みたい。つまり、各摂動 \(\varepsilon_i\) を、その結果の \(L(\theta+\varepsilon_i)\) で重みづけして平均すれば、坂の傾きが浮かび上がるはずです。これを式にしたのが、ESの勾配推定量です。
読み下せば ──「摂動 \(\varepsilon_i\) を、その悪さ \(L(\theta+\varepsilon_i)\) で重みづけして足し合わせ、頭数 \(N\) と分散 \(\sigma^2\) で割る」。\(L\) が大きく出た方向 \(\varepsilon_i\) は大きな重みで足されるので、\(\hat g\) は「悪い方(登り)」を向いたベクトルになります。だから更新は、その逆へ:
第1回の \(\theta\leftarrow\theta-\eta\nabla L\) と、形がそっくりなことに注目してください。違いはただ一点 ── \(\nabla L\) の代わりに、評価値と摂動の相関から組み立てた \(\hat g\) が座っている。ESが使うのは、評価値 \(L(\theta+\varepsilon_i)\) と摂動 \(\varepsilon_i\) の相関だけ。\(L\) を微分する操作はどこにもありません。
ここで一番誤解されやすい点を、先に潰しておきます。「要するに、あちこち少しずらして差を取っているのだから、有限差分(数値微分)で \(\nabla L\) を近似しているだけでは?」── これは間違いです。ESが不偏に推定しているのは、生の \(L\) の勾配ではなく、\(L\) をぼかした(平滑化した)別の関数 \(J\) の勾配です。
\(J(\theta)\) は「\(\theta\) のまわりに \(\sigma\) の幅でガウスをかけて、\(L\) をならした値」── いわば地形にすりガラスをかけたもの。ESの推定量 \(\hat g\) は、この \(J\) の真の勾配 \(\nabla J(\theta)\) の不偏推定量(unbiased estimator)です。すなわち、サンプルの当たり外れで一回ごとにはブレても、平均をとれば正確に \(\nabla J\) に一致する(バイアスがゼロ)。
「近似」と「不偏推定」は、似て非なるものです。有限差分は、刻み幅を0に近づけないと \(\nabla L\) に一致しない近似で、そこには消えないバイアスと、割り算による数値的な不安定さが残ります。対してESは、刻みを0にしなくてよい ── むしろ \(\sigma\) は有限のまま、その \(\sigma\) で決まる平滑化関数 \(J\) の勾配を、バイアスなしにズバリ当てている。ブレ(分散)はサンプル数 \(N\) を増やせば減りますが、狙いそのもの(期待値)は最初から正確なのです。この \(J\) の勾配という視点は、第6回(ESとBPの一致)と第7回(地形をぼかして局所最小を越える)で、そのまま主役になります。
下は2次元の損失地形 \(L(x,y)=\tfrac12(0.4\,x^2+1.2\,y^2)+0.3\,x\) の等高線です。中心の白い点が現在の \(\theta\)。そのまわりに \(N\) 個の摂動点 \(\varepsilon_i\)(ガウス、分散 \(\sigma^2\))を散布し、各点をその損失 \(L\) で色分けしました(緑=良い(低い)/赤=悪い(高い))。二本の矢印は、素朴なESが組み立てた推定勾配 \(\hat g\) と、答え合わせ用の真の勾配 \(\nabla L\)(本来は自然に手に入らないもの)。集団サイズ \(N\) と突然変異の強さ \(\sigma\) を動かしてみてください。
試すと、二つのことが見えてきます。第一に ── \(N\) が小さいと \(\hat g\) は真の勾配からあらぬ方を向いてふらつき、押すたびに矢印が跳ねます(高分散)。\(N\) を上げていくと、\(\hat g\) はすうっと真の勾配 \(\nabla L\) に重なっていく。これが「\(N\to\infty\) で一致する」という不偏性の、目に見える姿です(厳密には第6回)。第二に ── \(\sigma\) を大きくすると個体は遠くまで散らばり、荒い地形の大局は掴みやすくなる一方、\(\hat g\) は「生の \(\nabla L\)」ではなく「よりぼけた \(J\) の勾配」を向くようになる。\(\sigma\) は視野の広さと、狙う地形のぼかし具合を同時に決めるつまみなのです。
ESの弱点は、いま見た高分散です。少ないサンプルだと矢印が暴れる。実用ではこれを抑える工夫がいくつもありますが、最も基本的で美しいのが対称サンプリング(antithetic sampling)── 摂動を \(+\varepsilon_i\) と \(-\varepsilon_i\) の対で使う方法です。
なぜ効くのか。片側だけの \(\hat g\) には、地形の傾きと無関係な「下駄(\(L\) の底上げ分やゆがみ)」が乗ってノイズになります。\(+\varepsilon_i\) と \(-\varepsilon_i\) の両方を測って差を取ると、この対称な下駄が打ち消し合い、傾きに効く成分だけがきれいに残る。しかも不偏性は保たれたまま。生物の比喩で言えば、ある突然変異とその正反対の突然変異を両方の子に持たせ、二人の適応度の差だけを見て、どちらへ寄るべきかを判断する ── そんなイメージです。具体的な数で確かめましょう。
1次元 L(θ)=θ²、現在 θ=2、σ=1。1組の対 ε=+1(と −1)だけで推定する
$$\hat g=\frac{1}{2N\sigma^2}\big(L(\theta+\varepsilon)-L(\theta-\varepsilon)\big)\varepsilon =\frac{1}{2\cdot 1\cdot 1}\big(L(3)-L(1)\big)\cdot 1$$L(3)=9, L(1)=1 を代入
$$\hat g=\frac{9-1}{2}=4$$答え合わせ:真の勾配は ∇L(θ)=2θ なので
$$\nabla L(2)=2\cdot 2=4\qquad\Longrightarrow\qquad \hat g=\nabla L(2)=4\ \ (\text{一致})$$たった1組の摂動で、真の勾配 \(4\) をぴたりと当てました。正直な注記:これがこんなに綺麗に一致するのは、\(L(\theta)=\theta^2\) が2次関数だからです。平滑化しても \(J(\theta)=\theta^2+\sigma^2\)(定数がずれるだけ)で、勾配は \(\nabla J=2\theta\) と生の \(\nabla L\) から変わりません。だから今回に限り、ぼかした勾配と生の勾配が同じ値になる。一般の(3次以上の曲がりを持つ)地形では \(\nabla J\neq\nabla L\) で、ESが当てるのはあくまでぼかした \(J\) の勾配のほうです ── そこを混同しないことが、第4節の「有限差分ではない」を正しく理解する鍵です。
いつものように、道具の力と限界を正直に裁きます。ESの魅力と代償は、どちらもはっきりしています。
| 問い | ESの答え | 判決 |
|---|---|---|
| 微分なしで坂を下れるか | 下れる。評価値 \(L(\theta+\varepsilon_i)\) と摂動 \(\varepsilon_i\) の相関だけで \(\hat g\) を組む | できる |
| ブラックボックスや非微分可能な \(L\) でも動くか | 動く。中身が式で書けなくても、値さえ測れればよい | できる |
| 「有限差分で \(\nabla L\) を近似しているだけ」か | 違う。平滑化目的 \(J\) の勾配の不偏推定であって、近似ではない(第6回で証明) | その理解は× |
| サンプル効率はよいか | 不偏だが高分散。多数のサンプル(=多くの試行、生物なら多くの死)を要する | 効率は△ |
ESの推定 \(\hat g\) は不偏(狙いは正確)ですが、分散が大きくサンプル効率が悪い。まともな方向を得るには集団サイズ \(N\) を大きく取らねばならず、それは自然界では膨大な死を意味します。進化がゆっくりで残酷なのは、まさにこの高分散の代償です。その代わりESは、微分可能性を一切要求せず、ブラックボックスにも非連続な指標にも効く ── BPには真似のできない普遍性を持ちます。
そして最大の注意 ──「ESはBP(誤差逆伝播)の雑な近似にすぎない」という通説は誤りです。ESが当てているのは生の \(\nabla L\) の近似ではなく、平滑化した \(J\) の勾配そのもの。では、微分するBPと微分しないESは、いったいどういう関係にあるのか? 次回(第5回)で \(N\to\infty\) という「無限のサンプル」を、雰囲気ではなく厳密に数えるための数学(超準解析)を用意します。そのうえで第6回、Steinの補題を通じて ── ESとBPが、ある極限で数学的にぴたりと一致することを示します。今日の \(\hat g\) は、その一致へ向かう最初の一歩です。
自然は損失を微分できない ── 適応度はブラックボックスを通した非微分可能な指標だから(STEP 01)。そこでESは、\(\theta\) のまわりにガウス摂動 \(\varepsilon_i\) をばらまき(STEP 02)、各摂動をその評価値 \(L(\theta+\varepsilon_i)\) で重みづけ平均して勾配 \(\hat g=\tfrac{1}{N\sigma^2}\sum_i L(\theta+\varepsilon_i)\varepsilon_i\) を組み、\(\theta\leftarrow\theta-\eta\hat g\) で下る(STEP 03)。使うのは評価値と摂動の相関だけ、\(L\) の微分は皆無。この \(\hat g\) は有限差分の近似ではなく、平滑化目的 \(J(\theta)=\mathbb E_\varepsilon[L(\theta+\varepsilon)]\) の勾配の不偏推定(STEP 04)。ただし不偏の代償は高分散で、対称サンプリング \(\pm\varepsilon_i\) が分散を下げる基本の工夫(STEP 06)。第1回の \(\theta\leftarrow\theta-\eta\nabla L\) と、形は同じ ── ただ \(\nabla L\) の座に \(\hat g\) が座っただけ。
微分するBPと、微分しないES。第1回で予告した「両者は同じ計算」という主張へ、いよいよ近づきます。そのために次回はまず、\(N\to\infty\) という無限を、雰囲気でなく厳密に扱う道具を手に入れます。
印刷 / PDF 化:⌘+P(Windows は Ctrl+P)。画面では「集団サイズ N」と「突然変異の強さ σ」を動かし、「再サンプル」を押すと新しい乱数で個体をばらまき直します。N を上げると ES推定の矢印が真の勾配へ寄っていく様子を確かめてください。「答えを見る」で解答が開きます。