当前位置:网站首页>【多任务学习】Modeling Task Relationships in Multi-task Learning with Multi-gate Mixture-of-Experts KDD18
【多任务学习】Modeling Task Relationships in Multi-task Learning with Multi-gate Mixture-of-Experts KDD18
2022-08-01 19:53:00 【chad_lee】
在模型层面理解,我们在单目标中经常会花费大量的精力“找强特征”和“删冗余特征”输入到模型,提高模型效果。那么切换到MTL时,每个task所需要的“强特”和排斥的“负特”是不同的,MTL的目的就是对每个task 尽可能的找到他们的强特和负特。
在优化层面理解,多个task同时优化模型,某些task会主导了模型的优化过程,淹没了其他task。
从监督信号的角度理解,MTL不仅仅是任务,也是一种数据扩增,相当于每个task多了k-1个监督信号来辅助学习,一些特征可以从其他task学的更好。监督信号的质量和task间的相似性有关,不相似的task反而是噪声。
#SB、MOE、MMOE
《Modeling Task Relationships in Multi-task Learning with Multi-gate Mixture-of-Experts》Google KDD 2018

share-bottom
多个任务共享相同的底部网络,底部网络输出一个样本的特征向量,每个子任务自己接一个小NN tower。
优点:简单,并且模型过拟合的风险小(因为能同时过拟合多个任务也是不容易的,可以说多个任务互相监督惩罚过拟合);多任务越相关,互相补充效果越好。
缺点:如果任务之间联系不强(矛盾、冲突),那么对底层网络的优化方向可能是相反的。
底层输出:f(x),子任务tower:$h^k_x ,每个子任务输出: ,每个子任务输出: ,每个子任务输出:y_x^k = h^k_x(f(x)) $
One-gate-MoE
将input分别输入给三个独立的expert(3个nn),同时将input输入到gate,gate输出每个expert被选择的概率,然后将三个expert的输出加权求和,输出给tower:
y k = h k ( ∑ i = 1 n g i f i ( x ) ) , y^{k}=h^{k}\left(\sum_{i=1}^{n} g_{i} f_{i}(x)\right) \text { ,} yk=hk(i=1∑ngifi(x)) ,
其中 g ( ) g() g() 是个多分类模块,且 ∑ i = 1 n g ( x ) i = 1 \sum_{i=1}^{n} g(x)_{i}=1 ∑i=1ng(x)i=1 ,$f_{i}(), i=1, \cdots, n 是 n 个 e x p e r t n e t w o r k , k 表示 k 个任务, 是n个expert network,k表示k个任务, 是n个expertnetwork,k表示k个任务,h^k$表示之后的NN tower。
所以这里相当于给用input当作query,给bottom的输出加了一个attention,看公式换汤不换药,$h^k $在括号外面,这就导致不同的tower输入还是一样的,没有解决task冲突问题。
但是MOE可以解决领域适配的问题,用于cross domain:
MMOE
因此很自然,每个 $h_k $ 不要放在括号外面,不同的 h k h_k hk的输入不同就好了。
所以每个task各分配一个gate,这样gate的作用不再是attention了,而是个性化的为每个task选择重要特征,过滤冗余特征了:
f k ( x ) = ∑ i = 1 n g i k ( x ) f i ( x ) g k ( x ) = softmax ( W g k x ) \begin{aligned} f^{k}(x) &=\sum_{i=1}^{n} g_{i}^{k}(x) f_{i}(x) \\ \ \ g^{k}(x) &=\operatorname{softmax}\left(W_{gk}x\right) \end{aligned} fk(x) gk(x)=i=1∑ngik(x)fi(x)=softmax(Wgkx)
其中g就是线性变化+softmax。
这样理论上存在一种情况,gate能给每个task筛选特征,至于模型能不能优化到这个情况,不好说。
实验

边栏推荐
- 我的驾照考试笔记(1)
- openresty 动态黑白名单
- GEE(8):使用MODIS填补由去云后的Landsat影像计算得到的NDVI数据
- Write code anytime, anywhere -- deploy your own cloud development environment based on Code-server
- 数据库系统原理与应用教程(071)—— MySQL 练习题:操作题 110-120(十五):综合练习
- Pytorch模型训练实用教程学习笔记:四、优化器与学习率调整
- JS数组过滤
- 开源视界 | StreamNative 盛宇帆:和浪漫的人一起做最浪漫的事
- 【1374. 生成每种字符都是奇数个的字符串】
- ThreadLocal讲义
猜你喜欢

30天刷题计划(五)
![57: Chapter 5: Develop admin management services: 10: Develop [get files from MongoDB's GridFS, interface]; (from GridFS, get the SOP of files) (Do not use MongoDB's service, you can exclude its autom](/img/e1/2fa8dcc9c246bbbc2494326a83cda1.png)
57: Chapter 5: Develop admin management services: 10: Develop [get files from MongoDB's GridFS, interface]; (from GridFS, get the SOP of files) (Do not use MongoDB's service, you can exclude its autom

XSS range intermediate bypass

58:第五章:开发admin管理服务:11:开发【管理员人脸登录,接口】;(未实测)(使用了阿里AI人脸识别)(演示了,使用RestTemplate实现接口调用接口;)

面试突击70:什么是粘包和半包?怎么解决?

【七夕特别篇】七夕已至,让爱闪耀

第57章 业务逻辑之业务实体与数据库表的映射规则定义

研究生新同学,牛人看英文文献的经验,值得你收藏

10 个 PHP 代码安全漏洞扫描程序

为你的“架构”安排定期体检吧!
随机推荐
部署zabbix
如何看待腾讯云数据库负责人林晓斌借了一个亿炒股?
油猴hook小脚本
nacos安装与配置
What should I do if the Win11 campus network cannot be connected?Win11 can't connect to campus network solution
LabVIEW 使用VISA Close真的关闭COM口了吗
Gradle系列——Gradle文件操作,Gradle依赖(基于Gradle文档7.5)day3-1
【kali-信息收集】(1.4)识别活跃的主机/查看打开的端口:Nmap(网络映射器工具)
【七夕特别篇】七夕已至,让爱闪耀
小白系统初始化配置资源失败怎么办
Write code anytime, anywhere -- deploy your own cloud development environment based on Code-server
多线程之生产者与消费者
启明云端分享|盘点ESP8684开发板有哪些功能
数值矩阵的图形表示
因斯布鲁克大学团队量子计算硬件突破了二进制
Greenplum数据库源码分析——Standby Master操作工具分析
用户体验好的Button,在手机上不应该有Hover态
Ruijie switch basic configuration
30-day question brushing plan (5)
PHP 安全最佳实践