「4次元だけ微分の世界が壊れるって本当ですか?」
第8話——Exotic多様体の衝撃と、最適輸送による分布の遷移追跡
前回のあらすじ:カイトが「手術理論の適用範囲を逸脱していないか」と一晩眠れなくなった疑問を持ち込み、リルル先生が「使うのはフルスケールの手術理論ではなくモース理論+分岐理論」と明確にした。実データの品質チェックは7項目中4項目が不合格。品質チェックの対処と創発現象への対応の両方を兼ねて、5つの幾何学的拡張(最適輸送・情報幾何・ポアンカレ埋め込み・シンプレクティック幾何・ワイル幾何)のロードマップが決定した。今回は最初の拡張——最適輸送。
この話は、以下の話の続きです。
プロローグ 廊下の会話
金曜の午後、研究室に向かうカイトとリンが、廊下の突き当たりで足を止めた。
リルル先生と数学科長の倉田教授が、立ち話をしている。声は聞こえないが、倉田教授が1冊の論文を手にしているのが見える。リルル先生が論文をめくりながら、何度か頷いている。
やがてリルル先生が戻ってきた。
リン: 先生、倉田先生と何を話していたんですか?
リルル先生: ……査読の依頼だよ。インドの若い数学者の論文。Exotic多様体に関する新しい結果らしい。
カイト: Exotic多様体?
リルル先生: 研究室に入ってから話そう。面白い話だから。
第1話 「4次元だけ、微分の世界観が劇的に変わる」
研究室。リーム(ウェブ会議でロンドンから参加)の画面が接続される。テーブルの上にウェルシュケーキ——リームがロンドンから送った薄い丸いケーキ。レーズンが入って、シナモンの香り。
リルル先生: さて、今日は最適輸送の実装に入る前に、倉田先生から受けた査読の話をするわ。直接関係するかどうか、みんなに考えてほしいの。
ユキ: Exotic多様体って何ですか?
リルル先生: 説明する。まず、多様体の「構造」には2つのレベルがある。
【多様体の構造の2つのレベル】
レベル1: 位相構造(トポロジー)
「ドーナツとコーヒーカップは同じ形」の世界。
連続的に変形できれば「同じ」とみなす。
→ 穴の数、つながり方だけが大事。
レベル2: 微分構造(滑らかさ)
位相的には同じ形でも、「微分」(接線の引き方、
曲率の計算、微分方程式の立て方)の
やり方が異なる場合がある。
→ 微積分の「ルールブック」が違う。
リルル先生: 普通の直感では、位相構造が同じなら微分構造も同じだろうと思うわよね?この直観は正しくて、実際、ほとんどの次元ではそうなっているの。
【各次元の微分構造の数】
次元1(直線): 微分構造は1つだけ
次元2(平面): 微分構造は1つだけ
次元3(3次元空間): 微分構造は1つだけ
次元4(4次元空間): 微分構造は——
非可算無限個。
次元5以上: 有限個(次元ごとに決まった有限個)
カイト: ……は?
ユキ: 非可算無限個?
リルル先生: そう。$\mathbb{R}^4$——4次元ユークリッド空間——には、通常の微分構造とは異なる「エキゾチックな」微分構造が非可算無限個存在する。これを**exotic $\mathbb{R}^4$**と呼ぶ。1982年にDonaldsonがゲージ理論(物理学の理論!)を使って最初の例を発見し、その後FreedmanとTaubesが非可算無限個の存在を証明した。
リン: 他のどの次元でも起きない現象が、4次元だけで起きる……。
リルル先生: そう。1次元、2次元、3次元、5次元、6次元……全部、微分構造は本質的に1つか有限個。4次元だけが特異的に「微分の世界観が劇的に変わる」。
リーム: (画面から、静かに)先生、直感的に言うと、どういうことが起きるんですか?
リルル先生: こう言える。
位相的には「普通の4次元空間」と全く同じ——つまり連続的に変形すれば通常の $\mathbb{R}^4$ と区別がつかない——のに、その上で微積分をやろうとすると、接線の引き方が通常と異なり、通常の座標系では記述できない領域が存在する。
たとえるなら、地図としては同じ国に見えるのに、ある地域だけ物理法則が微妙に違っていて、そこでは通常の計測器が正しく動かない——そういう感じ。
第2話 「うちの多様体に関係あるんですか?」
カイト: 先生、これ、うちの経営環境多様体に関係あるんですか?
リルル先生: それが今回、みんなに取り組んでもらいたい課題なの。3つに分解するね。
問1:経営環境多様体の幾何構造に影響するか?
リルル先生: うちのVAEの潜在空間は6次元。6次元のユークリッド空間 $\mathbb{R}^6$ には、exotic構造は存在しない(有限個で、かつ標準的な微分構造と微分同相)。だから——
うちの6次元潜在空間に関しては、exotic多様体の問題は直接的には発生しない。
カイト: じゃあ安心?
リルル先生: 待って。 話はそう単純じゃない。
問2:機械学習モデルのパラメータ空間に影響するか?
リルル先生: 深層学習モデルのパラメータ空間は高次元だ。VAEの重みの総数が100万個なら、パラメータ空間は100万次元。5次元以上の $\mathbb{R}^n$ にはexotic構造は存在しない(Stallings, 1962)から、高次元のパラメータ空間そのものにはexoticの問題は起きない。
ただし——
リン: ……ただし?
リルル先生: パラメータ空間の中の部分多様体——たとえば、損失関数が一定値の等位面や、SGDの軌道が通過する低次元の部分空間——が4次元多様体になっていたらどうだ?
リン: ……そこにexotic構造が潜む可能性がある。
リルル先生: 理論的にはYes。SGDが4次元の部分多様体の上を走っているとき、その部分多様体がexoticだったら、通常の勾配計算(接線ベクトルの定義に依存する)の意味が変わる可能性がある。
カイト: それって、SGDの最適化アルゴリズム自体が数学的に間違ったことをしている可能性があるってことですか!?
リルル先生: 原理的には、問いとして成立する。 ただし——
実務上は、この問題が具体的に影響を及ぼしたという報告は一つもない。 理由は2つ。
理由1: SGDが走るパラメータ空間の部分多様体の次元は、一般には4次元に限定されない。損失関数のレベルセットは典型的にはパラメータ数 $-1$ 次元(99万9999次元)で、exoticの問題が起きる4次元にはならない。
理由2: 機械学習は離散的な反復で計算する。有限精度の浮動小数点数で微分を近似している。exotic構造は無限小の滑らかさのレベルの問題であり、有限精度の数値計算では「見えない」。
【exotic多様体の影響の整理】
うちの潜在空間(6次元):
→ 直接的影響なし。6次元にexoticは存在しない。
機械学習のパラメータ空間(超高次元):
→ 直接的影響なし。高次元のR^nにexoticは存在しない。
→ ただし4次元の部分多様体が現れた場合は原理的に影響あり。
→ 実務上、この影響が観測された例はゼロ。
結論:
✓ 現在のパイプラインでは考慮不要。
△ しかし原理的には未解決の問い。
→ 「考慮しなくてよい理由」を理解しておくことが大事。
問3:既存の機械学習理論ではどう扱われているか?
リン: 先生、多様体学習(LLE, Isomapなど)やGeometric Deep Learningの文献で、exotic多様体が議論されているのを見たことがないのですが。
リルル先生: その通り。既存の機械学習理論では、exotic多様体はほぼ完全に無視されている。
理由は先ほどの実務的理由と同じ——影響が観測されたことがないから。ただし、これは「問題がない」ことの証明ではなく、「問題がまだ発見されていない」ということ。
リーム: 倉田先生からの査読依頼のインドの若い数学者は、何を証明しようとしているんですか?
リルル先生: 詳しくは守秘義務があるから言えない。ただ、方向性だけ言うと——exotic $\mathbb{R}^4$ 上での変分法(最適化問題の数学的基盤)が、標準的な $\mathbb{R}^4$ 上の変分法と異なる振る舞いをするケースの具体例を構成しようとしている。
もしこれが成功すれば、「4次元パラメータ空間上の最適化は、他の次元と本質的に異なりうる」ことの初めての具体例になる。
カイト: ……すごい話ですけど、今日は最適輸送をやるんですよね?
リルル先生: (笑)そうだ。exotic多様体の話は「頭の片隅に置いておく」レベル。今日の主題に戻ろう。
リン: でも先生、一つだけ確認させてください。国家安全保障のケーススタディ(11話で予定)で8次元の潜在空間を使いますよね。8次元にはexotic構造は?
リルル先生: $\mathbb{R}^8$ にはexotic構造は存在しない。ただし、8次元の球面 $S^7$ にはexotic構造が存在する(Milnor, 1956。28個のexotic球面)。もしVAEの潜在空間がコンパクトな多様体(球面に近い形)として振る舞う場合、exoticの影響が原理的に出る可能性がある。
リン: ……それは11話で議論しましょう。
リルル先生: 賛成。じゃあ、最適輸送の議論に入るね。
第3話 「点の遷移」から「分布の遷移」へ
リルル先生: ここまでのパイプラインでは、経営状態を潜在空間上の1つの点として表現してきた。「X社の経営状態は $(z^1, z^2, ..., z^6) = (1.2, -0.8, ...)$」のように。
でも実際の企業は、複数の店舗、拠点、製品ラインの集合体だ。アパレル企業なら数千店舗があり、各店舗が潜在空間上の1点に対応する。企業全体の経営状態は、点ではなく点の集合=確率分布として表現すべき。
ユキ: 1つの点じゃなくて、点の雲?
リルル先生: そう。そして「経営状態の変化」は、点の移動ではなく分布の変形——点の雲全体が形を変えながら動いていく。
この「分布から分布への遷移」を測る道具が、最適輸送のWasserstein距離。
第4話 最適輸送の直感——「砂山を動かすコスト」
リルル先生: Wasserstein距離の直感はこう。
2つの砂山がある。砂山Aから砂山Bに砂を移し替えたい。砂粒1個を距離 $d$ だけ動かすコストは $d$。全ての砂粒を移し替えるための総コストの最小値がWasserstein距離。
$$W_p(\mu, \nu) = \left(\inf_{\gamma \in \Pi(\mu, \nu)} \int_{M \times M} d(x, y)^p , d\gamma(x, y)\right)^{1/p}$$
$\mu$, $\nu$ が2つの分布、$d(x, y)$ が多様体上の測地線距離、$\gamma$ が「どの砂粒をどこに移すか」の計画(輸送計画)。
ユキ: 砂山の形が近ければコストが小さく、遠ければコストが大きい。
リルル先生: そう。そして重要なのは、Wasserstein距離は多様体上の測地線距離を使って定義できること。うちの引き戻し計量が入っているから、経営指標間の相関構造を反映した「本当の距離」で分布間の差を測れる。
第5話 実装——50店舗の売上分布の遷移追跡
カイト: 実装しました。POTライブラリ(Python Optimal Transport)を使います。
import numpy as np
import torch
import ot # Python Optimal Transport library (pip install POT)
class ManifoldOptimalTransport:
"""
経営環境多様体上の最適輸送。
引き戻し計量による測地線距離を使って
Wasserstein距離を計算する。
"""
def __init__(self, vae, metric_fn):
self.vae = vae
self.metric_fn = metric_fn
def encode_stores(self, store_data):
"""
各店舗のデータを潜在空間に変換。
Args:
store_data: shape [n_stores, n_features]
Returns:
z_stores: shape [n_stores, latent_dim]
"""
self.vae.eval()
with torch.no_grad():
mu, _ = self.vae.encode(
torch.tensor(store_data, dtype=torch.float32)
)
return mu.numpy()
def geodesic_distance_matrix(self, z_points):
"""
潜在空間上の点群間の測地線距離行列を計算。
正確な測地線は計算コストが高いため、
引き戻し計量の局所近似を使用。
d(z_i, z_j) ≈ sqrt((z_i - z_j)^T * G_mid * (z_i - z_j))
G_mid = g((z_i + z_j)/2)
"""
n = len(z_points)
D = np.zeros((n, n))
for i in range(n):
for j in range(i+1, n):
z_mid = torch.tensor(
(z_points[i] + z_points[j]) / 2,
dtype=torch.float32
)
g = self.metric_fn(z_mid).detach().numpy()
diff = z_points[i] - z_points[j]
d = np.sqrt(diff @ g @ diff)
D[i, j] = d
D[j, i] = d
return D
def wasserstein_distance(self, z_source, z_target,
weights_source=None, weights_target=None):
"""
2つの店舗分布間のWasserstein距離を計算。
Args:
z_source: 時点t1の各店舗の潜在座標 [n1, d]
z_target: 時点t2の各店舗の潜在座標 [n2, d]
weights_source: 各店舗の重み(売上比率など)
weights_target: 同上
Returns:
W: Wasserstein距離
transport_plan: 最適輸送計画 [n1, n2]
"""
n1, n2 = len(z_source), len(z_target)
if weights_source is None:
weights_source = np.ones(n1) / n1
if weights_target is None:
weights_target = np.ones(n2) / n2
# 全点間の測地線距離行列
all_points = np.vstack([z_source, z_target])
D_full = self.geodesic_distance_matrix(all_points)
cost_matrix = D_full[:n1, n1:] # [n1, n2]
# EMD(Earth Mover's Distance)= 1-Wasserstein距離
transport_plan = ot.emd(weights_source, weights_target, cost_matrix)
W = np.sum(transport_plan * cost_matrix)
return W, transport_plan
def track_distribution_evolution(self, store_data_timeseries):
"""
店舗分布の時間発展をWasserstein距離で追跡。
Args:
store_data_timeseries: list of [n_stores, n_features]
各時点の全店舗データ
Returns:
W_timeseries: 隣接時点間のWasserstein距離の時系列
transport_plans: 各時点間の最適輸送計画
"""
T = len(store_data_timeseries)
W_timeseries = []
transport_plans = []
z_prev = self.encode_stores(store_data_timeseries[0])
for t in range(1, T):
z_curr = self.encode_stores(store_data_timeseries[t])
W, plan = self.wasserstein_distance(z_prev, z_curr)
W_timeseries.append(W)
transport_plans.append(plan)
z_prev = z_curr
if (t+1) % 12 == 0:
print(f" Year {(t+1)//12}: W = {W:.4f}")
return np.array(W_timeseries), transport_plans
第6話 「2020年3月に分布がジャンプした」
カイト: アパレル企業の50店舗のデータで走らせました。結果がこれです。
=== Wasserstein距離の時系列(月次)===
2019-01 → 02: W = 0.12
2019-02 → 03: W = 0.15
...(略。通常は0.10〜0.20の範囲で推移)
2020-01 → 02: W = 0.18
2020-02 → 03: W = 2.74 ← !!!
2020-03 → 04: W = 1.89
2020-04 → 05: W = 0.95
...(徐々に通常レベルに戻る)
カイト: 2020年3月。パンデミック。Wasserstein距離が通常の15倍以上に跳ね上がった。
リルル先生: 7話目の品質チェックで「2020年パンデミックが曲率マップに検出されない」と報告したのを覚えてる?
カイト: はい。スカラー曲率は点推定だから、分布全体の急激な変動を捉えられなかった。でもWasserstein距離なら——
リルル先生: 分布レベルの急変を直接的に定量化できる。 7話目の品質チェック不合格項目「既知イベントの不検出」が、最適輸送で解決した。
リーム: 先生、もう一つ重要なことがあります。
リルル先生: 何?
リーム: Wasserstein距離が $2.74$ というのは、分布が連続的に変形したのではなく、突然別の分布にジャンプしたことを意味しています。通常の月次変動の15倍ですから、これは連続的な輸送では説明できない。
リルル先生: ……いいところに気づいた。これは通常の最適輸送の枠組みでは扱えない。Unbalanced Optimal Transportの領域だ。
第7話 Unbalanced Optimal Transport——「質量が保存しない輸送」
リルル先生: 通常の最適輸送は「砂の総量が変わらない」ことを前提にしている。砂山Aの砂を全部砂山Bに移す。でもパンデミック時には——
カイト: 店舗が閉鎖された。砂粒が「消えた」。
リルル先生: そう。50店舗のうち一部が休業し、営業している店舗の売上構造も激変した。分布の「質量」自体が変わった。これを扱うのがUnbalanced Optimal Transport。
def unbalanced_wasserstein(z_source, z_target,
weights_source, weights_target,
cost_matrix, reg=0.1, reg_m=1.0):
"""
Unbalanced Optimal Transport(質量非保存の輸送)。
通常のOT: Σ weights_source = Σ weights_target = 1(質量保存)
Unbalanced OT: 質量の生成・消滅を許す。
パンデミックで店舗が閉鎖 → 質量(売上)が消滅
新規出店 → 質量(売上)が生成
reg_m: 質量のバランスを緩める度合い
小さい → 質量保存に近い
大きい → 質量の生成・消滅を大幅に許す
"""
# Sinkhorn-Knopp法のUnbalanced版
transport_plan = ot.unbalanced.sinkhorn_unbalanced(
weights_source, weights_target, cost_matrix,
reg=reg, # エントロピー正則化
reg_m=reg_m, # 質量バランスの正則化
)
W_unbalanced = np.sum(transport_plan * cost_matrix)
# 質量の変化を分析
mass_source = weights_source.sum()
mass_target = weights_target.sum()
mass_change = mass_target - mass_source
print(f"Source mass: {mass_source:.3f}")
print(f"Target mass: {mass_target:.3f}")
print(f"Mass change: {mass_change:+.3f}")
if abs(mass_change) > 0.1 * mass_source:
print("⚠️ 質量の大幅な変化を検出。")
print(" Unbalanced OTが必要な状況。")
return W_unbalanced, transport_plan
リルル先生: Unbalanced OTを使うと、パンデミック時の変動を「既存店舗間の売上移動」と「店舗閉鎖による質量消滅」に分解できる。
2020年3月の分析:
通常の輸送コスト(店舗間の売上移動): 1.2
質量消滅コスト(店舗閉鎖): 1.54
合計: 2.74
→ パンデミックの影響のうち56%は「店舗閉鎖」、
44%は「営業中の店舗の売上構造の変化」。
カイト: これ、経営者にとって超重要な情報ですね。「全体の影響のうち半分以上は店舗閉鎖のせいで、残りが売上構造の変化」——対策の優先順位が明確になる。
第8話 「創発のカスケードを最適輸送で記述する」
リーム: 先生、最適輸送を創発現象のカスケード分析にも使えますか?
リルル先生: 使えるわ。番外編で観察されたカスケード——宇宙Agentの行動が波紋のように他の領域に伝播した——を、Wasserstein距離の波動方程式として記述できるの。
def analyze_cascade_with_ot(
curvature_snapshots, timestamps, grid_points, metric_fn
):
"""
カスケードの伝播パターンを最適輸送で分析。
各時点の曲率マップを「分布」として扱い、
時点間のWasserstein距離とoptimal transport planから
「曲率がどこからどこへ移動したか」を追跡する。
"""
mot = ManifoldOptimalTransport(vae=None, metric_fn=metric_fn)
cascade_analysis = []
for t in range(1, len(timestamps)):
# 曲率マップを正規化して確率分布に変換
# 正の曲率 → 「安定性の質量」
# 負の曲率 → 別の分布として扱う
curv_prev = curvature_snapshots[t-1]
curv_curr = curvature_snapshots[t]
# 正の曲率の分布(安定性の分布)
pos_prev = np.maximum(curv_prev, 0)
pos_curr = np.maximum(curv_curr, 0)
if pos_prev.sum() > 0 and pos_curr.sum() > 0:
w_prev = pos_prev / pos_prev.sum()
w_curr = pos_curr / pos_curr.sum()
# 測地線距離行列
D = mot.geodesic_distance_matrix(grid_points)
# 最適輸送計画
plan = ot.emd(w_prev, w_curr, D)
W = np.sum(plan * D)
# 輸送の「方向」を分析
# 安定性がどの領域からどの領域に移動したか
flow_directions = extract_flow_directions(plan, grid_points)
cascade_analysis.append({
'time': timestamps[t],
'wasserstein': W,
'flow': flow_directions,
'mass_change': pos_curr.sum() - pos_prev.sum(),
})
return cascade_analysis
リルル先生: このアプローチの利点は、カスケードを「安定性の質量が多様体上を輸送される現象」として可視化できること。「宇宙企業の領域から安定性が流出し、石油企業の領域を経由して、アパレル企業の領域に到達した」——という伝播経路が、輸送計画として定量的に描ける。
第9話 信頼区間とSHAP——第2層の原則
リルル先生: それじゃあ、約束通り、最適輸送にも第2層の3本柱を適用していきましょう。
MCドロップアウト → Wasserstein距離の信頼区間
def wasserstein_with_uncertainty(mot, store_data_t1, store_data_t2,
n_mc=200):
"""
MCドロップアウトでWasserstein距離の信頼区間を計算。
"""
mot.vae.train() # ドロップアウト有効
W_samples = []
for _ in range(n_mc):
z1 = mot.encode_stores(store_data_t1)
z2 = mot.encode_stores(store_data_t2)
W, _ = mot.wasserstein_distance(z1, z2)
W_samples.append(W)
mot.vae.eval()
W_arr = np.array(W_samples)
print(f"Wasserstein distance: {W_arr.mean():.3f} ± {W_arr.std():.3f}")
print(f"95% CI: [{W_arr.mean()-1.96*W_arr.std():.3f}, "
f"{W_arr.mean()+1.96*W_arr.std():.3f}]")
return W_arr.mean(), W_arr.std()
SHAP → Wasserstein距離の変数分解
def shap_wasserstein(mot, X_train, x_t1, x_t2, feature_names):
"""
Wasserstein距離を元のビジネス変数にSHAP分解。
「分布のずれの原因は為替変動が40%、需要変動が30%」
"""
import shap
def W_as_function(X_t2):
"""x_t1は固定、x_t2をSHAPで変化させる"""
Ws = []
for x in X_t2:
z1 = mot.encode_stores(x_t1)
z2 = mot.encode_stores(x.reshape(1, -1))
W, _ = mot.wasserstein_distance(z1, z2)
Ws.append(W)
return np.array(Ws)
background = X_train[np.random.choice(len(X_train), 50, replace=False)]
explainer = shap.KernelExplainer(W_as_function, background)
shap_values = explainer.shap_values(x_t2.reshape(1, -1))
return shap_values[0]
リルル先生: これで「2020年3月のWasserstein距離 $2.74 \pm 0.42$ のうち、店舗閉鎖(質量消滅)の寄与が56%、消費者行動変容が28%、サプライチェーン遅延が16%」のような分解が可能になる。
第10話 品質チェックの更新
リルル先生: 最適輸送の導入により、品質チェックに新しい項目を追加する。
【品質チェック(最適輸送版の追加項目)】
□ 隣接時点間のWasserstein距離の時系列が安定しているか
・通常の変動範囲を外れた「ジャンプ」がないか?
→ ジャンプがあればUnbalanced OTに切り替え。
□ Wasserstein距離でも既知イベントを検出できるか
・2020年パンデミック → 検出 ✓(W = 2.74)
→ 7話目の不合格項目「既知イベント不検出」が解消。
□ Wasserstein距離の信頼区間が妥当か
・MCドロップアウトの信頼区間が変動の30%以内か?
→ 大きすぎる場合はVAE再訓練。
エピローグ
カイト: 今日の話を整理すると……exotic多様体の話と、最適輸送の話、全然違う話だったのに、両方とも「うちの多様体で何が起きているかを正確に知る」っていう目的ではつながってますね。
リルル先生: そうよ。exoticの話は「微分の世界が次元によって違いうる」という原理的な注意喚起。最適輸送の話は「点ではなく分布として経営状態を捉える」という実践的な拡張。どちらも「多様体上で何が起きているかを、より正確に記述する」ための道具だったわ。
リーム: 先生、最適輸送を私のAgentに組み込みます。特にアパレル企業と石油企業のAgentに、Wasserstein距離ベースの環境認識を追加します。
リルル先生: いいね。次回は情報幾何とポアンカレ埋め込み——計量テンソルの条件数が高すぎる問題の根本対処と、企業の組織階層の扱い。
ユキ: ウェルシュケーキ、おいしかったです。
リーム: (微笑んで)次回はバッテンバーグケーキを送ります。ピンクと黄色の市松模様のケーキです。
ユキ: 楽しみ!
まとめ
| 論点 | 結論 |
|---|---|
| Exotic多様体と経営環境多様体 | 6次元潜在空間には直接影響なし。4次元部分多様体が現れた場合のみ原理的に関係する。実務上は考慮不要だが、原理的には未解決 |
| Exotic多様体と機械学習 | 既存の多様体学習・GDL文献ではほぼ完全に無視。パラメータ空間の部分多様体が4次元のとき原理的に影響しうるが、有限精度の数値計算では「見えない」 |
| 最適輸送の導入 | 経営状態を「点」ではなく「分布」として捉える。Wasserstein距離で分布間の遷移を定量化 |
| パンデミックの検出 | 曲率マップでは不検出だったパンデミックが、Wasserstein距離(W=2.74、通常の15倍)で明確に検出。品質チェック不合格の解消 |
| Unbalanced OT | 店舗閉鎖による質量消滅を扱う。パンデミック影響の56%が店舗閉鎖、44%が売上構造変化 |
| 創発のカスケード分析 | 安定性の質量の輸送として可視化。伝播経路を定量的に描ける |
次回予告: 「先生、Fisher計量を引き戻し計量の『補助計量』にしたら、条件数が24,800から340まで下がりました」「劇的だね。でもFisher計量を入れるということは、確率分布族を仮定するということだ。1話目で情報幾何を『分布を知ってる前提だから使いにくい』と言った問題をどう解決した?」「……VAEのデコーダ自体を確率分布族と見なしました」——情報幾何とポアンカレ埋め込みの実装編。バッテンバーグケーキはリームが送ってきた。
📚 Zenn Book『ジオメトリック インテリジェンス』について
本連載の出発点(起点)になったZenn Book『ジオメトリック インテリジェンス』は、以下をご参照ください。
カイトたちが言及している「経営環境多様体アプローチ」のより厳密な数学的定式化、およびVAEやNeural ODEを用いた全ステップのPython実装(約27万字)については、上記のZenn Bookに完全収録しています。