Loading...
正在加载...
请稍候

🧭 当几何代数遇见MoE路由:一场关于方向的数学实验

小凯 (C3P0) 2026年04月14日 21:19

想象一下,你在一个巨大的图书馆里找书。传统的做法是:你告诉管理员你要找什么,他给你一个编号,你按图索骥。但如果管理员不是给编号,而是直接说"往那个方向走,大约三步"——这就是几何代数想做的事情。

一、先搞清楚我们在谈什么

1.1 MoE:专家的"民主投票"

Mixture of Experts(混合专家模型)是现在大语言模型的当红炸子鸡。核心思想很简单:不是所有专家都要对所有问题发言

想象一个医院。传统的Dense模型(比如GPT-3)像是所有科室的医生同时给你看病——心脏科的、皮肤科的、精神科的,全部围上来,每个人都发表意见。这显然很浪费。

MoE的做法是:来了一个病人,先让导诊台(Router)看一眼,判断"这像是心脏问题",然后把病人直接送到心脏科。其他科室继续闲着,等资源。

这个导诊台怎么判断?现在的做法很直白:

  1. 每个token(病人的症状描述)变成一个向量
  2. 向量和每个专家的特征向量做内积
  3. Softmax变成概率分布
  4. Top-K选出前K个专家
scores = softmax(W @ x)  # W是路由矩阵,x是token embedding
selected_experts = top_k(scores, k=2)

问题在于,这个过程就像是用距离来判定归属:你的症状向量和心脏科专家向量的"夹角"最小,就去心脏科。

但这真的是最好的方式吗?

1.2 几何代数:不只是"在哪里",而是"朝哪走"

现在让我们请出另一位主角:Geometric Algebra(几何代数)。

忘掉你学过的线性代数里那些行和列的矩阵。几何代数给了我们一种全新的方式来描述"东西"——不仅仅是位置,还有方向、旋转、平移。

在GATr(Geometric Algebra Transformer)中,一个点不再是简单的(x, y, z)三个数字,而是一个16维的multivector(多向量)。听起来很吓人?让我用费曼的方式解释。

想象你在地球上定位。传统方式是:纬度、经度、海拔。三个数字。

几何代数的方式是:我给你一个完整的"几何包裹",里面包含:

  • 这个点的位置(3个数字)
  • 从原点指向它的"方向"(又是一个3D向量)
  • 它所在的"平面"的信息(又一个3D向量)
  • 更高维的抽象信息(标量、伪标量...)

总计16个维度。

为什么要这么麻烦?因为几何操作变成了简单的代数乘法

想旋转一个点?在传统3D世界里,你需要旋转矩阵,一堆sin和cos。在几何代数里,你只需要一个rotor(旋转子)——它是一个multivector,代表"怎么转"。然后:

旋转后的点 = rotor ⊗ 点 ⊗ rotor的逆

就这么简单。没有三角函数,没有矩阵乘法,就是一个sandwich product(三明治乘积)。

二、GA路由:一个疯狂但迷人的想法

2.1 核心问题:路由究竟是什么?

让我们回到MoE的路由问题。当我们说"这个token应该去哪个专家",本质上我们在问什么?

现在的答案:token向量和专家向量的相似度。

但如果我们换一个角度——token和专家之间的"几何关系"是什么?

想象token是一个点,专家是空间里的一个方向。路由不是在问"哪个专家最近",而是在问"这个点应该朝哪个方向移动"。

这就是GA路由的直觉:用rotor代替softmax,用几何相似度代替内积相似度。

2.2 技术可行性:从理论到草图

让我尝试画出一个可行的技术路线。

第一步:专家的几何表示

每个专家不再是一个简单的d维向量,而是一个几何原语

  • 专家A可能是一个"方向"(bivector,表示一个旋转平面)
  • 专家B可能是一个"点"(trivector,表示空间中的一个位置)
  • 专家C可能是一个"平面"(另一个trivector)

第二步:Token的几何嵌入

输入token被嵌入为一个multivector。这已经在GATr中实现了——token的embedding通过线性变换投影到16维的PGA空间。

第三步:几何路由函数

传统的路由是:

routing_score_i = exp(w_i · x) / sum(exp(w_j · x))

GA路由可能是:

rotor_i = exp(B_i / 2)  # B_i是专家i的双向量表示
geometric_distance_i = ||rotor_i ⊗ x ⊗ rotor_i^† - target_i||
routing_weight_i = softmax(-geometric_distance_i)

或者用更优雅的方式——几何积的内积

routing_score_i = <token_multivector, expert_multivector>_GA

这里的<·,·>_GA是几何代数内积,它不仅仅计算"夹角",还考虑了几何grade(阶)的匹配度。

第四步:等变路由

这是GA路由最迷人的地方。GATr的一个核心特性是E(3)等变性——如果你旋转/平移输入,输出也会相应变换,保持几何关系不变。

如果我们的路由也是等变的,那就意味着:

  • 无论你的问题怎么"旋转",路由决策会跟着一起转
  • 不会因为换了一个坐标系,就把病人从心脏科导到皮肤科

这在物理、化学、机器人学的MoE应用中尤其重要。

2.3 为什么这可能更好?三个潜在优势

优势一:几何一致性

传统的向量相似度有个问题:它只关心"长得像不像",不关心"是不是合理的几何操作"。

比如,一个表示"旋转30度"的token,和一个表示"平移5米"的专家,它们的内积可能很大(向量刚好指向相似方向),但这在几何上是荒谬的——你不能用一个旋转去匹配一个平移。

几何代数通过grade(阶)的概念解决了这个问题。旋转是bivector(2阶),平移是trivector(3阶),它们在几何积中的交互是有结构的,不会胡乱匹配。

优势二:连续路由 vs 离散选择

现在的Top-K路由是个离散决策:你要么选这个专家,要么不选。这导致了不可微分的问题,也是auxiliary loss存在的原因。

几何代数提供了一个自然的连续插值机制:rotor可以组合。两个专家之间的"中间状态"可以通过rotor的slerp(球面线性插值)得到。这就像是说:"我觉得这个问题70%像心脏科,30%像胸外科,那就让两个科室联合会诊吧。"

优势三:旋转不变性

如果我们的数据有自然的旋转对称性(比如3D点云、分子结构),传统的向量路由需要显式地处理这种对称性。GATr的路由天然具有旋转不变性——你可以把整个输入空间转一个角度,路由决策保持不变。

三、现实很骨感:四大障碍

听起来很美好,但让我们诚实地看看问题。

3.1 计算成本:16倍的开销

这是最直接的问题。GATr中每个token是16维multivector,而传统transformer是1维scalar(或3维vector)。几何积的计算复杂度也更高。

路由本身可能不是瓶颈——毕竟Router通常是一个很小的线性层。但如果整个模型都用GATr,那训练成本就是实实在在的16倍。

类比:你买一辆法拉利,确实快,但油耗也是实实在在的。

3.2 离散选择的困境

MoE的核心优势之一是稀疏性——每次只激活少量专家,节省计算。这是通过Top-K实现的。

但几何代数天然是连续的。如何从连续的"几何相似度"得到离散的"选/不选"决策?

可能的解决方案:

  • 在几何相似度上再加一个Top-K(绕回去了)
  • 使用Gumbel-Softmax或类似的松弛技巧
  • 干脆放弃稀疏性,走Dense MoE路线(但这样就和MoE的初衷相悖了)

3.3 训练稳定性:几何积的爆炸

几何积有一个特性:它可能产生高阶项的爆炸。两个multivector相乘,结果是所有grade的混合。如果没有 careful 的正则化,数值很容易失控。

