CCG 00-11:能量与优化——为什么几何算法总在最小化
本课只解决一个问题
为什么“求一个好参数化”经常被改写成“让某个能量最小”?
能量把许多局部要求汇总成一个数,优化则从允许的候选中寻找这个数最小的那个。
1. 从一元二次函数开始
求导:
令导数为零:
二阶导数,所以图像开口向上, 是唯一全局最小值。
2. 多维二次能量
把数 换成对称矩阵:
梯度为
因此驻点满足
这说明解线性方程和最小化二次能量是同一个问题的两种视角。
3. 正定性保证碗口朝上
若对任意非零 都有
则 正定。沿任意方向离开最小点,能量都会二次增加,所以最小值唯一。
若存在非零 使,沿这个方向能量可能完全不变。这就是对称性导致的零空间。
4. 一个弹簧例子
两个标量未知量 之间放一根弹簧:
只有差值重要,两者同时加常数 不改变能量:
写成矩阵:
,所以常数向量是零空间。这就是最小型图 Laplacian。
5. 网格平滑能量
对图或网格所有边求和:
若相邻顶点值差异大,能量增加;最小化会让值尽量平滑。对每个内部顶点求偏导:
令其为零:
所以调和条件表示:每个内部值是邻居的加权平均。
6. 约束优化
若只最小化上面的平滑能量,所有 取同一个常数就得到零能量,几何会塌缩。参数化必须加约束,例如固定边界:
此时只优化内部未知量。约束决定哪些候选允许参与竞争,能量决定允许候选中谁最好。
7. 梯度下降与直接求解
梯度下降迭代为
是步长。对二次能量,若系统规模允许,直接解 通常更准确;对非线性能量或巨大模型,迭代法更常见。
算法选择不改变数学目标,只改变寻找最小点的方式。
8. 局部最小与全局最小
- 局部最小:附近候选都不更好;
- 全局最小:整个可行域内没有更好候选。
正定二次能量是凸的,局部最小就是全局最小。含三角形翻转屏障、非线性曲率或神经网络参数的能量可能非凸,初值就会影响结果。
9. 评价一个几何能量要问什么
- 每一项惩罚的几何现象是什么?
- 能量是否有平移、旋转或缩放零空间?
- 约束是否足以去掉零空间?
- 最小值存在吗,唯一吗?
- 最低能量是否真的意味着没有翻转?
最后一点尤其重要:LSCM 最小化共形误差,但一般不自动保证所有三角形朝向正确。
10. 常见误区
- 能量是人为构造的评价规则,不是自然界唯一给定的答案。
- 梯度为零不总是最小值,也可能是最大值或鞍点。
- 残差很小只说明方程解得准,不说明能量模型选得对。
- 加约束会改变可行域,必须解释其几何含义。
11. 自测与答案
题 1。 求 的最小点。
答案。,所以;二阶导数为。
题 2。 为什么 对整体加常数不敏感?
答案。 每个差值中的常数相消。
题 3。 固定网格边界后,内部调和值满足什么局部性质?
答案。 每个内部顶点值等于邻居值的加权平均。
前后课程
许可协议:CC BY
作者:Davids
本文链接:https://hustjjd.github.io/ccg/00-11-optimization/
更新于:2026年10月12日