聊聊多任务学习
最近翻译的一篇分享中,主要讲解了多任务学习的各个方面,很多的专业术语与概念都不清楚,因此简单的整理了下相关的知识,做个笔记。
概述
现在大多数机器学习任务都是单任务学习。对于复杂的问题,也可以分解为简单且相互独立的子问题来单独解决,然后再合并结果,得到最初复杂问题的结果。这样做看似合理,其实是不正确的,因为现实世界中很多问题不能分解为一个一个独立的子问题,即使可以分解,各个子问题之间也是相互关联的,通过一些共享因素或共享表示(share representation)联系在一起。把现实问题当做一个个独立的单任务处理,忽略了问题之间所富含的丰富的关联信息。多任务学习就是为了解决这个问题而诞生的。把多个相关(related)的任务(task)放在一起学习。这样做真的有效吗?答案是肯定的。多个任务之间共享一些因素,它们可以在学习过程中,共享它们所学到的信息,这是单任务学习所具备的。相关联的多任务学习比单任务学习能去的更好的泛化(generalization)效果。
损失函数
损失函数(loss function)是用来估量模型的预测值f(x)与真实值Y的不一致程度。
机器学习算法系列(18):偏差与损失函数
专业词汇解释
CTR:Click-through rate,点击率
CVR:Conversion Rate,转化率
YSL:衍生率即点击后进入第二个页面后续的点击次数
BIAS:偏差,定义为学习算法的期望预测与真实结果的偏离程度
MMOE:
- 多任务学习的算法模型;全称 Multi-gate Mixture-of-Experts;
- 增加Expert层与gate层
- 参考
UWL:
- 多任务损失优化算法,全称: Uncertainty Weigh Losses
- 参考:
帕累托最优:
- 在帕累托最优下,多目标中的任何一个目标都不可能在不损害其他目标的前提下进行优化。
- 参考
参考:
多目标推荐那些事儿(必读)