1. 半监督学习 semi-supervised learning  3

1.1 基本概念     3

1.2 半监督学习的应用     4

1.3 半监督学习方法结构     5

1.4 半监督深度学习     6

2. 主动学习(Active Learning)     7

2.1 基本概念     7

2.2 应用领域以及场景     7

2.3 研究现状     7

2.4 相关论文     8

3.迁移学习     8

3.1 Distant Domain Transfer Learning远域迁移学习     8

3.1.1样本自动选择     9

3.1.2合并边信息     10

3.2 Multi-task learning transfer learning  12

3.2.1简介:     12

3.2.3目前多任务学习方法大致可以总结为两类     13

3.2.4 满足以下三点时多任务学习是有意义的     13

3.2.5单任务学习VS多任务学习     14

3.2.6为什么把多个相关的任务放在一起学习,可以提高学习的效果?     15

3.2.7相关(relate)定义     15

3.2.8多任务学习中的相关关系(task relationship)     16

3.2.9深度学习中两种多任务学习模式:隐层参数的硬共享与软共享。     16

3.2.10多任务学习与其他学习算法之间的关系     16

3.2.11多任务学习应用概述     17

3.3 Domain Adaptation  18

3.3.1样本迁移(Instance based TL)     18

3.3.2特征迁移(Feature based TL)     19

3.3.3模型自适应:     19

4.Incorporating Knowledge  20

4.1知识图谱(Knowledge Graph) 主要目的是在海量网络数据中以更直观的方式把知识展现给用户;     20

4.1.1知识获取:     20

4.1.2知识融合:     20

4.1.3知识存储:     21

4.1.4查询式语意理解:     21

4.1.5知识检索:     21

4.1.6可视化展现:     21

4.1.7知识图谱的应用:   商业搜索引擎的应用:如百度、搜狗等,国外谷歌。     21

4.2 Multi-Label Zero-Shot Learning with Structured Knowledge Graphs论文笔记     21

4.2.1概述:     21

4.3  incorporating symbolic domain knowledge  21

小样本学习可分为四种基本技术:semi-supervised learning、Active learning、Transfer learning、Incorporating knowledge。针对于不同的learning tasks可能结合使用不同的技术。

1. 半监督学习 semi-supervised learning

1.1 基本概念

在许多ML的实际应用中,很容易找到海量的无类标签的样例,但需要使用特殊设备或经过昂贵且用时非常长的实验过程进行人工标记才能得到有类标签的样本,由此产生了极少量的有类标签的样本和过剩的无类标签的样例。因此,人们尝试将大量的无类标签的样例加入到有限的有类标签的样本中一起训练来进行学习,期望能对学习性能起到改进的作用,由此产生了SSL,如图所示。SSL避免了数据和资源的浪费,同时解决了SL的 模型泛化能力不强和UL的模型不精确等问题。

半监督学习可分为:纯半监督学习与直推学习。前者假定:训练数据集中的未标记数据集并非待预测数据集。直推学习假定学习过程中的未标记数据集就是待预测的数据。直推学习仅仅对未标记样本进行预测标记。如下图:

半监督学习的三个假设:

半监督学习依赖于模型的假设,当模型假设正确时,无类标签的样例能够帮助改进学习性能。三个假设如下:

(1)平滑假设(Smoothness Assumption)

位于稠密数据区域的两个距离很近的样例的类标签相似,也就是说,当两个样例被稠密数据区域中的边连接时,它们在很大的概率下有相同的类标签;相反地,当两个样例被稀疏数据区域分开时,它们的类标签趋于不同.

(2)聚类假设(Cluster Assumption)

当两个样例位于同一聚类簇时,它们在很大的概率下有相同的类标签.这个假设的等价定义为低密度分离假设(Low Sensity Separation Assumption),即分类决策边界应该穿过稀疏数据区域,而避免将稠密数 据区域的样例分到决策边界两侧。

(3)流形假设(Manifold Assumption)

将高维数据嵌入到低维流形中,当两个样例位于低维流形中的一个小局部邻域内时,它们具有相似的类标签。

1.2 半监督学习的应用

半监督学习在许多领域都有重要应用。例如:遥感图像分类与图像显著性检测。遥感图像分类主要任务是根据遥感区域的不同地物覆盖类型对多光谱卫星图像中的像素进行分类,从而可以通过卫星图像研究地物覆盖类型的组成和变迁。在实际应用中,因为获取遥感标记数据需要对遥感地区进行实地考察,同时需要专业人员对遥感图像进行解译,因此标记样本的获取成本较高.另外,因为每个类的标记样本很少,所以这些标记样本也无法完全体现出数据的类内多样化和变化范围.这些都给传统的监督学习带来了很大的障碍。如下图,标记样本很有限的情况下,半监督学习分类的结果精度要远好于传统的监督学习。

1.3 半监督学习方法结构

