top of page

進化は正解を知らない――AIが「試して探す」学習を選ぶとき


シリーズ: 論文渉猟


◆今回の論文: Bidipta Sarkar et al., "Evolution Strategies at the Hyperscale" (arXiv, 2025年11月20日)

  • 概要:大規模なニューラルネットワークに対して、誤差逆伝播(バックプロパゲーション)を使わない学習アルゴリズム「EGGROLL」を提案。生物の進化を模した「進化戦略」を、低ランク近似という数学的工夫によって効率化し、10億パラメータ規模のモデルで約100倍のスループット向上を達成。強化学習・言語モデルの推論改善・整数演算のみによる事前学習の3領域で有効性を実証した。



AIが「賢くなる」仕組みとして、いま主流なのは誤差逆伝播法(バックプロパゲーション)と呼ばれる手法です。正解と照らし合わせて「どこがどれだけ間違っていたか」を計算し、それを手がかりにパラメータを少しずつ修正していく。現代の大規模言語モデルはほぼすべて、この方法で訓練されています。


ところが、2025年11月に公開されたオックスフォード大学とモントリオール人工知能研究所(MILA)の共同研究は、まったく異なるルートから「同じくらい賢いAI」を作れると示しました。そのアプローチは、生物の進化にヒントを得た「進化戦略(Evolution Strategies)」と呼ばれるものです。正解を知らなくても、何百万という個体が試行錯誤を繰り返すうちに、気づけば環境に適応している。あの仕組みを、AIの学習に持ち込もうとしているのです。


富良野とPhronaは、この研究を手がかりに「学習とはそもそも何か」を話し始めました。「正解から逆算する」のと「試して探す」のとでは、何がどう違うのか。その問いは、AIの技術論にとどまらず、少しだけ意外な場所へと向かっていきます。




「正解から逆算する」という不思議な学習


富良野:AIが「正解を知らないまま」賢くなれるか、っていうのを真剣に実験したこの論文、とても興味深かったです。


Phrona: 正解を知らないまま?それって、普通の機械学習と何が違うんですか。


富良野: 今のAIって、基本的に「答え合わせ」で学ぶんですよ。たとえば画像認識なら、正解ラベル付きの写真を大量に見せて、「これはネコ、これは犬」って繰り返す。そのたびに「どのくらい間違ってたか」を計算して、パラメータを少しずつ直していく。これが誤差逆伝播法、バックプロパゲーションってやつです。


Phrona: 後ろ向きに伝える、って感じの名前ですよね。


富良野: そう。正解と現在地のズレを、後ろから前に向かって「あそこがこれだけ悪かった」って伝えていく。すごく精巧な仕組みで、現代のAIはほぼぜんぶこれで動いてる。


Phrona: でも、それって前提として「正解が分かってないといけない」ですよね。正解が定義できない状況、あるいは「うまくいったかどうかは後でしか分からない」みたいな場合はどうするんだろう。


富良野: そこが面白くて。たとえばゲームのAIが「どの手が良かったか」を知るのは、ゲームが終わってからじゃないですか。途中のどの判断が良くて、どれが悪かったのかは、かなり曖昧になる。そういう場合、バックプロパゲーションは少し苦手なんです。


Phrona: 「後から分かること」を「リアルタイムに遡る」のは難しい、みたいな。


富良野: その通りで。それに、そもそも勾配——つまり「どちらの方向に変えればよくなるか」という微分可能な手がかり——が存在しない状況もある。整数しか扱えないシステムとか、物理シミュレーションの不連続な部分とか。


Phrona: 「どっちに動けばいいか」が分からないまま、どうやって賢くなるんですか。


富良野: そこで出てくるのが、この論文の話で。「正解を知らなくても、たくさん試せばいい」という考え方です。



試して、捨てて、残ったものが賢くなる


Phrona: たくさん試す、って言ったとき、私がまず思い浮かべるのは生物の進化なんですよね。ランダムな変異が起きて、環境に合ったものだけ残っていく。それって、設計者も正解を知らないじゃないですか。


