当前位置:网站首页>动态权重之多任务不平衡论文 (二) MetaBalance
动态权重之多任务不平衡论文 (二) MetaBalance
2022-08-02 15:05:00 【枫桦】
以下文章来源于秋枫学习笔记 ,作者秋枫学习笔记
title:MetaBalance: Improving Multi-Task Recommendations via Adapting Gradient Magnitudes of Auxiliary Tasks link:https://arxiv.org/pdf/2203.06801v1.pdf code:https://github.com/facebookresearch/MetaBalance from:WWW 2022
1. 导读
在推荐场景中使用多任务学习,通常会遇到严重的优化不平衡问题。
- 一方面,一个或多个辅助任务可能比目标任务具有更大的影响,甚至主导网络权重,导致目标任务的推荐精度降低。
- 另一方面,一个或多个辅助任务的影响可能太弱,无法帮助目标任务。
- 这种不平衡在整个训练过程中动态变化,并在同一网络的不同部分发生变化。
本文提出了一种新的方法:MetaBalance,该方法对辅助任务的梯度依据目标任务的梯度进行缩放,并且在缩放的同时保留一部分自身的梯度,从而缓解辅助任务梯度过大过小的问题。
2. 问题定义
令θ表示共享参数,这类参数是被目标任务和辅助任务共同优化的,损失函数可以表示为下式,
然后利用损失函数的梯度来更新参数θ,表示如下,用
表示目标网络的梯度,用
表示辅助任务的梯度,
表示正则项的梯度。
3. 方法
3.1 调整辅助任务梯度幅度
主任务和辅助任务梯度幅度的不平衡会对整体任务带来负面影响,MetaBalance通过三种策略和放松因子对梯度进行动态的、自适应的调整。
基础版伪代码如下,主要包括四个步骤:
- 分别计算主任务和辅助任务的梯度,
,
;
- 在第 5 行中,可以选择减小幅度大于目标梯度的辅助梯度,或者放大幅度较小的辅助梯度,或者同时应用这两种策略。可以根据目标任务的验证性能来选择策略。
- 将辅助梯度标准化为单位向量,然后和目标梯度相乘得到新的辅助梯度
- 更新参数
image.png
- 优点:通过标准化后与目标梯度相乘使得目标任务和辅助任务的梯度能够在相同的量级上,缓解辅助任务梯度过大或过小的问题。
- 缺点:辅助梯度是依据主任务梯度生成的,但是主任务的梯度未必是准确的或最优的,因此定义了一个放松因子来控制辅助梯度向主梯度的靠近程度。
3.2 调整幅度接近度
本文设置了一个放松因子r来控制辅助梯度向主梯度的靠近程度,r为超参数,公式如下,
上式可以改写为下式,当
时,r越大,w越大;反之,r越大,w越小。
并且利用梯度的移动平均来替代原来的即时梯度,从而考虑梯度之间的方差,公式如下,
伪代码如下,
4. 结果
image.png
边栏推荐
猜你喜欢
随机推荐
SSRF(服务器端请求伪造)
【Untitled】
剑指Offer 49.丑数 动态规划
Qt | 控件之 QCheckBox
MySQL-4-常规概念
How to check the WeChat applet server domain name and modify it
UnicodeEncodeError: 'gbk' codec can't encode character '\u2022' in position 178: illegal multibyte s
esp32之arduino配置下载提速
622. 设计循环队列 : 数组模拟循环队列
Apache APISIX 2.15 版本发布,为插件增加更多灵活性
Qt | 通过创建一个简单项目了解 Qt Creator
已经2022下半年了,居然还在说链动2+1!
浅析PM2实用入门指南
Go-5-简单介绍fmt库
IPtables and binlog
管理软件开发 管理软件定制开发流程
c语言实现三子棋
面试官的角度谈谈算法岗面试的过程(岗位涉及到OCR、目标检测、图像分割、语音识别等领域)
祝蔡徐坤生日快乐!
Brute-force cracking of the latest JVM interview questions of Meituan: unlimited execution