SSL按照统计学习理论的角度包括直推 (Transductive )SSL和归纳(Inductive)SSL(纯半监督学习)两类模式。直推 SSL只处理样本空间内给定的训练数据,利用训练数据中有类标签的样本和无类标签的样例进行训练,预测训练数据中无类标签的样例的类标签;归纳SSL处理整个样本空间中所有给定和未知的样例,同时利用训练数据中有类标签的样本和无类标签的样例,以及未知的测试样例一起进行训练,不仅预测训练数据中无类标签的样例的类标签,更主要的是预测未知的测试样例的类标签。从不同的学习场景看,SSL可分为4大类:

(1)半监督分类 (Semi-Supervised Classification)

在无类标签的样例的帮助下训练有类标 签的样本,获得比只用有类标签的样本训练得到的分类器性能更优的分类器,弥补有类标签的样本不足的缺陷,其中类标签yi取有限离散值yi∈{c1,c2,···,cc}, cj∈N。

(2)半监督回归(Semi-Supervised Regression)

在无输出的输入的帮助下训练有输出的输入,获得比只用有输出的输入训练得到的回归器性能更好的回归器,其中输出yi 取连续值 yi∈R。

(3)半监督聚类(Semi-Supervised Clustering)

在有类标签的样本的信息帮助下获得比只用无类标签的样例得到的结果更好的簇,提高聚类方法的精度。

(4)半监督降维(Semi-Supervised Dimensionality Reduction)

在有类标签的样本的信息帮助下找到高维输入数据的低维结构,同时保持原始高维数据和成对约束(Pair-Wise Constraints)的结构不变,即在高维空间中满足正约束(Must-Link Constraints)的样例在低维空间中相距很近,在高维空间中满足负约束(Cannot-Link Constraints)的样例在低维空间中距离很远。

半监督学习方法结构

1.4 半监督深度学习

已有的半监督深度学习算法可分为三类:无监督特征学习类,正则化约束类和生成式对抗网络类。

无监督特征学习类算法通常利用所有样本(包含标记样本和无标记样本)学习出样本的隐特征或隐含变量 表 示,在此基础上利用有监督分类器对无标记样本所对应的隐特征进行分类,从而间接地对无标记样本进行分类。

正则化约束类算法通常是在有监督神经网络的输出层或者隐含层的目标函数中加入体现样本分布,特性的正则化项,用以在训练中引入无标记样本。

生成式对抗网络GAN中,通过让生成器和判别器相互竞争达到平衡状态来无监督地训练网络.由于 GAN 在生成模拟真实样本上的成功表现,一个很自然的想法就是在标记样本较少的情况下,能否利用GAN所学到的样本内容分布和强大的竞争学习能力来提高网络分类性能。

2. 主动学习(Active Learning)

2.1 基本概念

在某些情况下,没有类标签的数据相当丰富而有类标签的数据相当稀少,并且人工对数据进行标记的成本又相当高昂。在这种情况下,我们可以让学习算法主动地提出要对哪些数据进行标注,之后我们要将这些数据送到专家那里让他们进行标注,再将这些数据加入到训练样本集中对算法进行训练。这一过程叫做主动学习。主动学习的重点在于选择策略,选择向那些数据提出标注请求。策略的要求是迭代次数尽量少,并使得结果尽量更加精确。

“学习模块”和“选择策略”是主动学习算法的2个基本且重要的模块。主动学习通过“选择策略”主动从未标注的样本集中挑选部分(1个或N个)样本让相关领域的专家进行标注;然后将标注过的样本增加到训练数据集给“学习模块”进行训练;当“学习模块”满足终止条件时即可结束程序,否则不断重复上述步骤获得更多的标注样本进行训练。

关键假设:The key hypothesis is that if the learning algorithm is allowed to choose the data from which it learns—to be “curious,” if you will—it will perform better with less training。

2.2 应用领域以及场景

主动学习适用于能够以廉价的成本获得大量的未标注数据的领域;典型的如医疗图像处理领域;一位训练 有素的医生标注一张 X 射线图像需要花费 4-5 分钟以及 20-30 元的成本,标注一组CT 图像需要花费 15-20 分钟以及 50-70 元的成本。除了图像分类任务之外,主动学习方法也广泛应用于自然语言处理,视频检索,语音识别和文本分类等领域。

主动学习相比于半监督学习的特点:半监督学习不需要人工标注数据集的成本,但学习过程中极有可能引入大量噪声样本,导致模型学习到错误信息;二者具有相似的迭代训练过程;具有部分能够互补的优缺点。

2.3 研究现状

当前的主动学习有如下的方法,包括:

(1)基于未标注样本池的主动学习方法 。筛选出最不确定的样本进行人工标注。

(2)批量式主动学习方法。旨在每次迭代中能够产生一批未标注样本,同时提供给多名标注者,从而提升了应用效率。

(3)半监督主动学习方法。结合了半监督学习与主动学习,利用各自的优势并弥补不足。

(4)结合生成对抗网络(GAN)的主动学习方法

(5)一些其他主动学习方法。

2.4 相关论文

[1]“Active Learning Literature Survey”详细的对主动学习展开介绍。

[2]“Survey on active learning algorithms”是一篇幅较短的中文论文,主要围绕主动学习的基本思想和截至2012年最新的研究成果,并对相关算法进行分析,总结了有待进一步研究的问题,包括:1)结合非监督学习算法,取代专家标注的环节;2)维度灾难:在预处理阶段寻找高效的降维方法,减少主动查询过程的复杂度。

