ronghuaiyang · 2020年08月13日

适用于少量数据的深度学习结构

作者:Gorkem Polat
编译:ronghuaiyang
首发:AI公园公众号

导读

一些最常用的few shot learning的方案介绍及对比。

640.jpg

传统的CNNs (AlexNet, VGG, GoogLeNet, ResNet, DenseNet…)在数据集中每个类样本数量较多的情况下表现良好。不幸的是,当你拥有一个小数据集时,它们通常不能很好地工作。但是,在许多真实的场景中,收集数据是很有挑战性的。例如,在人脸识别系统中,通常每个人的图像都很少,或者在医学领域中,一些罕见疾病的病例也很有限。

那么,当你的类别中只有5个样本,甚至每个类别只有一个样本时,深度学习能提供什么呢? 这个问题被称为few-shot learning。这是一个活跃的研究领域,有许多成功的方法可以采用。在本文中,我将只提到一些最有前途的体系结构。

这篇文章不会深入地解释架构,因为这会使文章变得很长。相反,我将只介绍架构的主要思想,以便任何希望处理小数据集的人都可以对模型有一个大致的了解。

Siamese Neural Networks

640.png
Siamese Neural Networks的结构

Siamese神经网络以两个样本作为输入,输出给定输入是否属于同一类的概率(或损失)。输入样本通过相同的网络(共享权值),它们的嵌入在损失函数中进行比较(通常使用基于嵌入的差异的度量)。在训练过程中,“网络”学会以更稳健的方式对输入进行编码。首先,在支持集(验证步骤)上对模型进行训练,以学习相同/不同的配对。然后,将测试样本与训练集中的每个样本进行比较,得到基于学习的编码后的测试样本与每个类(o_ne-shot task_)的相似度。它是在few-shot学习领域中第一个成功的模型之一,并成为其他模型的基础。
640-1.png

Siamese Neural Networks的步骤

Triplet Network and Triplet Loss

640-2.png

Triplet Networks

Triplet Network是对Siamese 网络的扩展。Triplet网络不使用两个样本,而是使用三个样本作为输入:positiveanchornegative样本。Positive样本和anchor样本来自同一类,negative样本来自不同类。Triplet损失的安排使得anchor的嵌入靠近positive而远离negative。通过这种方式,网络在提取嵌入信息时变得更加健壮。Triplet Networks已应用于人脸识别数据集,显示出非常好的性能。

640-3.png

640-4.png
Triplet Loss

Matching Networks

640-5.png

Matching Networks

匹配网络将嵌入和分类相结合,形成端到端可微的最近邻分类器。对于模型的预测,是标签的加权和,yᵢ是训练集。权重是成对相似性函数a(?̂, xᵢ),查询(测试)样本和支持(训练)样本之间的相似性。匹配网络的关键是相似函数的可微性。

640-6.png

640-7.png
其中C代表了余弦相似度函数,k是在训练集中的样本总数,函数f* g是嵌入函数。总体而言,在测试样本的嵌入和训练集样本xᵢ的嵌入之间计算相似性。这个工作的主要创新点就是对嵌入函数优化得到最大的分类精度。

Prototypical Networks

640-8.png

Prototypical Networks

原型网络不将测试样本与所有训练样本进行比较,而是将测试样本与类原型(或平均类嵌入)进行比较。其关键假设是对于每个类别,存在一个嵌入,簇样本的表示是分布在这个原型的嵌入cₖ的周围的。在他们的论文中,证明了它的性能优于匹配网络。

Meta-Learning

640-9.png
模型不可知Meta-Learning

元学习意味着学会学习。元学习试图训练模型的参数,使其通过一个或多个梯度步骤(像人类一样)在新任务中表现最佳。模型的参数根据更新后的特定于任务的参数进行更新,使得任何任务在完成单一步骤后,其性能都是最高的。

与模型无关的元学习(MAML)的目的是学习一个通用的模型,这个模型可以很容易地对许多任务进行微调,只需要几个迭代步骤。对于元批处理中的每个任务,使用基模型的权重初始化一个模型。采用随机梯度下降(SGD)算法更新特定任务的权值。然后,使用更新后权重的损失总和来更新元学习者的权重。这里的目标是,对于几个不同的任务,这些参数的损失将会很小。

640-10.png

模型不可知Meta-Learning算法

Bonus: MetaFGNet

640.png

MetaFGNet

除了目标任务网络外,MetaFGNet还使用辅助数据训练网络。这两个网络共享初始层(基础网络)以学习一般信息。这种方法也被称为多任务学习。将辅助数据(S)与目标数据(T)进行训练,对目标训练产生正则化效果。MetaFGNet还使用了一个名为_sample selection_的过程。辅助数据中的样本通过网络,对目标分类器的相似度打分,同时也计算源分类器。如果相似性高,得分也会高。只选择得分阈值以上的样本进行训练。这里主要假设辅助数据S应该具有与目标集T类似的分布。结果表明,该过程提高了整体性能。使用元学习方法进行训练效果有提升。

—END—

英文原文:https://medium.com/swlh/deep-...

推荐阅读


关注图像处理,自然语言处理,机器学习等人工智能领域,请点击关注AI公园专栏
欢迎关注微信公众号
AI公园 公众号二维码.jfif
推荐阅读
关注数
8257
内容数
210
关注图像处理,NLP,机器学习等人工智能领域
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息