Facebook出手!自适应梯度打败人工调参

简介: Facebook出手!自适应梯度打败人工调参

大家好,我是对白。


多任务模型中各个任务难以调参、收敛、效果平平,是一件令人头疼的事情。有没有什么可以令人省心省力的“自适应”方法呢?笔者浏览了一些最近的顶会文章,读了一些相关文章,今天挑选一篇分享给大家~


说到多任务学习,想必大家都不陌生。在理想的推荐场景中,通过与辅助任务的联合学习,可以提升目标任务的预测效果。例如,在社交推荐中,用户偏好的学习可以与辅助任务(预测用户之间的联系与信任)联合训练。


但理想归理想,现实却往往“事故多发”。说不定,在加了多个辅助任务,并经历艰难的调参之后,目标任务的效果却令人头秃。直觉分析原因,有两种可能:


当辅助任务产生了比目标任务更大的影响,甚至支配了网络权重时,目标任务的结果会变得更差;


另一个极端,当一个或多个辅助任务的影响太弱时,则无法帮助目标任务提升效果。


更具可能性的情况是,上述两个可能原因在训练的过程中交替出现,并且在同一个网络的不同部分之间变化。


在多任务学习中,模型的训练loss通常由多个损失函数加权得到,而不同任务重要程度往往是需要人为设参的,使得我们可能在调参问题上时间花费较多。


这篇文章所提的方法MetaBalance采用对辅助任务动态梯度调整的方式,取代对不同任务的权重调整,在NDCG@10上针对两数据集取得了8.34%的改进



论文标题:MetaBalance: Improving Multi-Task Recommendations via Adapting Gradient Magnitudes of Auxiliary Tasks


论文链接:https://doi.org/10.1145/3485447.3512093


论文代码:https://github.com/facebookresearch/MetaBalance


一、MetaBalance核心思想



本文由Meta AI发表于WWW2022上。在看文章具体内容之前,我们先回忆一下多任务学习的损失函数以及梯度更新规则:


从梯度的角度再去解释一下辅助任务对目标任务产生负面影响的原因:


多任务网络通常由具有共享参数的bottom layer和几个ask-specific layers组成,如下图:



在训练中,每个任务都有相应的loss,并相对于多任务网络的共享参数具有相应的梯度。这些梯度的综合会影响参数的更新方式,并且梯度越大,对共享参数的影响越大


  • 当辅助loss的梯度远大于目标loss的梯度时,辅助任务相比目标函数会对共享参数产生更大的影响,导致最终目标任务的性能下降;


  • 反之,辅助任务的影响太弱,则无法辅助目标任务。


这种情况其实很常见,如下图阿里巴巴的两个例子,分别对应了上述两种情况。



二、算法细节

如何调整辅助梯度大小呢?针对上面的分析,我们可以看到有两种不适宜的梯度情况,对此MetaBalance提出了三种策略:

  1. 当远大于时,应能自适应减少;


  1. 当远小于时,应能自适应增大;


  1. 如有必要,可同时进行1与2策略。


该策略是根据目标任务在验证数据集上的性能选择的,这是针对特定任务和数据集的经验最佳策略。


为了实现的自适应变化,文章提出可以平衡的*动态权重*。


到目前为止,一个基本的算法流程为:



然而,强制辅助梯度与目标梯度具有完全相同的大小,一定可以实现目标任务的最佳值吗?文章对此提出采用 relax factor 来调节辅助梯度与目标梯度大小的接近度


采用上式来代替算法1中的步骤6。可以看到,当 越接近1,两种梯度的接近度越高。



不仅如此, 实际上会影响每个辅助任务的权重,将算法1中的第六行改写为:



那么,应该如何选择合适的 值呢?


由于 仅用于反向传播,不含任何loss的梯度,故作为超参数,在验证集进行优化。


这里注意,尽管所有辅助任务均采用相同的 值,但并不表示它们具有相同的权重或梯度大小,可参考上图公式(4)。


最后,应用相应梯度的移动平均值,以训练迭代中所有梯度之间的方差


最终算法的伪代码为:



三、实验结果

实验结果总体不错,下面展示了三种梯度调整策略的实验结果,可见在UserBehavior-2017中均显著优于vanilla多任务学习baseline(“vanilla multi”),并且策略C在IJCAI-2015中显著优于基线,这表明了MetaBalance的有效性和鲁棒性。



下面展示了对超参数relax factor 的研究分析。



四、总结