富良野: まさにそれで。この研究が使っている「進化戦略(Evolution Strategies)」っていう手法は、かなり直接的にそのメタファーで動いています。ひとつの「現在のモデル」を親として、そこからランダムにちょっとずつパラメータを変えた子孫を大量に生成する。それぞれを実際に動かしてみて、うまくいった子孫の方向に少しずつ親を近づけていく。


Phrona: 「良かった子の平均に向かう」みたいなイメージ?


富良野: そうです。一個一個の子孫のパラメータを受け継ぐんじゃなくて、集団全体の結果を見て、どの方向が良かったかを推定する感じです。で、重要なのは、このプロセスに「正解が何か」という情報がいらない。「良かった/悪かった」という評価だけがあれば動く。


Phrona: 生物進化と同じですよね。「どうすれば生き残れるか」という答えは誰も知らないけど、生き残ったやつが残る、という事実だけがある。


富良野: その「正解なし」というのが意外と強くて。たとえばバックプロパゲーションは、景色が滑らかで連続的なことを前提にしているんですよ。「こっちに少し動けば、少しよくなる」という連続性があって初めて使える。でも進化戦略は、ガタガタした地形でも、崖があっても、ある程度動ける。


Phrona: 崖があっても、っていうのが面白いな。微分ができない、つまり「傾きが定義できない」場所でも探索できる。


富良野: そう。だから本来ならすごく有望な手法なんだけど、長年「大きなモデルには使えない」と思われてきた。理由はシンプルで、計算コストがとんでもないことになるから。


Phrona: 子孫の数が増えるほど、それぞれをちゃんと評価しないといけない。それを何億というパラメータで繰り返す、というのは確かに重そう。


富良野: 今回の論文はその問題を、数学的にかなりエレガントな方法で解いたんです。


Phrona: どうやって?


富良野: 「変化の幅を、全部の次元で動かさなくていい」という発想で。



「粗く」て「速い」は、損なのか


Phrona: 変化の幅を全部動かさない、というのはどういうことですか。


富良野: 少し数学的な話になるんですが。ニューラルネットワークのパラメータって、行列——数の表——で表現されていて、縦×横の全マス分の数があるんです。普通の進化戦略だと、「ランダムな変化」を全マス分生成しないといけない。これが膨大なメモリと計算量になる。


Phrona: 行列全体をランダムに揺らす必要があると。


富良野: この論文はそこを変えていて、「縦×横」の行列の代わりに、「縦×少数」と「横×少数」という二枚の薄い行列だけを生成して、それを掛け合わせて使う。少数をrとすると、保存するメモリが縦×横からr×(縦+横)に縮む。rが小さければ劇的に小さくなる。


Phrona: 「2つの薄い板を組み合わせて1枚の厚い板を近似する」みたいな感じ?


富良野: 比喩としてはすごくいいと思います。1枚の分厚い板をまるごと用意するのは大変だけど、薄い板を2枚掛け合わせると「近似的な分厚さ」が出せる、という発想ですね。


Phrona: 「近似」というのが引っかかるんですよ。本物より粗い、ということですよね。それって、精度が下がるんじゃないですか。


富良野: 直感的にはそう思うじゃないですか。でも、面白いのはここで。個々の変化は確かに「低ランク」で粗いんだけど、何十万という数の個体が、それぞれ別々の粗い変化をかけた結果を平均すると——全体としては「高ランク」な、豊かな更新になるんです。


Phrona: あ、それはなんか生物的な感覚がある。個体ひとつの変異はランダムで雑かもしれないけど、何百万世代という時間をかけた集積は、すごく精妙な適応になってる。


富良野: そこの感覚はまったく同じだと思います。一個の変化は粗い。でも、粗い変化が膨大に積み重なった結果は粗くない。この論文では数学的にもそれを証明していて、rを大きくすればするほど、全ランク更新への誤差がO(1/r)の速さで縮むことが示されています。


Phrona: じゃあ「端折ってるけど、端折ってない」ということか。


富良野: そう言えると思います。LoRAって知ってますか。大きなモデルを効率よくファインチューニングする手法なんですが——