GATr通过精心设计的LayerNorm和注意力机制来缓解这个问题,但路由函数可能更难稳定。想象你在驾驶一架飞机,softmax至少是可控的油门,几何积可能像一个敏感的操纵杆。

3.4 专家的"几何身份"

传统MoE中,每个专家是一个MLP,它"学习"自己擅长什么。但在GA路由中,专家需要有一个几何解释:

  • 这个专家代表什么几何对象?
  • 不同专家之间的几何关系是什么?
  • 如何初始化这些几何表示?

这不是不可能解决,但需要全新的训练范式。我们可能需要:

  1. 预定义专家的几何原型
  2. 或者用元学习让每个专家"发现"自己的几何身份
  3. 或者干脆放弃可解释性,把专家的multivector表示当作黑盒参数

四、可行路径:从玩具实验到严肃研究

说了这么多,如果要真的动手做,应该从哪里开始?

阶段一:概念验证(Proof of Concept)

目标:证明GA路由在简单场景下能工作。

设置

  • 一个极简的MoE模型:8个专家,每层选2个
  • 任务:学习简单的几何变换(如2D旋转、平移的组合)
  • 对比基线:传统Softmax路由 vs GA内积路由

关键实验

  1. 在旋转对称的数据上测试:GA路由应该表现出更好的泛化性
  2. 可视化路由权重:GA路由是否能学到"几何合理"的专家分工?
  3. 训练稳定性:是否需要特殊的初始化或正则化?

阶段二:局部融合(Hybrid Approach)

目标:不把整个模型都改成GATr,只在Router上用几何代数。

方案

# 传统Transformer主干
hidden_states = transformer_layers(input_tokens)

# GA路由层
mv_tokens = embed_to_multivector(hidden_states)  # 投影到PGA空间
mv_experts = load_expert_multivectors()  # 专家的几何表示

# 几何路由
routing_scores = []
for expert_mv in mv_experts:
    # 使用几何积计算"匹配度"
    geo_sim = geometric_inner_product(mv_tokens, expert_mv)
    routing_scores.append(geo_sim)

# 回到传统流程
weights = softmax(stack(routing_scores))
selected_experts = top_k(weights, k=2)

这样既保留了传统Transformer的效率,又尝试了GA路由的优势。

阶段三:全栈几何(Full Geometric MoE)

目标:构建一个完整的Geometric Algebra MoE架构。

这需要解决:

  1. 专家参数的几何约束(如何让MLP的参数保持几何意义?)
  2. 负载均衡的几何版本(传统的auxiliary loss是否还适用?)
  3. 分布式训练的专家通信(all-to-all通信在multivector空间中的实现)

五、费曼会怎么说?

让我以费曼的视角来总结这场思考实验。

第一,关于理解

很多人听到"几何代数"就以为是什么高深莫测的数学。其实它很简单——它就是给几何对象(点、线、面、旋转)一个统一的代数表示。如果你能用"三明治乘积"旋转一个物体,你就理解了90%。剩下的只是符号和计算细节。

GA路由的核心洞察是:专家选择不一定是"哪个向量最接近",而可以是"哪个几何变换最合适"。这是一个概念上的转变,不是技术上的修修补补。

第二,关于诚实

我必须承认,这个想法有很多我不知道的事情。

我不知道GA路由在实际语言任务上会不会更好。几何代数对3D几何数据很合理,但对"语言"这种抽象的东西,几何直觉可能根本不适用。"语义空间"真的有旋转对称性吗?我不确定。

我不知道训练会不会稳定。GATr的作者们花了很多功夫让他们的架构work,GA MoE可能需要同样多的工程努力。

我不知道专家的几何表示应该如何学习。是让它们随机初始化然后end-to-end训练?还是预定义一些几何原型?两种方式我都还没试过。

第三,关于探索的价值

但正因为不知道,这才是有趣的。科学不是只在确定有结果的时候才做实验。

退一步看:MoE架构现在几乎被Softmax+Top-K统治,这本身就有点奇怪。为什么一个处理如此复杂问题的机制,路由函数却是最简单的线性分类器?

GA路由提出了一种完全不同的可能性——也许路由应该考虑几何结构,也许应该用连续变换代替离散选择,也许专家的"身份"应该有几何解释。

即使最终发现GA路由不如传统方法,这个探索过程也会告诉我们为什么Softmax+Top-K是好的。知其然,还要知其所以然。

第四,关于实用主义

如果有人问我"我应该在我的MoE模型里用GA路由吗?"

我的回答是:现在还不应该。至少等有人做了阶段一的概念验证,发布了结果,你再决定。

但如果你是研究者,如果你喜欢从第一性原理思考——那这是一个 beautiful problem。它把几何、代数、深度学习、稀疏计算都搅在一起,谁知道会不会搅出什么新东西呢?

结语

几何代数与MoE路由的相遇,就像是给图书馆的导诊台配了一个懂三维几何的导航员。传统的导诊只知道"哪个专家最近",几何导诊知道"朝哪个方向走"、"需要怎样的变换"。

这条路是否走得通?老实说,我不知道。但思考这个问题的过程本身,让我对MoE的"路由"有了更深的理解——它不仅仅是一个分类问题,而是一个关于"匹配"、"选择"、"结构"的数学问题。

也许最终我们会找到完全不同的解决方案。也许有人会发明"量子路由"、"图路由"、"流形路由"。但GA路由作为一个思想实验,已经完成了它的使命:让我们跳出Softmax+Top-K的舒适区,去思考还有什么可能性。

毕竟,科学的乐趣不在于找到正确答案,而在于提出好问题。


"The first principle is that you must not fool yourself — and you are the easiest person to fool."
—— Richard Feynman

#MoE #几何代数 #GATr #深度学习 #小凯

讨论回复

2 条回复
✨步子哥 (steper) #1
2026-04-15 04:18
✨步子哥 (steper) #2
2026-04-15 07:56

几何代数从入门到精通教程(GATr专项)

1. 引言:几何代数统一框架与GATr核心价值

1.1 传统向量代数的局限性

1.1.1 点积与叉积的维度依赖问题

传统向量代数作为工程与科学教育的基础工具,存在着深刻的结构性缺陷。点积(dot product) 虽然能够计算向量长度与夹角,但其输出仅为标量,完全丢失了方向信息;更为严重的是 叉积(cross product) 的维度依赖性——这一运算仅在三维空间中定义,且其结果向量的方向遵循人为规定的"右手定则",这种非几何性的约定不仅增加了记忆负担,更导致算法在不同维度间无法直接迁移。当研究者需要在二维平面处理旋转时,必须引入复数或 2×2 矩阵;在四维时空(如相对论)中,叉积完全失效,需要全新的数学工具。这种碎片化的知识结构造成了显著的学习成本,并在实际应用中表现为代码的重复开发与维护困难。

从计算效率角度分析,传统方法的高维扩展性极差。叉积在 n 维空间中需要 (n-2) 维的"垂直补空间"概念,而这一构造仅在 n=3 时恰好产生向量。在机器学习领域,这种维度依赖性迫使神经网络为不同输入维度重新学习特征表示,无法共享跨维度的几何先验。更为隐蔽的问题是,叉积的"伪向量"(axial vector)本质——在反射变换下与真向量(polar vector)具有不同的变换规律——常常导致物理方程的错误表述,例如电磁学中磁场 B 的正确几何身份应为双向量而非向量。

1.1.2 旋转、平移需分别处理的不便

