当前位置:网站首页>动态权重之多任务不平衡论文 (二) 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
边栏推荐
猜你喜欢
Basic management of mysql database in Linux system
UnicodeEncodeError: 'gbk' codec can't encode character '\u2022' in position 178: illegal multibyte s
类的比较大小(Comparable -> compareTo(类自己实现接口),Comparator -> compare(新建一个类作为比较器))
MySQL 高级(进阶) SQL 语句 (一)
esp32之arduino配置下载提速
Win 10、Win 11 安装 MuJoCo 及 mujoco-py 教程
- [email protected]设计"/>
NXP i.MX 8M Mini工业核心板B2B版本,4核ARM [email protected]设计
HDU1561 树形背包dp+边界优化 0ms过题
redis学习四redis消息订阅、pipeline、事务、modules、布隆过滤器、缓存LRU
Apache的管理及web优化
随机推荐
【个人总结】2022.7月结
PAT Grade A 1143 Lowest Common Ancestor
QT基础第四天(4)qt事件机制:事件基础概念,常见事件机制,事件处理以及事件的重写
BSC链智能合约模式系统开发功能逻辑分析
MySQL查询
多线程------实际篇
Go-6-常用命令-go包管理问题-两个路径-GO111MODULE
性能测试详解(理论篇)
Eight big software attack overview of supply chain
RecSys'22 推荐系统论文梳理
SQL实现将多行记录合并成一行
China's garment industry has formed a complete industrial system
TCP(传输控制协议)
622. 设计循环队列 : 数组模拟循环队列
浅析PM2实用入门指南
Qt | 事件系统 QEvent
Go-4-在vim中无法跳转到源代码
How to check the WeChat applet server domain name and modify it
Vest bag access process record
2022 VMware下载安装教程