[3]“Fine-Tuning Convolutional Neural Networks for Biomedical Image Analysis: Actively and Incrementally”是一篇发表于CVPR-2017的论文,使用Active Learning + Transfer Learning、Data Augmentation、Majority Selection、Continuously Fine-Tuning等方法在3个医疗图像领域的数据集上验证了引入主动选择的策略(entropy+diversity)能够至少减少一半的数据标注代价。

[4]“Generative Adversarial Active Learning”首次将GAN与Active Learning进行组合,通过训练GAN得到生成器模型,主动生成最有价值的样本让专家进行标注。

[5]“Learning Active Learning from Data”跟传统的主动选择策略有本质上的区别,它克服了手工设计的选择策略跨领域泛化能力的不足,通过将主动选择策略转化为回归问题进行学习,学习得到的策略在多个不同领域的真实数据集(Striatum、MRI、Credit Card、Splice、Higgs)上取得显著的效果。

3.迁移学习

3.1 Distant Domain Transfer Learning远域迁移学习

现今很多迁移学习方法都是假设源域和目标域之间存在某些相似性,这样才能够进行迁移,而这篇文章提出了一种方法,叫做:Selective Learning Algorithm。这种方法认为:即使源域和目标域毫无关系,比如源域使用人脸图像,目标域中是飞机图像,都可以完成迁移。

我们假设源域和目标域分别是两个不同的点,要从源域走到目标域,怎么走呢?虽然源域和目标域完全不同,隔得很远,但是我们可以通过中间的点,一步一步走到源域,而这中间的点,又被叫做中间域(媒介域)。

大体的思想我们知道了,是通过传递来实现的,现在我们回到迁移中来,要从源域通过多个中间域,最终对目标域进行任务判别,那么需要从中间域中找出与源域相似的特征,又与目标域相似的特征,这样才可以将三者结合起来。因为源域可能与目标域差的实在太远了,而中间域里可能包含了很多对目标域有用的数据,我们要用到的中间域可能很多,所以中间域(这里把所以的中间域看成一个集合,就叫中间域,里面包含了很多域的数据)中的特征也很多,那怎么选择满足要求的特征呢?同时,如果我们找到了这些特征,但是这些特征仅是与源域、目标域相似而已,而我们最终的目的是通过这些特征能够对目标任务进行判定,那么我们还需要从特征中选择出具有边信息(side information)的特征用于判别目标任务,其中边信息可以理解为具有指向性的信息。是的,这样看起来就初步完善了,论文的主要的两大步骤也是这两点:

1.样本(特征)选择:通过构建出具有“鲁棒性的高层级特征提取”功能的自编码器进行特征提取。在重构误差较小的情况下,通过在源域、目标域、中间域上同时最小化损失函数来完成这一过程。

2.合并边信息:通过中间域的熵信息伪造标签,再结合源域和目标域中的标签,通过测试效果判断选出的样本(特征)是否对判别目标任务有帮助。

3.1.1样本自动选择

在论文中,作者假设源域是有标签的,目标域有一小部分有标签,而中间域是没有标签的。然后,SLA的框架如下:

那这和样本自动选择有什么关系呢?是这样的,作者认为,如果同一个自编码器在源域和目标域数据上都取得较小的重构误差,那么这个源域数据就类似于目标域数据,或者是对目标域来说是有用的,也可以这么理解,在重构误差都较小的情况下,源域通过编码器(一对参数)得到的特征h与目标域通过同一个编码器(一样的参数)得到的特征可以看为是相近的。另外中间域和目标域也是那么个回事。OK,通过这样就可以选出源域中对目标域有用的数据了—通过重构误差判断,然后通过在源域、目标域、中间域上同时最小化损失函数来完成这一过程,其中损失函数又由上面提到的重构误差组成:

3.1.2合并边信息

除了找出相关样本和特征之外,我们还要选出那些对目标任务分类有帮助的样本,那怎么知道一个样本是否对目标任务有帮助呢?最简单的一个方法就是直接把它扔去分类,看分类效果就知道了,这一部分对应的上面框架图中preditive model on the labeled data部分,分类器直接将自编码器的中间特征h作为输入进行分类,但是要知道分类的效果好还是不好需要根据标签来进行衡量呀,同时分类器还需要标签和损失函数进行优化才行。上面我们提到,源域是有标签的,目标域中也是有标签的,只是目标域中有标签数据较少,我们也就只使用那一部分很少的目标域数据作为训练,但是问题是中间域是没有标签的,怎么办呢? 迁移学习中常用的一种办法就是构造伪标签,而这里则是通过中间域的
熵信息作为伪标签,

参考blog:https://blog.csdn.net/LiGuang923/article/details/83153547

3.2 Multi-task learning transfer learning

3.2.1简介:

多任务学习(Multitask learning)是迁移学习算法的一种,迁移学习可理解为定义一个一个源领域source domain和一个目标领域(target domain),在source domain学习,并把学习到的知识迁移到target domain,提升target domain的学习效果(performance)。