Phrona: あ、最近よく聞きます。全部を再学習するんじゃなくて、一部だけ更新する、っていうやつですよね。


富良野: 同じ数学的構造なんですよ、今回のEGGROLLと。ただLoRAは「勾配ありの学習」を効率化する手法で、EGGROLLは「勾配なしの探索」を効率化する。方向性が逆なのに、使っている道具が似てる。


Phrona: それはなんか、いいですね。別々の問いが、同じ形の鍵を使ってた、みたいな感じで。


富良野: で、実際どのくらい速くなるかというと、10億パラメータ規模のモデルで従来比約100倍のスループットを達成してる。しかも性能はほぼ落とさずに。


Phrona: 100倍……それは、「粗い」どころじゃないですね。


富良野: 「粗さをうまく使う」と「粗くなってしまう」は、全然違う話だということだと思います。



正解を知らないまま、どこへ行けるか


Phrona: この論文でいちばん興味深かったのは、整数演算だけで事前学習ができた、という結果なんですよね。技術的にどういうことか、もう少し説明してもらえますか ?


富良野: 普通のニューラルネットワークって、浮動小数点数——小数点以下をものすごく細かく扱える数——で計算していて、その精度があるから「勾配を逆に流す」という操作が成立するんです。整数だと、そもそも微分ができない。連続じゃないから。


Phrona: 整数って、1、2、3って飛ぶじゃないですか。「1と2の間を少しずつ動く」ができない。


富良野: そう。だからバックプロパゲーションは整数演算のモデルとは相性が悪い。でも進化戦略は、「どちらに動けばよいか」という勾配の情報がなくても動けるから、整数で定義されたモデルでも評価ができて更新できる。


Phrona: 「滑らかさ」を前提にしない学習、か。それってなんか、「言葉にしにくい何かを学ぶ」とか、「評価の基準がぼんやりしている」みたいな状況に通じる感じがします。


富良野: 具体的に?


Phrona: たとえば、ある文章が「良い文章かどうか」ってどうやって教えるんだろう、ってずっと疑問で。数値で正確に「これが正解」とは言えないじゃないですか。でも「この100個の中でどれが良いか」なら、人間はわりとすぐ感じで分かる。


富良野: ああ、それはまさに進化戦略が得意な形式ですよ。「絶対的な点数」じゃなくて「複数の中で良かったもの」という相対評価でいい。


Phrona: 人間の評価って、もともとそっちに近いかもしれないですよね。正確な点数より、比較と順位付けのほうが自然にできる。


富良野: ただそこで思うのは、それって「進化」でいいのか、という問いで。生物進化って、ものすごく時間がかかるじゃないですか。何百万世代という蓄積があってはじめて精妙な適応が生まれる。AIでそれをやるということは、計算資源を膨大に使うことでもある。


Phrona: それは確かに。「正解を知らないまま探索する」という自由さは、「正解があれば一直線に行ける」という効率とのトレードオフでもある。


富良野: だからこそ今回の研究が意味を持つんですよね。その探索のコストを劇的に下げた。それが可能になったとき、「正解なしで賢くなる」という選択肢が急に現実味を帯びてくる。


Phrona: でも、速くなっても「どこへ向かっているか分からない探索」というのは、やっぱり怖くはないですか。生物だと、「生存」という評価基準が自然に与えられているけど、AIの場合はその基準自体を誰かが設定しないといけない。


富良野: そこは本質的な問いだと思っていて。進化戦略を使っても、「何が良いか」という評価関数は人間が設計しないといけない。正解を知らなくていいのは、学習の仕組みの話であって、「何に向かうか」は別の問いなんです。


Phrona: 「どうやって賢くなるか」と「何のために賢くなるか」は、ぜんぜん別の話ですよね。


富良野: そこが混同されると、技術がうまくいっていても、方向がずれていく。そこはちょっと気に留めておく必要があると思っています。



 

