C. 人工智能 — 迁移学习 - 概述
概述
- 运用已学习的知识来求解不同但相关领域问题的新的机器学习方法,目的是让机器“学会学习”
- 难点
- 带标记的训练样本数量有限。比如,处理A领域(target domain)的分类问题时,缺少足够的训练样本。同时,与A领域相关的B(source domain)领域,拥有大量的训练样本,但B领域与A领域处于不同的特征空间或样本服从不同的分布。
- 数据分布会发生变化。数据分布与时间、地点或其他动态因素相关,随着动态因素的变化,数据分布会发生变化,以前收集的数据已经过时,需要重新收集数据,重建模型。
- 应用场景
- 语音辨识
- 问题
- 台语资料少
- 思路
- 台语的语音辨识,可以通过学习英文、中文等来迁移
- 问题
- 医药图像识别
- 问题
- 医药图像资料少
- 思路
- 可以通过学习其他类型的图片来迁移
- 问题
- 文件分析
- 语音辨识
- 自1995年以来,迁移学习吸引了众多的研究者的目光,迁移学习有很多其他名字
- 学习去学习(Learning to learn)
- 终身学习(life-long learning)
- 推导迁移(inductive transfer)
- 知识强化(knowledge consolidation)
- 上下文敏感性学习(context-sensitive learning)
- 基于知识的推导偏差(knowledge-based inductive bias)
- 累计/增量学习(increment / cumulative learning)
- 等等
原理
- 组成部分
- 源域
- 目标域
- 源任务
- 目标任务
- 学习方法
- 推导学习(inductive learning)
- 原理
- 需要先用一些样本(training set)建立一个模型,再基于建立好的模型去去预测新的样本(testing set)的类型。以分类为例,推到学习就是一个经典的贝叶斯决策,通过贝叶斯共识:P(Y|X)=P(X|Y)* P(Y)/ P(X),建立后验概率分布P(Y|X),进而预测测试样本类别。
- 缺点
- 必须先建立一个模型,很多时候建立效果好的模型并不容易,特别是当带标记的训练样本少、无标记的测试样本非常多时。那么能否直接利用大量无标记的测试样本来识别样本类别呢?
- 原理
- 转导学习(tranductive learning)
- 原理
- 不需要建立后验概率模型,直接从无标记的测试样本X出发,构建P(X)的分布,对测试样本分类。(聚类)
- 缺点
- 因为是直接基于P(X)处理,转导学习的测试样本必须预先已知。
- 原理
- 无监督迁移学习
- 原理
- 转导迁移学习使用源领域Ds和Ts中的知识提升或优化目标领域Dt中目标预测函数ft(.)的学习效果。
- 在无监督迁移学习中,目标任务与源任务不同但却相关。此时,无监督迁移学习主要解决目标领域中的无监督学习问题,类似于传统的聚类、降维和密度估计等机器学习问题。
- 原理
- 推导学习(inductive learning)
技术分支
- 方法一
- Inductive Transfer Learning (Labeled data are availabel in a target domain)
- Case 1(No labeled data in a source domain)
- Self-taught Learning
- Case 2(Source and target tasks are learn simultaneously)
- Multi-task Learning
- Case 1(No labeled data in a source domain)
- Transductive Transfer Learning(Labeled data are availabel only in a source domain)
- Domain Adaptation(different domains but single task)
- Sample Selection Bias/Covariance Shift(single domain and single task)
- Unsupervised Transfer Learning(No labeled data in both source and target domain)
- Inductive Transfer Learning (Labeled data are availabel in a target domain)
- 方法二
- Same Source and Target Marginal Discributions on X(数据类型)
- Same Tasks on Source and Target Domains
- Usual Learning Settings
- Not Same Tasks on Source and Target Domains
- Inductive Transfer Learning
- Same Tasks on Source and Target Domains
- No Same Source and Target Marginal Discributions on X(数据类型)
- Same Tasks on Source and Target Domains
- Transductive Transfer Learning(Domain Adaptation)
- Not Same Tasks on Source and Target Domains
- Unsupervised Transfer Learning
- Same Tasks on Source and Target Domains
- Same Source and Target Marginal Discributions on X(数据类型)
任务分类
- 迁移问题
- 迁移什么
- 如何迁移
- 基于实例的迁移学习(instance transfer)
- 基于样本的迁移学习是对已有样本的重用过程,它通过调整源域中原始样本的权重系数,使之和目标域匹配,进而应用在目标域中。这种方法通过度量训练样本和测试样本之间的相似度来重新分配源域数据的采样权重,相似度越大的样本对目标任务的训练越有利,其权重也会得到强化,相似度小的样本权重则被削弱。
- 基于特征的迁移学习(feature representation transfer);
- 基于特征的迁移学习是特征表示的重建过程,它通过特征变换使得源域数据与目标域数据处在同一个特征空间之上,再在这个公共空间上进行学习。这种方法适用于所有的迁移学习任务。特征迁移的基本思想是学习在相关任务中共享的一组低维特征表示,对特征的降维采用的也是特征映射和特征选择两种方式(降维学习的两种方式)。
- 基于参数的迁移学习(parameter transfer);
- 基于模型的迁移学习是已有模型的转移过程,它假设源任务和目标任务共享一些参数或者一些先验分布,将在训练数据上训练好的成熟模型应用到目标域上解决问题。应用在归纳迁移学习中的大多数模型方法都来自于多任务学习,但多任务学习试图同时提升源任务和目标任务的学习效果,而迁移学习只是利用源域数据来提高目标域的性能。在迁移学习中,通过给目标域的损失函数分配更大的权重,可以确保在目标域中获得更好的性能。
- 基于关系的迁移学习(relational knowledge transfer)。
- 基于关系的迁移学习是问题结构的复制过程,如果源域和目标域之间共享了某种相似关系,那就可以将源域上的逻辑关系网络应用到目标域上。与其他三种方法不同,关系学习方法处理的是关系域中的迁移学习问题,其中的数据在概率上不需要满足独立同分布的条件,但是一定要能够用类似的关系来表示,最典型的实例就是物理网络的数据和社交网络的数据。在这种方法中,数理逻辑是常用的工具。
- 基于实例的迁移学习(instance transfer)
- 什么时候迁移
算法思路(Target data - Source data)
- labelled - labelled
- 难点
- target data 少,source data 多
- Fine Tune
- 思路
- 预训练
- 微调
- 应用场景
- 语音辨识
- 特点
- target data:只有目标人物说的几句话
- source data:有很多人说的很多话
- 算法
- Conservative Training
- 微调前后,模型输出的差别不能太大
- Layer Transfer
- copy layer到新的模型,并且确保这些layer的参数不做修改
- Speech:copy后几层
- Image:copy前几层
- Conservative Training
- 特点
- 语音辨识
- 思路
- Multitask Learning
- 思路
- 同样的input,不同的output,前几层layer可以共享
- 不同的input,不同的output,中间几层layer可以共享
- 应用场景
- 多语言辨识
- 思路
- 难点
- unlabelled - labelled
- 难点
- 目标数据没有label
- Domain-adversarial training
- 去除不同Domain之间的特性
- 网络结构
- x -> nn -> features f
- features f -> Label predictor(Label classifier) -> class label y
- features f -> Domain classifier -> domain label dlabel全部设置为0, 混淆不同domain的特性
- 网络结构
- 去除不同Domain之间的特性
- Zero-shot Learning
- 特点
- 目标任务和源任务不同,比如说源任务是分辨猫和狗,目标任务是分辨草泥马
- 应用场景
- 语音识别
- 难点
- 实际运行的时候,会出现训练资料没有的单词
- 思路
- 提取特征(或者说是音标)
- 建立音标 -> 单词的映射关系(字典)
- 难点
- 图像识别
- 语音识别
- 特点
- 难点
- labelled - unlabelled
- Self-taught Learning
- 流程
- 从源数据学习(聚类)
- 用目标数据,进行优化
- 流程
- Self-taught Learning
- unlabelled - unlabelled
- Self-taught Clustering