Transfer Learning

前言

真实图像任务场景下,往往存在拥有数据并不直接与任务相关的问题。此外,数据可能属于同一个域,但是不同的任务,例如,猫的图片和老虎的图片。或者,训练图片的风格和目标task的风格完全不一样。
对于人来说,人是经常在做且较容易做类比,迁移学习的。

迁移学习例子迁移学习例子

Source Data 表示与当前任务没有直接关系,但是这种没有直接关系的定义非常模糊。

迁移学习分类

Model Fine-tuning

目标数据和源数据都是有标签的。

  • Target data:(xt,yt)(x^t,y^t) 非常少(如果非常多的话就可以直接在该数据上训练模型)
  • Source data:(xs,ys)(x^s,y^s) 非常多

如果target data非常非常少,可以叫One-shot learning。

示例

  • Target data:辨识某个人的声音,但是声音可能非常少。
  • Source data:用很多人的声音样本

用Source data训练一个模型,再根据目标任务进行fine-tune,即Source data当做模型初始化参数。但如果Target data 非常非常少,就容易过拟合。

Conservative Training

增加一些正则,防止fine-tune后的模型与原模型差距过大。

Conservative Training 示例Conservative Training 示例

Layer Transfer

训练好原模型后,将某几个层训练参数拷贝到新模型中,只有部分层是没有参数的。
这样仅训练剩下几层的参数来防止过拟合的发生。

Which layer can be transferred?

  • Speech:通常只复制最后几层,因为可能前几层用来提取特征,后几层根据高阶特征来进行任务,因此后几层可能和说话者无关的。
  • Image:通常复制前面几层,CNN前几层用来学习图片的模式。

Multitask Learning

Multitask Learning示例Multitask Learning示例

Progressive Neural Networks

如果task1和task2 非常不像,可以将task1的隐层接到task2的隐层,这样最差的情况就是将task1的隐层的影响减少到0。

Progressive Neural NetworksProgressive Neural Networks

Domain-adversrial training

  • Source data:(xs,ys)(x^s,y^s) Training data
  • Target data:(xt)(x^t) Testing data

源数据有标签,但是目标数据没有标签,但是两个数据之间的分布是不同的。
目标是将不同domain的数据的特征可以分类到一起,因此增加一个Domain classifier,同时增加一个Label predictor类似多任务。
同时,这两个任务是有对抗的特性的。

Domain-adversarial trainingDomain-adversarial training

Zero-shot Learning

  • Source data:(xs,ys)(x^s,y^s) Training data
  • Target data:(xt)(x^t) Testing data
    源数据和目标数据是完全不同的任务,例如:所给数据是猫和狗的图片,而目标数据是草泥马的图片。

用多个丰富的特性来表示每个类别。

Zero-shot Learning TrainingZero-shot Learning Training

Attribute embedding
将图片通过NN进行embedding,将其对应属性进行embedding,让这两个embedding越相近越好。当模型未见过的图片输入时,同样转为embedding,看看和那个属性相近。

  • ff^*将图片进行映射
  • gg^*将word or attribute进行映射
    f,g=argminf,gnf(xn)g(yn)2 f^*,g^* = arg \min_{f,g}\sum_{n}{||f(x^n)-g(y^n)||_2}
    但这样会有问题,因为模型将所有的图片和word都投影到一个点,就结束了,图片之间没有差别。

f,g=argminf,gnmax(0,kf(xn)g(yn)+maxmnf(xn)g(ym)) f^*,g^* = arg \min_{f,g}\sum_{n}max(0,k-f(x^n)\cdot g(y^n)+\max_{m\neq n}f(x^n)\cdot g(y^m))
如果,我们知道图片和word的对应关系,可以做类似负采样的方法,将图片和不对应word的距离拉大。