ポイント整理


  • 「正解なし」でも学べる——評価と勾配は別物

    • バックプロパゲーションは「正解との差」を数値として逆方向に流すことで学ぶ。これは「何が正解か」が明確に定義できる場合に強い。進化戦略は、「どちらの方向に動けばよいか(勾配)」がなくても、「どの候補が良かったか(評価)」だけで学習が進む。正解の定義が難しい状況や、滑らかでない関数に強い。

  • 集団の粗さが、個体の粗さを超える

    • EGGROLLの低ランク近似は、ひとつひとつの「変化の候補」を小さくすることでメモリと計算量を減らす。ただし、大量の粗い候補を平均することで、全体の更新は高品質になる。「個体は雑でも、集団の統計は精妙になる」という生物進化と同じ構造を持っている。

  • 「近似して速い」と「粗くて遅い」は別の話

    • 低ランク近似は一見、精度を犠牲にするように見える。しかし理論的には、ランクrを増やすほど誤差がO(1/r)の速さで縮むと証明されており、実験でも性能を落とさずに約100倍の高速化を達成した。「端折り方」のデザインが鍵で、単なる省略とは異なる。

  • 整数演算で動く、という静かな革命

    • バックプロパゲーションは数の連続性(微分可能性)を前提にするため、整数だけで構成されたモデルとは相性が悪い。進化戦略はその前提を必要としないため、整数演算のみで動く言語モデルの事前学習に成功した。これは「どんな形式のモデルでも訓練できる可能性」を示す。

  • 「どう学ぶか」と「何に向かうか」は別の問い

    • 進化戦略は「評価関数さえあれば」学習が進む。しかしその評価関数は人間が設計しなければならない。学習の手続きを自動化しても、「何が良いか」という基準の設定は人間の判断から離れられない。技術的な問いと、目的に関する問いを混同しないことが重要になる。



キーワード解説


【誤差逆伝播法(バックプロパゲーション / Backpropagation)】

AIが「正解との差(誤差)」をもとに、どのパラメータをどう修正すべきかを計算する手法。結果から原因へと逆方向に情報を流すことでパラメータを更新する。現代の深層学習(ディープラーニング)の根幹となっている技術。微分可能な関数に依存するため、整数演算や不連続な場面には適用しにくい。


【進化戦略(Evolution Strategies / ES)】

生物の進化を模した最適化手法。現在のパラメータから少しランダムに変化した「候補個体」を大量に生成し、各個体を実際に動かして評価した後、良かった候補の方向に少しずつ移動していく。勾配(微分)情報を必要とせず、ノイズや不連続性に強い。並列処理との相性が良く、多数のコンピュータで同時に探索できる。


【低ランク近似(Low-Rank Approximation)】

大きな行列(数の表)を、より情報量の少ない小さい行列の組み合わせで近似する数学的手法。完全に正確ではないが、実用上は十分な近似が得られることが多い。コンピュータの記憶領域(メモリ)や計算量を大幅に削減できる。機械学習では「LoRA」という手法として、大規模言語モデルの効率的な追加学習(ファインチューニング)に広く活用されている。


【EGGROLL(Evolution Guided General Optimization via Low-rank Learning)】

今回の論文で提案された進化戦略アルゴリズム。低ランク近似を取り入れることで、10億規模のパラメータを持つニューラルネットワークへの進化戦略の適用を現実的にした。従来手法と比べ約100倍の処理速度を達成しつつ、性能はほぼ維持している。


【浮動小数点数と整数演算】

コンピュータで数を扱う際の2つの方式。浮動小数点数は小数点以下を細かく扱え、なめらかな計算(勾配など)に向いている。整数はそのような細かさを持たない代わりに、より少ないメモリで高速に処理できる。バックプロパゲーションは浮動小数点数を前提にするが、進化戦略はどちらにも対応できる。


【評価関数(Fitness Function)】

進化戦略において、各候補個体の「良し悪し」を測る基準。生物進化における「生存率」や「繁殖数」に相当する。機械学習では、ゲームのスコア、テストの正答率、言語モデルの出力品質などが使われる。進化戦略は評価関数の計算さえできれば動くが、「何を良しとするか」という設計は人間が行う必要がある。



本稿は近日中にnoteにも掲載予定です。
ご関心を持っていただけましたら、note上でご感想などお聞かせいただけると幸いです。
bottom of page