网站备案有什么要求,牙科 网站建设方案,网站开发与管理课程,Wordpress+精确时间分钟迁移学习
什么是迁移学习
迁移学习是机器学习领域用于标记数据难获取这一基础问题的重要手段#xff0c;
将训练好的内容应用到新的任务上被称为迁移学习。
由于这个过程发生在两个领域间#xff0c;已有的知识和数据也就是被迁移的对象被称为源域#xff0c;被赋予经验…迁移学习
什么是迁移学习
迁移学习是机器学习领域用于标记数据难获取这一基础问题的重要手段
将训练好的内容应用到新的任务上被称为迁移学习。
由于这个过程发生在两个领域间已有的知识和数据也就是被迁移的对象被称为源域被赋予经验的领域被称为目标域。
迁移学习不是具体的模型而是解题思路。
核心思想
找到不同任务之间的相关性。不要找相关性不高的数据集负迁移。
使用迁移学习的原因
目标领域的数据太少需要标注数据更多的源域的帮助。节约训练时间。为了实现个性化的应用。
常见应用场景
语料匮乏的小语种之间的翻译缺乏标注的医疗影像数据识别面向不同领域快速部署对话系统 在大规模数据集上训练好的模型就称作是预训练模型这种模型通常都具有很好的泛化能力可以在它的基础上完成各种各样的任务。使用预训练模型的好处就是它可以帮我们去减少训练时间以及计算资源。 学习策略
人家训练好的权重参数当做初始化人家训练好的直接拿过来当做我的权重参数不进行训练
学习策略选择
数据量比较少的时候一万多不到。数据量越少越需要借助人家训练好的模型。当数据量越少的时候需要冻住的层数是越多的。
数据量稍微中一点不多也不少可以只冻住前面这一部分后面的自己训练。
数据量比较大的时候需要冻住的更少。
总之具体冻住模型的多少层没有固定的答案基本上是根据自己的数据量来的。你觉得数据量比较少怕出现过拟合怕出现问题最好还是用人家训练好的结果。数据量比较多我的任务跟人家的任务差异其实还很大那尽可能只做初始化而不冻住这些层。
迁移学习特点
学习的非常快。
比如说A和B同学考试把A做完的卷子给BB只需要检查一遍卷子就可以交卷了。
迁移学习的时候拿过来的网络模型权重参数通常情况下都是大家公认的训练的比较好的参数不是随便整出来的都是经过大量的测试得到的结果。 迁移学习方法分类 迁移学习研究领域与方法分类
同构特征维度一样
异构特征维度不一样比如图片到文本
贯穿同构和异构的方法有监督迁移学习、半监督迁移学习、无监督迁移学习。
领域自适应属于同构迁移学习。
领域自适应
什么是领域自适应
英文名Domain AdaptationDA
相关的概念cross-domain learning同构迁移学习
问题定义有标签的源于和无标签的目标域共享相同的特征和类别但是特征分布不同如何利用源域标定目标域。
领域自适应实际上是源域目标域特征分布不一样但是特征维度是一样的。 领域自适应问题分类
按照目标域有无标签
目标域全部有标签supervised DA 全监督领域自适应目标域有一些标签semi-supervised DA 半监督领域自适应目标域全没有标签unsupervised DA
Unsupervised DA最有挑战性是我们的关注点。 在域适应中通常将有监督的训练域称为源域半监督或无监督的训练域称为目标域。根据目标域标签数据域适应分为半监督域适应无监督域适应和其他域适应。基于域知识迁移层面可将域适应分为3类基于实例加权的域适应方法、基于特征的域适应方法以及基于模型的域适应方法。具体而言基于实例加权的域适应是通过调整源域样本和类间权重以减小源域与目标域之间分布差异的基于特征的域适应则利用新的特征表示空间的方式来拉近域之间的特征分布距离基于模型的域适应对源域模型只是迁移利用以实现领域之间的对齐。 换一种解释通过在不同阶段进行领域自适应研究者提出了三种不同的领域自适应方法1样本自适应对源域样本进行加权重采样从而逼近目标域的分布。2特征层面自适应将源域和目标域投影到公共特征子空间。3模型层面自适应对源域误差函数进行修改考虑目标域的误差。
李宏毅讲解领域自适应 Domain shift一旦训练资料和测试资料之间有一些差异 它们中间的分布是不一样的在训练资料上训练出来的模型在测试资料上可能就会坏掉。
领域自适应可以看做是迁移学习的一种迁移学习就是你在A任务上学到的技能可以被用在B任务上。对于Domain adaptation来说你的训练资料是一个Domain你的测试资料是另外一个Damain。你在训练资料Domain上学到的资讯要把它用到另外一个测试资料Domain上。
最基础的想法 找到一个feature extractor实际上是一个network吃入一张图片吐出一个feature。 虽然source domain和target domain表面上看起来不一样但是feature extractor会把他们不一样的部分拿掉只抽取出它们共同的部分。虽然从图片看起来这两组图片一个有颜色一个没有颜色本来就不一样但是期待地说这个feature extractor可以学到无视颜色这个事情把颜色的资讯过滤掉。所以今天不管来自source domain的图片还是来自target domain的图片只要通过这个feature extractor以后得到的feature看起来是没有差异的。 这样就可以用source domain的这些feature训练一个模型直接用在target domain上。接下来是怎么找出一个feature extractor。其实可以把一般的Classifier就分成feature extractor和label predictor两个部分我们知道一个image的Classifier就是输入一张Image 得到Output就是分类的结果。假设Image Classifier有10层那么前5层是Feature Extractor后5层是Label Predictore。如果你上CNN的话它的输出其实是Feature Map但Feature Map拉直后就可以看做是一个Factor。再丢到Label Predictore的后面5层会产生class。