第0回: 幾何学という言語: この講義の羅針盤
注意事項
- 本回は数学的道具の導入であり、特定のモデルへの適用条件はまだ問わない。
- 「多様体」「測地線」等の概念を深層学習に適用する際は、各回で改めて「どの条件下で成り立つか」を確認する。
- 本回で紹介する五つの道具(多様体、測地線、曲率、リーマン計量、情報幾何学)は、後続の章でそれぞれ具体的な文脈で再登場する。
- 各概念の厳密な定義は数学の教科書に委ねており、本回は直感と使い方を優先している。
導入:なぜ幾何学なのか
深層学習の手法は急速に変化する。2年前の最先端は今日の常識となり、明日には陳腐化するかもしれない。新しいモデルの名前を追いかけるだけで一日が終わる、という感覚に覚えがある読者もいるだろう。しかし、その追いかけっこの奥に、驚くほど動じないものが一つある。「空間の形」についての問いである。
個々の手法がどう動くか(How)を積み上げるだけでは、次のモデルが出るたびに知識を作り直すはめになる。本講義が問いたいのは、なぜその設計が有効なのか(Why)のほうだ。その答えを与えるのが 幾何学 という言語である。
幾何学は、空間の「形」を記述する数学だ。平らな紙の上で成り立つ定理が、地球儀の上では崩れる。深層学習の表現空間も同様に、私たちの素朴な直感が通用しない「曲がった空間」であることが多い。この講義では、その曲がり方を理解し、設計に活かすための道具を整える。
多様体:局所と大域の二重構造
多様体とは何か
多様体(manifold) とは、局所的には ユークリッド空間(直線・平面・3次元空間のように、まっすぐな座標軸で測れる「平らな」空間)に見えるが、大域的には異なる構造を持つ空間のことである。
最も身近な例は地球である。足元の地面は、目に見える範囲では平らに見える。実際、歩いているだけで地球が丸いと気づく人はいない。しかし、地球全体を見れば、それは球面である。球面全体を、1枚の平面座標(1つの地図)で歪みなく表すことはできない。そのため実際には、地球儀の表面をいくつかの「地図」に分け、互いに重なり合う領域を持たせながら貼り合わせて全体を扱う。
多様体を理解する直感の1つは、 「存在して良い場所が制限されることで自由度(次元)が下がる」 という見方である。例えば3次元空間内の球面上の点は、常に
下図では 「多様体の局所と大域の構造」 を並べて可視化する:
図: 多様体の局所と大域の構造。球面を複数の局所座標系(地図)で分割し、互いに重なり合う領域を持たせながら貼り合わせる。局所的には平坦に見えるが、大域的には曲がっている。
| 視点 | 地球の場合 | 深層学習の表現空間 |
|---|---|---|
| 局所的 | 近所は平らに見える | (滑らかだと仮定すれば)小さな摂動は接空間で線形近似できる |
| 制限(厚み) | 上下方向への移動が制限される | パラメータ間の依存関係や制約により、実質的な自由度が落ちる |
| 大域的 | 実際は球面 | 全体の構造は曲がっている |
NOTE
多様体とリーマン多様体の区別: 厳密には、多様体とは「局所的にユークリッド空間と同相」な空間であり、距離や角度は定義されていない。距離、角度、曲率を語るには、リーマン計量を入れた リーマン多様体 が必要である。深層学習の文脈では、表現空間がユークリッド空間である場合には内積(計量)が自然に入り、埋め込まれた多様体には誘導計量が入るため、両者を厳密に区別しないことが多い。
多様体の機能的階層
多様体は、その「滑らかさ」や「測り方」の度合いによって、扱える道具(微分、距離、曲率…)が段階的に増えていく。以下は、本講義で登場する三つの階層である。
| 階層 | 一言でいうと | 扱える道具 | 本講義での登場 |
|---|---|---|---|
| 位相多様体 (Topological Manifold) | 「つながり」の最小単位 | 連続変形、穴やループの数え上げ | 第14回(TDA) |
| 可微分多様体 (Differentiable Manifold) | 「方向」を語れる(微分できる)空間 | 接空間、微分(differential) | 第8回(Neural ODE)等 |
| リーマン多様体 (Riemannian Manifold) | 「定規と分度器」を備えた空間 | 距離、角度、測地線、曲率 | 第3回~第5回(球面)、第12回(双曲空間) |
下に行くほど「構造が豊か」になる。位相多様体はドーナツとコーヒーカップを同一視する世界であり、距離も角度も定義されていない。可微分多様体になると接空間が定まり、関数の微分(differential:入力の小さな変化に対する出力の変化を一次近似で捉える写像)が計算できるようになる。これが勾配降下法の「方向」を語る下地となる。ただし、微分(differential)はそれ自体では「どちらの方向が最も急か」を教えてくれない。微分から勾配ベクトル(gradient:最も急な方向を指す具体的なベクトル)を一意に取り出すには、方向どうしの長さや角度を比較する物差し、つまりリーマン計量が要る。リーマン計量を入れて初めて、「最短経路はどれか」「空間はどれだけ曲がっているか」を語ることができる。
TIP
この階層は「望遠鏡の倍率」のようなものだ。倍率を上げる(構造を追加する)ほど詳細が見えるが、そのぶん前提(滑らかさ、計量の存在など)も重くなる。各回で「今どの階層の話をしているか」を意識すると、議論の射程が明確になる。
深層学習に現れる具体的な空間モデル
上の階層が「どのレベルの道具を使えるか」を決めるのに対し、ここでは「どんな形の空間を選ぶか」という種別の話をする。深層学習で頻出する多様体は、大きく分けて以下の三つである。
| 種別 | 主な役割 | 幾何学的特徴 | 本講義での登場 |
|---|---|---|---|
| 統計多様体 | 「確率分布の形」 を捉える | 各点が確率分布に対応し、フィッシャー情報計量を「定規」とする | 第4回(Softmaxと情報幾何)、Appendix 4・Appendix 5 |
| 双曲多様体 | 「階層構造」 を埋め込む | 負の曲率を持ち、指数関数的な広がりにより膨大な親子関係を低次元で保存する | 第12回(ポアンカレ円板) |
| 代数多様体 | 学習の特異性(相転移、汎化)を解析する | 多項式で定義され、特異点(トゲ) を持ちうる。学習の相転移や汎化の謎を解く鍵 | Appendix 6(特異学習理論) |
統計多様体は第4回以降の情報幾何学パートで中心的な舞台となる。双曲多様体は第12回で専門的に扱う。代数多様体は本講義の主役ではないが、Appendix 6で紹介する特異学習理論(SLT)の土台であり、「なぜ深層学習は汎化するのか」という根本問題に関わる。
NOTE
階層と種別の関係: 統計多様体は、パラメトリックモデルが正則(フィッシャー情報行列が正定値)である場合、フィッシャー計量によりリーマン多様体として扱える。双曲多様体も同様にリーマン多様体の一種である。一方、深層学習のモデルでは対称性や冗長性(同じ分布を表すパラメータが複数存在する等)によりフィッシャー情報が退化(半正定値化)しうるし、代数多様体は特異点を持ちうるため、滑らかさを前提とする可微分多様体やリーマン多様体の枠組みにはそのままでは収まらない。この「はみ出し」こそが、Appendix 6で扱う特異学習理論の出発点である。
なぜ多様体が重要か
深層学習において、データは高次元空間に埋め込まれるが、その「意味のある部分」は多くの場合、より低次元の多様体(あるいはそれに近い構造)上に集中している。これを 多様体仮説(manifold hypothesis) と呼ぶ(Fefferman et al., 2016)。
「存在して良い場所」が制限されているということは、データが持つ真の自由度が、見かけ上の次元数よりもはるかに小さいことを意味する。数百万次元の空間を自由に泳ぎ回れるように見えて、実際には決められた薄皮の上しか動けない、ということだ。
顔画像のデータセットを考えよう。各画像は数百万画素のベクトルとして表現される。座標の数だけ見れば、天文学的な自由度があるように思える。しかし「顔らしさ」を決める自由度(表情、向き、照明など)はせいぜい数十から数百程度である。つまり、顔画像は高次元空間という広大な「体積」の中に、ごく薄く折りたたまれた「低次元の皮(多様体)」として存在していると考えられる。
この構造を理解し、その「皮」に沿った移動や補間を行うことが、表現学習の中心課題である。
別の言い方をすれば、確率分布という「霧」が多様体上に広がっており、私たちが手にするデータはその霧の中からサンプリングされた一点に過ぎない。顔画像なら「顔らしさ」の分布が霧であり、数百万画素のベクトルはそこから取り出された一粒だ。
本講義では、この「霧」とそこから取り出された「点」の関係を段階的に解像度を上げながら扱う。以下の4つの概念が、それぞれの回で登場する。
| 用語 | 幾何学的正体 | 登場回 |
|---|---|---|
| データ ( | 分布(霧)からサンプリングされた一点 | 第0回(本回) |
| 情報量 ( | 確実性からの遠さ: | 第4回 |
| エントロピー ( | 分布(霧)の広がり具合(体積) | 第7回 |
| フィッシャー情報 ( | 分布の変化のしやすさ(感度)=違いを区別できる能力 | Appendix 4 |
NOTE
多様体仮説の限界: 多様体仮説は多くの実験的証拠に支持されているが、実データが「厳密な多様体」であるとは限らない。(i) ノイズや離散性により滑らかな多様体にならない、(ii) 局所次元が場所によって変わる、(iii) クラス境界付近で自己交差する、(iv) クラスごとに非連結な“島”になる、などが起こりうる。実務では「多様体」というより 「低次元構造っぽさ」 として捉える方が安全である。後続回では、「多様体と見なせるためにどの仮定が必要か」を明示する。
測地線:曲がった空間での「直線」
測地線とは何か
平らな空間では、2点間の最短経路は直線である。定規を当てて引けばそれで終わりだ。では、曲がった空間ではどうか。定規は当てられない。それでも「まっすぐ」に相当する何かは、まだ定義できるはずである。
測地線(geodesic) とは、多様体上における「直線」の概念を一般化したものである。直感的には 「ハンドルを切らずに、その空間の歪みに沿って真っ直ぐ進む道」 と言える。地球の表面という曲面上でこの条件を満たす経路は、球の中心を通る平面が球面と交わってできる円、すなわち大円(great circle)に対応する(Lee, 2018)。東京からニューヨークへの最短航路が地図上で奇妙に曲がって見えるのは、球面上の測地線を平面に投影しているからだ。
| 空間 | 曲率 | 測地線の形 | 例 |
|---|---|---|---|
| ユークリッド空間 | 0 | 直線(線分) | 紙の上で定規を引く |
| 球面 | 正 | 大円の弧 | 飛行機の最短航路 |
| 双曲空間 | 負 | (モデルによるが)境界に直交する円弧など | 第12回で詳しく扱う |
NOTE
測地線は「最短」とは限らない:
測地線とは、多様体上で「真っ直ぐ進む」ことを一般化した概念であり、『(適切なパラメータ付けのもとで) 長さ (あるいはエネルギー) の変分が 0 になる=「停留点」を満たす曲線』として定義される。 さらに物理的には、表面という拘束条件の下でも内在的にはハンドルを切っていない運動に対応し、数式では曲線
最短性との違い:
球面上の2点を結ぶ測地線は大円の弧で表される。近い2点では短い方の弧が最短だが、同じ「大円に沿って進む」経路でも、区間の取り方によっては全体として最短でない測地線がありうる(局所的には“真っ直ぐ”でも、大域的な最短性は保証されない)。
一意性の喪失:
球面の対蹠点(真裏)に向かう場合、出発点から到達点へ至る大円が無数に存在し、それらは同じ長さの測地線になるため、「最短経路」が一意に定まらない。
TIP
用語の省略について: 厳密には「線全体」と「その一部(区間)」は異なる。 しかしながら、文脈から明らかなら「の弧」を省略して、「測地線(の弧)」は単に「測地線」、「大円(の弧)」は単に「大円」とよぶ。 本講義でも、2点間を結ぶ経路を指す場合は、断りがない限り「弧(一部)」のことを指す。
深層学習における測地線
表現空間が球面(単位球面上に正規化されたベクトル)として 明示的に設計されている 場合、2つの表現間の「自然な補間」は測地線に沿って行われるべきである。
単純な線形補間(ユークリッド空間での直線)では、中間点が球面から外れてしまう。これに対し、球面線形補間(Slerp: Spherical Linear Interpolation) は、球面上の測地線に沿った補間を与える(Shoemake, 1985)。以下の図で 「球面線形補間(Slerp) vs 線形補間」 を比較する。
図: 球面線形補間(Slerp)と線形補間の比較。Slerpは球面上の測地線(大円)に沿って補間するため、すべての中間点で単位ベクトルのノルムが保たれる。一方、線形補間は球面を突き抜けるため、中間点のノルムが1未満になる。
CAUTION
Slerpが適切なのは「球面制約が設計に組み込まれている場合」に限られる。 埋め込みが正規化されていない場合、あるいはコサイン類似度を使っていても学習目的が球面幾何と整合しない場合は、Slerpが「意味的に自然な補間」を与える保証はない。「意味の線形性」は幾何というよりタスクや損失関数の設計に依存する。
import torch
def slerp(v0, v1, t):
"""球面線形補間(Slerp)
Args:
v0, v1: 単位ベクトル(正規化済み)
t: 補間パラメータ(0から1)
Returns:
球面上の測地線に沿った補間点
"""
# 内積からなす角を計算
dot = torch.clamp(torch.sum(v0 * v1), -1.0, 1.0)
theta = torch.acos(dot)
# 特殊ケース:ほぼ同じ方向
if theta.abs() < 1e-6:
return v0
# Slerp公式
sin_theta = torch.sin(theta)
return (torch.sin((1 - t) * theta) / sin_theta) * v0 + (torch.sin(t * theta) / sin_theta) * v1CAUTION
Slerpは
曲率:空間の「曲がり具合」
曲率とは何か
曲率(curvature) は、空間がどれだけ「平ら」から逸脱しているかを定量化する。定規と分度器だけでは、この逸脱は測れない。三角形を描き、内角の和を測る必要がある。直感的には、以下のように区別できる:
| 曲率 | 特徴 | 例 | 深層学習での用途 |
|---|---|---|---|
| 正(positive) | 三角形の内角の和が180°より大きい | 球面 | 第3回:球面埋め込み |
| ゼロ(zero) | 三角形の内角の和がちょうど180° | 平面 | 古典的なユークリッド空間 |
| 負(negative) | 三角形の内角の和が180°より小さい | 双曲面(鞍型) | 第12回:階層構造の表現 |
曲率の直感的理解
球面上で三角形を描いてみよう。北極から赤道上の2点へ線を引くと、赤道上の辺と合わせて「三角形」ができる。この三角形の内角の和は、180°を超える。極端な例では、北極から赤道まで下り、赤道を90°移動し、北極へ戻ると、各角が90°の三角形ができる。内角の和は270°だ。
これが 正の曲率 の特徴である。空間が「膨らんでいる」ために、三角形が「太る」。
逆に、鞍型の曲面(プリングルスの形)では、三角形は「痩せる」。これが 負の曲率 である。図では 「曲率による三角形の違い」 を並べて確認する。
図: 曲率による三角形の違い。平面(曲率=0)では内角の和が180°、球面(曲率>0)では180°より大きく、双曲面(曲率<0)では180°より小さい。
曲率と平行移動
曲がった空間のもう一つの特徴は、ベクトルを「平行に」移動しても、元に戻ったときに向きがズレることだ。
地球上で北極に立ち、南を向いた矢印を持っているとしよう。この矢印を「向きを変えずに」赤道まで運び、赤道に沿って90°移動し、北極へ戻る。すると、矢印は最初の向きから90°ズレている。
この「ズレ」の量が曲率を反映している。深層学習の文脈では、表現空間の曲率が学習ダイナミクスに影響を与える(第4回で詳述)。図は 「球面上の平行移動とベクトルの回転」 を示し、北極→赤道→北極の経路で90°回転する様子を描いている。
図: 球面上の平行移動とベクトルの回転。北極→赤道→北極の経路でベクトルを平行移動させると、元の位置に戻ったときに90°回転している。球面は曲がっているため、ベクトルを「平行に」移動しても、元の場所に戻ったときに向きがズレる。
リーマン計量:「距離の測り方」を定める
リーマン計量とは何か
リーマン計量(Riemannian metric) は、多様体上で「距離」や「角度」を測るための数学的装置である。より正確には、各点における接空間(その点での「平らな近似」)に内積を定めるものだ。
平らな空間では、距離は単純なユークリッドノルムで測れる:
しかし、曲がった空間では「どの方向に進むか」によって距離の測り方が変わりうる。リーマン計量は、この「方向依存の距離感」を定式化する。
統計的モデルという名の「多様体」
リーマン計量を深層学習に応用する第一歩は、確率分布を「点」として捉えることにある。分布を数値の集まりではなく、空間の中の一点として見る。この視点の切り替えが、以後の議論すべての土台になる。
あるモデルが
- 点: 個々の確率分布
- 座標: パラメータ
- 空間(多様体): パラメータを変化させて得られるすべての分布の集合
この「分布を点として集めた」空間を、本講義では 確率分布の空間 と呼ぶ。ユークリッド空間との違いは、そこに住む「点」が位置ではなく確率分布であるという一点に尽きる(確率変数の定義域
この視点に立つと、「モデルの学習」は 「分布の多様体上を、目的関数が最小となる点に向かって移動するプロセス」 と見なせる。 しかし、この空間で距離を測る際、単なるパラメータの差(ユークリッド距離)を使うと、分布としての実質的な変化量を無視してしまう。例えば、確率
NOTE
「点」の内部構造:スカラから分布へ
情報幾何学では、「点」という概念が多層的な意味を持つ。
- データ空間の点: 観測された
個の数値(ベクトル) - 表現空間の点: 高次元ベクトルとしての埋め込み(向きと長さ)— Word2VecやTransformerなどの決定論的な中間表現
- 統計多様体上の点: ある確率分布に対応し、
はその点を指定する座標(パラメータ)
最も驚くべきは第3の視点である。統計多様体の各点は、ある確率分布
番地の付け方(座標系)が変わっても、そこに存在する場所(分布の性質)は変わらない。情報幾何学は、パラメータという「番地」の選び方に左右されない、分布そのものに固有の幾何学構造を扱おうとする。 この「座標系の取り方に依存しない性質」は、より正確には 再パラメータ化不変性 (reparameterization invariance)と呼べる。 座標(パラメータ)を変えると成分表示は変わるが、同じ幾何学的対象を記述している、という意味である。 これは実践的な判定基準としても読める。座標の付け替えだけで結果が変わるなら、それは実装や計量の取り方が座標の選び方に依存してしまっている兆候である。
CAUTION
本文で扱う統計多様体は、
ユークリッド空間の点が「位置」だけを持つのに対し、統計多様体の点は「起こりうるすべての事象に対する確率の配分」という、はるかに豊かな構造を代表している。この視点転換が、情報幾何学の出発点である。
詳細は Appendix 4: 空間の「物差し」再考: 2点間から情報の密度まで を参照。
では、この曲がった空間での正しい「ものさし」はどう定義されるのか。パラメータの差(ユークリッド距離)は、同じ「幅」でも分布の変化量が方向によって異なるため、そのままでは使えない。この「分布の変化しやすさ」を反映したリーマン計量がフィッシャー情報行列(Fisher Information Matrix) であり、定義と詳しい役割は第4回とAppendix 4で扱う。
NOTE
記号
- ネットワークの重み
:学習によって更新される実体そのもの。数百万〜数十億次元。 - ロジット
:入力画像 と重み から、順伝播で決まる3次元ベクトル。 - 確率
:確率単体 上の点。「猫・犬・鳥である確率」の3つ組。
第4回やAppendix 4でフィッシャー情報行列の対象として登場する
情報幾何学:確率分布の多様体
甘利俊一の情報幾何学
情報幾何学(Information Geometry) は、確率分布の空間を多様体として扱う学問である。甘利俊一によって体系化され(Amari, 2016)、統計学、機械学習、物理学に広く応用されている。
そのアイデアは次の一文に要約できる:
確率分布の空間にリーマン計量を入れると、統計的推論が幾何学的な言葉で記述できる。
具体的には:
| 統計的概念 | 幾何学的解釈 |
|---|---|
| 最尤推定 | 多様体への射影 |
| KLダイバージェンス | 非対称な「距離」(ブレグマンダイバージェンス) |
| 自然勾配 | リーマン計量に沿った勾配 |
| 十分統計量 | 多様体の座標系の選び方 |
表中の自然勾配(Natural Gradient) は、この計量で勾配を補正し、分布の変化量を基準に更新方向を決める学習手法である。定義と最適化手法との関係は第4回で詳しく扱う。
本講義の立ち位置
本講義は、情報幾何学の精神を受け継ぎつつ、深層学習の具体的な幾何構造に焦点を当てる。特に:
これらは、情報幾何学の一般論というより、実践的な設計指針として扱う。
本講義の地図:平坦から曲がった世界へ
五つの道具を並べ終えた。多様体、測地線、曲率、リーマン計量、情報幾何学。それぞれ単体でも意味を持つが、これから旅する各回で進むべき方向を指し示す羅針盤として、一そろいで働く。手法が陳腐化しても、この羅針盤が指す「空間の形」への問いは古びない(Bronstein et al., 2021)。
三つの世界
本講義は、表現空間の「形」を軸に、以下の世界をめぐる。
| 世界 | 曲率 | 典型的な手法 | 講義での位置 |
|---|---|---|---|
| 平坦 (古典的な機械学習) | ゼロ | PCA, SVM, Word2Vec(初期) | 第1回~第2回 |
| 球面 (現代の深層学習) | 正 | nGPT, ArcFace, CLIP | 第3回~第7回 |
| 双曲 (その先) | 負 | Poincaré Embedding, HypLoRA | 第12回 |
| 位相 (その先) | - | TDA, Persistent Homology | 第14回 |
NOTE
表の分類軸について: ここでの「球面」「双曲」は、表現空間の設計において明示的にその幾何構造が導入されている ことを指す。例えばnGPTは単位球面上での正規化を明示的に行い、Poincaré Embeddingは双曲空間での埋め込みを前提とする。ただし、これらの手法が「本質的に」その幾何を必要とするかどうかは議論の余地がある。各回で、何が幾何学的制約であり何がそうでないかを区別する。
連続と離散の界面
ニューラルネットワーク内部では、連続空間における「旅」をするが、 最終的には必ず離散的なトークンや決定という「地表」に着地 しなければならないという点には注意が必要だ。
モデルの内部では、あらゆる概念は高次元のベクトル(連続値)として、無限のグラデーションの中に浮かんでいる。どちらとも決めかねる中間状態を、いくらでも取れる世界である。 しかし、我々がモデルに求めるのは「次にくる単語は『猫』である」という明確な一択、つまり離散的な回答である。 Softmaxは、連続的なロジットを確率分布に変換する。Attentionは、連続的な類似度を重みに変換する。これらの操作は、連続と離散の界面で起きている。
翻訳モデルが「Apple」という単語を日本語に翻訳する場面を考えよう。内部では「リンゴ(果物)」と「アップル(企業)」の間で連続的な重みの引き合いが起きている。どちらか一方に決まっているわけではない。 最終的に出力されるのはどちらか一方の離散的な単語だが、その決定の直前まで、モデルは連続的な確率分布をもっている。
第4回では、この界面をSoftmaxと情報幾何学の観点から再検討する。
スパース性:高次元空間の「ほとんどが空」
高次元空間には、直感に反する性質がある。3次元の感覚のままでは、次の一文を読んでもにわかには信じがたいだろう。第13回で詳しく扱うが、ここで予告しておこう:
高次元空間では、ランダムに選んだ2つのベクトルは、ほぼ確実に直交に近い。
図: 高次元空間でのランダムベクトルの直交性。単位球面上の一様ランダムベクトルの内積分布は、次元dが大きくなるほど0に集中する(標準偏差 ≈ 1/√d)。次元が上がるほど、ランダムベクトルはほぼ直交する。
NOTE
理論的背景: 単位球面上の一様ランダムベクトル
この性質は、呪いにも祝福にもなりうる。
- 呪い:距離の区別がつきにくくなる(kNNの困難)
- 祝福:互いに干渉しない表現を大量に詰め込める可能性
Mixture of Experts(MoE)は、高次元空間を活用するアーキテクチャの一例である。各Expertが異なる部分空間を担当し、入力に応じて適切なExpertだけを活性化する(疎な活性化)。
IMPORTANT
MoEの設計原理の中心は「直交性」ではない。 MoEが成立する主な要因は、(1) 条件付き計算(疎な活性化)による計算効率、(2) 容量分割によるパラメータ効率、(3) ルーティング学習の安定化技術、である(Shazeer et al., 2017; Fedus et al., 2022)。高次元での直交性は「Expert間の干渉が起きにくい」という 直感の補助 にはなるが、MoEの成立要因を幾何だけで説明することはできない。
幾何学の限界:形は測れても、正しさは測れない
幾何学は「空間の形」を測る道具で、「その空間に注ぎ込まれたデータの真偽」 については関知しない。
「1+1=2」と「1+1=3」の埋め込みベクトルは、どちらも正規化すれば単位球面上の点になる。一方は正しく、一方は誤りだと私たちは知っている。しかし幾何学的には、両者は単に「異なる方向を向いた単位ベクトル」に過ぎない。どちらが「正しい」かは、幾何学の範疇外である。
| 幾何学が見るもの | 真偽判定に必要なもの |
|---|---|
| 距離、曲率、位相(内在的性質) | 世界知識、論理規則、観測事実(外部参照) |
この限界については、Appendix 2: 多様体の純度問題: 幾何学がまだ解けていない課題 で詳しく議論する。
IMPORTANT
正規化は「形式の安定」を与えるが、「内容の真偽」には中立である。幾何学に真偽判定を期待するのは、定規に善悪の判断を期待するようなものだ。
現時点で、データの真偽を判定するには、幾何学の外にある道具が必要である:
- Tool Use:計算エンジンや検索エンジンで事実を検証
- 合成データ:論理エンジンで「正しい」データを生成
- 人手ラベリング:人間が「良い/悪い」を判定
これらはいずれも「幾何学的手法」ではない。 本講義では、幾何学が解決できる問題と、解決できない問題を区別して理解してほしい。
続編への接続:静的から動的へ
本講義は、空間の形(どこに配置されているか)を扱う。しかし、深層学習には「形」だけでは捉えられない側面がある。情報がどう流れるか(どう移動するか)という動的な視点だ。
続編「動態論」では、この動的な視点を導入する:
| 講義 | 問い | 主語 | 典型的な対象 |
|---|---|---|---|
| 空間の形(本講義) | 空間の形は何か | 表現(embedding) | 球面、双曲空間、情報幾何 |
| 動態論(続編) | 情報はどう流れるか | 軌道(trajectory) | 拡散、フロー、推論過程 |
例えば、拡散モデルは「ノイズからデータへの旅」を記述する。この旅を理解するには、連続の式(質量保存)、速度場(どの方向に流れるか)、作用(どの経路が最適か)といった、流体力学の言葉が必要になる。
本講義で「空間の形」を理解した後、続編で「情報の流れ」を学ぶことで、深層学習の幾何学的な全体像が見えてくる。
まとめ:五つの道具
| 概念 | 定義 | 深層学習での役割 |
|---|---|---|
| 多様体 | 局所的に平坦、大域的に曲がった空間 | 表現空間の構造を記述 |
| 測地線 | 曲がった空間での「直線」(局所的にまっすぐ進む経路) | 表現間の自然な補間(Slerp等) |
| 曲率 | 空間の曲がり具合の定量化 | 正規化や埋め込み設計の指針 |
| リーマン計量 | 距離と角度の測り方 | 自然勾配、学習ダイナミクスの理解 |
| 情報幾何学 | 確率分布を多様体として扱う | Softmax、KL、温度の幾何学的解釈 |
数式を追えるようになることは、最終的な目標ではない。この講義を通じて獲得してほしいのは、以下のような問いを自然に発することができる直感である:
- 「この表現空間は、どんな形をしているのか」
- 「この正規化は、空間をどう変形しているのか」
- 「この距離関数は、何を『近い』と定義しているのか」
- 「この手法の本質は、幾何学的に何をしているのか」
次回予告
第1回「かつての地図」では、古典的な機械学習が前提としていたユークリッド空間観を振り返る。PCA、SVM、LDAといった手法が、いかに「平らな世界」を暗黙の前提としていたかを確認し、見落とされていた構造の兆しを掘り起こす。
実装ノート:幾何学的直感を検証する
NOTE
以下のコードは PyTorch >= 1.9 を前提とする。再現性のために torch.manual_seed(42) 等でシードを固定することを推奨。
高次元での直交性の確認
高次元空間でランダムベクトルがほぼ直交することを、実験で確認しよう:
コード例: 00_random_orthogonality.py
import torch
def check_random_orthogonality(dims, n_pairs=1000):
"""高次元でランダムベクトルの内積分布を調べる"""
results = []
for d in dims:
# 単位球面上の一様ランダムベクトル
v1 = torch.randn(n_pairs, d)
v1 = v1 / v1.norm(dim=1, keepdim=True)
v2 = torch.randn(n_pairs, d)
v2 = v2 / v2.norm(dim=1, keepdim=True)
# 内積の計算
dots = (v1 * v2).sum(dim=1)
results.append({"dim": d, "mean": dots.mean().item(), "std": dots.std().item()})
return results
# 実験
dims = [10, 100, 1000, 10000]
results = check_random_orthogonality(dims)
for r in results:
print(f"d={r['dim']:5d}: mean={r['mean']:+.4f}, std={r['std']:.4f}")
# 期待される結果:
# d= 10: mean≈0, std≈0.32
# d= 100: mean≈0, std≈0.10
# d= 1000: mean≈0, std≈0.032
# d=10000: mean≈0, std≈0.010
# → 次元が上がると標準偏差が 1/√d で減少測地線(Slerp)と線形補間の違い
コード例: 00_slerp.py
import torch
def slerp(v0, v1, t):
"""球面線形補間"""
dot = torch.clamp(torch.sum(v0 * v1), -1.0, 1.0)
theta = torch.acos(dot)
if theta.abs() < 1e-6:
return v0
sin_theta = torch.sin(theta)
return (torch.sin((1 - t) * theta) / sin_theta) * v0 + (torch.sin(t * theta) / sin_theta) * v1
def lerp(v0, v1, t):
"""線形補間(正規化なし)"""
return (1 - t) * v0 + t * v1
def lerp_normalized(v0, v1, t):
"""線形補間して正規化"""
v = (1 - t) * v0 + t * v1
return v / v.norm()
# 3次元で可視化
v0 = torch.tensor([1.0, 0.0, 0.0])
v1 = torch.tensor([0.0, 1.0, 0.0])
ts = torch.linspace(0, 1, 20)
slerp_points = torch.stack([slerp(v0, v1, t) for t in ts])
lerp_points = torch.stack([lerp(v0, v1, t) for t in ts])
lerp_norm_points = torch.stack([lerp_normalized(v0, v1, t) for t in ts])
# 結果:
# - slerp_points: 球面上の大円に沿った点列
# - lerp_points: 球面を突き抜ける直線(中点でノルム≈0.71)
# - lerp_norm_points: slerpとほぼ同じ(この場合)NOTE
2点間の角度が小さい場合、Slerpと正規化付き線形補間の差は小さい。角度が大きくなると差が顕著になる。
参考文献
情報幾何学とリーマン幾何学(数学的基礎)
- Amari, S. (2016). Information Geometry and Its Applications. Applied Mathematical Sciences, Vol. 194. Springer Japan. DOI: 10.1007/978-4-431-55978-8
- 情報幾何学の標準的教科書。フィッシャー情報行列、自然勾配、双対構造などを体系的に扱う。
- Lee, J. M. (2018). Introduction to Riemannian Manifolds (2nd ed.). Graduate Texts in Mathematics, Vol. 176. Springer. DOI: 10.1007/978-3-319-91755-9
- リーマン幾何学の標準的教科書。測地線、曲率、平行移動などの厳密な定義を参照できる。
- 著者公式ページ(正誤表・補足): https://sites.math.washington.edu/~lee/Books/RM/
多様体仮説
- Fefferman, C., Mitter, S., & Narayanan, H. (2016). Testing the Manifold Hypothesis. Journal of the American Mathematical Society, 29(4), 983–1049. DOI: 10.1090/jams/852
- 多様体仮説を理論的にテストする立場の代表的論文。
幾何学的深層学習(サーベイ)
- Bronstein, M. M., Bruna, J., Cohen, T., & Veličković, P. (2021). Geometric Deep Learning: Grids, Groups, Graphs, Geodesics, and Gauges. arXiv: 2104.13478
- 幾何学的深層学習の統一的サーベイ。対称性、不変性、同変性の観点から深層学習を俯瞰する。
- Proto-book(章立て・図版が充実): https://geometricdeeplearning.com/
Mixture of Experts(MoE)
- Shazeer, N., et al. (2017). Outrageously Large Neural Networks: The Sparsely-Gated Mixture-of-Experts Layer. ICLR 2017. arXiv: 1701.06538
- 現代的なMoEの基礎論文。スパースゲーティングと条件付き計算の設計を導入。
- Fedus, W., Zoph, B., & Shazeer, N. (2022). Switch Transformers: Scaling to Trillion Parameter Models with Simple and Efficient Sparsity. Journal of Machine Learning Research, 23(120), 1–39. arXiv: 2101.03961 (2021)
- MoEの訓練安定化技術(Load Balancing Loss等)を扱う。本文で「MoEの設計原理の中心」として言及した内容の参照先。
球面補間(Slerp)
- Shoemake, K. (1985). Animating Rotation with Quaternion Curves. SIGGRAPH '85, 245–254. DOI: 10.1145/325334.325242
- 球面線形補間(Slerp)の古典的文献。四元数の文脈で導入されたが、一般の単位球面にも適用可能。