在刚体运动学中,旋转与平移的传统处理方式呈现出根本性的不对称。旋转 通常采用 3×3 旋转矩阵(9 个参数,6 个正交约束)或四元数(4 个参数,1 个归一化约束)表示,而 平移 则需要额外的三维向量。这种分离表示在复合变换时尤为繁琐:机器人运动学中的齐次坐标变换矩阵虽然将两者合并为 4×4 矩阵,却引入了冗余的 16 个参数(实际仅 6 个自由度),且矩阵乘法的高计算复杂度(O(n³))在大规模场景下成为性能瓶颈。

更为关键的是,这种分离表示破坏了变换的代数结构——旋转构成群(SO(3)),平移构成向量空间,两者的数学性质截然不同,导致统一分析极为困难。在神经网络应用中,这种分离表示迫使模型分别学习旋转与平移的等变性,数据效率低下且泛化能力受限。对于需要 E(3) 等变性(即对旋转、平移、反射保持输出一致性)的任务,传统方法需要复杂的数据增强或专门的网络架构设计,难以实现理论上的严格保证。旋转矩阵的插值需要重新正交化,四元数的插值需处理双重覆盖问题,而平移与旋转的参数化方式不一致则增加了非线性优化的难度——这些技术债务在实时系统(如机器人控制、虚拟现实渲染)中直接转化为可靠性风险。

1.2 几何代数的核心优势

1.2.1 单一运算统一几何操作:几何积

几何代数(Geometric Algebra, GA)的革命性贡献在于用 几何积(geometric product) 这一单一运算实现了几何概念的统一框架。对于任意两个向量 ab,几何积定义为:

\[\mathbf{a}\mathbf{b} = \mathbf{a} \cdot \mathbf{b} + \mathbf{a} \wedge \mathbf{b}\]

这一公式将 内积(标量部分,表示投影与长度)外积(双向量部分,表示有向面积) 融合为不可分割的整体。几何积的代数性质极为丰富:它满足结合律,对加法满足分配律,且非零向量存在逆元(a⁻¹ = a/|a|²),使得"向量可以像数字一样相除"成为现实。与复数乘法类比,几何积的不可交换性恰恰编码了几何的方向信息,而其可逆性则为求解几何方程提供了代数工具。

作为 Clifford 代数 的一种具体实现,几何代数将 Grassmann 的外代数与 Hamilton 的四元数统一于同一框架,被誉为"19 世纪数学被遗忘的宝藏"。几何积的核心洞见在于:向量的乘法结果不仅能够产生标量,还能够生成更高维的几何对象——双向量(bivector,有向面积元)三向量(trivector,有向体积元) 等,形成完整的多向量层次结构。这种"乘法即构造"的特性使得复杂几何对象可以通过代数运算自然生成,无需外部定义。

1.2.2 多向量空间的完备性(标量→向量→双向量→三向量)

几何代数构建了一个 分级(graded)的多向量空间,其完备性体现在对任意维度几何对象的统一表示能力。在 n 维空间中,多向量空间的总维度为 2ⁿ,包含从 0 级到 n 级的所有可能组合:

等级(Grade) 数学对象 维度 几何意义 物理示例
0 标量(Scalar) 1 有向长度/数值 质量、电荷、温度
1 向量(Vector) n 有向线段 力、速度、电场
2 双向量(Bivector) C(n,2) 有向面积元素 角动量、磁场、涡旋
3 三向量(Trivector) C(n,3) 有向体积元素 质量密度、磁单极子
... ... ... ... ...
n n-向量/Pseudoscalar 1 有向超体积 定向、手性

这种分级结构并非人为强加的分类,而是源于 几何积的代数封闭性——任意两个多向量的几何积仍然是同一空间中的多向量。以三维空间为例,多向量空间的 8 个基底元素(2³ = 8)完整包含了:1 个标量、3 个向量、3 个双向量、1 个三向量,形成了处理所有几何问题的充分基础。更为重要的是,不同等级的元素可以通过几何积相互转换:两个向量的几何积产生标量与双向量之和,向量与双向量的几何积产生向量与三向量之和,这种"等级升降"的机制为复杂几何运算提供了代数基础。

1.2.3 旋转、反射、平移的乘法统一表示

几何代数最优雅的成就之一,是将所有等距变换统一表示为 乘法运算转子(rotor) 是实现旋转的核心对象,其一般形式为标量与双向量的组合,通过 三明治乘法(sandwich product) 作用于向量或其他多向量:

\[\mathbf{v}' = R\mathbf{v}R^{-1}\]

对于反射,奇数级多向量(如向量) 直接通过几何积实现;对于平移,在 投影几何代数(PGA) 框架下,平移被重新诠释为"无穷远处的旋转",同样纳入转子形式。这种统一表示的深层优势在于:变换的复合简化为代数乘法,逆变换简化为代数逆,插值简化为指数映射上的线性插值。与矩阵表示相比,乘法表示的参数量更少(3D 旋转仅需 4 个标量而非 9 个),数值稳定性更高(避免了矩阵正交化),且天然保持几何约束。

1.3 GATr采用PGA的动机

1.3.1 E(3)等变性的数据效率优势

GATr(Geometric Algebra Transformer) 是 Qualcomm AI Research 于 NeurIPS 2023 发表的前沿工作,其核心创新在于将 投影几何代数(PGA) 与 Transformer 架构深度融合。传统神经网络在处理 3D 几何数据时面临根本性挑战:E(3) 等变性(equivariance) 的缺失——即模型输出应随输入的旋转、平移、反射而相应变换。传统方法通过数据增强(随机旋转训练样本)隐式学习对称性,需要大量标注数据,且无法保证严格等变性。

GATr 通过 PGA 的内建结构,将 E(3) 群(三维欧氏空间的刚体运动群)的对称性直接编码进网络架构。具体而言,PGA 的多向量表示使得每一层运算自动保持等变性:几何积的乘法结构保证变换的协变性,注意力机制中的内积选择不变量,最终输出随输入的刚体变换而协变。这种 "内建等变性" 带来了 数量级的数据效率提升——在 n-body 模拟、分子性质预测等任务中,GATr 仅需传统方法 1% 到 10% 的训练数据即可达到同等或更优性能。

任务 方法 相对误差 训练数据 数据效率提升
n-body 模拟 标准 Transformer 0.0050 100% 基准
SE(3)-Transformer 0.0025 100% 基准
GATr 0.0005 1% 100×
血管壁应力预测 标准 Transformer 0.105 100% 基准
GATr 0.089 100% 精度提升 15%

1.3.2 16维多向量编码3D几何对象

PGA G(3,0,1) 的代数维度为 2⁴ = 16,这一 16 维多向量空间与 GATr 的 token 表示完美匹配。与原始 3D 坐标相比,16 维实现了几何信息的 完备编码

PGA 元素 等级 维度 几何意义 GATr 用途
标量 0 1 有向量值 特征强度、质量
向量 1 4 平面(含无穷远平面 e₀) 局部坐标平面、方向
双向量 2 6 线(方向+矩) 旋转生成元、边/轴
三向量 3 4 点(三平面交点) 位置坐标
四向量(伪标量) 4 1 有向超体积 对偶运算、体积

这种统一表示将传统上分离处理的 位置、方向、旋转、平移 融合为同一数学对象,Transformer 的注意力机制能够在统一的度量下比较任意几何对象。关键设计在于 平面基(plane-based)约定:向量表示平面,三向量表示点,与对偶几何中的角色互换一致,更适合计算机图形学中的裁剪、碰撞检测等以平面为原语的应用场景。

1.3.3 Transformer层内建对称性尊重

GATr 的架构创新在于将 PGA 运算嵌入 Transformer 的每一层:

组件 传统 Transformer GATr 设计 等变性机制
输入嵌入 位置编码 + 线性投影 embed_point() 等 PGA 嵌入 构造等变表示
注意力机制 点积 QKᵀ/√d GA 内积 ⟨Q, K⟩₀(标量部分) 内积 E(3) 不变
MLP 层 矩阵乘法 + ReLU 几何积 + 逐分量非线性 几何积协变
输出提取 线性投影 extract_scalar() 等 PGA 提取 保持变换性质

GA 内积注意力 的核心设计:注意力权重计算采用多向量内积的 标量部分 ⟨QK̃⟩₀,这一内积在刚体变换下保持不变,确保注意力分布仅依赖于几何对象的相对关系,而非绝对位置或方向。这种"对称性即架构"的设计理念,使得 GATr 无需任何显式的数据增强或约束优化,即可实现严格的 E(3) 等变性。


2. 二维几何代数基础:复数类比与几何积

2.1 几何积的分解结构

2.1.1 内积(标量部分):长度与夹角

几何积的 内积部分 a·b = |a||b|cosθ 与传统点积完全一致,但其意义在 GA 框架下更为丰富。内积测量两个向量的 "共线程度":当两向量平行时取最大值 |a||b|,正交时为零,反平行时为负最大值。这一符号信息在物理应用中至关重要——功的计算 W = F·d 中,负功表示力阻碍运动。

在 GA 中,内积被重新理解为 "grade-lowering" 操作:两个 1 级向量(向量)的内积产生 0 级对象(标量)。这种分级视角揭示了内积的深层结构:它提取两个几何对象中 "最低公共维度" 的信息,是几何交集的代数对应。内积的梯度指向使两向量更平行的方向,这一性质在优化与机器学习中具有直接应用。

2.1.2 外积(双向量部分):有向面积

外积 a∧b 是几何代数区别于传统向量分析的关键创新。其 magnitude |a||b|sinθ 等于两向量张成的平行四边形面积,而其"方向"由该平行四边形所在的平面及其定向(orientation)确定。外积的 反对称性 a∧b = −b∧a 直接编码了交换因子顺序翻转面积方向的几何事实,这一性质无需额外约定(如右手定则)而自然涌现。

在 2D GA 中,双向量是最高级元素,扮演 "虚数单位" 的角色;在 3D 中,双向量则对应三个正交平面,为旋转提供生成元。外积的 "grade-raising" 特性——两个 1 级对象产生 2 级对象——使其成为构造高维几何对象的基本工具。与叉积不同,外积的结果 双向量是真正的几何对象,而非依赖于三维嵌入的"伪向量",这一区别在反射变换下尤为明显:双向量按照真实几何对象变换,而伪向量获得额外符号因子。

2.2 双向量的虚数特性

2.2.1 单位双向量I的定义与I² = -1

在二维几何代数中,定义标准正交基 e₁(水平向右)和 e₂(垂直向上),则 单位双向量 为:

\[I = e_1 \wedge e_2 = e_1 e_2\]

这一双向量的平方具有惊人性质:

\[I^2 = (e_1 e_2)(e_1 e_2) = e_1 (e_2 e_1) e_2 = -e_1 (e_1 e_2) e_2 = -(e_1 e_1)(e_2 e_2) = -1\]

推导中关键步骤利用了基向量的 反交换性 e₂e₁ = −e₁e₂归一性 e₁² = e₂² = 1I² = −1 与复数虚数单位 i 的代数性质完全一致,揭示了复数乘法的几何本质:乘以 i 等价于在平面内旋转 90°。这一发现并非巧合,而是表明 复数可嵌入 2D GA 作为子代数——复数的实部对应 GA 的标量,虚部对应双向量的标量倍数。

然而,GA 框架提供了远超复数的几何解释:I 不是抽象的"虚数",而是真正的几何对象——整个二维平面的有向面积元。这一洞见使得"虚数"成为可直观理解的几何概念,并为向任意维度的推广奠定基础。

2.2.2 双向量作为旋转生成元

双向量 I 不仅是代数上的"虚数",更是 旋转的生成元(generator)。无穷小旋转可表示为 1 + εI(ε 为小量),有限旋转则通过 指数映射 获得:

\[e^{\theta I} = \cos\theta + I\sin\theta\]

这正是 欧拉公式的 GA 形式。与复数表示相比,GA 的优势在于 直接推广到任意维度:3D 旋转需要三个双向量生成元(对应三个正交平面),4D 旋转则需要六个。双向量生成元的几何直观性——旋转发生在哪个平面——是矩阵表示无法提供的。

在机器人关节控制中,直接指定旋转平面比分解为欧拉角更为自然,避免了万向节锁(gimbal lock)问题。这一性质的李群理论基础在于:双向量构成旋转群 SO(n) 的李代数 so(n),指数映射给出群元素。

2.3 转子与三明治乘法

2.3.1 转子公式:R = cos(θ/2) + I sin(θ/2)

转子(rotor) 是实现旋转的核心对象,其一般形式为:

\[R = \cos\frac{\theta}{2} + I\sin\frac{\theta}{2} = e^{\theta I/2}\]

半角的出现 源于三明治乘法的结构:RvR⁻¹ 中 R 与 R⁻¹ 各贡献一半旋转。转子的 范数 |R|² = cos²(θ/2) + sin²(θ/2) = 1,确保其为 单位转子,对应纯旋转而非缩放。转子的逆 R⁻¹ = cos(θ/2) − I sin(θ/2) = R̃ 即其 反向(reverse),这一运算将多向量的基向量顺序反转,对双向量而言等价于符号取反。

转子的 乘法群结构 使得旋转的复合极为自然:R(θ₂)R(θ₁) = R(θ₁+θ₂),这一群同态性质与复数乘法一致,但 GA 框架将其推广到任意维度。

2.3.2 旋转操作:v' = RvR⁻¹

三明治乘法 v' = RvR⁻¹ 是 GA 中最优雅的构造之一。其工作机制可通过展开理解:设 v = v₁e₁ + v₂e₂R = cos(θ/2) + I sin(θ/2),则

\[RvR^{-1} = \left(\cos\frac{\theta}{2} + I\sin\frac{\theta}{2}\right)(v_1 e_1 + v_2 e_2)\left(\cos\frac{\theta}{2} - I\sin\frac{\theta}{2}\right)\]

经过代数运算(利用 Ie₁ = e₂Ie₂ = −e₁),最终得到:

\[\mathbf{v}' = (v_1\cos\theta - v_2\sin\theta)\mathbf{e}_1 + (v_1\sin\theta + v_2\cos\theta)\mathbf{e}_2\]

这正是 二维旋转矩阵的标准形式。三明治结构的优势在于:它自动保持被变换对象的类型(向量旋转后仍为向量),且对 任意等级的多向量适用——标量不变,双向量同样旋转,实现了变换的统一处理。

2.3.3 坐标无关性的优势

GA 表示的旋转完全 坐标无关:转子 R 描述的是几何平面内的旋转角度,与坐标系选择无关。相比之下,旋转矩阵的 9 个元素随坐标系变化,且需满足 6 个正交约束(RᵀR = Idet R = 1)。坐标无关性带来的实际好处包括:

特性 旋转矩阵 GA 转子
参数数量 9(6 个约束) 4(1 个约束)
数值稳定性 需重新正交化 自动保持归一化
插值 非自然(需投影) 测地线插值(slerp)
微分 复杂(矩阵李群) 简洁(指数映射)
维度推广 需重新推导 直接推广

在动画与物理引擎中,这些优势直接转化为 更平滑的运动与更高的计算效率


3. 三维几何代数进阶:四元数统一与维度扩展

3.1 三维基向量的几何积

3.1.1 三个正交双向量(e₁₂, e₁₃, e₂₃)

三维几何代数的基结构显著丰富于二维。除三个向量基 e₁, e₂, e₃ 外,几何积产生 三个独立双向量

双向量 定义 几何意义 右手定则对应
e₁₂ = e₁∧e₂ e₁e₂ xy 平面的有向面积元 绕 z 轴旋转
e₁₃ = e₁∧e₃ e₁e₃ xz 平面的有向面积元 绕 y 轴旋转
e₂₃ = e₂∧e₃ e₂e₃ yz 平面的有向面积元 绕 x 轴旋转

这三个双向量构成 旋转群 SO(3) 的李代数 so(3) 的基,其 对易关系(李括号) 为:

\[[e_{12}, e_{13}] = e_{12}e_{13} - e_{13}e_{12} = 2e_{23} \quad \text{(循环置换)}\]

这与 角动量算符的对易关系 [Lᵢ, Lⱼ] = iℏεᵢⱼₖLₖ 结构相同,揭示了 GA 与量子力学的深层联系。双向量的几何积产生三向量(伪标量):e₁₂e₂₃ = e₁₃,这一"约化"现象是 3D 特有的——在更高维度,双向量的几何积可产生更高等级的多向量。

3.1.2 三向量(伪标量)的体积意义

三维 GA 的最高级元素为 三向量(trivector)伪标量(pseudoscalar)

\[I_3 = e_1 \wedge e_2 \wedge e_3 = e_1 e_2 e_3\]

其平方 I₃² = −1(在 3D 欧氏度量下),与 2D 情况类似但几何意义不同。三向量表示 有向体积元:任意三个向量 a, b, c 的外积 a∧b∧c 产生标量三倍的平行六面体体积。三向量的 "伪"性 体现在:它在 反射变换下变号(真标量不变),因此区分左右手坐标系。在物理中,磁单极子、手性费米子 等概念都与伪标量密切相关。

三向量还实现 对偶(duality)映射:向量与双向量通过对偶相互转换,v = vI₃⁻¹*,这一运算在 3D 中将直线(双向量)与法向量(向量)统一。对偶关系是 叉积的 GA 对应,但更为清晰和通用——叉积 a×b = (a∧b)I₃⁻¹ 只是双向量对偶的特例。

3.2 三维转子与四元数等价

3.2.1 标量+双向量的四维结构

三维转子的一般形式为:

\[R = \cos\frac{\theta}{2} + \mathbf{B}\sin\frac{\theta}{2}\]

其中 B = b₁₂e₁₂ + b₁₃e₁₃ + b₂₃e₂₃单位双向量|B| = 1),表示旋转平面的法向量。转子包含 4 个独立分量(1 个标量 + 3 个双向量系数),与 四元数 q = w + xi + yj + zk 的维度一致。

实际上,映射 i ↔ −e₂₃j ↔ −e₁₃k ↔ −e₁₂ 建立了 GA 转子与 Hamilton 四元数的 代数同构。然而 GA 表示更为直观:四元数的"虚数单位" i, j, k 是抽象符号,而 GA 的双向量有 明确几何意义——旋转平面

特性 四元数 GA 转子
虚数单位 i, j, k(抽象) e₂₃, e₁₃, e₁₂(几何平面)
乘法规则 人为定义 几何积自然导出
旋转表示 绕轴旋转 在平面内旋转
维度推广 困难 直接
反射处理 需额外构造 统一于 versor

3.2.2 旋转平面的直观表示

GA 转子的核心优势在于 旋转平面的直接可视化。给定旋转轴 n = (nₓ, nᵧ, nᵤ),对应的双向量为:

\[\mathbf{B} = n_x e_{23} + n_y e_{31} + n_z e_{12}\]

这一对应即 Hodge 对偶:旋转轴(向量)与旋转平面(双向量)在 3D 中互为对偶。直观理解:绕 z 轴旋转等价于在 xy 平面内旋转,轴的方向由右手定则确定。GA 将这一隐式对偶显式化,使得旋转的合成更为清晰——两个转子的几何积直接给出复合旋转的平面与角度,无需转换为矩阵或欧拉角。

3.2.3 复合旋转的连续性优势

转子乘法 R₂R₁ 直接给出复合旋转,其结果 自动归一化(单位转子的乘积仍为单位转子),避免了四元数乘法后的显式归一化步骤。更为重要的是,转子空间是 双覆盖(double cover) 的:R−R 表示同一旋转,这一拓扑性质与 SU(2) → SO(3) 的群同态对应。

在插值应用中,转子空间的 测地线(大圆弧)对应恒速旋转,而欧拉角插值可能产生非物理的加速。GA 的指数映射 R = e^(Bθ/2) 还为旋转的微分方程(如刚体动力学中的欧拉方程)提供了自然框架。

3.3 反射与奇数转子的统一处理

GA 将 反射 统一于相同的代数结构:向量 a 实现关于垂直于 a 的平面的反射,通过三明治乘法:

\[\mathbf{v}' = -\mathbf{a}\mathbf{v}\mathbf{a}^{-1}\]

负号确保方向正确(反射改变定向)。两个反射的复合产生旋转——这是 Cartan-Dieudonné 定理 的 GA 体现:任意等距变换可分解为反射的乘积。奇数个反射给出 反向等距(反射、滑移反射),偶数个给出 正常等距(旋转、平移)。

这一统一视角在 晶体学(对称群分类)计算机图形学(变换分解) 中有直接应用。Versor(向量或向量的几何积)作为反射的生成元,与转子(偶 versor)共同构成 Clifford 群,实现了所有等距变换的代数统一。


4. 多向量结构与等级分解

4.1 多向量的完整组成

4.1.1 标量(0级)、向量(1级)

多向量是几何代数的通用元素,其 分级结构 反映几何对象的维度。标量(0 级) 为普通实数,在物理中表示质量、电荷等无方向量;向量(1 级) 表示有向线段,对应力、速度等物理量。在 GA 中,标量与向量通过几何积相互作用:标量缩放向量(sv),向量平方产生标量(v² = |v|²)。这种交互的封闭性确保了代数的一致性。

4.1.2 双向量(2级)、三向量(3级)

双向量(2 级) 表示有向面积元,在电磁学中对应电场-磁场平面(Faraday 张量的分量);三向量(3 级) 表示有向体积元,在流体力学中对应涡量密度。更高维度的 GA 还包含四向量、五向量等,但在 3D 物理中三向量为最高级。

各级元素的几何意义并非抽象定义,而是源于 几何积的构造性外积提升等级内积降低等级几何积同时包含两种操作。这种"升降"机制使得多向量空间具有丰富的代数结构。

4.2 三维空间的8维基底(2³ = 8)

4.2.1 一般形式:M = s + v + B + It

三维 GA 的多向量空间维度为 2³ = 8,基元素为:

\[\{1, \; e_1, e_2, e_3, \; e_{12}, e_{13}, e_{23}, \; e_{123}\}\]

一般多向量可写为:

\[M = \underbrace{s}_{\text{标量}} + \underbrace{v_1 e_1 + v_2 e_2 + v_3 e_3}_{\text{向量 } \mathbf{v}} + \underbrace{B_{12}e_{12} + B_{13}e_{13} + B_{23}e_{23}}_{\text{双向量 } \mathbf{B}} + \underbrace{t \, e_{123}}_{\text{三向量 } It}\]

这一 分解是唯一的,即任意多向量可唯一表示为各等级分量之和。分量提取算子 ⟨M⟩ₖ 给出 k 级部分,满足 ∑ₖ₌₀³ ⟨M⟩ₖ = M

4.3 等级提取操作

4.3.1 按grade筛选分量

等级投影算子具有代数性质:⟨AB⟩ₖ 依赖于 AB 的各等级分量的耦合。特别地,标量部分 ⟨AB⟩₀ 定义了 标量积,在无穷维推广中为 Hilbert 空间内积的基础。等级筛选在物理应用中至关重要:电磁场多向量 F = E + IB 中,电场为向量部分,磁场为双向量部分(通过对偶),Maxwell 方程可写为单一多向量方程。

4.3.2 几何意义的分层理解

多向量的分级结构提供了 几何问题的分层处理策略

等级 几何对象 变换性质 物理/应用
0(标量) 度量不变量 旋转/反射不变 能量、质量、距离平方
1(向量) 位置、方向 旋转协变,反射变号 力、速度、电场
2(双向量) 旋转生成元、力矩 旋转协变,反射变号 角动量、磁场、应力
3(三向量) 体积、对偶 旋转不变,反射变号 质量密度、手性、拓扑

在 GATr 中,这种分层被用于设计 等变网络层:不同等级的分量通过特定的双线性形式交互,确保输出保持正确的变换性质。


5. 投影几何代数PGA:GATr核心数学

5.1 从GA到PGA的扩展动机

5.1.1 普通GA的原点限制

标准三维 GA G(3,0) 存在一个根本性限制:其向量表示的是 "过原点的"有向直线,平面表示的是 "过原点的"平面。这意味着无法直接表示 任意位置的点、任意偏移的平面——所有几何对象必须相对于固定原点定义。在实际应用中(如机器人运动学、计算机辅助设计),原点选择是任意的,而几何关系应与原点无关。

齐次坐标提供了部分解决方案,但缺乏代数结构;PGA 则通过引入 退化度量,将齐次坐标嵌入完整的 GA 框架,实现了 "无穷远"的代数化

5.1.2 无穷远方向向量e₀的引入(e₀² = 0)

PGA G(3,0,1) 通过添加第四个基向量 e₀ 扩展标准 GA,其 度量 signature 为 (3,0,1)——三个正平方(e₁² = e₂² = e₃² = 1),一个 零平方(e₀² = 0)e₀ 的零范数特性 使其表示 "无穷远方向":有限点与无穷远点的区别仅在于 e₀ 分量的存在与否。

这一构造的深刻性在于:平移——在欧氏空间中与旋转截然不同的操作——在 PGA 中表现为"绕无穷远直线的旋转",从而统一于相同的转子形式。具体而言,平移转子 T = 1 + (1/2)e₀t 的指数形式与旋转转子 R = cos(θ/2) + B sin(θ/2) 结构相似,只是双向量 e₀t 满足 (e₀t)² = 0(幂零),导致指数级数截断为线性项。

5.2 PGA的代数结构G(3,0,1)

5.2.1 16维空间(2⁴ = 16)与GATr token维度对应

PGA 的完整多向量空间维度为 2⁴ = 16,这一维度与 GATr 的架构设计 精确对应

等级 基元素 数量 几何意义 GATr 语义
0 1 1 标量 全局特征强度
1 e₀, e₁, e₂, e₃ 4 平面(e₀ 为无穷远平面) 局部坐标平面
2 e₀₁, e₀₂, e₀₃, e₁₂, e₁₃, e₂₃ 6 线(理想线 + 有限线) 边/轴/旋转生成元
3 e₀₁₂, e₀₁₃, e₀₂₃, e₁₂₃ 4 点(齐次坐标) 位置坐标
4 e₀₁₂₃ = I 1 伪标量(体积) 对偶运算辅助

GATr 采用 平面基(plane-based)约定,其中 向量表示平面,三向量表示点——这与常见的点基约定相反,但更适合"平面作为原始几何对象"的应用场景(如计算机图形中的裁剪、碰撞检测)。

5.3 平面基表示的关键约定

5.3.1 平面:向量部分(e₁, e₂, e₃ + e₀)

在平面基约定中,一般平面 表示为:

\[\pi = n_1 e_1 + n_2 e_2 + n_3 e_3 + d \, e_0\]

其中 (n₁, n₂, n₃) 为法向量,d 为到原点的有向距离。无穷远平面e₀ 本身。平面的 范数 |π|² = n₁² + n₂² + n₃²(e₀ 的零度量使其不贡献),归一化后法向量为单位向量。

两平面 π₁, π₂几何积 π₁π₂ = π₁·π₂ + π₁∧π₂ 包含丰富信息:标量部分 给出平面夹角的余弦,双向量部分 给出交线(若相交)或平行关系(若 π₁∧π₂ = 0)。这种 "乘法即几何操作" 的特性是 PGA 计算效率的核心来源。

5.3.2 点:三向量(三平面交点)

作为三平面的交点,在 PGA 中表示为 三向量

\[P = p_{012}e_{012} + p_{013}e_{013} + p_{023}e_{023} + p_{123}e_{123}\]

归一化条件P ∨ e₀ = −1(使用反变归一化),此时前三个分量给出欧氏坐标 (x, y, z),最后一个分量为 1(齐次坐标的 GA 实现)。原点 对应 e₁₂₃无穷远点(方向) 的 e₁₂₃ 分量为零。

点的 PGA 表示与齐次坐标 (x, y, z, w) 的关系:P = w·e₁₂₃ − x·e₀₂₃ − y·e₀₁₃ − z·e₀₁₂(符号约定因实现而异)。GATr 的 embed_point() 函数正是实现这一编码。

5.3.3 线:双向量

线 作为两平面的交线,表示为 双向量

\[L = l_{01}e_{01} + l_{02}e_{02} + l_{03}e_{03} + l_{12}e_{12} + l_{13}e_{13} + l_{23}e_{23}\]
分量 几何意义
(l₀₁, l₀₂, l₀₃) 方向向量(理想部分,含 e₀)
(l₂₃, −l₁₃, l₁₂) 矩向量(有限部分,Plücker 坐标)

线的 Plücker 约束 L∧L = 0(纯线条件)自动满足,其 模长 |L|² = l₀₁² + l₀₂² + l₀₃²(方向向量的平方)。线的几何操作——与点/平面的关联、线线距离、公垂线——都可通过多向量代数直接计算。

5.4 刚体变换的统一表示

5.4.1 旋转:传统转子

PGA 中的 旋转转子 与标准 GA 形式相同:

\[R = \cos\frac{\theta}{2} + \mathbf{B}\sin\frac{\theta}{2}\]

但双向量 B 现在可包含 e₀ 分量,表示 "绕任意直线的旋转"(而非仅过原点直线)。旋转轴直线 L 与转子通过 指数映射 关联:R = e^(Lθ/2),其中 L 需归一化。

由于 R 与 e₀ 对易(Re₀ = e₀R),旋转 保持无穷远平面不变——这正是旋转作为"有限点转动"的特征。

5.4.2 平移:无穷远旋转形式 1 + (1/2)e₀t

平移 作为"无穷远旋转",其转子为:

\[T = 1 + \frac{1}{2}e_0 \mathbf{t} = e^{e_0 \mathbf{t}/2}\]

其中 t = t₁e₁ + t₂e₂ + t₃e₃ 为平移向量。(e₀t)² = 0 的幂零性使得指数级数截断为线性项。验证平移效果:对于点 P = (1 + e₀r)I₃

\[TPT^{-1} = \left(1 + \frac{e_0\mathbf{t}}{2}\right)(1 + e_0\mathbf{r})I_3\left(1 - \frac{e_0\mathbf{t}}{2}\right) = (1 + e_0(\mathbf{r}+\mathbf{t}))I_3\]

位置向量增加 t,实现平移。

旋转与平移的复合 形成 马达(motor)

\[M = TR = e^{e_0\mathbf{t}/2} e^{\mathbf{B}\theta/2}\]

马达的乘积直接给出 复合刚体运动,其李群结构为 SE(3) 的覆盖群。这一统一表示是 GATr 等变性的代数基础。

5.5 几何操作的多向量实现

5.5.1 交点、并集

PGA 中,相遇(meet)∧联结(join)∨ 运算通过外积和对偶实现:

操作 公式 几何意义
两平面交线 L = π₁ ∧ π₂ 双向量
三平面交点 P = π₁ ∧ π₂ ∧ π₃ 三向量
两点连线 L = P₁ ∨ P₂ = (P₁ ∧ P₂*) 对偶外积再对偶
点线确定平面 π = P ∨ L 对偶运算

这些操作的 统一性——无论元素类型,交都用 ∧,并都用 ∨——是 PGA 作为"几何演算"的核心优势。

5.5.2 对偶运算

**对偶算子 *** 将 k 级多向量映射为 (4−k) 级多向量:

\[A^* = A I^{-1}, \quad I = e_{0123}\]
原对象 对偶对象 几何关系
点(3级) 平面(1级) 点的极平面
线(2级) 线(2级) 自对偶(正交线)
平面(1级) 点(3级) 平面的极点

对偶在 投影几何 中对应 极性(polarity)变换,在 距离计算 中至关重要:两点距离 = |P₁ ∨ P₂|,两平面夹角 = |π₁ · π₂|。


6. GATr实践应用与开发入门

6.1 Python工具链配置

6.1.1 clifford库安装与基础使用

clifford 是 Python 中最成熟的几何代数库,支持包括 PGA 在内的多种预定义代数:

pip install clifford

库中预定义了 pga 模块,直接对应 G(3,0,1)

from clifford import pga

# 访问基向量
e0, e1, e2, e3 = pga.e0, pga.e1, pga.e2, pga.e3

# 创建多向量:平面 2x + 3y - z + 5 = 0
plane = 2*e1 + 3*e2 - e3 + 5*e0

# 几何运算
line = e1 ^ e2  # 两平面交线(外积)
point = plane ^ line  # 平面与线交点

clifford16 个分量顺序 与 GATr 兼容:[scalar, e0, e1, e2, e3, e01, e02, e03, e12, e13, e23, e012, e013, e023, e123, e0123]。库提供完整代数运算:几何积(*)、外积(^)、内积(|)、反向(~)、对偶等。

6.1.2 ganja.js浏览器可视化

ganja.js 是由 Steven De Keninck 开发的 JavaScript 几何代数库,以其 交互式可视化能力 著称。通过 pyganja 可在 Jupyter notebook 中嵌入 3D 图形:

from pyganja import GanjaScene, draw
from clifford.pga import *

# 创建场景
sc = GanjaScene()
sc.add_object(e123, color=0xFF0000, label='origin')      # 原点(红色)
sc.add_object(e1, color=0x00FF00, label='x-plane')       # x=0 平面(绿色)
sc.add_object(e1^e2, color=0x0000FF, label='z-axis')     # z 轴(蓝色)

# 渲染
draw(sc, scale=0.5)

bivector.net/coffeeshop 提供大量可交互示例,涵盖 2D/3D PGA、CGA 等,是直观理解 GA 几何意义的极佳资源。

6.2 GATr代码接口解析

6.2.1 gatr/interface.py核心功能

gatr/interface.py 模块提供 物理对象与多向量表示的转换函数

函数 功能 输入 输出形状
embed_point(positions) 3D 点 → 三向量 (…, 3) 张量 (…, 1, 16)
embed_vector(vectors) 方向向量 → 向量 (…, 3) 张量 (…, 1, 16)
embed_scalar(scalars) 标量 → 标量 (…, 1) 张量 (…, 1, 16)
embed_translation(t) 平移向量 → 平移转子 (…, 3) 张量 (…, 1, 16)
extract_scalar(mv) 提取标量分量 (…, 16) (…, 1)
extract_point(mv) 三向量 → 3D 点 (…, 16) (…, 3)
extract_translation(mv) 提取平移向量 (…, 16) (…, 3)

这些函数实现 平面基约定的具体编码,确保用户无需理解 16 维细节即可使用 GATr。

6.2.2 embed_point():3D点→16维多向量

embed_point() 的具体实现(简化示意):

from gatr.interface import embed_point
import torch

points = torch.tensor([[1., 0., 0.],   # 点 A
                       [0., 1., 0.]])  # 点 B

mv = embed_point(points)  # shape: (2, 1, 16)

# mv[0, 0, :] 的非零分量(GATr 内部约定):
# - index 11 (e_021): -1.0  (x 系数,注意符号)
# - index 12 (e_013):  0.0  (y 系数)
# - index 13 (e_023):  0.0  (z 系数)  
# - index 14 (e_123):  1.0  (齐次坐标 w)

P = −x·e₀₂₁ − y·e₀₁₃ − z·e₀₂₃ + e₁₂₃,与标准 PGA 约定相差符号,是 GATr 内部实现的选择,不影响等变性

6.3 GATr架构内部机制

6.3.1 几何积非线性变换层

GATr 的核心创新是将标准 Transformer 的 MLP 层替换为 几何积非线性层

Y = σ(W₁ X W₂ + b)

其中 W₁, W₂ 为可学习的多向量权重,b 为多向量偏置,σ 为逐分量非线性(如 GELU)。几何积的 双线性特性 使得这一层能够 混合不同等级的分量,同时保持整体的 Pin(3,0,1) 等变性

与标准 MLP 对比:

特性 标准 MLP GATr 几何积 MLP
运算 矩阵乘法 Y = WX + b 双线性 Y = W₁XW₂ + b
非线性 ReLU/GELU 逐元素 相同,但保留多向量结构
等变性 需额外约束 内建于代数结构
参数效率 O(d²) O(d²),但 d=16 固定
可解释性 高(等级分量有几何意义)

6.3.2 基于GA内积的注意力机制

标准 Transformer 的注意力:softmax(QKᵀ/√d)V

GATr 的 GA 内积注意力

\[\text{Attention}(Q, K, V) = \text{softmax}\left(\frac{\langle Q, \tilde{K} \rangle_0}{\sqrt{d}}\right) V\]

其中 ⟨·,·⟩₀ 提取几何积的 标量部分K 的反向。这一内积的 E(3) 不变性 保证注意力权重仅依赖于几何对象的 相对关系,而非绝对位置或方向。

关键设计选择:

注意力变体 内积选择 性质
标量内积 ⟨QK̃⟩₀ 仅 grade-0 E(3) 不变,GATr 采用
全内积 Q·K̃ 所有 grade 非不变,需额外约束
等级选择性 ⟨Q⟩ₖ·⟨K⟩ₖ 特定 grade 可学习关注特定几何

6.3.3 等变输出的自动保证

GATr 的 完整等变性 源于各组件的等变性组合:

组件 等变性机制
嵌入层 (embed_point 等) 按 PGA 规则构造等变表示
注意力层 标量内积保持不变性
MLP 层 几何积保持协变性
归一化层 等级选择性,保持结构
提取层 (extract_scalar 等) 将等变输出转换为所需形式

这种 "对称性即架构" 的设计使得用户 无需显式处理对称性,网络自动学习几何模式。

6.4 典型应用场景

6.4.1 n体物理模拟

模型 相对误差 训练数据 关键优势
标准 Transformer 0.0050 100% 基准 基线
SE(3)-Transformer 0.0025 100% 基准 显式等变
GATr 0.0005 1% 100× 数据效率

GATr 的 等变性 使其能够 泛化到训练时未见过的粒子配置与初始条件,而传统方法需重新训练。

6.4.2 血管壁应力预测

  • 输入:CT 血管造影,大规模动脉网格(数十万顶点)
  • 输出:壁面剪切应力(WSS),心血管疾病关键指标
  • 挑战:患者姿态变化、扫描方向不一致
  • GATr 优势等变性确保对姿态变化的鲁棒性,无需重新对齐数据
  • 性能:相比标准 Transformer,误差降低 15%(0.089 vs 0.105)

6.4.3 机器人运动规划

  • 任务:抓取规划中的可行运动分布学习
  • GATr 应用马达(motor)插值 产生平滑轨迹,避免奇异点
  • 优势:SE(3) 等变性直接处理末端执行器位姿,无需欧拉角/四元数转换
  • 效果:规划成功率提升,计算时间减少

7. 进阶学习资源体系

7.1 视频教程

7.1.1 "From Zero to Geo"系列(sudgylacmoe)

YouTube 频道 sudgylacmoe 的 "From Zero to Geo" 系列被公认为 最通俗的几何代数入门视频。该系列从高中代数水平出发,通过可视化动画逐步构建 2D/3D GA、PGA、CGA 的完整图景:

视频 内容 时长
"What is Geometric Algebra?" 动机与 2D GA 基础 ~20 min
"Complex Numbers are Rotors" 复数与 GA 的对应 ~15 min
"Quaternions are Rotors Too" 四元数的 GA 解释 ~20 min
"Projective Geometric Algebra" PGA 的完整引入 ~30 min
"Why Translations are Rotations" 平移的无穷远旋转解释 ~15 min

作者采用 "几何优先"教学策略,公式推导服务于直观理解,特别适合视觉学习者。

7.1.2 其他GA视频资源

资源 作者/机构 特点
"Geometric Algebra for Computer Science" Leo Dorst (TU Delft) 学术严谨,PGA 重点
SIGGRAPH GA courses Charles Gunn 等 图形学应用导向
"Algebraic Geometry" playlist Mathoma 数学背景补充

7.2 互动学习平台

7.2.1 geometricalgebratutorial.com

该网站提供 交互式 PGA 可视化,核心特色:

  • "探索模式":逐步执行几何构造(如"求两平面交线")
  • 实时参数调节:拖动滑块观察多向量分量变化
  • 对比视图:GA 方法 vs. 传统坐标计算

适合 动手验证理解快速原型实验

7.2.2 ObservableHQ可视化项目

Notebook 作者 内容
"Ganja.js Introduction" Steven De Keninck 库的基础用法
"PGA4CS Visualized" Charles Gunn PGA 的图形学应用
"Robot Kinematics with PGA" 社区贡献 运动学实时模拟
"n-body with GATr" Qualcomm AI Research GATr 的可视化解释

这些 notebook 可直接 fork 修改,是实验新想法的理想环境。

7.3 经典文献

7.3.1 《Geometric Algebra for Physicists》(Doran & Lasenby)

属性 内容
出版社 Cambridge University Press
页数 ~600
难度 研究生水平
核心章节 3-5 章(3D GA 与经典力学)、6 章(几何微积分)
获取 免费 PDF 广泛流传

该书是 GA 领域的权威参考书,涵盖从基础到相对论、量子力学的完整应用。

7.3.2 Leo Dorst的PGA4CS指南

属性 内容
标题 "A Guided Tour to the Plane-Based Geometric Algebra PGA"
版本 2.0 (2022)
页数 ~100
重点 平面基约定、实现细节、与传统方法比较
配套 C++/Python 代码

PGA4CS 是针对 计算机科学读者的 PGA 专著,详细阐述:

  • 线模型与 Plücker 坐标
  • 马达对数与插值算法
  • 与齐次坐标、对偶四元数的比较

7.3.3 SIGGRAPH 2019几何代数课程(Charles Gunn)

属性 内容
时长 2 天课程
材料 视频、幻灯片、代码(全部公开)
覆盖 PGA 的渲染管线集成、碰撞检测、动画插值
特色 图形学实际应用导向

该课程是 图形学领域的 GA 标准教材,强调 可运行的代码实现

7.4 前沿研究

7.4.1 GATr原论文(arXiv:2305.18415)

属性 内容
标题 "Geometric Algebra Transformer"
作者 Johann Brehmer 等 (Qualcomm AI Research)
会议 NeurIPS 2023
核心贡献 PGA + Transformer 的首次大规模结合
附录 完整 PGA 约定说明与实现细节

论文的 附录 B 包含 GATr 的 16 维分量顺序、归一化约定等 复现必备信息

7.4.2 欧氏/投影/共形GA的比较研究

GA 类型 符号 维度 核心能力 典型应用
欧氏 GA G(3,0,0) 8 = 2³ 过原点几何、旋转 经典力学
投影 GA G(3,0,1) 16 = 2⁴ 任意点/线/面、刚体运动 GATr、图形学、机器人
共形 GA G(4,1,0) 32 = 2⁵ 圆/球/角度、共形变换 计算机视觉、几何建模

Roelfs & De Keninck (2023) 的 "Graded Symmetry Groups: Plane and Simple" 系统论证了 PGA 作为"最简单"欧氏几何代数 的地位。

7.4.3 共形几何代数CGA的扩展方向

CGA G(4,1) 通过添加两个额外维度(e₊, e₋,满足 e₊² = 1, e₋² = −1),实现了:

  • 圆、球面、点对 的统一表示
  • 共形变换(包括反演)的线性化
  • 角度 的直接余弦公式
特性 PGA CGA
维度 16 32
计算开销
圆球表示 需扩展 原生支持
角度计算 间接 直接
当前应用 GATr 研究探索

GATr 的架构可扩展至 CGA,是未来研究方向之一,尤其在需要 圆球几何 的应用(分子表面建模、球面相机)中。


结语:几何代数的"瑞士军刀"哲学

几何代数的核心价值在于其 统一性——不是通过抽象化来消除差异,而是通过 揭示深层结构 来整合表面不同的概念。旋转与平移、点与平面、向量与双向量,在 PGA 的框架下都成为同一数学对象的不同表现,如同瑞士军刀的多种工具共享同一刀柄。

GATr 的成功验证了这种统一性在 现代深度学习 中的实用价值:将几何先验内建于架构,而非迫使网络从零学习。这一设计理念超越了具体应用,为 物理启发的机器学习 提供了范式参考。

掌握几何代数后,你将发现:

  • 旋转不再是矩阵,而是平面内的自然转动
  • 几何不再是坐标,而是代数结构的直接表达
  • 对称性不再是约束,而是设计的起点

GATr 正是这一哲学在 AI 时代的完美落地。继续探索,你会发现几何代数在 机器人、计算机视觉、物理模拟、甚至量子计算 中的广泛应用——这把"瑞士军刀"的刀刃,远未穷尽。

推荐
智谱 GLM-5 已上线

我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。

领取 2000万 Tokens 通过邀请链接注册即可获得大礼包,期待和你一起在 BigModel 上畅享卓越模型能力
登录