多任务学习(Multi-task learning):由于我们的关注点集中在单个任务上,我们忽略了可能帮助优化度量指标的其它信息。具体来说,这些信息来自相关任务的训练信号。通过共享相关任务之间的表征,可以使我们的模型更好地概括原始任务。这种方法被称为多任务学习(MTL)

其也是一种归纳迁移机制,主要目标是利用隐含在多个相关任务的训练信号中的特定领域信息来提高泛化能力,多任务学习通过使用共享表示并行训练多个任务来完成这一目标。归纳迁移是一种专注于将解决一个问题的知识应用到相关的问题的方法,从而提高学习的效率。

3.2.2概念解析:

多任务学习(Multi-task learning):由于我们的关注点集中在单个任务上,我们忽略了可能帮助优化度量指标的其它信息。具体来说,这些信息来自相关任务的训练信号。通过共享相关任务之间的表征,可以使我们的模型更好地概括原始任务。这种方法被称为多任务学习(MTL)。其也是一种归纳迁移机制,主要目标是利用隐含在多个相关任务的训练信号中的特定领域信息来提高泛化能力,多任务学习通过使用共享表示并行训练多个任务来完成这一目标。归纳迁移是一种专注于将解决一个问题的知识应用到相关的问题的方法,从而提高学习的效率。比如,学习行走时掌握的能力可以帮助学会跑,学习识别椅子的知识可以用到识别桌子的学习,我们可以在相关的学习任务之间迁移通用的知识。此外,由于使用共享表示,多个任务同时进行预测时,减少了数据来源的数量以及整体模型参数的规模,使预测更加高效。因此,在多个应用领域中,可以利用多任务学习来提高效果或性能,比如垃圾邮件过滤、网页检索、自然语言处理、图像识别、语音识别等。

归纳偏执(inductive bias):归纳迁移的目标是利用额外的信息来源来提高当前任务的学习性能,包括提高泛化准确率、学习速度和学习的模型的可理解性。提供更强的归纳偏执是迁移提高泛化能力的一种方法,可以在固定的训练集上产生更好的泛化能力,或者减少达到同等性能水平所需要的训练样本数量。归纳偏执会导致一个归纳学习器更偏好一些假设,多任务学习正是利用隐含在相关任务训练信号中的信息作为一个归纳偏执来提高泛化能力。归纳偏置的作用就是用于指导学习算法如何在模型空间中进行搜索,搜索所得模型的性能优劣将直接受到归纳偏置的影响,而任何一个缺乏归纳偏置的学习系统都不可能进行有效的学习。不同的学习算法(如决策树,神经网络,支持向量机等)具有不同的归纳偏置,人们在解决实际问题时需要人工地确定采用何种学习算法,实际上也就是主观地选择了不同的归纳偏置策略。一个很直观的想法就是,是否可以将归纳偏置的确定过程也通过学习过程来自动地完成,也就是采用“学习如何去学(learning to learn)”的思想。多任务学习恰恰为上述思想的实现提供了一条可行途径,即利用相关任务中所包含的有用信息,为所关注任务的学习提供更强的归纳偏置。

3.2.3目前多任务学习方法大致可以总结为两类

一是不同任务之间共享相同的参数(common parameter),二是挖掘不同任务之间隐藏的共有数据特征(latent feature)

3.2.4 满足以下三点时多任务学习是有意义的

1.Training on a set of tasks that could benefit from having shared low-level features

2.Usually:Amount of data you have for each task is quite similar

3.Can train a big enough neural network to do well on all the tasks

补充说明(吴恩达笔记内容)

第一,如果你训练的一组任务,可以共用低层次特征。对于无人驾驶的例子,同时识别交通灯、汽车和行人是有道理的,这些物体有相似的特征,也许能帮你识别停车标志,因为这些都是道路上的特征。

第二,这个准则没有那么绝对,所以不一定是对的。但我从很多成功的多任务学习案例中看到,如果每个任务的数据量很接近,你还记得迁移学习时,你从任务学到知识然后迁移到任务,所以如果任务有1百万个样本,任务只有1000个样本,那么你从这1百万个样本学到的知识,真的可以帮你增强对更小数据集任务的训练。那么多任务学习又怎么样呢?在多任务学习中,你通常有更多任务而不仅仅是两个,所以也许你有,以前我们有4个任务,但比如说你要完成100个任务,而你要做多任务学习,尝试同时识别100种不同类型的物体。你可能会发现,每个任务大概有1000个样本。所以如果你专注加强单个任务的性能,比如我们专注加强第100个任务的表现,我们用表示,如果你试图单独去做这个最后的任务,你只有1000个样本去训练这个任务,这是100项任务之一,而通过在其他99项任务的训练,这些加起来可以一共有99000个样本,这可能大幅提升算法性能,可以提供很多知识来增强这个任务的性能。不然对于任务,只有1000个样本的训练集,效果可能会很差。如果有对称性,这其他99个任务,也许能提供一些数据或提供一些知识来帮到这100个任务中的每一个任务。所以第二点不是绝对正确的准则,但我通常会看的是如果你专注于单项任务,如果想要从多任务学习得到很大性能提升,那么其他任务加起来必须要有比单个任务大得多的数据量。要满足这个条件,其中一种方法是,比如右边这个例子这样,或者如果每个任务中的数据量很相近,但关键在于,如果对于单个任务你已经有1000个样本了,那么对于所有其他任务,你最好有超过1000个样本,这样其他任务的知识才能帮你改善这个任务的性能。

