わかる学習論第 4 回 / 微分できない自然は、どうやって坂を下るのか

進化・学習・意識を、ひとつの勾配で読む

進化とは、微分せずに坂を下ることである 自然は損失を微分できない。それでも生命は坂を下ってきた。秘密は「当てずっぽうに試して、当たり外れの相関から下り方向を推定する」こと ── 進化戦略(ES)。微分を一度も使わずに、勾配を組み立てる。

必要な道具:第1回の \(\theta\leftarrow\theta-\eta\nabla L\)、平均(期待値)、正規分布のイメージ この回のキー:\(\hat g=\dfrac{1}{N\sigma^2}\sum_i L(\theta+\varepsilon_i)\,\varepsilon_i\)

前回(第3回)、私たちは自然選択が適応度地形の勾配を登る営みだと見ました。ところがそこには、正直に認めるべき亀裂がありました ── 自然は微分できない。神さまが損失関数を偏微分して \(\nabla L\) を配ってくれるわけではない。DNAは物理の方程式を知らないし、環境がどんな形の坂なのかも誰も教えてくれません。第1回で立てた更新則 \(\theta\leftarrow\theta-\eta\nabla L\) は、その \(\nabla L\) が手に入ることを前提にしていました。では、勾配を計算できない自然は、どうやって坂を下ってきたのか。今回はその答え ── 進化戦略(Evolution Strategies, ES)を、自分の手で組み立てます。やることは拍子抜けするほど素朴で、あちこちにデタラメに一歩ずつ踏み出してみて、うまくいった方向へ平均として寄っていくだけ。それだけで、微分を一度も使わずに \(\nabla L\) が姿を現します。手品ではありません。最後にはきちんと、これが平滑化した目的関数の勾配の不偏推定であることまで見届けます。

01微分できない自然のジレンマ

もう一度、第1回の更新則を思い出しましょう。

勾配降下法(第1回・シリーズの背骨)
$$\theta_{t+1}=\theta_t-\eta\,\nabla L(\theta_t)$$

この式が動くには、いまいる地点 \(\theta\) での勾配 \(\nabla L(\theta)\) が要ります。ニューラルネットなら、これを自動で計算する仕掛け ── バックプロパゲーション(BP、第2回) ── がありました。BPが使えるのは、ネットワークがなめらかな合成関数で、連鎖律で一枚ずつ微分をさかのぼれるからです。

けれど自然界には、その前提が成り立たない場面が山ほどあります。適応度(生き延びて子を残せる度合い)は、DNAという入力に対して式で書けるなめらかな関数ではありません。捕食者に見つかるか、餌にありつけるか、病気にかかるか ── 環境という巨大なブラックボックスを通した結果として、ある個体が生き残ったか死んだかが決まるだけ。中身を微分するどころか、式すら分からない。これが自然のジレンマです。

ブラックボックス最適化という広い問題 自然だけの話ではありません。\(L(\theta)\) の中身が分からず、\(\theta\) を入れると値だけが返ってくる ── そういう「箱」を相手に最小化する問題をブラックボックス最適化と呼びます。シミュレータの出力、実験の測定値、ゲームのスコア、あるいは微分不可能な指標(生きた/死んだ、勝った/負けた)。勾配が原理的に取れないこれらの相手に対しても、ESは同じ道具立てで坂を下れます。今回の主役は「生命」ですが、その射程はずっと広い。

問題を一つの問いに絞りましょう。\(L(\theta)\) を評価する(値を測る)ことはできるが、微分はできない。このとき、下り方向をどう知るか?

02当てずっぽうに試す ── 摂動 ε をばらまく

微分が使えないなら、素朴にやりましょう。いまの \(\theta\) のまわりに、小さなデタラメの一歩をいくつも踏んでみる。この「デタラメの一歩」を摂動(perturbation) \(\varepsilon\) と呼び、平均0・分散 \(\sigma^2\) の正規分布から引きます。

