谷歌 | 多任务学习,如何挑选有效的辅助任务?只需一个公式!

a6947cf73c331355a154c2c6f37f8911.png

文 | 小伟
编 | 小轶

9715be634a9a44f07120af5375b6e3b5.png前言34dfd1fb5fa3ca45173516a4c5f2e413.png

说到多任务学习,大家都不陌生,不管是在学术界还是工业界都已经有了很多成熟的探索与应用。在理想的多任务学习中,各个任务对彼此应当是有益的,所有任务相互促进,从而达到超过单任务学习的效果。

但理想归理想,实际情况却并非如此。简单的把一堆任务堆积在一起往往会降低模型最终的性能,所以在多任务学习中,如何去有效地识别哪些任务在训练时结合在一起可以对彼此有益 成为了很关键的问题。

38861467a6050f0159085f356cc0fd32.png

显而易见,我们可以直接搜索所有任务组合在一起构成的参数空间(N个任务对应2^N-1种可能性),但指数级的复杂度实在是让人无法接受。Google最近的这篇文章就对这个问题做出了比较好的解答。它提出了一种在多任务学习中高效决定哪些任务应当划分到一组进行训练的方法,在大规模的 Taskonomy 计算机视觉数据集上,不仅可以把测试集的 loss 降低10.0%,训练速度也是之前任务分组 SOTA 的 11.6 倍

论文标题:
Efficiently Identifying Task Groupings for Multi-Task Learning

论文链接:
https://arxiv.org/abs/2109.04617

9c557d9bc81e688c63b72fd25eb3d0f6.png概览a266e8e1601d80a6f47c59396f2146b8.png

总体来看,训练可以分为四个部分:

  • 首先我们用一个单独的多任务模型来把所有任务结合在一起训练

  • 其次在训练的过程中我们会计算不同任务之间的亲和度(Inter-Task Affinity)

  • 当模型过完一遍所有的训练数据并且计算出任务两两之间的亲和度之后,我们通过某种算法来对任务进行分组,使得亲和度之和最大

  • 最后我们用分组之后的任务来进行训练以及预测。

4c0682fac38606922a78117ab16bc962.png

第一部分与第四部分很容易理解,下面我们来具体看一下第二部分以及第三部分。

5445a4a06c6babc5e8a82761b2b466af.png任务间亲和度139a6e8ec2c7927e0e0d1521e860f1fe.png

整个算法中最最关键的概念就是这个“任务间亲和度”了。任务间亲和度(Inter-Task Affinity),直白一点的讲的话,就可以理解为:在多任务学习中,用一个值来量化一个任务 对另一个任务 的正面或者负面影响

那具体怎么衡量呢?在本文中,作者提出:用任务 对共享参数的梯度更新对另一个任务 的 loss 影响的程度 来衡量两个任务的亲和度。

形式化地表达就是:考虑任务集合 , 共享参数 ,以及任务 的参数 , 其中 对于一个batch的训练数据 , 整体的训练loss

其中 是任务 对应的loss 那么对于在训练时刻 的一个batch的训练数据 , 当我们用某个任务 的loss对共享参数 进行一次梯度更新后,得到新的共享参数

然后我们就可以用新的共享参数 , 训练数据 以及另一个任务 的参数 来计算共享参数更新之后任务 的新loss

与共享参数更新之前任务 的旧loss 进行比较,就可以得到任务 对任务 的亲和度

如果亲和度大于0,说明任务 对共享参数的此次梯度更新会降低另一个任务 的loss,对应着正面影响; 相反如果小于0,说明 对共享参数的更新会提高 的loss,对应着负面影响。

这样,我们对训练数据进行一次迭代,就可以获得最终所有任务 两两之间的亲和度

任务分组

不要忘记我们最终的目标是——把任务进行分组。在得到任务两两之间的亲和度之后,我们要怎么对任务进行分组呢?

我们先定义两个概念:

  • 目标任务(Serving-time Task):也就是最后真正要测试的任务。它是所有任务集合 的子集。

  • 任务亲和度(Task Affinity):对于某个任务 来说,其任务亲和度为 所属的组内其他所有任务对其亲和度之和。

这样,分组问题就转化为:把所有任务划分为 组,使得所有目标任务的任务亲和度之和最大。文中提出我们可以通过利用分支定界法或者0-1整数规划来解决该问题。

然而很悲伤的是,这是一个NP-hard问题。当任务数量较多时,时间复杂度会非常高。

ba330a4047b39f75a685197424dfc343.png实验结果8ffecfb9bd32454e4b3439918e40902d.png

