您当前的位置:首页 > 电脑百科 > 人工智能

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

时间:2020-08-13 11:58:23  来源:  作者:

作者:Gorkem Polat

编译:ronghuaiyang

导读

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

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

 

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

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

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

Siamese Neural Networks

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

Siamese Neural Networks的结构

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

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

Siamese Neural Networks的步骤

Triplet Network and Triplet Loss

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

Triplet Networks

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

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

 


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

Triplet Loss

Matching Networks

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

Matching Networks

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

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

 


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

 

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

Prototypical Networks

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

Prototypical Networks

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

Meta-Learning

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

模型不可知Meta-Learning

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

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

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

模型不可知Meta-Learning算法

Bonus: MetaFGNet

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

MetaFGNet

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

英文原文:https://medium.com/swlh/deep-learning-architectures-that-you-can-use-with-a-very-few-data-8e5b4fa1d5da



Tags:深度学习   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
现如今,谈起人工智能我们都会想到的是“深度学习”(deep learning),无论是战胜李世石的AlphaGo,还是能够随意写出人类水平文章的GPT-3,它们的背后都依托的是这套算法。 它具有很好...【详细内容】
2021-09-14  Tags: 深度学习  点击:(104)  评论:(0)  加入收藏
0 前言大家好,欢迎来到“自由技艺”的知识小馆。今天我们来探讨下深度学习中的 Attention 机制,中文名为“注意力”。本文内容结构组织如下:1 为什么需要引入 Attention 机制?2...【详细内容】
2021-06-09  Tags: 深度学习  点击:(149)  评论:(0)  加入收藏
微信正用着的深度学习框架,现在你也可以上手试一试了。 就在最近,腾讯把这个名叫deepx_core的深度学习基础库正式对外开源。 相比于PyTorch、TensorFlow等流行深度学习框架,这位选手不仅具有通用性,还针对高维稀疏数据...【详细内容】
2021-04-06  Tags: 深度学习  点击:(205)  评论:(0)  加入收藏
为深度学习项目建立一个良好的环境不是一件容易的任务。因为需要处理的事情太多了:库必须匹配特定的版本,整个环境需要可以复制到其他机器上,所有东西都需要能够机器中的所有...【详细内容】
2021-03-05  Tags: 深度学习  点击:(96)  评论:(0)  加入收藏
深度学习是机器学习的一个子领域,它采用了一个特定的模型:一族通过某种方式连接起来的简单函数。由于这类模型的结构是受到人类大脑结构的启发而创造出来的...【详细内容】
2021-02-26  Tags: 深度学习  点击:(269)  评论:(0)  加入收藏
基于人工智能和深度学习方法的现代计算机视觉技术在过去10年里取得了显著进展。如今,它被用于图像分类、人脸识别、图像中物体的识别、视频分析和分类以及机器人和自动驾驶车辆的图像处理等应用上。...【详细内容】
2021-01-07  Tags: 深度学习  点击:(87)  评论:(0)  加入收藏
什么是深度学习深度学习有如下一些众所周知且被广泛接受的定义。(1)深度学习是机器学习的子集。(2)深度学习使用级联的多层(非线性)处理单元,称为人工神经网络(ANN),以及受大脑结构和...【详细内容】
2020-12-07  Tags: 深度学习  点击:(184)  评论:(0)  加入收藏
本文将介绍在 Windows 计算机上配置深度学习环境的全过程,其中涉及安装所需的工具和驱动软件。出人意料的是,即便只是配置深度学习环境,任务也不轻松。你很有可能在这个过程中犯错。我个人已经很多次从头开始配置深度学...【详细内容】
2020-12-02  Tags: 深度学习  点击:(97)  评论:(0)  加入收藏
一代深度学习框架研究于璠华为技术有限公司摘要:从人工智能的历史出发,简述深度学习发展历程以及目前的挑战,通过介绍新一代深度学习框架的特点,分析总体框架,阐述自动并行、自动...【详细内容】
2020-11-10  Tags: 深度学习  点击:(94)  评论:(0)  加入收藏
HelloGitHub 推出的《讲解开源项目》 系列。这一期是由亚马逊工程师:Keerthan Vasist,为我们讲解 DJL(完全由 Java 构建的深度学习平台)系列的第 4 篇。...【详细内容】
2020-11-03  Tags: 深度学习  点击:(86)  评论:(0)  加入收藏
▌简易百科推荐
作为数据科学家或机器学习从业者,将可解释性集成到机器学习模型中可以帮助决策者和其他利益相关者有更多的可见性并可以让他们理解模型输出决策的解释。在本文中,我将介绍两个...【详细内容】
2021-12-17  deephub    Tags:AI   点击:(15)  评论:(0)  加入收藏
基于算法的业务或者说AI的应用在这几年发展得很快。但是,在实际应用的场景中,我们经常会遇到一些非常奇怪的偏差现象。例如,Facebook将黑人标记为灵长类动物、城市图像识别系统...【详细内容】
2021-11-08  数据学习DataLearner    Tags:机器学习   点击:(32)  评论:(0)  加入收藏
11月2日召开的世界顶尖科学家数字未来论坛上,2013年诺贝尔化学奖得主迈克尔·莱维特、2014年诺贝尔生理学或医学奖得主爱德华·莫索尔、2007年图灵奖得主约瑟夫·斯发斯基、1986年图灵奖得主约翰·霍普克罗夫特、2002...【详细内容】
2021-11-03  张淑贤  证券时报  Tags:人工智能   点击:(39)  评论:(0)  加入收藏
鉴于物联网设备广泛部署、5G快速无线技术闪亮登场,把计算、存储和分析放在靠近数据生成的地方来处理,让边缘计算有了用武之地。 边缘计算正在改变全球数百万个设备处理和传输...【详细内容】
2021-10-26    计算机世界  Tags:边缘计算   点击:(45)  评论:(0)  加入收藏
这是几位机器学习权威专家汇总的725个机器学习术语表,非常全面了,值得收藏! 英文术语 中文翻译 0-1 Loss Function 0-1损失函数 Accept-Reject Samplin...【详细内容】
2021-10-21  Python部落    Tags:机器学习   点击:(43)  评论:(0)  加入收藏
要开始为开源项目做贡献,有一些先决条件:1. 学习一门编程语言:由于在开源贡献中你需要编写代码才能参与开发,你需要学习任意一门编程语言。根据项目的需要,在后期学习另一种语言...【详细内容】
2021-10-20  TSINGSEE青犀视频    Tags:机器学习   点击:(37)  评论:(0)  加入收藏
SimpleAI.人工智能、机器学习、深度学习还是遥不可及?来这里看看吧~ 从基本的概念、原理、公式,到用生动形象的例子去理解,到动手做实验去感知,到著名案例的学习,到用所学来实现...【详细内容】
2021-10-19  憨昊昊    Tags:神经网络   点击:(47)  评论:(0)  加入收藏
语言是人类思维的基础,当计算机具备了处理自然语言的能力,才具有真正智能的想象。自然语言处理(Natural Language Processing, NLP)作为人工智能(Artificial Intelligence, AI)的核心技术之一,是用计算机来处理、理解以及运...【详细内容】
2021-10-11    36氪  Tags:NLP   点击:(48)  评论:(0)  加入收藏
边缘计算是什么?近年来,物联网设备数量呈线性增长趋势。根据艾瑞测算, 2020年,中国物联网设备的数量达74亿,预计2025年突破150亿个。同时,设备本身也变得越来越智能化,AI与互联网在...【详细内容】
2021-09-22  汉智兴科技    Tags:   点击:(54)  评论:(0)  加入收藏
说起人工智能,大家总把它和科幻电影中的机器人联系起来,而实际上这些科幻场景与现如今的人工智能没什么太大关系。人工智能确实跟人类大脑很相似,但它们的显著差异在于人工智能...【详细内容】
2021-09-17  异步社区    Tags:人工智能   点击:(57)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条