摂動のばらまき方(ガウス分布)
$$\varepsilon\sim\mathcal N(0,\sigma^2 I),\qquad \theta_i=\theta+\varepsilon_i\quad(i=1,\dots,N)$$

\(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)\)〉というデータだけ。この材料から、下り方向を組み立てられるでしょうか。

03当たり外れの相関から、方向を推定する

直感はこうです。「悪い結果 \(L\) が大きく出た方向 \(\varepsilon_i\)」の逆へ行けばいい。逆に「良い結果(\(L\) が小さい)が出た方向」へは進みたい。つまり、各摂動 \(\varepsilon_i\) を、その結果の \(L(\theta+\varepsilon_i)\) で重みづけして平均すれば、坂の傾きが浮かび上がるはずです。これを式にしたのが、ESの勾配推定量です。

進化戦略(ES)の勾配推定量 ── 今回の主役
$$\hat g\;=\;\frac{1}{N\sigma^2}\sum_{i=1}^{N} L(\theta+\varepsilon_i)\,\varepsilon_i$$

読み下せば ──「摂動 \(\varepsilon_i\) を、その悪さ \(L(\theta+\varepsilon_i)\) で重みづけして足し合わせ、頭数 \(N\) と分散 \(\sigma^2\) で割る」。\(L\) が大きく出た方向 \(\varepsilon_i\) は大きな重みで足されるので、\(\hat g\) は「悪い方(登り)」を向いたベクトルになります。だから更新は、その逆へ:

ESの更新則 ── L の微分は一度も使わない
$$\theta\;\leftarrow\;\theta-\eta\,\hat g$$

第1回の \(\theta\leftarrow\theta-\eta\nabla L\) と、形がそっくりなことに注目してください。違いはただ一点 ── \(\nabla L\) の代わりに、評価値と摂動の相関から組み立てた \(\hat g\) が座っている。ESが使うのは、評価値 \(L(\theta+\varepsilon_i)\) と摂動 \(\varepsilon_i\) の相関だけ。\(L\) を微分する操作はどこにもありません。

なぜ \(\sigma^2\) で割るのか ── スコア関数のからくり この \(\hat g\) は天下りではなく、対数微分トリック(スコア関数法、強化学習のREINFORCEと同じ骨格)から出ます。摂動 \(\varepsilon\) の確率密度 \(p_\sigma(\varepsilon)\) はガウスなので、その対数の勾配(スコア)が \(\nabla_\varepsilon \log p_\sigma = -\varepsilon/\sigma^2\) となる ── ここに \(\sigma^2\) が現れます。「重みづけ平均」という素朴な直感が、確率のことばで書くとちょうどこの係数を要求するのです。厳密な導出(不偏性の証明)は、次節で予告し、第6回でSteinの補題を使ってきっちり与えます。

04これは「有限差分」ではない ── 平滑化 J の勾配

ここで一番誤解されやすい点を、先に潰しておきます。「要するに、あちこち少しずらして差を取っているのだから、有限差分(数値微分)で \(\nabla L\) を近似しているだけでは?」── これは間違いです。ESが不偏に推定しているのは、生の \(L\) の勾配ではなく、\(L\) をぼかした(平滑化した)別の関数 \(J\) の勾配です。

平滑化した目的関数(第6・7回の主役でもある)
$$J(\theta)\;=\;\mathbb{E}_{\varepsilon\sim\mathcal N(0,\sigma^2 I)}\big[\,L(\theta+\varepsilon)\,\big]$$

\(J(\theta)\) は「\(\theta\) のまわりに \(\sigma\) の幅でガウスをかけて、\(L\) をならした値」── いわば地形にすりガラスをかけたもの。ESの推定量 \(\hat g\) は、この \(J\) の真の勾配 \(\nabla J(\theta)\) の不偏推定量(unbiased estimator)です。すなわち、サンプルの当たり外れで一回ごとにはブレても、平均をとれば正確に \(\nabla J\) に一致する(バイアスがゼロ)。