本文从梯度大小的角度提出了MetaBalance来调整辅助任务,以更好地辅助目标任务。该方法可以防止目标任务不受辅助任务的支配,也可以避免一个或多个辅助任务被忽略。此外,辅助梯度针对网络的每个部分,在整个训练过程中实现了动态、自适应的平衡


文末留两个思考题:


  1. 从梯度的视角下去理解多任务学习,并不是一个新鲜的话题,你还知道哪些有效的梯度调整方法?


  1. 类似的思路是否可以用到其他领域呢,例如多模态学习?


相关文章
|
2月前
|
机器学习/深度学习 算法
深度学习中的自适应抱团梯度下降法
【10月更文挑战第7天】 本文探讨了深度学习中一种新的优化算法——自适应抱团梯度下降法,它结合了传统的梯度下降法与现代的自适应方法。通过引入动态学习率调整和抱团策略,该方法在处理复杂网络结构时展现了更高的效率和准确性。本文详细介绍了算法的原理、实现步骤以及在实际应用中的表现,旨在为深度学习领域提供一种创新且有效的优化手段。
|
6月前
|
机器学习/深度学习 人工智能 算法
李沐:用随机梯度下降来优化人生!
**摘要:** 了解吴恩达提到的机器学习六大核心算法之一——优化算法,特别是梯度下降。梯度下降是常用于降低模型损失函数的优化方法,适用于线性回归、逻辑回归及神经网络。尽管简单易用,但它依赖初始值且可能陷入局部最优。为改善这些问题,发展出了如动量法、Adagrad、Adam等优化算法。梯度下降在神经网络训练中扮演关键角色,涉及前向传播、反向传播和参数更新。它有批梯度、随机梯度和小批量梯度等变体,其中随机梯度下降在处理大规模数据时效率高,但可能收敛不稳定。生活中的问题也可借鉴随机梯度下降的思想,通过设定目标、持续努力、适应变化和合理休息来优化人生路径。
62 0
李沐:用随机梯度下降来优化人生!
|
6月前
|
机器学习/深度学习 人工智能 算法
谷歌DeepMind:GPT-4高阶心智理论彻底击败人类!第6阶推理讽刺暗示全懂了
【6月更文挑战第10天】谷歌DeepMind团队的最新论文显示,GPT-4在高阶心智理论任务中超越了人类水平,这是AI在理解和推理人类心理状态上的重大突破。研究人员通过MoToMQA测试套件评估了大型语言模型,发现GPT-4在第6阶推理上超过成人表现。这一进展意味着AI能更好地理解用户意图,提升交互体验,但也引发了关于操纵与控制人类以及模型是否真正理解心理状态的担忧。论文链接:https://arxiv.org/pdf/2405.18870
83 3
|
7月前
|
机器学习/深度学习 算法 关系型数据库
PyTorch深度强化学习中蒙特卡洛策略梯度法在短走廊环境(CartPole-v0)中的实战(超详细 附源码)
PyTorch深度强化学习中蒙特卡洛策略梯度法在短走廊环境(CartPole-v0)中的实战(超详细 附源码)
83 0
|
7月前
|
机器学习/深度学习 算法 vr&ar
强化深度学习中利用时序差分法中的Sarsa算法解决风险投资问题实战(附源码 超详细必看)
强化深度学习中利用时序差分法中的Sarsa算法解决风险投资问题实战(附源码 超详细必看)
79 0
|
机器学习/深度学习 存储 人工智能
放弃反向传播后,Geoffrey Hinton参与的前向梯度学习重磅研究来了
放弃反向传播后,Geoffrey Hinton参与的前向梯度学习重磅研究来了
143 0
|
机器学习/深度学习 算法 网络架构
放弃反向传播后,Geoffrey Hinton参与的前向梯度学习重磅研究来了(2)
放弃反向传播后,Geoffrey Hinton参与的前向梯度学习重磅研究来了
谷歌、DeepMind新研究:归纳偏置如何影响模型缩放?
谷歌、DeepMind新研究:归纳偏置如何影响模型缩放?
|
机器学习/深度学习 监控 自动驾驶
差点被ECCV错过的Oral论文:视频理解新框架,仅用微调的「成本」,达到预训练的「全能」
差点被ECCV错过的Oral论文:视频理解新框架,仅用微调的「成本」,达到预训练的「全能」
152 0
|
机器学习/深度学习 算法 数据挖掘
图神经网络发Nature子刊,却被爆比普通算法慢104倍,质疑者:灌水新高度?
图神经网络发Nature子刊,却被爆比普通算法慢104倍,质疑者:灌水新高度?
100 0