Flow Matching Guide and Code 第5章解读:指数映射-对数映射-测地线条件流
用最通俗的话说一遍指数映射、对数映射和测地线条件流在干什么。
1 先想「平面上的直线」
在平面上要从点 A 走到点 B,最简单就是沿直线走,并且可以「按比例」走:
- :在 A
- :在 A、B 中间
- :到 B
数学上就是:位置 = A + t·(B−A)。
这里 (B−A) 就是「从 A 指向 B 的向量」,t 就是「走了多少比例」。
2 球面上没有「直线」,但有「最短弧」
球面是弯的,没有平面那种直线,但有大圆弧(球面上两点之间的最短路径),这就是球面上的「直线」——叫测地线。
- 在平面上:从 A 沿直线走、速度恒定,就是直线运动。
- 在球面上:从 A 沿大圆弧走、速率恒定,就是测地线运动。
所以:
测地线 = 流形上的「直线」(最短路径、或「沿曲面直着走」的路径)。
3 指数映射:给「起点 + 速度」,得到「1 秒后到哪」
平面上:从点 出发,速度是向量 ,1 秒后就在 。
所以:「起点 + 速度 」→ 1 秒后的点 = 。球面上:从点 出发,沿着「速度 所指的那条大圆弧」走,走弧长等于 的那一段(相当于「速度大小」),终点就记作 。
一句话:
= 从 出发、按速度 沿测地线走「单位时间/单位弧长」后到的点。
平面就是:。
为什么叫「指数」? 在流形上「按切向量沿测地线走」这种操作,在数学上统一记作 ,是因为在一个最经典的特例里它就是我们熟悉的指数函数:考虑正实数乘法群 ,在单位元 处的切空间可以看成 。从 出发、「速度」为 沿测地线走 1 单位,得到的点恰好是 (以 为底的指数)。若从别的点出发也一样:从 出发、速度为 沿测地线走 1 单位,得到的是 ,即 ;一般地 ,所以「指数」 始终出现,只是起点 不同时多一个因子。流形上这套「起点 + 速度 → 沿测地线走一段后的终点」的映射,就沿用了「指数映射」这个名字;对数映射 则是它的逆。
4 对数映射:给「起点 + 终点」,得到「该沿哪个速度走」
反过来:
平面上:从 A 到 B,你要的「速度向量」就是 B−A(方向 + 长度)。
所以:「起点 + 终点 」→ 该沿的向量 = ,记成 。球面上:从 到 ,沿着连接它们的那段大圆弧,这段弧在起点 处的「切向量」(方向 + 弧长)就是 。
也就是说:从 出发、以 为速度沿测地线走 1 单位,就会到 ,即 。
一句话:
= 「从 到 这条测地线」在 处的切向量(往哪走、走多长)。
平面就是:。
5 测地线条件流在干啥(通俗版)
我们要做的是:从 平滑地「插值」到 ,并且要沿着流形上的「直线」(测地线)走。
- 先算 :从 到 的测地线在 处的切向量(相当于「往 的方向和距离」)。
- 再乘一个比例 ( 时是 0, 时是 1):相当于「只走这条测地线的 比例」。
- 最后用 把「走了一段的切向量」变回「流形上的点」:
就是「在 时刻,你沿这条测地线走到了哪里」。
通俗总结:
- :知道「从 到 该沿哪条测地线、走多长」。
- :控制「走到几分之几」。
- :把「走了几分之几」变成「现在在流形上的哪个点」。
所以在流形上,测地线条件流 = 沿测地线按比例从 走到 ,和平面上的「A + t·(B−A)」是同一类想法,只是把「直线」换成了「测地线」,「减法」换成了 ,「加法」换成了 。