我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的、自己不知道的东西。

本节内容综述

  1. 要做一项任务,但是数据不直接与任务相关。这就涉及到了迁移学习。在现实生活中,我们其实不断在做“迁移学习”。
  2. 关于 Transfer Learning ,李老师的分类如 Overview (目标数据是否有标签、原数据是否有标签)。
  3. 首先来看 Model Fine-tuning 。
  4. 接下来是 Multitask Learning 。
  5. 如果两个任务不像,是否迁移学习会有不好的效果?有人对此提出了 Progressive Neural Networks 。
  6. 在目标数据没有标签时,如何处理?且看 Domain-adversarial training 。
  7. 此外,还有一种思路:zero-shot Learning 。
  8. 剩下一点时间,讲一讲 Source Data 没有 label 是怎么办。

小细节

Overview

【李宏毅2020 ML/DL】P85 Transfer Learning

Model Fine-tuning

【李宏毅2020 ML/DL】P85 Transfer Learning
如上,目标的数据有标签,但是很少;其他数据很大量,有标签。这种数据在语音辨识比较常见。

这种问题的思路可以很直接:使用其他数据训练模型,然后用目标数据微调。

Conservative Training

【李宏毅2020 ML/DL】P85 Transfer Learning
如上,在 Conservative Training 中,要注意让新老的模型差距不要太大。

Layer Transfer

【李宏毅2020 ML/DL】P85 Transfer Learning
如上,还有一种方法:把大部分的层都复制并固定到新模型;只让某一层参与微调。

Which layer can be transferred (copied)?

  • Speech: usually copy the last few layers;
  • Image: usually copy the first few layers.

【李宏毅2020 ML/DL】P85 Transfer Learning
对于图片训练 Layer Transfer 如上。

Multitask Learning

【李宏毅2020 ML/DL】P85 Transfer Learning
如上,在训练时,即训练了可以公用的“层”。

Multilingual Speech Recognition

【李宏毅2020 ML/DL】P85 Transfer Learning
Multitask Learning 很成功的例子就是多语言翻译,如上。

Progressive Neural Networks

【李宏毅2020 ML/DL】P85 Transfer Learning
如上,用之前任务的中间层去训练下一任务对应层的输出。但是这个方法还存在不少问题。

Domain-adversarial training

【李宏毅2020 ML/DL】P85 Transfer Learning
如上,如果把神经网络的某层抽出来,你会发现,不同 domain 的数据,其分布根本不同。

因此希望,把 domain 的特性消掉。不同的 domain 的相同类别应该混在一起。

【李宏毅2020 ML/DL】P85 Transfer Learning
如上,提出了类似 GAN 的结构,在后面加上 Domain classifier ,以消除 Domain 的特性。但是如果只考虑 Domain ,则会造成偏差。因此,还要加上 Label predictor 。

【李宏毅2020 ML/DL】P85 Transfer Learning
如上,建立了一个大网络。对于蓝色、粉色的输出,其目标不同。

【李宏毅2020 ML/DL】P85 Transfer Learning
如上,两个目标是冲突的,因此要加一个 gradient reversal layer 。训练时可能比较难 train 。

【李宏毅2020 ML/DL】P85 Transfer Learning
其结果如上 proposed approach 。

zero-shot Learning

【李宏毅2020 ML/DL】P85 Transfer Learning
在 zero-shot Learning 中,其任务是截然不同的。在语音辨识中,我们经常遇到这种情况:在训练时,我们不可能见过所有的单词;为此,我们建了一个所有单词的“语义表”,将单词映射到语义表上,对于没见过的单词,也将其映射到该表上。

对于图片同理。

【李宏毅2020 ML/DL】P85 Transfer Learning
如上,在训练时,训练其各种“特性”。

【李宏毅2020 ML/DL】P85 Transfer Learning
而在训练时,把 Attributes 输出,然后去属性表中找,哪一种动物的属性最为接近,即为那种动物。

DeviSE

【李宏毅2020 ML/DL】P85 Transfer Learning
此外,可以把图片以及其属性分别做一个 embedding ,在测试时,将属性的 embedding 做比较。此外,我们希望 ffgg 越近越好。

【李宏毅2020 ML/DL】P85 Transfer Learning
如果我们没有动物的数据库该怎么办呢?如上,我们可以接用 word2vec 。

【李宏毅2020 ML/DL】P85 Transfer Learning
如上,对于训练,我们应考虑两件事:

  • ffgg 越近越好;
  • 对于不对应的 ffgg ,越远越好。

Convex Combination of Semantic Embedding

【李宏毅2020 ML/DL】P85 Transfer Learning
如上,如果一张动物的图片,其分类分数作为权重,之后将词向量加权平均,与哪个词最接近,即为那个词。

【李宏毅2020 ML/DL】P85 Transfer Learning
其结果如上。

Self-taught learning

  • Learning to extract better representation from the source data (unsupervised approach)
  • Extracting better representation for target data

【李宏毅2020 ML/DL】P85 Transfer Learning
如上,原始论文做了许多任务,其表现都不错。

相关文章:

  • 2021-09-05
  • 2021-04-20
  • 2021-11-09
  • 2021-09-19
  • 2021-10-11
  • 2021-05-14
  • 2021-09-14
  • 2021-09-19
猜你喜欢
  • 2021-04-05
  • 2021-08-27
  • 2021-06-30
  • 2021-06-22
  • 2021-08-02
  • 2021-06-27
  • 2021-11-02
相关资源
相似解决方案