第三,多任务学习往往在以下场合更有意义,当你可以训练一个足够大的神经网络,同时做好所有的工作,所以多任务学习的替代方法是为每个任务训练一个单独的神经网络。所以不是训练单个神经网络同时处理行人、汽车、停车标志和交通灯检测。你可以训练一个用于行人检测的神经网络,一个用于汽车检测的神经网络,一个用于停车标志检测的神经网络和一个用于交通信号灯检测的神经网络。那么研究员Rich Carona几年前发现的是什么呢?多任务学习会降低性能的唯一情况,和训练单个神经网络相比性能更低的情况就是你的神经网络还不够大。但如果你可以训练一个足够大的神经网络,那么多任务学习肯定不会或者很少会降低性能,我们都希望它可以提升性能,比单独训练神经网络来单独完成各个任务性能要更好。

3.2.5单任务学习VS多任务学习

单任务学习:一次只学习一个任务(task),大部分的机器学习任务都属于单任务学习。

多任务学习:把多个相关(related)的任务放在一起学习,同时学习多个任务。

现在大多数机器学习任务都是单任务学习。对于复杂的问题,也可以分解为简单且相互独立的子问题来单独解决,然后再合并结果,得到最初复杂问题的结果。这样做看似合理,其实是不正确的,因为现实世界中很多问题不能分解为一个一个独立的子问题,即使可以分解,各个子问题之间也是相互关联的,通过一些共享因素或共享表示(share representation)联系在一起。把现实问题当做一个个独立的单任务处理,忽略了问题之间所富含的丰富的关联信息。多任务学习就是为了解决这个问题而诞生的。把多个相关(related)的任务(task)放在一起学习。这样做真的有效吗?答案是肯定的。多个任务之间共享一些因素,它们可以在学习过程中,共享它们所学到的信息,这是单任务学习所具备的。相关联的多任务学习比单任务学习能去的更好的泛化(generalization)效果。

3.2.6为什么把多个相关的任务放在一起学习,可以提高学习的效果?

关于这个问题,有很多解释。这里列出其中一部分,以图2中由单隐含层神经网络表示的单任务和多任务学习对比为例。

(1) 多个相关任务放在一起学习,有相关的部分,但也有不相关的部分。当学习一个任务(Main task)时,与该任务不相关的部分,在学习过程中相当于是噪声,因此,引入噪声可以提高学习的泛化(generalization)效果。

(2) 单任务学习时,梯度的反向传播倾向于陷入局部极小值。多任务学习中不同任务的局部极小值处于不同的位置,通过相互作用,可以帮助隐含层逃离局部极小值。

(3) 添加的任务可以改变权值更新的动态特性,可能使网络更适合多任务学习。比如,多任务并行学习,提升了浅层共享层(shared representation)的学习速率,可能,较大的学习速率提升了学习效果。

(4) 多个任务在浅层共享表示,可能削弱了网络的能力,降低网络过拟合,提升了泛化效果。

还有很多潜在的解释,为什么多任务并行学习可以提升学习效果(performance)。多任务学习有效,是因为它是建立在多个相关的,具有共享表示(shared representation)的任务基础之上的,因此,需要定义一下,什么样的任务之间是相关的。

3.2.7相关(relate)定义

相关(related)的具体定义很难,但我们可以知道的是,在多任务学习中,related tasks可以提升main task的学习效果,基于这点得到相关的定义:

Related(Main Task,Related tasks,LearningAlg)= 1

LearningAlg(Main Task||Related tasks)> LearningAlg(Main Task) (1)

LearningAlg表示多任务学习采用的算法,公式(1):第一个公式表示,把Related tasks与main tasks放在一起学习,效果更好;第二个公式表示,基于related tasks,采用LearningAlg算法的多任务学习Main task,要比单学习main task的条件概率概率更大。特别注意,相同的学习任务,基于不同学习算法,得到相关的结果不一样:

Related(Main Task,Related tasks,LearningAlg1)不等于 Related(Main Task,Related tasks,LearningAlg2)

3.2.8多任务学习中的相关关系(task relationship)

多任务学习并行学习时,有5个相关因素可以帮助提升多任务学习的效果。

(1)数据放大(data amplification)。相关任务在学习过程中产生的额外有用的信息可以有效方法数据/样本(data)的大小/效果。主要有三种数据放大类型:统计数据放大(statistical data amplification)、采样数据放大(sampling data amplification),块数据放大(blocking data amplification);

(2)Eavesdropping(窃听);

(3)属性选择(attribute selection);

(4)表示偏移(representation bias);

(5)预防过拟合(overfitting prevention)。

3.2.9深度学习中两种多任务学习模式:隐层参数的硬共享与软共享。

