课程信息
多任务学习与元学习介绍
why multi-task learning or meta learning?
现实情况:DNN requires large dataset: What if you don’t have large dataset?
Long tail data: scenarios that the model has never seen.
Few-shot learning
多任务学习是指用同一个网络实现多个任务的结果输出,而元学习更是一种学习如何去学习的技术。本文会更注重于学习多任务学习的理论和思路。
What is a task?
Objects, people, objectives…
多任务学习problem formulation
What is a task descriptor z i z_i zi?
e.g. One-hot encoding of the task index. A vector telling if its task 1 or 2 or 3.一个任务标记的变量,有时候会是一个指示任务编号的向量。
An alternative view on the model task objective
Divide all the parameters θ into shared parameters and task specific parameters. Then choosing how to condition on
z
i
z_i
zi is equivalent to choosing how and where to share parameters. 如何处理z提供的这一条件成为了一个关键性问题。
一些condition on z_i 的方法
contamination based conditioning和additive conditioning,这两种方法都是假设z是一个向量。前者将z与x结合成为一个新的合并的input,后者将z与x相加,但是因为参数矩阵是与输入向量相乘,所以两者本质上一样。
multiplicative gating:
以及multi head architecture和multiplicative conditioning,分别使用了不同种的encoder和输入x与z产生的conditional scaling vector相乘的模式。
More complex choices are generally introduced.
现存问题
现有的网络设计更像是神经网络的tuning工作, 更加problem dependent缺乏解决问题的普适性。网络的设计更需要直觉和对于问题的理解。
Challenges
Challenge 1: negative transfer 多任务学习的效果,并没有单个任务学习的效果好的情况。一个(可能的)解决办法是soft parameter sharing: 调整参数共享的程度,以适配任务之间的相似性。
如图:layer间处理参数
Challenge 2: 过拟合。可能说明参数共享的不够;把多任务学习相当于正则化的效果。
Case study
Ranking problem 详见课件