Pullback Riemannian Metric
在這篇文章中,我會嘗試用形式化的方式描述 pullback Riemannian metric, 整理他的幾何定義以及在 VAE/Generative Models 中的解釋,同時使用典型教課書例子來補充說明。
1. 直觀概念
給定一個映射 \(f: \mathcal{Z} \to \mathcal{X}\) (例如 VAE 中的 decoder), 在資料存在的於輸出空間 \(\mathcal{X}\) 中,我們通常可以使用標準歐幾里得內積來度量不同筆資料之間的「差異」。
Pullback 利用 \(f\) 將輸出空間 \(\mathcal{X}\) 的度量規則搬回潛在空間 \(\mathcal{Z}\), 使得在 \(\mathcal{Z}\) 中的每個點 \(z\) 的小位移(切向量)也能依「對輸出造成的實際變化」來度量。
若輸出空間 \(\mathcal{X}\) 使用標準內積,則在潛在空間 \(\mathcal{Z}\) 定義的拉回度量可以寫成:
其中 \(J_f(z)\) 是 \(f\) 在點 \(z\) 的 Jacobian。
所以,潛在空間 \(\mathcal{Z}\) 裡的一小步 \(dz\) 的長度由該點在輸出空間 \(\mathcal{X}\) 的影響 \(J_f(z) dz\) 的歐氏距離所描述:
語義改變大的方向根據 pullback metric 量測的距離就較長。
2. 正式定義
設 \(f : (M, -) \to (N, g_N)\) 為光滑映射;\(g_N\) 是目標流形 \(N\) 上的 Riemann metric。 Pullback metric(記為 \(f^* g_N\))是在 \(M\) 上的新度量,對任意 \(p\in M\) 及切向量 \(u,v \in T_p M\) 定義:
即:先透過 Jacobian 將 \((u, v)\) 推送到 \(N\) 的切空間,再用既有度量量測。這種「將結構從目標空間帶回來源空間」的普遍操作稱為 pullback(對偶操作是 pushforward 將向量送往目標)。
若 \(N = \mathbb{R}^m\) 且採用標準內積 \(\langle a,b \rangle = a^T b\),則:
3. 在 VAE 以及其他生成模型中的語意空間
對一個 VAE 來說,decoder \(f\) 將潛在向量 \(z\) 映射為圖片(資料) \(x = f(z)\)。 透過 pullback,於每個 \(z\) 得到對稱正半定矩陣:
其誘導 (induced) 的內積與長度:
對輸出影像 \(x\) 造成大改變的潛在方向 \(dz\) 被賦予較大長度, 當我們選擇沿著 geodesic (測地線,最短曲線)行走時, geodesic 傾向避開語義跳躍或是不連貫的方向, 因而產生更平滑、語義連續的插值。
4. 典型例子
4.1 曲線參數化
對於一個單位圓曲線的參數 \(t\),我們可以把它看作為一個 embedding 。 對於這個潛空間,我們可以定義 projection :
Projection \(f\) 將一維參數繞成平面單位圓。
他的 Jacobian 可以寫成一個 2x1 的矩陣:
因此可以算出他的 pullback metric 為:
因為參數空間是一維,因此 metric 是一個純量。
幾何意義:
- 參數 \(t\) 已經是弧長參數(arc-length parameterization),故單位的 \(dt\) 直接對應圓上長度 \(ds=dt\)。
- 路徑長度 \(L = \int_a^b \sqrt{G(t)} dt = b-a\) 。
- 沒有尺度扭曲,曲線上任何地方的參數步長都代表同樣的實際弧長。
討論:
- 這個參數化本身已經均勻等速的遍歷單位圓,所以 \(G(t)\) 使一個不依賴 \(t\) 的函數。
- 若改成 \(f(t) = (\cos t^2, \sin t^2)\) 則 \(G(t)=4 t^2\) , pullback 會反映非均勻速度。
- 一維情況下 pullback metric 就是曲線速度平方,速度是一個常數代表 metric 是一個常數。
4.2 球面參數化
對於一個標準單位球面 \(S^2\) 的參數化:
\(\theta\) 為極角(colatitude),\(\phi\) 為方位角(longitude)。
他的 Jacobian 可以寫成一個 3×2 的矩陣,此時他作用的是一個二維向量 \(\begin{bmatrix}\theta & \phi\end{bmatrix}\)
計算他的 pullback metric \(G = J_f^T J_f\),可以得到經典球面第一基本形式:
其中: \(\langle \partial_\theta f, \partial_\theta f\rangle=1\), \(\langle \partial_\phi f, \partial_\phi f\rangle=\sin^2\theta\), \(\langle \partial_\theta f, \partial_\phi f\rangle=0\)。
幾何意義:
- 微線元素 \(ds^2 = d\theta^2 + \sin^2\theta d\phi^2\)。
- 緯度圈半徑為 \(\sin\theta\):越靠近兩極(\(\theta \to 0,\pi\))沿 \(\phi\) 方向的實際距離越小。
- 參數化是正交的(無交叉項),故微面元素 \(dA = \sin\theta\, d\theta d\phi\)。
討論:
- 此參數系統本身是正交座標,所以沒有交叉項。
- 可用 \(\sin^2\phi\) 嗎?不行,因為縮放來自緯度圈半徑,僅依賴 \(\theta\)。
- 兩極「奇異」是坐標系統問題,並非球面幾何本身退化。
與 4.1 比較:
| 面向 | 曲線 (4.1) | 球面 (4.2) |
|---|---|---|
| 維度 | 1 → 2 | 2 → 3 |
| Jacobian 形狀 | 2×1 | 3×2 |
| 度量形式 | 常數 1 | \(\mathrm{diag}(1,\sin^2\theta)\) |
| 均勻性 | 參數=弧長 | 經度的縮放隨著 \(\theta\) 改變 |
| 幾何現象 | 等速繞圓 | 緯度圈收縮、兩極奇異 |
這例子展示 pullback 如何自動反映局部有效尺度,Jacobian 的 intrinsics 本身定義了局部尺度。
4.3 VAE 圖像語義
在某點 \(z\) 上,假設方向 \(du\) 僅改變微弱背景,代表 \(\|du\|_G\) 很小。 假設另一個方向 \(dv\) 改變物件類別,代表 \(\|dv\|_G\) 很大,語意在這個方向上會變化很大。 因此,當我們選擇沿著潛空間 \(\mathcal{Z}\) 中的一個 geodesic 行走,映射到圖像(資料)空間中則會維持語義平順。
5. 為何需要拉回
如果我們直接在潛空間中用歐氏距離來計算,會忽略輸出語義變化速率的非均勻性。但使用 pullback metric 則可以提供:
- 語義敏感的距離函數。
- 更合理的插值,避免穿越輸出大幅扭曲區域或是語意未定義的區域。
- 可導出 geodesic 最短路徑問題來得到一個合理的 transition trajectory:
6. Pullback 與 Pushforward(操作對偶)
- Pushforward: 將向量 \(z\) 映射到目標空間中的資料點 \(x\)。
- Pullback Metric: 使用 pushforward 把來源切向量映到目標後,用 \(g_N\) 評估,再把結果視為來源上的內積。
對偶的操作為:向量 \(z\) 被 pushforward 成 \(x\),metric 被 pullback 回潛空間 \(\mathcal{Z}\)。
7. 退化與正則(Degeneracy & Regularization)
若潛在空間 \(\mathcal{Z}\) 的維度 \(d\) 小於目標空間 \(\mathcal{X}\) 的維度 \(m\), \(G(z)\) 為 \(d \times d\) Gram 矩陣,若 \(J_f\) 秩不足 \(\mathrm{rank(J_f(z))} < d\) 則 \(G\) 退化為半正定矩陣,也就是會出現一或多個「零特徵值」,表示資訊摺疊。 出現零特徵值意味著在那些方向上,潛在空間的小變動 \(dz\) 幾乎不會在輸出空間造成變化。 換句話說,這些方向對應的是「無資訊方向」或「冗餘方向」。 在 geodesic 最佳化時,這樣的零特徵值會造成:
- 連續 geodesic ODE 可能病態。
- 跑最短路時會出現「零成本」方向(不穩定),優化時可能傾向在這些方向「亂跑」,因為在這些方向推動不會被懲罰(距離為零)。
解決方案:
- 加 Regularization :\(G_{\varepsilon}(z) = J_f(z)^T J_f(z) + \varepsilon I\)。
- 特徵值截斷:只保留 \(\lambda_i > \tau\) 主子空間作距離。
- 以圖近似取代連續優化,隱式避開數值解 geodesic ODE。