(1)参数的硬共享机制:参数的硬共享机制是神经网络的多任务学习中最常见的一种方式,一般来讲,在实际应用中,通常通过在所有任务之间共享隐藏层,同时保留几个特定任务的输出层来实现。硬共享机制降低了过拟合的风险。事实上,有文献证明了这些共享参数过拟合风险的阶数是N,其中N为任务的数量,比任务相关参数的过拟合风险要小。直观来将,这一点是非常有意义的。越多任务同时学习,我们的模型就能捕捉到越多任务的同一个表示,从而导致在我们原始任务上的过拟合风险越小。

(2)参数的软共享机制(基于约束的共享(regularization based)):每个任务都由自己的模型,自己的参数。在共享 Soft 参数时,每个任务都有自己的参数和模型。模型参数之间的距离是正则化的,以便鼓励参数相似化。我们对模型参数的距离进行正则化来保障参数的相似。如有文献使用L2距离正则化,而也有文献使用迹正则化(trace norm)。用于深度神经网络中的软共享机制的约束很大程度上是受传统多任务学习中正则化技术的影响。约束深度神经网络 Soft 参数共享的思想受到了 MTL 正则化技术的极大启发,这种思想已经用于其它模型开发。

3.2.10多任务学习与其他学习算法之间的关系

多任务学习(Multitask learning)是迁移学习算法的一种,迁移学习之前介绍过。定义一个一个源领域source domain和一个目标领域(target domain),在source domain学习,并把学习到的知识迁移到target domain,提升target domain的学习效果(performance)。

多标签学习(Multilabel learning)是多任务学习中的一种,建模多个label之间的相关性,同时对多个label进行建模,多个类别之间共享相同的数据/特征。

多类别学习(Multiclass learning)是多标签学习任务中的一种,对多个相互独立的类别(classes)进行建模。这几个学习之间的关系如下图所示:

3.2.11多任务学习应用概述

多任务学习MTL 有很多形式:联合学习(joint learning)、自主学习(learning to learn)和带有辅助任务的学习(learning with auxiliary task)等都可以指 MTL。一般来说,优化多个损失函数就等同于进行多任务学习(与单任务学习相反)。这些情况有助于你明确地思考如何在 MTL 方面做尝试并从中获得启发。

基于神经网络的多任务学习,尤其是基于深度神经网络的多任务学习(DL based Multitask Learning),适用于解决很多NLP领域的问题,比如把词性标注、句子句法成分划分、命名实体识别、语义角色标注等任务,都可以采用MTL任务来解决。

其他MTL的应用还有,网页图片和语音搜索,疾病预测等等

参考:

https://blog.csdn.net/chanbo8205/article/details/83994311

https://blog.csdn.net/lqfarmer/article/details/73322878

https://blog.csdn.net/xuluohongshang/article/details/79044325

机器之心:https://www.jiqizhixin.com/articles/2017-06-23-5

https://pdfs.semanticscholar.org/1166/9a0a1fe4e98eb67ba2b756343bc16814ae97.pdf

注:

本篇是对multi-task learn的综述性介绍,更多信息可查看上述几个链接(特别是最后一个、机器之心的文章)

3.3 Domain Adaptation

在经典的机器学习问题中,我们往往假设训练集和测试集分布一致,在训练集上训练模型,在测试集上测试。然而在实际问题中,测试场景往往非可控,测试集和训练集分布有很大差异,这时候就会出现所谓过拟合问题:模型在测试集上效果不理想。
以人脸识别为例,如果用东方人人脸数据训练,用于识别西方人,相比东方人识别性能会明显下降。

当训练集和测试集分布不一致的情况下,通过在训练数据上按经验误差最小准则训练的模型在测试上性能不好,因此出现了迁移学习技术。

领域自适应(Domain Adaptation)是迁移学习中的一种代表性方法,指的是利用信息丰富的源域样本来提升目标域模型的性能。

领域自适应问题中两个至关重要的概念:源域(source domain)表示与测试样本不同的领域,但是有丰富的监督信息;目标域(target domain)表示测试样本所在的领域,无标签或者只有少量标签。源域和目标域往往属于同一类任务,但是分布不同。
根据目标域和源域的不同类型,领域自适应问题有四类不同的场景:无监督的,有监督的,异构分布和多个源域问题。

通过在不同阶段进行领域自适应,研究者提出了三种不同的领域自适应方法:1)样本自适应,对源域样本进行加权重采样,从而逼近目标域的分布。2)特征层面自适应,将源域和目标域投影到公共特征子空间。3)模型层面自适应,对源域误差函数进行修改,考虑目标域的误差。

样本自适应:

其基本思想是对源域样本进行重采样,从而使得重采样后的源域样本和目标域样本分布基本一致,在重采样的样本集合上重新学习分类器。

3.3.1样本迁移(Instance based TL)

在源域中找到与目标域相似的数据,把这个数据的权值进行调整,使得新的数据与目标域的数据进行匹配,然后加重该样本的权值,使得在预测目标域时的比重加大。优点是方法简单,实现容易。缺点在于权重的选择与相似度的度量依赖经验,且源域与目标域的数据分布往往不同。

特征自适应:

其基本思想是学习公共的特征表示,在公共特征空间,源域和目标域的分布要尽可能相同。

3.3.2特征迁移(Feature based TL)

假设源域和目标域含共同的交叉特征,通过特征变换,将源域和目标域的特征变换到相同空间,使得该空间中源域数据与目标域数据具有相同分布的数据分布,然后进行传统的机器学习。优点是对大多数方法适用,效果较好。缺点在于难于求解,易过拟合。


链接:https://www.zhihu.com/question/41979241/answer/247421889

3.3.3模型自适应:

其基本思想是直接在模型层面进行自适应。模型自适应的方法有两种思路,一是直接建模模型,但是在模型中加入“domain间距离近”的约束,二是采用迭代的方法,渐进的对目标域的样本进行分类,将信度高的样本加入训练集,并更新模型。

模型迁移(Parameter based TL)假设源域和目标域共享模型参数,是指将之前在源域中通过大量数据训练好的模型应用到目标域上进行预测,比如利用上千万的图象来训练好一个图象识别的系统,当我们遇到一个新的图象领域问题的时候,就不用再去找几千万个图象来训练了,只需把原来训练好的模型迁移到新的领域,在新的领域往往只需几万张图片就够,同样可以得到很高的精度。优点是可以充分利用模型之间存在的相似性。缺点在于模型参数不易收敛。

4.Incorporating Knowledge

4.1知识图谱(Knowledge Graph)

知识图谱的主要目的:在海量网络数据中以更直观的方式把知识展现给用户;

KG特征和功能:本质上是一种语意网络,用户查询关键词映射到语意知识库的概念上,核心是知识库。

知识图谱流程:知识获取,知识融汇,知识存储,查询式语意理解,知识检索和可视化

4.1.1知识获取:

在大数据环境下,可通过机器学习,知识挖掘,自然语言处理等方式获取,这说明在学习知识图谱的同时,对于机器学习,数据挖掘等相关方向也要有一定的了解和运用。

4.1.2知识融合:

面对网络上获取的大量数据,其格式,属相等需要统一,这称为异构数据。

实体和关系是图谱中基本要素,如同图中的顶点和边一样,实体的重要度根据

关系抽取: https://blog.csdn.net/feng_zhiyu/article/details/80142351

PageRank等算法进行排序

在知识融合过程中,还需要通过推理检测逻辑矛盾,通过聚合、分类把知识具体化和分类整合。

因为任何实体都不是单独孤立的,与周围一些概念存在一定逻辑关系,由此可看出在离散数学的中数理逻辑,关系证明等基础知识的重要性,以及与图论的结合。

4.1.3知识存储:

主要依赖于海量数据存储技术来管理大规模分布式的数据,以实现大容量,可扩展,高可靠性和高性能。

4.1.4查询式语意理解:

各种查询式方法,查询式语意的分析,分词,标注,纠错,语法分析,与知识库匹配,用户情感及语境,查询式扩展,主要以自然语言处理和人工智能为基础。

4.1.5知识检索:

此阶段涉及到信息检索,知识挖掘扥关键技术(相似性,重要性)。对查询语意进行解析,与知识库的知识匹配,进行统计,排序,推理,预测。为用户查询出关键完整准确的有效信息,同时推荐用户可能感兴趣的信息(涉及到推荐系统)。

4.1.6可视化展现:

提升用户体验和效果,更注重内容显示粒度上的把握,需要涉及到Web客户端技术,可视化技术,人机交互技术帮助用户提高体验效果。

4.1.7知识图谱的应用:   商业搜索引擎的应用:如百度、搜狗等,国外谷歌。

问答系统的应用:苹果的Siri;电商平台运用:淘宝;社交网络运用:FB; 其他领域:如教育科研,医疗;

知识图谱参考:

关系抽取:https://blog.csdn.net/u014794992/article/details/52993814

知识图谱之关系提取:https://www.jianshu.com/p/4f09043e22ea

知识图谱系列:https://xz.aliyun.com/t/2139

https://blog.csdn.net/feng_zhiyu/article/details/80142385

4.2 Multi-Label Zero-Shot Learning with Structured Knowledge Graphs论文笔记

4.2.1概述:

问题描述:针对每一个输入预测多个见过的和没见过的标签

motivation:人类利用兴趣物体之间的语义信息的方式。提出了一个结合知识图谱的框架来描述多标签之间的关系。

模型中学习了一种在语义标签空间的信息传播方式,以此来建模见过的和没见过的label之间的相互依赖。

blog:https://blog.csdn.net/weixin_39505272/article/details/91900725

paper:https://arxiv.org/abs/1711.06526

4.3  incorporating symbolic domain knowledge

注:此处未找到“incorporating symbolic domain knowledge”,我将相关文章粘贴在下,并对第一篇文章做了概述

1.Incorporating Prior Domain Knowledge into Deep Neural Networks

papar: http://people.cs.vt.edu/naren/papers/PID5657885.pdf

翻译后: http://tongtianta.site/paper/61447

概述:文章提出了,在数据有限且质量很差的情况下,可使用领域自适应网络(DANN),以探索如何将领域知识集成到深度网络的模型训练中。