实验结果非常给力(TAG是本文方法),总结一下的话主要有一下两点:

  • TAG分组方法比之前分组方法的多任务学习效果更好,在CelebA上有更少的测试错误以及在Taskonomy上有更低的测试loss

  • TAG分组方法更加高效,训练速度可以是之前方法的10几甚至20多倍

f42d2190be25e761bdb89f1254d97b8c.png

3696430200a9ead5aad6e0a79ece0b99.png总结3e366ce35c631ad1503904a286534d31.png

本文提出了一种只需要对训练数据进行一次迭代就可以计算出任务间亲和度的方法,利用该亲和度来衡量任务间的相互影响并进行任务组的划分,在多任务学习的效果以及效率上都超过了之前方法很多。作者同时也希望这篇文章可以给多任务学习中任务组的划分带来更多的关注,希望可以在这一方向上有更多的探索与发展。

23221a4d6fb4edbac14aa86f8ec8fcac.png思考c142d212a2d24fe5963c3b9926b0ed60.png

虽然多任务学习不管是在学术界还是工业界都已经有了比较成熟的应用,但现在多任务学习还是比较依赖于充足的先验知识,很多情况下都需要人事先判断任务之间是不是可以相互促进的。然而人的知识毕竟是有限的,所以很多情况下并不能做出很准确的判断以及划分,从而对多任务学习的性能造成负面的影响。所以如果能有一种可以简易快捷的判断几个任务是不是应该结合在一起学习的方法,相信会给多任务学习带来质的提高,它的应用也会更加的广泛与方便。

从刚才的介绍我们也可以看出,虽然本文的方法只需要对训练数据进行一次迭代就可以对任务进行分组,但复杂度还是蛮高的(亲和度计算以及组的划分),所以感觉如何把复杂度再降低一些将会是非常有前景的未来研究方向。

e97687e09d9d83eae7971739fa1933bc.png后台回复关键词【入群

加入卖萌屋NLP/IR/Rec与求职讨论群

后台回复关键词【顶会

获取ACL、CIKM等各大顶会论文集!

41a5c29f605dc4ad8ac38ec55d68a46e.gif

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/477977.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode 888. 公平的糖果交换(哈希set)

文章目录1. 题目2. 解题2.1 暴力查找2.2 哈希set1. 题目 爱丽丝和鲍勃有不同大小的糖果棒:A[i] 是爱丽丝拥有的第 i 块糖的大小,B[j] 是鲍勃拥有的第 j 块糖的大小。 因为他们是朋友,所以他们想交换一个糖果棒,这样交换后&#…

OpenKG开源系列 | 面向知识的推理问答编程语言KoPL(清华大学)

OpenKG地址:http://openkg.cn/tool/koplGitHub地址:https://github.com/THU-KEG/KoPL网站地址:https://kopl.xlore.cn开放许可协议:MIT License贡献者:清华大学(曹书林、史佳欣、姚子俊、吕鑫、聂麟骁、逄凡…

前端组件化开发实践

前言 一位计算机前辈曾说过: Controlling complexity is the essence of computer programming.随着前端开发复杂度的日益提升,组件化开发应运而生,并随着 FIS、React 等优秀框架的出现遍地开花。这一过程同样发生在美团,面临业务…

LeetCode 937. 重新排列日志文件(自定义排序)

1. 题目 你有一个日志数组 logs。每条日志都是以空格分隔的字串。 对于每条日志,其第一个字为字母数字标识符。然后,要么: 标识符后面的每个字将仅由小写字母组成,或;标识符后面的每个字将仅由数字组成。 我们将这…

预训练时代微调新范式,高性能加速2800%,NLPer赶紧看过来!

一、导读PaddleNLP 是兼具科研学习和产业实践能力的 Python NLP 工具包,提供中文领域丰富的预训练模型和部署工具,被高校、企业开发者广泛应用。近日,PaddleNLP v2.1正式发布,为开发者带来三项重要更新:开箱即用的工业…

论文浅尝 | GaussianPath: 用于知识图谱推理的贝叶斯多跳推理框架

笔记整理:谭亦鸣,东南大学博士生来源:AAAI’21链接:https://ojs.aaai.org/index.php/AAAI/article/view/16565多跳推理由于对下游任务例如问答和图谱补全的可解释性受到关注。多跳推理是一个典型的顺序决策过程,可表述…

AllenAI 发布万能问答系统 MACAW!各类题型样样精通,性能大幅超越 GPT-3!

文 | python前言GPT-3 等超大规模预训练语言模型,在少监督任务(few-shot tasks)上取得了令人瞩目的成绩。而这篇文章中,AllenAI的研究员提出了大规模生成式问答模型,MACAW。基于多角度预训练,MACAW可以用于…

