Transfer Learning
文章目录
Labeled target data and source data
Model Fine-tuning
Task 描述:
特点Target data 很少
叫做One-shot Learning
example:
语音辨识,
语音助手拿到首先说几句话跟着
处理方式
Conservation Training
大量的source data,去初始化另一个network 的参数,然后再用target data 微调参数,很容易overfitting
新的network 相当于旧的regularization
训练限制:
-
只调某个layer参数,防止过拟合
-
fine-tune the whole network
调哪个layer?
语音辨识:调第一个一般,接近input的layer
IMAGE:前面固定,调Output 附近几个Layer 前面做的基础特征提取
fine-tune + Transfer 效果最好
Multitask Learning
task a & b 公用同一个feature:
feature 都 无法公用:
中间做些transform
选择适当相关的task
example
语音辨识,声音信号丢进去,翻译成人类语言:
一起train
Progressive Neural Network
先学习task A 然后 task B
会不会学B的时候会影响task A呢?
蓝色的output 输入到绿色input 来作为另外一个task 的输入,但是再BP的时候不会调蓝色的 ,蓝色锁死
如果更多task
Unlabeled Target data & Labeled Source Data
例如手写数字辨识
另外一些image,没有label:
一个是train 一个 是 test, 效果不会很好,因为mismatch
data 的 分布 很不一样
Domain-adversarial Training
把source 和 target 转到同一个domain 处理
feature 根本没有交集
就需要 feature extractor 尽量去除source target 的 不同
骗过 domain classifier,很轻松,Why?
绿色 都 output 0就行了 要再增加Label predictor 需要满足
Domain classifier fails in the end
It should struggle !
Zero-shot Learning
可能有些target 在 source 里面 从没出现过
语音辨识:用音素(音标),不以词汇
***Representing each class by its attributes !***找独特的属性
Training:
判断属性,而不是最后直接分类
x1 x2 通过一个f 映射到 embedding space 然后 对应的属性y1 y2 也通过g映射到上面,如果新的进一个X3 依然可以采用相同的方法 目标是结果f g 尽可能接近
但是关于x-attributes 估计可能得依靠数据库支持
修改 与不相干的拉的越远越好:
K 叫做 margin max(0, 后面) 后面大于0 才会有loss <0 没有loss, 什么时候呢? 什么时候没有loss ?
inner product
没有属性: 用word vector
回归到zero Learning:
进行一个combination,就是中间?辨识从没看过的东西
Unlabeled Source and Labeled Target Data
self-taught learning
类似于半监督学习,有一个很大不同:data 可能是无关的 是不同类的