ESの核心 ── 不偏性(証明は第6回で)
$$\mathbb{E}\big[\,\hat g\,\big]\;=\;\nabla J(\theta)\qquad(\text{近似ではなく、等号})$$

「近似」と「不偏推定」は、似て非なるものです。有限差分は、刻み幅を0に近づけないと \(\nabla L\) に一致しない近似で、そこには消えないバイアスと、割り算による数値的な不安定さが残ります。対してESは、刻みを0にしなくてよい ── むしろ \(\sigma\) は有限のまま、その \(\sigma\) で決まる平滑化関数 \(J\) の勾配を、バイアスなしにズバリ当てている。ブレ(分散)はサンプル数 \(N\) を増やせば減りますが、狙いそのもの(期待値)は最初から正確なのです。この \(J\) の勾配という視点は、第6回(ESとBPの一致)と第7回(地形をぼかして局所最小を越える)で、そのまま主役になります。

05動かしてみる ── 集団で坂の向きを嗅ぎ当てる

下は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\) を動かしてみてください。

図:2次元の損失地形(等高線)と、集団 \(\{\varepsilon_i\}\) から組み立てたES推定 \(\hat g\)。矢印は勾配(登り)方向。\(N\) を増やすと \(\hat g\) が真の勾配へ寄っていく
良い個体(L 小) 悪い個体(L 大) ES推定 ĝ 真の勾配 ∇L 現在の θ

試すと、二つのことが見えてきます。第一に ── \(N\) が小さいと \(\hat g\) は真の勾配からあらぬ方を向いてふらつき、押すたびに矢印が跳ねます(高分散)。\(N\) を上げていくと、\(\hat g\) はすうっと真の勾配 \(\nabla L\) に重なっていく。これが「\(N\to\infty\) で一致する」という不偏性の、目に見える姿です(厳密には第6回)。第二に ── \(\sigma\) を大きくすると個体は遠くまで散らばり、荒い地形の大局は掴みやすくなる一方、\(\hat g\) は「生の \(\nabla L\)」ではなく「よりぼけた \(J\) の勾配」を向くようになる。\(\sigma\) は視野の広さと、狙う地形のぼかし具合を同時に決めるつまみなのです。

06対称サンプリングで、分散を下げる

ESの弱点は、いま見た高分散です。少ないサンプルだと矢印が暴れる。実用ではこれを抑える工夫がいくつもありますが、最も基本的で美しいのが対称サンプリング(antithetic sampling)── 摂動を \(+\varepsilon_i\) と \(-\varepsilon_i\) ので使う方法です。

対称サンプリング版の推定量(分散が小さい)
$$\hat g\;=\;\frac{1}{2N\sigma^2}\sum_{i=1}^{N}\big(L(\theta+\varepsilon_i)-L(\theta-\varepsilon_i)\big)\,\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節の「有限差分ではない」を正しく理解する鍵です。

◇ ◇ ◇

07判決 ── ESは何ができて、何ができないか

いつものように、道具の力と限界を正直に裁きます。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\) は、その一致へ向かう最初の一歩です。