论文浅尝 | SMBOP: Semi-autoregressive Bottom-up Semantic Parsing

笔记整理:陈永锐,东南大学博士来源:NAACL 2021概述近年来语义解析的事实上的标准解码方法是使用自顶向下的深度优先遍历对目标程序的抽象语法树进行自回归解码。该工作提出了一种替代方法:半自回归自底向上解析器(SMBO…

美团酒店Node全栈开发实践

前后端分离的背景 “前后端分离”显然已不是什么新鲜的话题,Zakas在2013年10月份就曾发表过一篇博客《Node.js and the new web front-end》讨论Node背景下新时代的前端。毫无疑问,Node的出现给JavaScript语言带来了新的生机,也使得前端开发者…

统计学习方法总结

统计学习方法总结 阅读目录(Content)0. 相关知识点0x1: 监督学习1. 模型假设空间2. 生成模型与判别模型的联系与区别 3. 学习策略4. 分类问题与回归问题5. 利用模型进行预测和分析0x2:模型评估与模型选择1. 训练误差与测试误差2. 过拟合与模型选择0x3:正…

LeetCode 997. 找到小镇的法官(图的出度和入度)

1. 题目 在一个小镇里,按从 1 到 N 标记了 N 个人。传言称,这些人中有一个是小镇上的秘密法官。 如果小镇的法官真的存在,那么: 小镇的法官不相信任何人。每个人(除了小镇法官外)都信任小镇的法官。只有…

哈工大|NLP数据增强方法?我有15种

文 | rumor源 | 李rumor卷友们好,我是rumor。十一假期过的太快了,不知道你们缓过来没有,没有的话今天我们就来一起读一篇综述缓缓,弥补假期没学习的遗憾。这篇40多页的综述出自哈工大车万翔老师的团队,一共总结了15种N…

论文浅尝 | Wordly Wise(WoW) - 用于语音视觉知识问答的跨语言知识融合模型

笔记整理: 谭亦鸣,东南大学博士生来源:NAACL’21链接:https://aclanthology.org/2021.naacl-main.153.pdf论文提出了一种新的知识图谱问答数据集命名为FVSQA,这是一种语音视觉知识问答类型的任务,即问题形式为音频&…

美团Android DEX自动拆包及动态加载简介

概述 作为一个android开发者,在开发应用时,随着业务规模发展到一定程度,不断地加入新功能、添加新的类库,代码在急剧的膨胀,相应的apk包的大小也急剧增加, 那么终有一天,你会不幸遇到这个错误&a…

LeetCode 83. 删除排序链表中的重复元素(链表)

1. 题目 给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。 示例 1: 输入: 1->1->2 输出: 1->2示例 2: 输入: 1->1->2->3->3 输出: 1->2->3来源:力扣(LeetCode) 链接&#…

用多模态信息做 prompt,解锁 GPT 新玩法

文 | 子龙编 | 小轶自多模态大火以来,井喷式地出现了许多工作,通过改造预训练语言模型,用图像信息来增强语义信息,但主要集中在几个 NLU 任务上,在 NLG 上的研究比较少。今天要介绍的这篇 paper Multimodal Conditiona…

论文浅尝 | 基于时序知识图谱的问答

笔记整理:姚云志,浙江大学在读博士,研究方向为自然语言处理。链接:https://arxiv.org/pdf/2106.01515.pdf时序知识图谱是一种多关系的知识图谱,相较于常规的知识图谱,时序知识图谱中的关系中会与时间段相关…

Logistic Regression 模型简介

逻辑回归(Logistic Regression)是机器学习中的一种分类模型,由于算法的简单和高效,在实际中应用非常广泛。本文作为美团机器学习InAction系列中的一篇,主要关注逻辑回归算法的数学模型和参数求解方法,最后也…

开源开放 | 中国近代历史人物知识图谱

OpenKG地址:http://openkg.cn/dataset/zgjdlsrw项目地址:http://www.zjuwtx.work/project/kg开放许可协议:CC BY-SA 4.0 (署名相似共享)贡献者:浙江大学(王天笑)1、引言中国近代历史…

LeetCode 1071. 字符串的最大公因子(字符串的最大公约数)

1. 题目 对于字符串 S 和 T,只有在 S T … T(T 与自身连接 1 次或多次)时,我们才认定 “T 能除尽 S”。 返回字符串 X,要求满足 X 能除尽 str1 且 X 能除尽 str2。 示例 1: 输入:str1 &q…