2.Incorporating Prior Domain Knowledge Into Inductive2  1·chine Learning

https://pdfs.semanticscholar.org/660d/5c6971633c15b59b7ed4d7d9320a56d402be.pdf

Few-shot Learning survey-详细易懂-小样本综述相关推荐

  1. 【增量学习】综述解析:A continual learning survey: Defying forgetting in classification tasks

    论文:Delange, M., Aljundi, R., Masana, M., Parisot, S., Jia, X., Leonardis, A., Slabaugh, G., Tuytelaa ...

  2. (few-shot)2020年few-shot learning Classification overview 小样本综述

    小样本学习:基础 [blog] 1. 相关问题 半监督学习(Semi-supervised Learning) 是同时从有标注和无标注的数据中学习最优假设 . 正样本半监督学习(Positive-un ...

  3. [论文翻译] Class-incremental learning: survey and performance evaluation on image classification

    论文地址:https://arxiv.org/abs/2010.15277 代码:https://github.com/mmasana/FACIL 发表于:arXiv Oct 2020 省略了图.表的 ...

  4. (转)Paper list of Meta Learning/ Learning to Learn/ One Shot Learning/ Lifelong Learning

    Meta Learning/ Learning to Learn/ One Shot Learning/ Lifelong Learning 2018-08-03 19:16:56 本文转自:http ...

  5. 元学习之《Matching Networks for One Shot Learning》代码解读

    元学习系列文章 optimization based meta-learning <Model-Agnostic Meta-Learning for Fast Adaptation of Dee ...

  6. 论文阅读-2 | Meta-Learning with Task-Adaptive Loss Function for Few Shot Learning

    论文目录 0 概述 0.1 论文题目 0.2 摘要 1 简介 2 相关的工作 3 提出的方法 3.1 前言 3.1.1 提出问题 3.1.2 模型无关元学习 Model-agnostic meta-l ...

  7. 论文笔记:Limited Data Rolling Bearing Fault Diagnosis With Few Shot Learning

    论文:基于少样本学习的小样本滚动轴承故障诊断 Limited Data Rolling Bearing Fault Diagnosis With Few Shot Learning **摘要:**这篇 ...

  8. DeepLearning | Zero shot learning 零样本学习AWA2 图像数据集预处理

    因为有打算想要写一组关于零样本学习算法的博客,需要用到AWA2数据集作为demo演示 之前想只展示算法部分的代码就好了,但是如果只展示算法部分的代码可能不方便初学者复现,所以这里把我数据预处理的方法也 ...

  9. DeepLearning | Zero Shot Learning 零样本学习(扩展内容、模型、数据集)

    之前写过一篇关于零样本学习的博客,当时写的比较浅.后来导师让我弄个ppt去给本科生做一个关于Zero Shot Learning 的报告,我重新总结了一下,添加了一些新的内容,讲课的效果应该还不错,这 ...

最新文章

  1. go语言支持继承吗_Go语言的结构体嵌入为什么不算继承?
  2. [实践篇] 逻辑回归
  3. 【Python】9个必知的Python操作文件/文件夹方法
  4. Leetcode--904. 水果成篮
  5. java windows 2008_Windows server 2008 R2 安装Java环境
  6. 5 WM配置-主数据-定义存储类型(Storage Type)
  7. 小程序自定义tabbar custom-tab-bar 6s出不来解决方案,cover-view不兼容
  8. SPSS描述性统计分析
  9. matlab 循环和判断语句,matlab中循环语句与for循环
  10. 树莓派4B:智能植物管家
  11. 图像无损压缩:Pichi for Mac
  12. 服务器查询IPV6地址
  13. android 微信双服务,微信双开重大更新 微信最新版可双账号一键切换登陆了
  14. tplink支持Linux的无线网卡,解决tp-link usb无线网卡在ubuntu14.04下无法使用的一种方法...
  15. 模拟实现ps aux | grep xxx
  16. android编译脚本下载,Android编译 Fak_aac心路历程
  17. [企业微信通知系列]Jenkins发布后自动通知
  18. 如何在项目管理中定义可交付成果?
  19. 现代控制理论机器人方向总结(原绪论)
  20. 滤芯怎么换 石头机器人_【诉说实情】小米扫地机机器人配件米家石头滤芯怎么样?小编深度剖析评测? | 智能扫地机器人评测...

热门文章

  1. JavaScript数据数据类型判断
  2. 使用pymupdf获取pdf文档中的文本下划线信息(全网唯一解决方案)
  3. ANF到DNT完美转移
  4. 一些国外的免费网站模板网站
  5. 教育邮箱怎么申请?教育邮箱怎么登录?
  6. 计算机网络鲍卫兵答案,之江浙工大之江学院1314(1)课程表校区1.doc
  7. 2021年中国工业软件行业发展现状分析,行业国产化程度亟待提升「图」
  8. 基于WEB的网上在线图书商城的设计与实现
  9. Beautiful Soup4(bs4)在python中解析页面信息以及csv格式
  10. Glyph 26426 missing from current font.解决matplotlib画图中文字体乱码问题