曲がった空間の上でAI Agentは学べるのか
——「第一の多様体」と「第二の多様体」から始まるWorld Models DRL設計論
GI理論(Geometric Intelligence Theory)は、企業の経営環境をビジネスデータからVAEを経て可微分多様体として構築し、その上でAI Agentが活動する枠組みである。本記事は、そのリーマン多様体の上でWorld Models系Deep Reinforcement Learning(DRL)Agentを設計しようとしたとき、何を修正しなければならないかを、研究室の対話形式で整理する。
登場人物
- リルル先生:ケンブリッジ名誉教授。GI理論の設計者。「……ええ、いいわね」
- 倉田教授:代数的位相幾何学の専門家。ホワイトボードと数式を愛する。
- カイト:シニアソフトウェアエンジニア。DRL実装の主役。
- ユキ:副CEO。本質的な質問で議論を深める。
- リン:シニア数理アナリスト。
第一部:GI理論の多様体はどんな多様体か
1-1. リーマン多様体と擬リーマン多様体——何が違うのか
カイト:リルル先生、倉本教授、聞きたいことがあります。一般相対性理論が宇宙の姿として定義した多様体は、擬リーマン多様体で、情報幾何学が使う多様体はリーマン多様体で、リルルの経営環境多様体もリーマン多様体なんですか?「擬リーマン多様体」と「リーマン多様体」って、どこが違うんですか?どちらの多様体も、至る所滑らかで連続していて、リー微分や共変微分や、制御工学計算を行える多様体なんですよね?正定値とか難しい話は抜きにして、高校生でもわかるように直感的に説明してください。
リルル先生が窓の外を見た。
「いい質問ね」
倉田教授がホワイトボードに二つの図を描いた。左に球、右に砂時計のような形。
「まず共通点から。カイトの言う通り、どちらも滑らかで連続した多様体だ。Lie微分も共変微分も測地線の計算も、どちらでも同じ数学的道具が使える。その点は完全に正しい」
「違いは一つだけ」とリルル先生が言った。「距離の測り方」
リルル先生がホワイトボードの左の球に手を置いた。
「地球の表面を想像して。東京からロンドンまでの距離を測るとき、どんな方向に進んでも距離はちゃんと測れる。北に行っても、東に行っても、斜めに行っても——全部、正の距離が出てくる。これがリーマン多様体。どの方向に動いても距離が正になる」
「私の経営環境多様体も、Fisher情報行列の引き戻し計量も、同じ性質を持つ。どの方向に経営状態が変化しても、その『変化の大きさ』は必ず正の数になる」
「では擬リーマンは」とカイトが言った。
倉田教授が右の図を指した。
「一般相対性理論の時空を想像しろ。縦軸が時間、横軸が空間だ。ここで『距離』を測ると——時間方向に進んだとき、距離がマイナスになる」
カイトが首をかしげた。
「距離がマイナス? 意味がわかりません」
「そう思うよな」と倉田教授は言った。「直感に反する。でもアインシュタインはそう定義した。時間と空間は対称ではない。光速を超えられない、因果律がある——そういう物理的事実が、時間方向の距離が空間方向と符号が逆になることに対応している」
リルル先生がカイトの方を向いた。
「つまり——リーマン多様体はどの方向に動いても距離が正。擬リーマン多様体は方向によって距離が正にも負にもなる。それだけの違い」
「高校の言葉で言えば」と倉田教授が続けた。「内積を計算したとき、リーマンは必ず正の数が出てくる。擬リーマンは正にも負にもなりうる。この一点だけが違う」
カイトはしばらく考えた。
「じゃあ、数学の道具は同じなんですね。共変微分もLie微分も測地線も」
「そう」とリルル先生が言った。「Christoffel記号の計算式も、曲率テンソルの定義も、測地線方程式も——全部同じ。ただし擬リーマンでは、その道具を使って計算した『距離』が時間方向でマイナスになる、というだけ」
「アインシュタインが一般相対性理論を書いたとき」と倉田教授が言った。「彼はリーマン幾何学の道具をそのまま借りた。計量テンソルの符号だけを変えて。だから一般相対性理論の数学とGI理論の数学は——構造的にほぼ同じなんだ」
カイトがうなずいた。
「「あのシステムが動いている多様体は、リーマン多様体ですよね」
「そう」とリルル先生が言った。「電力グリッドの状態空間——需給バランス、再生可能エネルギーの出力、市場価格——それらから作った多様体は、引き戻し計量を持つリーマン多様体。どの方向の変化も、距離が正になる」
倉田教授がホワイトボードに一行書いた。
リーマン:g(v,v) > 0 (どの方向の速度ベクトル vでも)
擬リーマン:g(v,v) の符号は方向によって異なる
「これだけだ」と倉田教授は言った。「本質はここだけ。あとの数学は全部同じ」
1-2. なぜ業界が違っても全部リーマン多様体になるのか
カイト:「後、もう一つ、ひっかかっていることがあります。これまでのケーススタディでも、僕たちは、繊維業界の会社、半導体製造業界の会社、食品製造・配達業界の会社など、業界の異なる会社の経営環境多様体をGI理論のアプローチで構築してきました。また、国際商船の航路の多様体や、民間航空機の航路の多様体もデータから構築してきました。VAEを経由して。それぞれ、業界が異なれば、使うデータセットの特性や統計的分布もまるで違う。この違いがあるにもかかわらず、GIのアプローチで、各業界の経営環境に関するデータセットから構築した多様体は、どれもリーマン多様体になるーーー擬リーマン多様体にはならずに。これってどうしてですか?あと、多様体って、擬リーマン多様体とリーマン多様体の他にも、もっといろいろ他の種類の多様体もあるんですよね?そうるすと、ますます、各業界の経営環境に関するビジネスデータ型GI理論のアプローチで構築した多様体が、全部、リーマン多様体になるのはなぜか、わからなくなってきちゃったんです」
リルル先生が少し微笑んだ。
「カイト、それは本質的な問いよ」
倉田教授が椅子を引いて座った。今度は立ったまま説明する感じではなかった。
「まず多様体の種類から整理しよう。カイトの言う通り、多様体にはいろいろある」
ホワイトボードに箇条書きした。
多様体の種類(計量の性質による分類)
・位相多様体 :滑らかさすら要求しない。連続なだけ
・可微分多様体 :滑らか。でも距離がまだ定義されていない
・リーマン多様体 :距離が定義されている。どの方向も正
・擬リーマン多様体:距離が定義されている。方向によって符号が変わる
・その他 :フィンスラー多様体、シンプレクティック多様体…
「これだけ種類がある。なのになぜ、業界が全然違うビジネスデータから作った多様体が、全部リーマン多様体になるのか」
倉田教授がカイトを見た。
「答えは——VAEのデコーダの構造そのものに刻まれている」
リルル先生がホワイトボードに数式を書いた。
$g_{ij}(z) = (J_{f_\theta}^\top J_{f_\theta})_{ij}$
「これがGI理論の引き戻し計量。覚えてる?」
「ヤコビ行列の転置と自分自身の積、ですよね」とカイトが言った。
「そう。ここをよく見て」
リルル先生がその式の右辺を指した。
「$J^\top J$ という形の行列は——数学的に、 必ず半正定値になる。どんな行列 J を持ってきても、$J^\top J$ の固有値は必ずゼロ以上になる。これは線形代数の定理で、業界とも、データの種類とも、統計的分布とも—— 一切無関係」
「さらに」とリルル先生が続けた。「命題1.1の条件 (ii)、ヤコビ行列がフルランクであること、この条件が成立すると——半正定値から 正定値に昇格する。固有値が全部、厳密に正になる」
「それがリーマン計量の定義そのものです」とリンが横から補足した。「正定値対称双線形形式——これがリーマン計量の公理です」
カイトがしばらく考えた。
「つまり——繊維業界でも、半導体でも、食品でも、航空でも、海運でも——VAEのデコーダを通った瞬間に、自動的に $J^\top J$ という形の計量が生まれる。そしてその形は、どんなデータを入れても、必ず正定値になる」
「そう」とリルル先生が言った。「データの中身は関係ない。構築の手順がリーマン計量を保証している」
「じゃあ擬リーマンにはならない理由は」
倉田教授が答えた。
「擬リーマンになるには、計量に負の固有値が必要だ。$J^\top J$ の形からは、原理的に負の固有値は出てこない。だから擬リーマンになる数学的可能性がない」
「フィンスラー多様体にもならない理由は」とカイトが続けた。
「フィンスラー多様体は、距離の定義が各点の接空間上のノルムから来る。内積から来るとは限らない。$J^\top J$ は内積を定義するので、自動的にリーマンの特殊ケースに入る」
リルル先生がまとめた。
「整理するとこういうことね」
ホワイトボードに書いた。
なぜ全部リーマン多様体になるのか
Step 1:VAEのデコーダ $f_\theta$ が $C^\infty$ 写像である
(命題1.1 条件(i):tanhを使う理由)
Step 2:ヤコビ行列 $J_{f_\theta}$ がフルランクである
(命題1.1 条件(ii):訓練後に数値検証する)
Step 3:引き戻し計量 $g = J^\top J$ が自動的に正定値になる
(線形代数の定理。データの種類に無関係)
Step 4:正定値対称双線形形式 = リーマン計量の定義
(定義から直接導かれる)
∴ 業界・データセット・統計分布に関係なく、
命題1.1の条件さえ満たせば、必ずリーマン多様体になる。
カイトがゆっくりうなずいた。
「データの個性は多様体の形に現れる。曲率の分布とか、測地線の曲がり方とか。でも多様体の種類——リーマンかどうか——はデータではなく、構築の手順が決める」
「正確に言えたね」とリルル先生が言った。「……いいわね」
倉田教授が付け加えた。
「一般相対性理論が擬リーマンを使うのは、時間という物理的方向が空間と本質的に異なるからだ。符号が変わることに物理的意味がある。しかしビジネスデータには、そういう非対称な方向は存在しない。売上も為替も需給バランスも、どの方向の変化も『変化の大きさ』は正になる。だからリーマンで十分であり、リーマンになるべくして、なる」
カイトは窓の外を見た。北海の風が止んでいた。
「じゃあ、あのシステムが動いている多様体も」
「リーマン多様体」とリルル先生が言った。「命題1.1の条件を満たしている限り、必ずそうなる」
「その条件が——」
「満たされていないとしたら」とリルル先生は静かに言った。「それはまた、別の話になる」
1-3. すっきりした。でも、航空業界のあのケーススタディは?
カイト:「いま、すごくすっきりしました。GI理論の第1巻目と第2巻目から出てくる企業の経営環境多様体と、政府の政策環境多様体は、全部、リーマン多様体になるんですね。」
カイト:「それはわかったんですけど、GI理論の2巻目に登場しない多様体も、僕らは、ケーススタディの中で取り扱ってきました。航空業界を扱ったケーススタディでは、飛んでいる飛行機の速度に大きな影響を与える風の強さ(風に押される飛行機は早く飛んで、風の流れる方向と反対方向に風にぶつかる方向に飛んでいく飛行機は遅くなる)を考慮したフィンスラー多様体も扱いました。あれ?あの時、僕らは、航空機が計測した様々なデータセットから、VAEを使ってリーマン多様体を作るっていうGI理論のアプロ―チとは違うことをしていたんでしたっけ??」
リルル先生がわずかに表情を変えた。
「カイト、今、自分で大事なことに気づきかけてる」
「……あれ」とカイトが言った。「待ってください。フィンスラー多様体って、VAEから作ったんじゃ、なかったですよね」
「そう」とリルル先生が言った。「思い出して」
カイトはしばらく黙っていた。
「あの時は——風のデータから直接、フィンスラー計量を定義しました。VAEを経由しなかった」
「正確に言えば」と倉田教授が補足した。「航空機の速度は、風速ベクトルと飛行方向の非対称な関係を持つ。追い風なら速く、向かい風なら遅い。同じ距離を進むのに、行きと帰りで所要時間が違う。この非対称性は——リーマン計量では表現できない」
ホワイトボードに書いた。
リーマン計量:g(v, v) = g(-v, -v)
→ 前に進む距離と後ろに進む距離は同じ
フィンスラー計量:F(v) ≠ F(-v) が許される
→ 追い風方向と向かい風方向で「距離」が違う
「つまり」とカイトが言った。「あの時は、VAEを使うGI理論のアプローチではなく——風の物理的な性質から、直接フィンスラー計量を設計した」
「そう」とリルル先生が言った。「二つのアプローチは別物よ」
倉田教授が整理した。
アプローチA:GI理論のVAEパイプライン
データセット → VAE訓練 → デコーダのヤコビ行列
→ 引き戻し計量 g = J^T J
→ 自動的にリーマン多様体
アプローチB:物理・幾何学的設計
現象の数学的構造を直接モデル化
→ フィンスラー計量(航空機×風)
→ リーマンとは限らない
「海運のケーススタディでも」とカイトが言いかけた。
「海流と波浪の非対称性を考慮した部分はアプローチBだった」とリルル先生が言った。「リームが設計した」
カイトが少し考えた。
「じゃあ——GI理論のVol.1とVol.2は、アプローチAの話。リーマン多様体が保証されるのはそのパイプラインを使ったときだけ」
「正確にそう」と倉田教授が言った。
「あのシステムは」とカイトが言った。
「電力グリッドのデータから——どちらのアプローチで多様体を構築したか」
リルル先生が静かに言った。
「それを確認しなければいけないわね。アプローチAなら引き戻し計量だからリーマン多様体。アプローチBなら——設計次第で、リーマンとは限らない」
窓の外で風力発電のタービンが回っていた。
カイトはそれを見ながら言った。
「北海の風は——向きによって強さが全然違う。季節によっても変わる。その非対称性を、あのシステムの多様体はちゃんと表現できているのか」
誰も答えなかった。
それが、次の問いだった。
第二部:「第一の多様体」と「第二の多様体」の区別
2-1. 二つの多様体の問題
カイトは、倉田教授がホワイトボードに書いてくれた次の文章に改めて食い入るように見つめました。
『確定した問題構造
二つの多様体の問題
【第一の多様体】ポリシーパラメータ空間
→ NPG(Natural Policy Gradient 自然勾配学習法)が正しく扱う ✓
→ Fisher計量、統計多様体
→ 「Agentの学び方」の空間
【第二の多様体】状態空間 M_env
→ DreamerV3等が無視している ✗
→ 引き戻し計量、リーマン多様体
→ 「Agentが動く」空間
→ GI理論がビジネスデータから構築する多様体
現在の標準的なDRLは第一の多様体(NPG)については幾何学的に正しく扱っています。しかし第二の多様体——GI理論が構築するビジネスデータの可微分多様体——については、遷移モデル・平行移動・測地線の計算にChristoffel記号が必要であるにもかかわらず、それを無視してユークリッド空間として扱っています。』
DeepMindを含めて、まだ論文があまり出ていないのは、第2の多様体の上で、Deep
Reinforcement Learningアルゴリズムで動くAI Agent。それも、World
Models系のAI Agentの方策勾配学習アルゴリズムだ。
ここまでは整理できている。
データセットからVAEを経由して構築する可微分多様体は、数学的な建付けからして、リーマン多様体になる。
でも、VAEを経由しないで、航空機のセンサーデータから直接、構築した多様体は、フィンスラー多様体とか、リーマン多様体とは、異なる多様体になる。
リーマン多様体であろうが、フィンスラー多様体とか、その他の多様体でも、多様体上で、AI
Agentがいる座標地点の曲がり具合(曲率)を考慮にいれる共変微分の計算をすれば、AI
Agentが今いる場所から、ほんの少しーー距離⊿--、特定の方向に移動したとき、その場所での空間の曲がり具合の影響で生じる距離を差し引いた、純粋な移動距離を、一般相対性論の平行移動―共変微分の説明で、教科書で必ず出てくる平行移動のイメージーーで、計算できるはずだ。じゃあ、共変微分で計算した移動距離を、AI
Agentが移動する距離として計算するように、クリストッフェル記号が入った共変微分の数式を、既存のいろいろなDeep
Reinfocement Learningあるごりズムや、World Models系のAI
Agentのアルゴリズムに追加で組み込めば、第2の多様体上で活動するリルルのAI
Agentの動作も正確に計算できるんじゃないかな?
ここで、航空機のケーススタディのときにやったみたいに、VAEを使うGI理論のアプローチを使わないで、空の観測データから直接、構築したフィンスラー多様体の上でAI
Agentを動かす場合葉、いま各Agentが多様体の上のどこにいるかによって、曲率そのものが大きくかわる違いがあるけど、さっきの方法で計算できるはず。
リルル、倉本教授、僕の考え方、数学的に甘いでしょうか...。」
リルル先生と倉田教授が顔を見合わせた。
少し間があった。
「甘くない」と倉田教授が言った。「方向は正しい」
リルル先生が椅子から立ち上がった。
「ただし——三つ、注意すべき点がある」
倉田教授がホワイトボードに書き始めた。
カイトの提案:
既存のDRLアルゴリズムに
クリストッフェル記号を含む共変微分を追加する
→ 方向は数学的に正しい
「まず確認しよう。カイトの直感の核心はこれだ」
$$\frac{Dv^{k}}{dt} = \frac{dv^{k}}{dt} + \Gamma_{ij}^{k}v^{i}\frac{dz^{j}}{dt}
$$
「共変微分の定義式だ。Agentが多様体上を移動するとき、速度ベクトル $v^k$ の変化には二つの成分がある。第一項は座標の変化、第二項はクリストッフェル記号——空間の曲がりが速度ベクトルそのものを回転させる効果だ。カイトの言う通り、これを既存のアルゴリズムに組み込むという発想は、数学的に正当だ」
「では三つの注意点」とリルル先生が言った。
「一つ目。追加する箇所が三か所ある」
ホワイトボードに書いた。
組み込みが必要な箇所:
①遷移モデル
誤:$s_{t+1} = s_t + f_\theta(s_t, a_t)$
正:$s_{t+1} = \exp_{s_t}(f_\theta(s_t, a_t))$
↑指数写像——接ベクトルを多様体上の点に戻す
②方策勾配
誤:$\nabla J$(ユークリッド勾配)
正:$g^{ij} \nabla_j J$(リーマン計量で持ち上げた勾配)
③平行移動
誤:異なる点の接ベクトルをそのまま比較
正:Levi-Civita接続で平行移動してから比較
「この三か所を全部修正して初めて、多様体上で数学的に正確に動くアルゴリズムになる。一か所だけ直しても、他が誤差を生み続ける」
「二つ目。リーマン多様体とフィンスラー多様体では、難しさの度合いが異なる」
倉田教授が引き取った。
「リーマン多様体の場合——引き戻し計量 g_(ij)(z) = $J^\top J$ が手元にある。クリストッフェル記号は計量から機械的に計算できる」
$$\Gamma_{ij}^{k} = \frac{1}{2}g^{kl}\left( \partial_{i}g_{jl} + \partial_{j}g_{il} - \partial_{l}g_{ij} \right)
$$
「VAEのデコーダが $C^\infty$ であれば、この計算はPyTorchの自動微分で実装できる。原理的には実装可能だ」
「フィンスラー多様体の場合は」とカイトが言った。
「フィンスラーのクリストッフェル記号は、計量ではなくノルム F(z,v) から導かれる。しかも 点だけでなく速度ベクトルにも依存する。計算は大幅に複雑になる」
倉田教授がホワイトボードに書いた。
リーマン:$\Gamma^k_{ij}(z)$ → 点のみに依存
フィンスラー:$G^k_{ij}(z, v)$ → 点と速度の両方に依存
「航空機のケーススタディで構築したフィンスラー多様体の上でAgentを動かす場合、接続係数が速度依存になるため、計算コストが跳ね上がる。理論的には可能だが、実装の難易度はリーマンの比ではない」
「三つ目。そしてこれが最も本質的な点だ」
リルル先生が静かに言った。
「カイトの提案は『既存のアルゴリズムに共変微分を追加する』というものだった。しかし——」
ホワイトボードに書いた。
問い:
既存のDRLアルゴリズムは
「ユークリッド空間」を前提として
設計されている。
共変微分を「追加」すれば十分か?
それとも、アルゴリズムの
「構造そのもの」を再設計する必要があるか?
「具体例で言う。DreamerV3の世界モデルは、潜在状態をRSSM——循環型状態空間モデル——で表現する。このRSSMの中で行われる演算は全てユークリッド的だ。クリストッフェル記号を遷移モデルに追加しただけでは、RSSMのアーキテクチャ自体がユークリッドを前提としているため、内部で矛盾が生じる可能性がある」
倉田教授が続けた。
「『追加』か『再設計』か——これは工学的な問いであると同時に、数学的な問いでもある。カイトが今提案したのは前者だ。それが十分かどうかは、まだ論文も出ていないし、誰も証明していない」
カイトはホワイトボードを見続けた。
「つまり——方向は正しい。でも、三か所の修正が必要で、フィンスラーはリーマンより難しく、そして追加で済むのか再設計が必要なのかは、まだわかっていない」
「そう」とリルル先生が言った。「……よく整理できたね」
「でも」とカイトが言った。「あのシステムは今、動いている。クライアントの電力グリッドは今夜も動いている」
「そう」とリルル先生は静かに言った。
「追加で済むかどうかを誰かが確かめる前に——システムは稼働している」
窓の外で、北海からの風がまた吹き始めた。
第三部:カイトの決意と当面の目標
カイトは考えました。そして、答えました。
カイト:「僕が目指したいのは、航空機のケーススタディで、必要に迫られて構築したフィンスラー多様体の上でも、リルルのWorld
Models系AI
Agentたち(14体いる。身体あり7体+身体なし7体)を動かして、次々に押し寄せる難題に対処するための数理解析や探索を行わせることです。電力業界だって、風力発電を考えると、北海の風は——向きによって強さが全然違う。季節によっても変わる。その非対称性を表現した多様体の上を、AI
Agentは活動しないといけない。--でも、最初から山の頂上を目指すのは現実的ではない。まずはできるとことから。
GI理論の1巻目と2巻目の方法で、VAEを経由して構築した経営環境多様体や、政策環境多様体の上で、多様体の曲がり具合をちゃんと考慮にいれたDeep
Reinforcement Learningのアルゴリズムと、World
Modelsのアルゴリズムで動くAI
Agentをつくること。まずはここをしっかりやりたい。
フィンスター多様体や、風力発電のタービンのまわり方が季節によって変わる問題設定に対応した多様体―――それが数学者の言葉では、なんていう名前の多様体なのかは、僕はまだ知らないーーーについては、ケーススタディでやってきたように、AI
Agentは使わずに、既存の数学手法で対応したい。当面の間は。」
リルル先生が静かにうなずいた。
「いい判断ね」
倉田教授がホワイトボードの前に立った。何かを書こうとして——やめた。今回は書かなかった。
「カイト、一つだけ確認させてくれ」
「はい」
「『VAEを経由して構築したリーマン多様体の上で、曲率を正しく組み込んだDRL』——これが当面の目標だとして。その『正しく組み込む』の中身は、さっき三か所と言った。遷移モデル、方策勾配、平行移動。この三か所を全部やる、ということでいいか」
「はい」とカイトは言った。「全部やります」
「それは」と倉田教授は言った。「既存の論文にはない。DeepMindも、OpenAIも、Anthropicも——誰も、GI理論が構築するようなVAEベースのリーマン多様体の上で、World
Modelsを動かす論文を出していない」
「知っています」
「つまりカイトがやろうとしているのは——」
「新しいアルゴリズムの設計です」とカイトは言った。「追加なのか再設計なのかは、やってみないとわからない。でも、やります」
リルル先生がカイトを見た。
しばらく黙っていた。
「……フィンスラー多様体については、カイトの言う通り、当面は既存の数学手法で対応する。AI
Agentは使わない。それは正しい判断よ」
「風力発電の問題設定について言えば」と倉田教授が補足した。「カイトが『名前を知らない』と言った多様体——風速の方向依存性と季節変動を同時に表現する多様体——は、厳密にはフィンスラー多様体の時間変動版、あるいは時変フィンスラー多様体と呼ぶべきものだ。計量が時刻
t
t にも依存する」
F
(
z
,
v
,
t
)
— 点・速度・時刻に依存するノルム
F(z,v,t)— 点・速度・時刻に依存するノルム
「その上でAgentを動かすのは——今の数学でも、今の工学でも——まだ誰もやっていない。だからカイトが後回しにするのは正しい」
カイトは改めてホワイトボードの図を見た。
当面の目標(確定):
【対象】VAEで構築したリーマン多様体 M_env
【アルゴリズム】World Models系DRL
【修正箇所】
①遷移モデル:指数写像を組み込む
②方策勾配:リーマン計量で持ち上げる
③平行移動:Levi-Civita接続を使う
【後回し】
・フィンスラー多様体上のAgent
・時変フィンスラー多様体(風力・季節変動)
→ 当面は既存の数学手法で対応
「これで整理できました」とカイトは言った。
「一つだけ聞いていいですか」
「どうぞ」とリルル先生が言った。
「14体のAgentが——7体の身体あり、7体の身体なし——全員、同じリーマン多様体
M
env
M
env
の上で動くとき、それぞれのAgentのポリシーパラメータ空間は——第一の多様体は——Agent
ごとに別々ですよね」
「そう」とリルル先生が言った。「
M
env
M
env
は全員で共有する。でも
M
weights
M
weights
は各Agentが固有に持つ」
「つまり第二の多様体は一つで、第一の多様体が14個ある」
「正確にそう」
カイトはその構図を頭の中で描いた。
M_env(第二の多様体):1つ ← 全員が動く共通の空間
↑
14体のAgentがそれぞれ異なる座標にいる
M_weights_i(第一の多様体):14個 ← 各Agentの学び方の空間
Agent_1 の θ_1
Agent_2 の θ_2
…
Agent_14 の θ_14
「そして今回、僕が設計しようとしているのは——」
「
M
env
M
env
の曲率を、14体全員の学習アルゴリズムに正しく組み込むこと」とリルル先生が言った。「第二の多様体の幾何学を、第一の多様体の更新に正しく反映させること」
「それが」と倉田教授が静かに言った。「誰もまだやっていないことだ」
北海の風がタービンを回していた。
カイトはノートを開いた。
最初の一行を書いた。
Step 1:指数写像を遷移モデルに組み込む
Step 1:指数写像を遷移モデルに組み込む の続きを書いてください。
2026年3月現在の数学者から誤りを指摘されない方法で、カイトたちが議論しているAI
Agentを設計する数学的な方法を最後まで書いてください。
第四部:リーマン多様体上のWorld Models DRL——数学的設計
カイトはノートを開いた。
最初の一行を書いた。
Step 1:指数写像を遷移モデルに組み込む
倉田教授が横から覗いた。
「順番に整理しよう。まず全体の設計図から」
ホワイトボードに書いた。
リーマン多様体 M_env 上の
World Models系DRL 設計図
【前提】
・M_env:VAEで構築したリーマン多様体
・計量:$g_{ij}(z) = (J_{f_\theta}^\top J_{f_\theta})_{ij}$
・クリストッフェル記号:$\Gamma^k_{ij}(z)$ は自動微分で計算可能
【修正が必要な三箇所】
Step 1:遷移モデル → 指数写像
Step 2:方策勾配 → リーマン勾配
Step 3:平行移動 → Levi-Civita接続
【追加で必要な一箇所】
Step 4:価値関数の測地線距離による再定式化
「Step 4が追加されました」とリンが言った。
「ベルマン方程式に距離が入るから、その距離の定義が測地線距離になる。それを明示する必要がある」
カイトはノートに書き足した。
Step 1:遷移モデルへの指数写像の組み込み
「標準的なWorld
Models——DreamerV3の世界モデル——の遷移モデルは」と倉田教授が書いた。
z_(t + 1) = z_t + f_{\theta}(z_t,a_t)(誤:ユークリッド加算)
「z_t ∈ \mathcal{M}{\text{env}} であるとき、z_t + f{\theta}(z_t,a_t)
という演算は多様体の外に出る可能性がある。正しくは」
z_(t + 1) = \exp_{z_t}(f_{\theta}(z_t,a_t))(正:指数写像)
「\exp_{z_t} は、点 z_tにおける指数写像。接空間
T_{z_t}\mathcal{M}{\text{env}}のベクトル v = f{\theta}(z_t,a_t)を、多様体上の点
z_(t + 1)に写す」
「具体的には」とリンが言った。「z_t から vの方向に測地線を引いて、長さ
∥ v∥_(g)だけ進んだ点が z_(t + 1)」
「VAEベースのリーマン多様体では」と倉田教授が続けた。「指数写像は閉じた形では書けないが、測地線方程式を数値的に解くことで計算できる」
$${\ddot{z}}^{k} + \Gamma_{ij}^{k}(z){\dot{z}}^{i}{\dot{z}}^{j} = 0
$$
「この常微分方程式を初期条件 z(0) = z_t、ż(0) = v で解いて、t = 1
での値が $\exp_{z_t}(v)$」
「クリストッフェル記号は」とカイトが言った。
$$\Gamma_{ij}^{k}(z) = \frac{1}{2}g^{kl}\left( \partial_{i}g_{jl} + \partial_{j}g_{il} - \partial_{l}g_{ij} \right)
$$
「$g_{ij}(z) = (J_{f_\theta}^\top J_{f_\theta}){ij}$
はVAEのデコーダのヤコビ行列から計算される。デコーダが
$C^\infty$であれば(tanhを使っていれば)、$g{ij}$ の空間微分
$\partial_k g_{ij}$はPyTorchの自動微分で計算できる」
倉田教授がノートに書いた。
def christoffel_symbols(z, decoder, metric):
"""
クリストッフェル記号 Γ^k_{ij}(z) の計算
Args:
z: 潜在空間の座標点 (d,)
decoder: VAEのデコーダ f_θ
metric: 計量テンソル g_{ij}(z) (d×d)
Returns:
Γ: shape (d, d, d) — Γ[k, i, j] = Γ^k_{ij}
"""
d = z.shape[0]
z = z.requires_grad_(True)
# g_{ij}(z) の計算
J = compute_jacobian(decoder, z) # (D, d)
g = J.T @ J # (d, d) — 引き戻し計量
g_inv = torch.linalg.inv(g) # g^{ij}
# ∂_k g_{ij} の計算(自動微分)
dg = torch.zeros(d, d, d) # dg[k, i, j] = ∂_k g_{ij}
for i in range(d):
for j in range(d):
grad = torch.autograd.grad(
g[i, j], z, create_graph=True
)[0]
dg[:, i, j] = grad
# Γ^k_{ij} = (1/2) g^{kl}(∂_i g_{jl} + ∂_j g_{il} - ∂_l g_{ij})
Gamma = torch.zeros(d, d, d)
for k in range(d):
for i in range(d):
for j in range(d):
for l in range(d):
Gamma[k, i, j] += 0.5 * g_inv[k, l] * (
dg[i, j, l] + dg[j, i, l] - dg[l, i, j]
)
return Gamma
def exponential_map(z, v, Gamma, steps=20):
"""
指数写像 exp_z(v) の数値計算
測地線方程式を Runge-Kutta で解く
$$\ddot{z}^k + \Gamma^k_{ij}(z)\dot{z}^i\dot{z}^j = 0$$
Args:
z: 出発点 (d,)
v: 接ベクトル(移動方向と大きさ)(d,)
Gamma: クリストッフェル記号 (d, d, d)
steps: 数値積分のステップ数
Returns:
z_{t+1}: 多様体上の到達点 (d,)
"""
# 測地線方程式を1階ODEに変換
# y = [z, ż] として dy/dt = [ż, -Γ^k_{ij} ż^i ż^j]
dt = 1.0 / steps
z_cur = z.clone()
v_cur = v.clone()
for _ in range(steps):
# z̈^k = -Γ^k_{ij}(z) ż^i ż^j
d = z_cur.shape[0]
z_ddot = torch.zeros(d)
for k in range(d):
for i in range(d):
for j in range(d):
z_ddot[k] -= Gamma[k, i, j] * v_cur[i] * v_cur[j]
# Euler法(実用上はRunge-Kutta 4次を推奨)
z_cur = z_cur + dt * v_cur
v_cur = v_cur + dt * z_ddot
return z_cur
「これで z_(t + 1) = \exp_{z_t}(f_{\theta}(z_t,a_t))が計算できる」
Step 2:方策勾配のリーマン勾配への修正
「標準的な方策勾配は」と倉田教授が書いた。
$\nabla_\theta J(\theta)$(誤:ユークリッド勾配)
「\mathcal{M}_{\text{env}} 上の目的関数 Jのリーマン勾配は」
grad_(g)J(z) = $g^{ij}$(z)∂_(j)J(z)(正:リーマン勾配)
「つまり計量の逆行列 $g^{ij}$でユークリッド勾配を持ち上げる」
「これはNPGと形が似ていますね」とカイトが言った。
「そう」とリルル先生が言った。「NPGはポリシーパラメータ空間のFisher計量で持ち上げる。今やっているのは状態空間
\mathcal{M}_{\text{env}}の引き戻し計量で持ち上げる。 形は同じで、対象の多様体が違う」
「World Models系DRLでは」と倉田教授が続けた。「価値関数
V : \mathcal{M}_{\text{env}} → ℝのリーマン勾配を使って方策を更新する」
$$\text{grad}_{g}V(z) = g^{ij}(z)\frac{\partial V}{\partial z^{j}}
$$
def riemannian_gradient(V_func, z, metric_inv):
"""
スカラー関数 V(z) のリーマン勾配
$$\mathrm{grad}_g V(z) = g^{ij}(z) \partial_j V(z)$$
Args:
V_func: 価値関数 V: M_env → R
z: 現在の座標点 (d,)
metric_inv: 計量の逆行列 g^{ij}(z) (d×d)
Returns:
リーマン勾配ベクトル (d,)
"""
z = z.requires_grad_(True)
V = V_func(z)
# ユークリッド勾配 ∂_j V
euclidean_grad = torch.autograd.grad(V, z)[0] # (d,)
# リーマン勾配 g^{ij} ∂_j V
riemannian_grad = metric_inv @ euclidean_grad # (d,)
return riemannian_grad
「スカラー関数のリーマン勾配にはChristoffel記号が現れないことを確認しておく」とリンが言った。「これは先ほど倉田教授が説明した通り。ベクトル場の共変微分ではないから」
Step 3:平行移動——Levi-Civita接続の実装
「これが最も数学的に繊細な箇所だ」と倉田教授が言った。
「World Models系DRLでは、時刻 tでの勾配情報を時刻
t + 1の点に伝播させる必要がある。しかし z_tでの接ベクトルと
「World Models系DRLでは、時刻 $t$ での勾配情報を時刻 $t+1$ の点に伝播させる必要がある。しかし $z_t$ での接ベクトルと $z_{t+1}$ での接ベクトルは、 異なる接空間 $T_{z_t}\mathcal{M}$ と
$T_{z_{t+1}}\mathcal{M}$ に住んでいる」
「ユークリッド空間では全ての接空間が同一視できるため、この問題が見えない。しかし
\mathcal{M}{\text{env}}が曲がっている場合、z_t での勾配を
z(t + 1)でそのまま使うのは幾何学的に不正確だ」
「平行移動の方程式は」
$$\frac{DV^{k}}{dt} = \frac{dV^{k}}{dt} + \Gamma_{ij}^{k}(z(t)){\dot{z}}^{i}(t)V^{j}(t) = 0
$$
「この方程式を解いて Vを z_tから z_(t + 1)まで運ぶ操作が平行移動」
def parallel_transport(V, z_start, z_end, Gamma_func, steps=20):
"""
接ベクトル V を z_start から z_end まで平行移動
$$\frac{DV^k}{dt} = \frac{dV^k}{dt} + \Gamma^k_{ij}(z)\dot{z}^i V^j = 0$$
Args:
V: 平行移動するベクトル (d,)
z_start: 出発点 (d,)
z_end: 到達点 (d,)
Gamma_func: クリストッフェル記号を返す関数
steps: 数値積分のステップ数
Returns:
z_end での平行移動後のベクトル (d,)
"""
dt = 1.0 / steps
# z_start から z_end への測地線を線形補間(近似)
# 精密には測地線そのものを使うべきだが
# 実用上は短距離なら線形補間で十分
z_cur = z_start.clone()
V_cur = V.clone()
z_dot = (z_end - z_start) # 速度ベクトル(一定と仮定)
for _ in range(steps):
Gamma = Gamma_func(z_cur) # (d, d, d)
# dV^k/dt = -Γ^k_{ij}(z) ż^i V^j
d = V_cur.shape[0]
V_dot = torch.zeros(d)
for k in range(d):
for i in range(d):
for j in range(d):
V_dot[k] -= Gamma[k, i, j] * z_dot[i] * V_cur[j]
z_cur = z_cur + dt * z_dot
V_cur = V_cur + dt * V_dot
return V_cur
Step 4:価値関数とベルマン方程式の測地線距離による再定式化
「標準的なDRLのベルマン方程式は」と倉田教授が書いた。
V(z_t) = r(z_t, a_t) + γ V(z_(t + 1))
「これ自体の形は多様体上でも変わらない。しかし報酬関数
rの設計に測地線距離を使う必要がある」
「ユークリッドでは目標状態 $z^$までの距離を
∥ z_t − $z^$∥で測る。多様体上では」
$$d_{g}(z_{t},z^{*}) = \int_{0}^{1}\sqrt{g_{ij}(z(s)){\dot{z}}^{i}(s){\dot{z}}^{j}(s)}\text{ }ds
$$
「測地線に沿った長さが真の距離だ。この距離を使って報酬を設計する」
r(z_t, a_t) = − d_(g)(z_(t + 1),$z^*$)²
「目標状態への測地線距離の二乗を最小化するように報酬を与える」
「測地線距離の計算は」と倉田教授が書いた。
def geodesic_distance(z_start, z_end, metric_func, steps=50):
"""
z_start から z_end までの測地線距離
$$d_g(z_{\text{start}}, z_{\text{end}}) = \int_0^1 \sqrt{g_{ij}(z)\dot{z}^i\dot{z}^j}\, dt$$
近似:測地線をオイラー法で解き、その長さを積分
精密には変分法による境界値問題を解く必要がある
Args:
z_start, z_end: 始点・終点 (d,)
metric_func: 計量テンソル g_{ij}(z) を返す関数
steps: 数値積分のステップ数
Returns:
測地線距離(スカラー)
"""
# 短距離近似:直線補間で計算
# 精密には測地線方程式の境界値問題を解く
total_length = 0.0
dt = 1.0 / steps
for i in range(steps):
t = i * dt
z_mid = z_start + t * (z_end - z_start)
z_dot = (z_end - z_start) # 速度(一定)
g = metric_func(z_mid) # (d, d)
# √(g_{ij} ż^i ż^j)
speed = torch.sqrt(z_dot @ g @ z_dot)
total_length += speed * dt
return total_length
全体の統合:M_env上のWorld Models DRL
「四つのStepを統合すると」と倉田教授が書いた。
class RiemannianWorldModelAgent:
"""
リーマン多様体 M_env 上の World Models 系 DRL Agent
GI理論のVAEパイプラインで構築した M_env の上で
曲率を正しく考慮した学習を行う
対応する三つの修正:
1. 遷移モデル:指数写像
2. 方策勾配:リーマン勾配
3. 平行移動:Levi-Civita接続
+ ベルマン方程式:測地線距離
"""
def __init__(self, decoder, latent_dim, action_dim):
self.decoder = decoder # VAEのデコーダ f_θ
self.d = latent_dim
self.action_dim = action_dim
# 世界モデル(M_env上のダイナミクスを学習)
self.transition_net = nn.Sequential(
nn.Linear(latent_dim + action_dim, 128),
nn.Tanh(), # C∞ 活性化関数(命題1.1)
nn.Linear(128, latent_dim)
)
# 価値関数 V: M_env → R
self.value_net = nn.Sequential(
nn.Linear(latent_dim, 128),
nn.Tanh(),
nn.Linear(128, 1)
)
# 方策 π: M_env → T M_env(接空間に値を取る)
self.policy_net = nn.Sequential(
nn.Linear(latent_dim, 128),
nn.Tanh(),
nn.Linear(128, action_dim)
)
def compute_metric(self, z):
"""引き戻し計量 g_{ij}(z) = J^T J の計算"""
J = compute_jacobian(self.decoder, z)
g = J.T @ J
g_inv = torch.linalg.inv(g + 1e-6 * torch.eye(self.d))
return g, g_inv
def step(self, z_t, a_t):
"""
M_env 上の一ステップ
z_{t+1} = exp_{z_t}(f_θ(z_t, a_t))
"""
g, g_inv = self.compute_metric(z_t)
Gamma = christoffel_symbols(z_t, self.decoder, g)
# 接ベクトル(移動方向)
v = self.transition_net(
torch.cat([z_t, a_t])
)
# Step 1:指数写像で多様体上の次の点を計算
z_next = exponential_map(z_t, v, Gamma)
return z_next
def compute_loss(self, z_t, a_t, z_next, z_goal, gamma=0.99):
"""
リーマン多様体上のベルマン損失
"""
g, g_inv = self.compute_metric(z_t)
# Step 4:測地線距離による報酬
reward = -geodesic_distance(z_next, z_goal,
lambda z: self.compute_metric(z)[0])
# 価値関数のリーマン勾配(Step 2)
V_next = self.value_net(z_next)
V_t = self.value_net(z_t)
# ベルマン方程式
target = reward + gamma * V_next.detach()
bellman_loss = (V_t - target) ** 2
# 方策損失:リーマン勾配方向に更新
V_grad_euclidean = torch.autograd.grad(
V_t, z_t, create_graph=True
)[0]
# Step 2:リーマン勾配
V_grad_riemannian = g_inv @ V_grad_euclidean
action = self.policy_net(z_t)
policy_loss = -torch.dot(action, V_grad_riemannian)
return bellman_loss + policy_loss
def update_across_timesteps(self, trajectory):
"""
軌跡全体での学習
平行移動でグラジェントを伝播(Step 3)
trajectory: [(z_0, a_0), (z_1, a_1), ..., (z_T, a_T)]
"""
total_loss = 0.0
# 時刻 T から逆向きに価値を伝播
V_grad = None
for t in reversed(range(len(trajectory) - 1)):
z_t, a_t = trajectory[t]
z_next, _ = trajectory[t + 1]
if V_grad is not None:
# Step 3:前の時刻の勾配を現在の点に平行移動
Gamma_func = lambda z: christoffel_symbols(
z, self.decoder,
self.compute_metric(z)[0]
)
V_grad = parallel_transport(
V_grad, z_next, z_t, Gamma_func
)
loss = self.compute_loss(z_t, a_t, z_next, z_goal=None)
total_loss += loss
return total_loss
倉田教授がホワイトボードを一歩引いて眺めた。
「数学的な注意点を三つ挙げておく」
「**一つ目。指数写像の計算精度**。測地線方程式を数値的に解くとき、ステップ数が少ないと誤差が積み重なる。実用上はRunge-Kutta
4次法を使うことを推奨する。また $z_t$ から $z_{t+1}$
の距離が大きい場合、測地線の数値解が不安定になる可能性がある」
「**二つ目。計量の正定値性の保証**。$g_{ij}(z) = J^\top J$
は命題1.1の条件が満たされる領域では正定値だが、Agentが多様体の『端』——訓練データが疎な領域——に近づくと、ヤコビ行列のランクが落ちて正定値性が崩れる。コードでは
$g + \varepsilon I$ の形で正則化している。この $\varepsilon$
の設定は実装上の重要なハイパーパラメータだ」
「**三つ目。計算コストの問題**。クリストッフェル記号の計算は $O(d^3)$
の計算量を持つ。潜在次元 $d$
が大きいと実用的でなくなる。X社の6次元なら問題ないが、クライアントの電力グリッドで
$d$ が大きい場合は近似手法が必要になる」
---
リルル先生がカイトのノートを見た。
「これで四つのStepが揃った。整理すると」
M_env 上の Riemannian World Models DRL
数学的に正確な設計
Step 1:遷移モデル
$$z_{t+1} = \exp_{z_t}(f_\theta(z_t, a_t))$$
← 測地線方程式を数値的に解く
Step 2:方策勾配
$$\mathrm{grad}_g V(z) = g^{ij}(z) \partial_j V(z)$$
← 計量の逆行列でユークリッド勾配を持ち上げる
Step 3:平行移動
$$\frac{DV^k}{dt} + \Gamma^k_{ij} \dot{z}^i V^j = 0$$
← Levi-Civita接続で勾配を時間方向に正確に伝播
Step 4:報酬・距離
$$r = -d_g(z_{t+1}, z^*)^2$$
← ユークリッド距離ではなく測地線距離を使う
【数学的保証】
・命題1.1の条件が満たされる限り
$g_{ij}$ は正定値 → 全Stepが well-defined
・多様体の外に出ない
(指数写像が M_env の内部に留まる)
・座標変換に対して不変
(共変微分はチャートの選択によらない)
「この設計は」とリルル先生が言った。「2026年3月現在、公開された論文に存在しない」
「存在しないから」とカイトが言った。「やる価値がある」
---
北海の風が窓を鳴らした。
タービンが回っていた。
カイトはノートの最後のページに書いた。
第二の多様体の上で
Agentが正しく動くとき——
攻撃なのか、欠陥なのかを、
数学は区別できるようになる。
それが——最も優れた防御だ。
第五部:指数写像とは何か——ユキへの説明
カイトが発言しました。「先生、僕、ここからさらに、さっきのフィンスラー多様体上でWorld
Model系のAI
Agentを動かす論文かけたら、ケンブリッジ大学から博士号取って、さらにルーカス教授になれますかね?」
ユキはカイトを笑いながら見ながら質問しました:「あの。すいません。私、最初のステップだけちょっとわからないんです。以下の部分です。指数写像って、なんですか?この質問、深層強化学習のアルゴリズムの勉強不足からくる質問です。初歩的な質問でごめんなさい」
『Step 1:遷移モデルへの指数写像の組み込み 「標準的なWorld
Models——DreamerV3の世界モデル——の遷移モデルは」と倉田教授が書いた。
「標準的なWorld Models——DreamerV3の世界モデル——の遷移モデルは」と倉田教授が書いた。
$$z_{t+1} = z_t + f_\theta(z_t, a_t) \quad \text{(誤:ユークリッド加算)}$$
「$z_t \in \mathcal{M}{\text{env}}$ であるとき、$z_t + f\theta(z_t, a_t)$ という演算は多様体の外に出る可能性がある。正しくは」
$$z_{t+1} = \exp_{z_t}(f_\theta(z_t, a_t)) \quad \text{(正:指数写像)}$$
「$\exp_{z_t}$ は、点 $z_t$ における指数写像。接空間 $T_{z_t}\mathcal{M}{\text{env}}$ のベクトル $v = f\theta(z_t, a_t)$ を、多様体上の点 $z_{t+1}$ に写す」 「具体的には」とリンが言った。「$z_t$ から $v$ の方向に測地線を引いて、長さ $|v|g$ だけ進んだ点が $z{t+1}$」』
リルル先生がカイトを見た。
「ルーカス教授は——」
少し間があった。
「なれるかどうかは知らない。でも、その問いを立てられる人間が書く論文は、読む価値がある」
倉田教授が小さく笑った。それ以上は何も言わなかった。
ユキの質問に、リルル先生が向き直った。
「初歩的じゃない。本質的な質問よ」
リルル先生がホワイトボードの前に立った。
「ユキ、一つ聞かせて。地球の表面で、東京から少し北に動きたいとする。『東京の座標に、北方向のベクトルを足す』——これは正しい操作だと思う?」
ユキが首をかしげた。
「……地球は丸いから、単純に足すだけじゃおかしい、ですか?」
「そう」とリルル先生が言った。「地球の表面は曲がっている。東京の座標 (35.7^(∘)N,139.7^(∘)E) に北方向のベクトルを ユークリッド的に足すと、地球の表面から浮き上がった点が出てくる。地球の外に出てしまう」
ホワイトボードに絵を描いた。
地球の断面図:
・z_{t+1}(ユークリッド加算の結果)
/ ← 地球の外!
/v
・z_t
(地球の表面)
「これがDreamerV3が犯している誤りの直感的な意味。z_t + f_{\theta}(z_t,a_t) という演算は、多様体 \mathcal{M}_{\text{env}} の 外に出た点を計算してしまっている」
「では指数写像は何をするのか」
リルル先生が絵を書き直した。
地球の断面図:
・z_t における接平面
↓
┌──────────────────┐
│ v↗ │ ← 接空間 T_{z_t}M
│ z_t ・ │
└──────────────────┘
↓ 指数写像
地球の表面に「折り返す」
↓
・z_{t+1}(地球の表面上)
「指数写像 $\exp_{z_t}(v)$ は、二つのことをする」
ホワイトボードに書いた。
指数写像 $\exp_{z_t}(v)$ の意味:
- z_t の接空間で「行きたい方向と距離」を定める
→ v = f_θ(z_t, a_t) がこれ
→ v は「接ベクトル」——地球の表面に接した平面上のベクトル
- その方向に、地球の表面に沿って(測地線に沿って)
‖v‖_g だけ進んだ点を返す
→ $z_{t+1}$ は必ず地球の表面の上にある
「つまり」とリルル先生が言った。「指数写像は『接空間のベクトルを、多様体上の点に変換する写像』」
ユキがゆっくりうなずいた。
「あ……。地球の表面で移動するとき、直線で飛んでいくんじゃなくて、地球の曲面に沿って歩く、みたいな感じですか」
「正確に言えた」とリルル先生が言った。
「接空間のベクトル v は『この方向にこれだけ動きたい』という 意図。指数写像はその意図を『多様体の表面から離れずに実現する』操作」
倉田教授が補足した。
「高校数学の言葉で言えば——円の上の点から『接線方向にこれだけ進む』と、接線の上の点に着く。しかし実際に円の上を動くには、接線ではなく円弧に沿って進む必要がある。指数写像はその『円弧に沿って進む』操作を一般の多様体に拡張したもの」
円の場合:
接線上の点(ユークリッド加算)
↑ 円の外
・───── 接線方向 v
↑
円の上の点 z_t
↓ 指数写像
円弧に沿って進んだ点 z_{t+1}
← 円の上
「じゃあ測地線というのは」とユキが言った。
「測地線は——曲がった空間での『最短経路』よ」とリルル先生が言った。「地球の表面での大圏航路。東京からニューヨークへの最短経路は、地図上の直線ではなく北極圏を通る曲線。あれが測地線」
「指数写像は、その測地線を使って定義されている。$\exp_{z_t}(v)$ は——z_t から出発して、接ベクトル v の方向に測地線を引いて、長さ ∥ v∥_(g) だけ進んだ点」
ユキがノートにメモした。
指数写像 $\exp_{z_t}(v)$ =
「z_t から v の方向に
多様体の表面(測地線)に沿って
距離 ‖v‖_g だけ進んだ点」
→ 結果は必ず多様体の上にある
→ ユークリッド加算のように多様体の外に出ない
「わかりました」とユキが言った。「DreamerV3は地球の表面を歩いているつもりで、実は地球の外に浮き上がった計算をしていた。指数写像を使うと、ちゃんと地球の表面の上を歩ける」
「……うん」とリルル先生が言った。「それで全部」
カイトがユキを見た。
「ユキさんの質問、全然初歩的じゃなかったですよ。僕が最初にわからなかったのも、まさにそこでしたから」
「でも」とユキが言った。「カイトさんはフィンスラー多様体でルーカス教授を目指してるじゃないですか」
「目指すのは自由ですから」とカイトは言った。
窓の外で、北海のタービンが静かに回っていた。
指数写像はなぜ「指数」なのか
ユキはさらに質問しました。「『指数写像はその『円弧に沿って進む』操作を一般の多様体に拡張したもの』。イメージはよくわかりました。測地線のことも、一般相対性理論の教科書を家で読んで勉強していたし、これまでのケーススタディの中から理解できていると思います。もう1つだけ、教えて下さい。『指数写像はその『円弧に沿って進む』操作を一般の多様体に拡張したもの』という点です。『円弧の沿って進む操作』は、指数関数とどうつながるんですか?」
リルル先生が少し微笑んだ。
「いい質問。これは名前の由来の話ね」
「まず、一番シンプルな例から始めよう」
ホワイトボードに書いた。
一番シンプルな多様体:単位円 S¹
・z_t = e^{iθ}(複素数の単位円上の点)
「単位円の上の点は複素数 $e^{i\theta}$ で表せる。ここで接ベクトル v(進みたい方向と距離)があるとき、円弧に沿って進んだ点は」
$\exp_{z_t}(v)$ = z_t ⋅ $e^{iv}$ = $e^{i\theta}$ ⋅ $e^{iv}$ = $e^{i(\theta+v)}$
「$e^{iv}$ が出てきた。 指数関数そのもの」
ユキがノートを見た。
「あ——指数写像の『指数』は、指数関数の指数なんですか」
「そう」とリルル先生が言った。「名前の由来はここにある」
「もう少し丁寧に見てみよう」
倉田教授が引き取った。
「高校で習う指数関数 $e^x$ には、こういう性質がある」
ホワイトボードに書いた。
e^x の性質:
$$\left.\frac{d}{dx}e^{tx}\right|_{t=0} = x \quad \leftarrow \text{微分すると元の}x\text{が出てくる}$$
つまり e^{tx} は:
・t=0 で 1(出発点)
・t=0 での速度(微分)が x
・t を増やすと x の方向に「流れていく」
「これは何を言っているか。$e^{tx}$ は—— 初速度 x で出発して、時刻 t に到達した点 」
「実数直線の上では、この『到達した点』はユークリッド的に 1 + tx(近似)または正確に $e^{tx}$ になる」
「球面 S² の上では——同じ発想を使う。点 z_t から、接ベクトル v の方向に、 測地線に沿って時刻 t = 1 まで流れる。その到達点が $\exp_{z_t}(v)$」
リルル先生が続けた。
「数式で確認しよう。測地線方程式は」
$${\ddot{z}}^{k} + \Gamma_{ij}^{k}{\dot{z}}^{i}{\dot{z}}^{j} = 0
$$
「これを初期条件 z(0) = z_t、ż(0) = v で解く。t = 1 での解が $\exp_{z_t}(v)$」
「平坦なユークリッド空間では \Gamma^k_{ij} = 0 だから」
$${\ddot{z}}^{k} = 0 \Rightarrow z(t) = z_{t} + tv
$$
「t = 1 で z(1) = z_t + v——これがユークリッドの『足し算』。Christoffel記号がゼロだから、指数写像は単なる加算に退化する」
「曲がった多様体では \Gamma^k_{ij} ≠ 0 だから、測地線は曲がる。その曲がり具合を補正しながら進んだ先が $\exp_{z_t}(v)$」
ホワイトボードにまとめた。
指数写像の名前の由来と意味:
実数直線:
exp(x) = e^x
=「原点から速度 x で出発して t=1 に着いた点」
単位円 S¹:
exp_{z_t}(v) = z_t · e^{iv}
=「z_t から速度 v で出発して t=1 に着いた点(円弧上)」
一般のリーマン多様体:
exp_{z_t}(v)
=「z_t から速度 v で出発して
測地線方程式に従って t=1 に着いた点」
=「$\ddot{z}^k + \Gamma^k_{ij}\dot{z}^i\dot{z}^j = 0$ の解の $t=1$ での値」
共通の構造:
どれも「初速度 v で出発して t=1 まで流れた点」
平坦なら e^v = 1 + v(加算)
曲がっているなら $\Gamma$ が補正する
ユキがゆっくりうなずいた。
「つまり——高校で習う $e^x$ も、球面上の $e^{iv}$ も、GI理論の多様体上の $\exp_{z_t}(v)$ も——全部、同じ発想の拡張なんですね。『初速度を与えて、決まった時間流した先の点』」
「……正確に言えた」とリルル先生が言った。
「平坦なユークリッド空間では、Christoffel記号がゼロだから補正がいらない。だから足し算で済む。DreamerV3はその世界を前提にしている」
「曲がった多様体では、Christoffel記号が空間の曲がりを補正しながら、正しい到達点を計算する。それが指数写像」
倉田教授が一行だけ書いた。
$$\Gamma = 0 \Rightarrow \exp_{z_t}(v) = z_t + v \quad \text{(DreamerV3の前提)}$$
$$\Gamma \neq 0 \Rightarrow \exp_{z_t}(v) \neq z_t + v \quad \text{(}\mathcal{M}_{\text{env}}\text{ の現実)}$$
「DreamerV3の誤りは——$\Gamma \neq 0$ の世界で $\Gamma = 0$ と仮定していること。それだけ」
ユキはノートを閉じた。
「わかりました。ありがとうございます」
少し間があった。
「……カイトさん」とユキが言った。「フィンスラー多様体でルーカス教授、応援してます」
カイトは窓の外を見ていた。
「まず、リーマン多様体から」
第六部:World Models系AgentはDRLなのか
カイトがいいました。
カイト:「ユキがいま質問してくれたことで、指数関数eが、曲がった空間の上で活動できるDeep
Reinforcement LearningアルゴリズムのAgentや、World
Models系Agentアルゴリズムを設計するときの鍵になることが見えてきました。ということは…今度の本のタイトルは、「指数関数の〇〇」ですかね?」
ユキがカイトを微笑ましく見つめながら、質問しました。:「World
Models系のAgentたちも、DRLアルゴリズムを使っているんですか?すいません。強化学習の基礎の質問ばかりで。多様体の話に入る以前の古典的な質問です。LLMベースの強化学習タスクを解かせるAgentは、DRLではなくTransformerベースだと思いますが。」
リルル先生がカイトを見た。
「『指数関数の——』」
少し間があった。
「……続きは、書いてから決めなさい」
カイトが笑った。
リルル先生がユキの方を向いた。
「これも本質的な質問。全然古典的じゃない」
ホワイトボードに書いた。
AIエージェントの分類:
① LLMベースのAgent
(ReAct、AutoGPT、Claude等)
→ Transformerで次のトークンを予測
→ 強化学習は「訓練時に使う」が
「推論時のアルゴリズム」はTransformer
→ ユキの言う通り
② DRL系のAgent
(DQN、PPO、SAC等)
→ 環境と相互作用しながらリアルタイムで学習
→ 報酬信号から価値関数・方策を更新
③ World Models系のAgent
(DreamerV1/V2/V3、MuZero等)
→ ここが今日の話の中心
→ DRLの一種だが、構造が特殊
「ユキの質問の核心は——World Models系AgentはDRLなのか、という点ね」
倉田教授が引き取った。
「答えから言う。World
Models系AgentはDRLの一種だ。 ただし、通常のDRLと大きく異なる構造を持つ」
ホワイトボードに書いた。
通常のDRL(Model-free):
環境 → 観測 s_t → Agent → 行動 a_t → 環境
↑
報酬 r_t で直接学習
「環境の中身を理解しようとしない」
「試行錯誤を繰り返して方策を改善する」
例:DQN、PPO、SAC
World Models系DRL(Model-based):
環境 → 観測 s_t → 【世界モデル】→ 想像の中で計画
↓
「こう動いたらこうなる」を予測
↓
想像の中で何度もシミュレーション
↓
最善の行動を選んで実行
「環境の構造を学習してから計画を立てる」
例:DreamerV3、MuZero
「どちらも最終的には報酬を最大化する方策を学習するという目標は同じ。だからどちらもDRLの一種」
「World Modelsの『世界モデル』とは何か」とリルル先生が続けた。
「DreamerV3を例にとると、世界モデルは三つの部品からなる」
DreamerV3の世界モデル:
① 表現モデル(Representation Model)
観測 x_t → 潜在状態 z_t
「現実を圧縮して理解する」
② 遷移モデル(Transition Model)
z_t, a_t → z_{t+1}
「行動したら次にどうなるか予測する」
← ここに指数写像が必要
③ 報酬モデル(Reward Model)
z_t → r_t
「その状態がどれだけ良いか評価する」
「この世界モデルを使って、Agentは頭の中で想像の軌跡を生成する。現実の環境に触れずに、何千回もシミュレーションできる。その想像の中で方策を改善する」
「GI理論のデジタルツインと同じ発想ね」とリルル先生が言った。「Vol.1の第6章で説明した——現実で試す前に、仮想空間で徹底的に試行錯誤する」
ユキがうなずいた。
「じゃあWorld ModelsとGI理論は——もともと親戚みたいな発想なんですね」
「そう」とリルル先生が言った。「GI理論はVAEで多様体を構築して、その上で最適制御を計算する。DreamerV3はVAEで潜在空間を構築して、その上で方策を学習する。使っている道具が重なっている」
倉田教授がホワイトボードに書いた。
GI理論とWorld Modelsの対応:
GI理論 DreamerV3
─────────────────────────────────
VAE(エンコーダ) ≒ 表現モデル
デコーダの潜在空間 ≒ 潜在状態空間 z_t
Neural ODE ≒ 遷移モデル
ポントリャーギン ≒ Actor-Critic
最大原理
違い:
GI理論 → 人間が目標を設定して最適軌道を計算
DreamerV3 → Agentが報酬から自律的に方策を学習
「そしてカイトが今日設計しようとしていること——」
GI理論のVAEで M_env を構築
↓
その M_env を DreamerV3 の潜在空間として使う
↓
遷移モデルに指数写像を組み込む(Step 1)
方策勾配をリーマン勾配に修正(Step 2)
平行移動をLevi-Civita接続で実装(Step 3)
↓
M_env の曲率を正しく考慮した
Riemannian World Models Agent
「これが、GI理論とWorld Modelsの本当の統合だ」
「LLMベースのAgentとの違いも整理しておこう」と倉田教授が言った。
LLMベースのAgent(ReAct等):
強み:言語理解、知識、推論、汎用性
構造:Transformerによるトークン予測
学習:事前学習+RLHF(訓練時のみ強化学習)
弱点:連続的な状態空間での精密な制御が苦手
多様体の幾何学的構造を扱えない
World Models系Agent(DreamerV3等):
強み:連続状態空間での精密な制御
環境の構造を学習して効率的に計画
構造:VAE+遷移モデル+Actor-Critic
学習:環境との相互作用から継続的に学習
弱点:状態空間がユークリッドと仮定している
← カイトが修正しようとしている点
「電力グリッドの問題設定では」とリルル先生が言った。「需給バランスの連続的な制御が必要。言語で指示するより、多様体上の幾何学的構造を使って精密に動く方が適している。だからWorld
Models系を選ぶ」
ユキがノートに書き終えた。
「整理すると——World
Models系AgentはDRLの一種で、VAEで潜在空間を作って、その中で想像しながら学習する。GI理論のVAEパイプラインと構造が重なっている。だからGI理論の多様体の上でWorld
Modelsを動かすという発想は——自然な統合」
「……うん」とリルル先生が言った。
「そしてその統合に、指数写像が鍵になる」
カイトが窓の外を見た。
「『指数関数の——』」
独り言のように言った。
「続きはまだ決まっていない」
タービンが回っていた。
第七部:なぜこの論文がまだ存在しないのか
ユキが最後に質問しました。
ユキ:「今、ここでの議論に立ち会うことができて、私、嬉しいです。忘れないように、後で復習できるように、いま必死にノートに書き留めてます。それで、質問があります。最初に、リルル先生と倉田教授は、多様体をつかった深層強化学習の論文はすでにいくつかある、と教えて下さりました。Riemannianという形容詞が付く論文もありました。それらの論文は、どれも、私たちがいま議論した、リーマン多様体を行動空間の足場に持つAI
Agentの設計するというテーマを追いかけてはいないということですね? これ、不思議なんです。GI理論の1巻目の最初の部分で、物理学や工学では、多様体用のリー微分や共変微分や多様体上の制御工学計算は、ふつうの研究であたりまえのようにおこなわれている。でも、社会学の世界では、そもそもデータが四半期や年次といった離散的なデータしかなく、滑らかで連続な可微分多様体は目指しても実現できないから、不可能だった。でも、VAEや、Geometric
Data
Scienceの登場で、2010年代以降、道が開けてきた。でも2010年代より前は、データ制約から難しかった。そしてもう1つは、経済学を含む社会科学の大学教育では、位相幾何学や微分幾何学、多様体、代数幾何学まで学ばないから、研究者がGI理論の発想を重い馬ばなかった。これが、私たちがいま議論している内容が、まだ論文になっていない理由ですか?
でも、物理や工学の問題をAI
Agentで解かせる方法を、数学者や物理学者、工学者が論文書いていてもおかしくないのですが…まだ論文が見当たらない。不思議・・・。」
リルル先生が椅子に座った。
珍しかった。説明するときは立っていることが多い。
「ユキ、それは——私も考えてきた問いよ」
「まず事実を整理しよう」と倉田教授が言った。
「存在する論文と、存在しない論文を分けて考える必要がある」
ホワイトボードに書いた。
存在する論文(確認済み):
①リーマン多様体上の最適化
→ Stiefel多様体、Grassmann多様体上でのDL重みの最適化
→ 対象:「学習アルゴリズムの重みパラメータ空間」
→ 第一の多様体の話
②Natural Policy Gradient(Kakade 2001)、TRPO、PPO
→ ポリシーパラメータ空間にFisher計量を導入
→ これも第一の多様体の話
③占有測度多様体上のDRL(Milosevic et al. 2024-2025)
→ 状態行動分布の空間にリーマン構造を導入
→ 第二の多様体に近づいているが、
「分布の空間」であって「状態空間そのもの」ではない
④階層型RLの潜在目標をリーマン多様体最適化として定式化
(Liu et al. 2022, IEEE ICME)
→ 最も近い。しかし:
・VAEベースの引き戻し計量ではない
・World Models系ではない
・GI理論のような業界固有データからの構築ではない
存在しない論文:
「VAEで構築した引き戻し計量付きリーマン多様体を
状態空間として、World Models系DRLで
AI Agentが方策を学習する」
→ これが今日の議論の核心
→ 2026年3月現在、存在しない
「なぜ存在しないのか」とリルル先生が言った。「ユキが挙げた理由は正しい。でも全部じゃない」
「整理しよう。理由は四層ある」
「第一層:ユキが指摘した理由——データと教育の壁」
社会科学・経営学側の壁:
・四半期・年次の離散データ
→ 滑らかな可微分多様体を構築できなかった
→ VAE登場(2013年〜)で初めて道が開けた
・教育の壁
→ 経済学・経営学の大学院で
微分幾何学・多様体論は必須科目ではない
→ 「多様体上で最適制御」という発想自体が
研究者の語彙に入っていない
「これはユキの言う通り。ただしこれは社会科学側の壁」
「第二層:工学・物理学側の壁——問題設定の違い」
倉田教授が書いた。
物理・工学の研究者が多様体上の制御を研究するとき:
対象とする多様体:
・SO(3)——ロボットの回転
・SE(3)——剛体の位置と姿勢
・球面 S²——方向ベクトル
・双曲空間——階層データ
これらは「既知の幾何学的構造を持つ多様体」
GI理論の多様体:
・ビジネスデータからVAEで構築
・計量が $g_{ij}(z) = J^\top J$ の引き戻し計量
・多様体の形がデータによって決まる
・事前に形がわからない
→ 物理・工学の研究者は
「形が既知の多様体」を扱ってきた
「データから動的に構築される多様体」は
彼らの問題設定に入っていなかった
「ロボット工学者はSO(3)上のDRLを研究する。なぜなら関節の回転はSO(3)に自然に住んでいるから。しかし電力グリッドの状態空間がどんな多様体になるかは、データを見るまでわからない。この『形が事前にわからない多様体』という問題設定が、物理・工学の文脈に入ってこなかった」
「第三層:機械学習コミュニティ側の壁——二つの多様体の混同」
リルル先生が書いた。
機械学習の研究者が「リーマン多様体上のDRL」を
研究するとき、ほぼ全員が扱うのは:
「第一の多様体」
→ ポリシーパラメータ空間
→ 重みの最適化のための幾何学
→ NPG、TRPO、PPO
「第二の多様体」を扱う研究は極めて少ない
→ Agentが「動く」状態空間の幾何学
なぜか:
機械学習の訓練ループは
「パラメータを更新する」ことが中心
→ パラメータ空間の幾何学は自然に目に入る
「状態空間の形」は所与のものとして扱われる
→ ユークリッド空間と仮定することへの
疑問が生まれにくい
「DreamerV3を作ったHafnerらは天才だ」と倉田教授が言った。「しかし彼らの問題設定は——Atariゲーム、DMControl、マインクラフト。これらの状態空間は、ユークリッド的に扱っても大きな誤差が出ない。だから問題が見えなかった」
「電力グリッドのような、業界固有データから構築した多様体の曲率が問題になるのは——GI理論のような問題設定を持ってきて初めて見えてくる」
「第四層:最も深い理由——二つの分野が出会っていない」
リルル先生が静かに言った。
必要な知識の組み合わせ:
①微分幾何学・リーマン幾何学
(数学者の領域)
②変分オートエンコーダ・深層学習
(機械学習の領域)
③深層強化学習・World Models
(強化学習の領域)
④業界固有データの構造
(応用領域——経営・電力・航空・海運)
この四つを同時に持つ研究者が
2026年3月現在、極めて少ない
「数学者はVAEを知らないことが多い。機械学習研究者は微分幾何学が専門でないことが多い。強化学習研究者はビジネスデータの構造に興味がない。そしてGI理論のような問題設定を持つ応用研究者は——今まで、世界モデルとリーマン幾何学を同時に扱う必要がなかった」
「分野の境界に落ちている問い、ということね」
倉田教授が最後にまとめた。
論文が存在しない理由(四層):
第一層:社会科学側——データと教育の壁
→ VAE以前は多様体構築が不可能だった
→ 微分幾何学が研究者の語彙にない
第二層:工学・物理学側——問題設定の違い
→ 「形が既知の多様体」を扱ってきた
→ 「データから動的に構築される多様体」は
彼らの問題設定の外にあった
第三層:機械学習側——二つの多様体の混同
→ 第一の多様体(パラメータ空間)は研究されてきた
→ 第二の多様体(状態空間)は見えていなかった
→ 問題設定がユークリッドで十分な場合に
集中してきた
第四層:最も深い理由——分野の交差点
→ 微分幾何学×深層学習×強化学習×業界データ
→ この四つを同時に持つ研究者が極めて少ない
→ 分野の境界に落ちている問い
ユキはノートを書き終えた。
しばらく黙っていた。
「……つまり」とユキが言った。「GI理論は、社会科学の問題設定を持ちながら、数学と機械学習と強化学習の交差点に立っている。だからこそ、この問いが見えた」
「そして」とカイトが言った。「だからこそ、まだ誰も解いていない」
リルル先生が窓の外を見た。
タービンが回っていた。
「分野の境界に落ちている問いは——拾う人間が現れるまで、ずっとそこに落ちたまま」
少し間があった。
「……拾いなさい」
まとめ
本記事で整理した核心を表にする。
| 問い | 答え |
|---|---|
| GI理論の多様体はリーマン多様体か | はい。$g=J^\top J$ の正定値性が構築の手順として保証する |
| 一般相対性理論と同じ数学的道具が使えるか | はい。共変微分・測地線方程式・曲率テンソル——全て同じ |
| 既存DRL(DreamerV3等)は多様体を正しく扱っているか | 第一の多様体(ポリシーパラメータ空間)はNPGが扱う。第二の多様体(状態空間)は無視している |
| 修正が必要な箇所 | ①指数写像(遷移モデル)②リーマン勾配(方策勾配)③Levi-Civita接続(平行移動)④測地線距離(報酬関数) |
| なぜこの論文がまだないのか | 四層の壁:データ制約・教育・問題設定・分野の交差点 |
GI理論はこれまで「地形図を作り(Vol.2)、最適ルートを計算する(Vol.1)」ところまで来た。次に問われるのは「地形図の上でAgentが自ら学ぶとき、地形の曲がり方がその学習アルゴリズムに正しく組み込まれているか」という問いである。これは2026年3月現在、まだ誰も論文にしていないフロンティアだ。
参考文献
- Amari, S. "Information Geometry and Its Applications." Springer, 2016
- Kakade, S. M. "A natural policy gradient." NeurIPS 2001
- Schulman, J. et al. "Trust Region Policy Optimization (TRPO)." ICML 2015
- Schulman, J. et al. "Proximal Policy Optimization (PPO)." arXiv 2017
- Hafner, D. et al. "Mastering Diverse Domains with World Models (DreamerV3)." arXiv 2023
- Müller, J. & Montúfar, G. "Geometry and convergence of natural policy gradient methods." Information Geometry 2023
- Milosevic, N. et al. "The Geometry of Nonlinear Reinforcement Learning." GTML 2025
- Liu, S. et al. "Searching Latent Sub-Goals in Hierarchical RL as Riemannian Manifold Optimization." IEEE ICME 2022
- Meta AI. "Deep Riemannian Manifold Learning." 2021
- Arvanitidis, G. et al. "Latent Space Oddity." ICLR 2018
- GI Theory Volume 1: https://doi.org/10.5281/zenodo.19140918
- GI Theory Volume 2: https://doi.org/10.5281/zenodo.19157891