ICLR 2025 Spotlight

内容摘要本文由慕尼黑工业大学与北京大学联合团队撰写。第一作者刘强为慕尼黑工业大学博士生。第二作者楚梦渝为北京大学助理教授,专注于物理增强的深度学习算法,以提升数值模拟的灵活性及模型的准确性和泛化性。通讯作者 Nils Thuerey 教授(慕尼黑工

本文由慕尼黑工业大学与北京大学联合团队撰写。第一作者刘强为慕尼黑工业大学博士生。第二作者楚梦渝为北京大学助理教授,专注于物理增强的深度学习算法,以提升数值模拟的灵活性及模型的准确性和泛化性。通讯作者 Nils Thuerey 教授(慕尼黑工业大学)长期研究深度学习与物理模拟,尤其是流体动力学模拟的结合,并曾因高效流动特效模拟技术获奥斯卡技术奖。目前,其团队重点关注可微物理模拟及物理应用中的先进生成式模型。

在深度学习的多个应用场景中,联合优化多个损失项是一个普遍的问题。典型的例子包括物理信息神经网络(Physics-Informed Neural Networks, PINNs)、多任务学习(Multi-Task Learning, MTL)和连续学习(Continual Learning, CL)。然而,不同损失项的梯度方向往往相互冲突,导致优化过程陷入局部最优甚至训练失败。

目前,主流的方法通常通过调整损失权重来缓解冲突。例如在物理信息神经网络中,许多研究从数值刚度、损失的收敛速度差异和神经网络的初始化角度提出了许多权重方法。然而,尽管这些方法声称具有更高的解的精度,但目前对于最优的加权策略尚无共识。

针对这一问题,来自慕尼黑工业大学和北京大学的联合研究团队提出了 ConFIG(Conflict-Free Inverse Gradients,无冲突逆梯度)方法,为多损失项优化提供了一种稳定、高效的优化策略。ConFIG 提供了一种优化梯度

,能够防止由于冲突导致优化陷入某个特定损失项的局部最小值。ConFIG 方法可以在数学上证明其收敛特性并具有以下特点:

最终更新梯度

与所有损失项的优化梯度均不冲突。

在每个特定损失梯度上的投影长度是均匀的,可以确保所有损失项以相同速率进行优化。

长度可以根据损失项之间的冲突程度自适应调整。

此外,ConFIG 方法还引入了一种基于动量的变种。通过计算并缓存每个损失项梯度的动量,可以避免在每次训练迭代中计算所有损失项的梯度。结果表明,基于动量的 ConFIG 方法在显著降低训练成本的同时保证了优化的精度。

想深入了解 ConFIG 的技术细节?我们已经为你准备好了完整的论文、项目主页和代码仓库!

论文地址:abs/2408.11104

项目主页:ConFIG/

GitHub: tum-pbs/ConFIG

ConFIG: 无冲突逆梯度方法

目标:给定个损失函数,使其满足:

 。即所有损失项在该方向上都能减少,从而避免梯度冲突。

。我们希望找到一个优化方向

,其对应梯度为

无冲突优化区间

假设存在一个无冲突更新梯度,我们可以引入一个新的矢量是一个无冲突梯度, 应为一个正向分量矢量。同样地,我们也可以预先定义一个正向分量矢量,然后直接通过矩阵的逆运算求得无冲突更新梯度,即,我们得到由一系列不同组成的无冲突优化区间。

。通过给定不同的正向分量矢量

。由于

确定唯一优化梯度

尽管通过简单求逆可以获得一个无冲突更新区间,我们需要进一步确定唯一的无冲突梯度用于优化。在 ConFIG 方法中,我们从方向和幅度两个方面进一步限定了最终用于优化更新的梯度:

具体优化方向:相比于直接求解梯度矩阵的逆,ConFIG 方法求解了归一化梯度矩阵的逆,即个梯度向量的单位向量。可以证明,变换后矢量的每个分量代表了每个梯度分量的不同值可以直接控制最终更新梯度对于每个损失梯度的优化速率。在 ConFIG 中,被设定为单位矢量以确保每个损失具有相同的优化强度从而避免某些损失项的优化被忽略。

之间的余弦相似度。因此,通过设定

与最终更新梯度

表示第

,其中

优化梯度大小:此外,ConFIG 方法还根据梯度冲突程度调整步长。当梯度方向较一致时,加快更新;当梯度冲突严重时,减小更新幅度:

为每个梯度与最终更新方向之间的余弦相似度。

, 其中

ConFIG 方法获得最终无冲突优化方向的计算过程可以总结为:

原论文中给出了上述 ConFIG 更新收敛性的严格证明。同时,我们还可以证明只要参数空间的维度大于损失项的个数,ConFIG 运算中的逆运算总是可行的。

M-ConFIG: 结合动量加速训练

ConFIG 方法引入了矩阵的逆运算,这将带来额外的计算成本。然而与计算每个损失的梯度带来的计算成本,其并不显著。在包括 ConFIG 在内的基于梯度的方法中,总是需要额外的反向传播步骤获得每个梯度相对于训练参数的梯度。这使得基于梯度的方法的计算成本显著高于标准优化过程和基于权重的方法。为此,我们引入了 M-ConFIG 方法,使用动量加速优化:

使用梯度的动量(指数移动平均)代替梯度进行 ConFIG 运算。

在每次优化迭代中,仅对一个或部分损失进行反向传播以更新动量。其它损失项的动量采用之前迭代步的历史值。

在实际应用中,M-ConFIG 的计算成本往往低于标准更新过程或基于权重的方法。这是由于反向传播一个子损失往往要比反向传播总损失

更快。这在物理信息神经网络中尤为明显,因为边界上的采样点通常远少于计算域内的采样点。在我们的实际测试中,M-ConFIG 的平均计算成本为基于权重方法的 0.56 倍。

结果:更快的收敛,更优的预测

物理信息神经网络

在物理信息神经网络中,用神经网络的自动微分来近似偏微分方程的时空间导数。偏微分方程的残差项与边界条件和初始条件被视作不同的损失项在训练过程中进行联合优化。我们在多个经典的物理神经信息网络中测试了 ConFIG 方法的表现。

结果显示,在相同训练迭代次数下,ConFIG 方法是唯一一个相比于标准 Adam 方法始终获得正向提升的方法。对每个损失项变化的单独分析表明,ConFIG 方法在略微提高 PDE 训练残差

,实现了 PDE 训练精度的整体提升。

的同时大幅降低了边界和初始条件损失

相同迭代步数下不同方法在 PINNs 测试中相比于 Adam 优化器的相对性能提升不同损失项随着训练周期的变化情况

在实际应用中,相同训练时间下的模型准确性可能更为重要。M-ConFIG 方法通过使用动量近似梯度带来的运算速度提升可以使其充分发挥潜力。在相同训练时间内,M-ConFIG 方法的测试结果优于其他所有方法,甚至高于常规的 ConFIG 方法。

此外,我们还在最具有挑战性的三维 Beltrami 流动中进一步延长训练时间来更加深入地了解 M-ConFIG 方法的性能。结果表明,M-ConFIG 方法并非仅在优化初始阶段带来显著的性能改善,而是在整个优化过程中都持续改善优化的过程。

相同训练时间下不同方法在 PINNs 测试中相比于 Adam 优化器的相对性能提升三维 Beltrami 流动案例中预测误差随着训练时间的变化

多任务学习

我们还测试了 ConFIG 方法在多任务学习(MTL)方面的表现。我们采用经典的 CelebA 数据集,其包含 20 万张人脸图像并标注了 40 种不同的面部二元属性。对每张人像面部属性的学习是一个非常有挑战的 40 项损失的多任务学习。

实验结果表明,ConFIG 方法或 M-ConFIG 方法在平均 F1 分数

中均表现最佳。其中,对于 M-ConFIG 方法,我们在一次迭代中更新 30 个动量而不仅更新一个动量。这是因为当任务数量增加时,单个动量更新时间的间隔较长,历史动量信息难以准确捕捉梯度的变化。动量信息的滞后会逐渐抵消 M-ConFIG 方法更高训练效率带来的性能提升。

、平均排名

在我们的测试中,当任务数量等于 10 时,M-ConFIG 方法在相同训练时间下的性能就已经弱于 ConFIG 方法。增加单次迭代过程中的动量更新次数可以显著缓解这种性能下降。在标准的 40 任务 CelebA 训练中将动量更新次数提升到 20 时,M-ConFIG 方法的性能已经接近 ConFIG 方法,而训练时间仅为 ConFIG 方法的 56%。当更新步数达到 30 时,其性能甚至可以优于 ConFIG 方法。

ConFIG 方法在 CelebA 人脸属性数据集中的表现

结论

在本研究中,我们提出了 ConFIG 方法来解决不同损失项之间的训练冲突。ConFIG 方法通过确保最终更新梯度与每个子梯度之间的正点积来确保无冲突学习。此外,我们还发展了一种基于动量的方法,用交替更新的动量代替梯度,显著提升了训练效率。ConFIG 方法有望为众多包含多个损失项的深度学习任务带来巨大的性能提升。

 
举报 收藏 打赏 评论 0
24小时热闻
今日推荐
浙ICP备19001410号-1