被放弃的欧拉角复活了:KAN如何拯救一个"过时"的旋转表示
一个被放弃的方案
2019年,Zhou等人在CVPR上投下了一颗炸弹:用6D表示替代欧拉角。他们的论证简洁有力——欧拉角有奇异性,万向锁(gimbal lock)会让梯度消失,在SO(3)这个弯曲流形上,三个角度参数化注定有缝。从那以后,6D、9D、四元数、轴角……旋转回归领域几乎一边倒地放弃了欧拉角。
六年后的今天,一篇来自arXiv的论文(2607.09650)说:等一下,你们可能扔错了。
论文的核心论点只有一句话:欧拉角的问题不在欧拉角本身,而在于你用了错误的函数类去拟合它。当你把欧拉角和Kolmogorov-Arnold Networks(KAN)配对时,那些所谓的奇异性、不连续性、训练不稳定——全都不见了。不仅不见,它还比主流的6D表示好了40%。
关键洞察:有界关节范围
让我们先理解一个被忽视的事实:在绝大多数实际应用中,旋转角度并不是无界的。
一个Franka机械臂的关节不会转360度,它的有效工作范围远小于理论极限。一只Allegro机械手的手指关节、一个人体骨架的髋关节——它们的运动范围都被生物力学或工程约束限制在一个窄区间内。论文指出,在这些有界范围内,欧拉角的奇异性根本不会出现。
万向锁发生在中间轴(通常是Y轴)转到±90度时。但如果你的机械臂关节范围是±45度,你永远不会碰到万向锁。这就像你担心高速公路上的悬崖——在正常车道上行驶时,悬崖不存在。
但论文走得更远。他们不只是说"有界范围内欧拉角安全",而是发现了一个更深层的结构匹配。
KAN的加性结构:天作之合
Kolmogorov-Arnold Networks是2024年提出的新架构,核心思想来自Kolmogorov-Arnold表示定理:任何多变量连续函数都可以表示为单变量函数的有限组合。具体说,f(x₁, x₂, x₃) = Σ φᵢ(xᵢ) 的形式——加性结构。
而欧拉角在什么情况下是加性的?当关节范围有界、且每个轴的运动相对独立时,旋转矩阵的元素可以近似分解为三个角度的独立贡献。论文给出了理论分析(Section 3.5):在有界范围内,欧拉角的旋转矩阵元素呈现出"近加性"结构——每个角度的贡献可以近似叠加。
这正是KAN最擅长拟合的结构。KAN用可学习的样条函数(spline)作为边上的激活函数,每个通道的非线性可以独立适应数据。当目标函数本身是加性的,KAN的样条天然能捕捉到这种结构。
对比之下,MLP用固定的激活函数(ReLU、GELU),要拟合加性结构需要整个网络协同调整——这就像用一把扳手去拧螺丝,虽然能拧,但效率低。
数据说话:5.2倍精度提升
论文的实验覆盖了四个层次:合成旋转回归、物体姿态估计、机械臂逆运动学、人手逆运动学。结果一致。
合成旋转回归:KAN+Euler的MAE(平均角度误差)为2.40度,GE(测地线误差)为4.60度。主流的MLP+6D基线是4.02度和7.01度。误差降低了40%和34%。
更精彩的是消融实验。MLP+Euler的GE是7.94——比MLP+6D(7.01)还差。这说明:欧拉角+MLP是糟糕的配对,但欧拉角+KAN是优秀的配对。准确性不由表示或架构单独决定,而由两者的匹配决定。
机械臂逆运动学(Franka):当只有3个关节活跃时,KAN+Euler的FKE(前向运动学误差)为0.16cm,成功率100%;MLP+6D是0.83cm,成功率71.6%。精度提升5.2倍。随着活跃关节减少(问题越难),KAN+Euler的优势越大——5关节时1.3倍,4关节时2.6倍,3关节时5.2倍。
人手逆运动学:在Allegro手上,KAN+Euler的MAE为0.063,比MLP+6D(0.277)好了4.4倍。
全身骨架(SKEL模型,24关节):KAN+Euler在所有种子上都最优。当进一步收紧关节范围(除以div因子)时,优势从4.1%(div=1)增长到5.2%(div=3)——范围越窄,优势越大,完全符合理论预测。
为什么这件事重要
这篇论文的意义远超旋转回归本身。它揭示了一个被深度学习社区集体忽视的模式:
我们经常把"表示不好"和"表示+函数类不好"混为一谈。
2019年大家说"欧拉角不好"时,其实说的是"欧拉角+MLP不好"。但这两个命题完全不同。前者暗示问题出在表示本身,后者暗示问题出在表示和函数类的匹配。如果是前者,你只能换表示;如果是后者,你还可以换函数类。
这就像一个厨师说"这种食材不好",但实际上是"这种食材用这种做法不好"。换个做法,同一种食材可能是最好的。
深度学习社区有一个倾向:当某个方案效果不好时,归因于方案本身,而不是方案与当前架构的匹配。然后整个社区集体迁移到新方案,旧方案被遗忘。但有时候,旧方案只是等一个合适的架构来释放它的潜力。
欧拉角等了六年,等到了KAN。
更深的启示:归纳偏置的再发现
KAN+Euler的成功还指向一个更深的道理:归纳偏置(inductive bias)不是越少越好。
深度学习过去十年的主流叙事是"让数据说话"——减少人为先验,让模型自己学。但KAN+Euler的故事说明,正确的归纳偏置可以事半功倍。KAN的加性结构是一种归纳偏置,欧拉角的有界性是一种归纳偏置,两者匹配时,1+1>2。
论文还做了一个效率实验:在相同精度下,KAN+Euler需要的参数量比MLP+6D少得多。这意味着更小的模型、更快的推理、更低的能耗——在边缘部署场景下尤其重要。
代码与局限
论文声明代码将公开。从论文描述看,实现并不复杂:KAN的Python库已经开源,欧拉角到旋转矩阵的转换是标准操作。核心改动只是把输出层的MLP换成KAN——大约几十行代码的修改。
局限也是明显的。论文的方法在有界范围内有效,但如果你的应用需要全范围旋转(比如无人机姿态估计、自由相机定位),欧拉角的奇异性仍然存在。论文也承认这一点,他们不主张欧拉角在所有场景下都最优,而是主张"在适用的场景下,它被错误地放弃了"。
结语
这篇论文让我想起一个模式:科学史上很多被放弃的想法,不是想法本身错了,而是实现想法的工具不够好。
开普勒用椭圆轨道拟合火星数据时,椭圆模型早就存在,但没人用——因为当时的计算工具算不动椭圆轨道。等到了牛顿微积分,椭圆才成为标准。
欧拉角的命运类似。它被放弃不是因为概念错了,而是因为MLP这个工具不够好。KAN出现后,欧拉角的加性结构终于被正确利用。
所以下次当你准备放弃一个"过时"的方案时,不妨问一句:是方案本身不行,还是我手里的工具不对?
---
论文信息:Revisiting Euler-Angle Regression with Kolmogorov-Arnold Networks, arXiv:2607.09650