練習問題(今回の式だけで解けます)
  1. 1次元 \(L(\theta)=\theta^2\)、現在 \(\theta=3\)、\(\sigma=1\)。対称サンプリングで1組の対 \(\varepsilon=+1\)(と \(-1\))を使い、\(\hat g\) を求めよ。真の勾配 \(\nabla L(3)\) と一致するか。
    答えを見る
    \(\hat g=\dfrac{1}{2\cdot1\cdot1}\big(L(4)-L(2)\big)\cdot1=\dfrac{16-4}{2}=6\)。真の勾配は \(\nabla L(3)=2\cdot3=6\) で一致する。\(L=\theta^2\) は2次なので、ぼかした \(J\) の勾配も \(2\theta\) のまま変わらず、綺麗に当たる。
  2. ESの推定量 \(\hat g=\dfrac{1}{N\sigma^2}\sum_i L(\theta+\varepsilon_i)\,\varepsilon_i\) は、生の \(L\) の勾配 \(\nabla L\) の不偏推定だと言ってよいか。よくないなら、何の不偏推定か。
    答えを見る
    よくない。\(\hat g\) が不偏に推定しているのは、生の \(\nabla L\) ではなく、平滑化した目的関数 \(J(\theta)=\mathbb E_\varepsilon[L(\theta+\varepsilon)]\) の勾配 \(\nabla J\)。すなわち \(\mathbb E[\hat g]=\nabla J(\theta)\)。両者が一致するのは、\(L\) が2次関数などの特別な場合に限る(\(J\) は \(L\) を \(\sigma\) でぼかしたものだから)。
  3. 集団サイズ \(N\) を2倍にすると、推定 \(\hat g\) のどんな性質がどう変わるか。バイアス(期待値のズレ)と分散(ブレ)に分けて答えよ。
    答えを見る
    バイアスは変わらない ── \(\hat g\) はもともと不偏(\(\mathbb E[\hat g]=\nabla J\))で、\(N\) を増やしても期待値は \(\nabla J\) のまま。変わるのは分散で、独立なサンプルの平均なので分散はおよそ \(1/N\) に比例して減る。よって \(N\) を2倍にすると分散はおよそ半分、矢印のふらつきが小さくなり真の方向へ寄る。狙いは最初から正確、精度だけが上がる。

第4回まとめ進化とは、微分せずに坂を下ること

自然は損失を微分できない ── 適応度はブラックボックスを通した非微分可能な指標だから(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\) という無限を、雰囲気でなく厳密に扱う道具を手に入れます。

この文書は「わかる学習論」シリーズ第4回、物理・数学・AIに興味のある高校生・大学生向けの読み物です。進化戦略(Evolution Strategies, ES)の勾配推定量 \(\hat g=\tfrac{1}{N\sigma^2}\sum_i L(\theta+\varepsilon_i)\varepsilon_i\) と、それが平滑化目的 \(J(\theta)=\mathbb E_{\varepsilon\sim\mathcal N(0,\sigma^2 I)}[L(\theta+\varepsilon)]\) の勾配 \(\nabla J\) の不偏推定量であること(\(\mathbb E[\hat g]=\nabla J\))は、スコア関数法(対数微分トリック、強化学習のREINFORCEと同型)から導かれる確立した結果で、厳密な証明はSteinの補題を用いて第6回で与えます。対称サンプリング(antithetic)\(\hat g=\tfrac{1}{2N\sigma^2}\sum_i(L(\theta+\varepsilon_i)-L(\theta-\varepsilon_i))\varepsilon_i\) は分散低減の標準的手法で、不偏性を保ちます。本稿の計算例(\(L=\theta^2\) で \(\hat g=\nabla L\))が綺麗に一致するのは \(L\) が2次関数で \(\nabla J=\nabla L\) となる特別な場合であり、一般には \(\nabla J\neq\nabla L\)(ESが当てるのは平滑化した \(J\) の勾配)であることを本文で明示しました。図の地形 \(L(x,y)=\tfrac12(0.4x^2+1.2y^2)+0.3x\) は説明用の模型で、色分けと矢印は各時点のサンプルから実際に \(\hat g\) を計算して描いています。乱数は標準的な擬似乱数(Box–Muller法によるガウス生成)で、押すたび・スライダー操作ごとに新しい標本になります。超準解析(第5回)、ESとBPの一致(第6回)、地形の平滑化による局所最小の緩和(第7回)は後続回で扱います。 ── 印刷する場合はブラウザの「印刷」から「PDF に保存」を(印刷版ではスライダーと解答は静止・非表示になります)。

印刷 / PDF 化:⌘+P(Windows は Ctrl+P)。画面では「集団サイズ N」と「突然変異の強さ σ」を動かし、「再サンプル」を押すと新しい乱数で個体をばらまき直します。N を上げると ES推定の矢印が真の勾配へ寄っていく様子を確かめてください。「答えを見る」で解答が開きます。