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

作者:Gorkem Polat

编译:ronghuaiyang

导读

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

295029e70c238c31572779c7959ad5fd.png

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

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

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

Siamese Neural Networks

2fc0e20253112f055d53c5a2d7477bf8.png

Siamese Neural Networks的结构

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

ed7f76c1a708cc28da571e3ccefdd2c0.png

Siamese Neural Networks的步骤

Triplet Network and Triplet Loss

78279c547cdfa66f808b2e9dcae9586c.png

Triplet Networks

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

db0a59d62156a11d9b5dc9620eea5df8.png
92c953801d462378a53bc0fc9e0dd623.png

Triplet Loss

Matching Networks

790e2821b546595a8ae405a344d1aee4.png

Matching Networks

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

b5a103ac0ce97b084e20f9416f10d87f.png
195fb49619bd7d87112dade23e78930a.png

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

Prototypical Networks

aa9df62731e8270fa5e8e1056e9ee879.png

Prototypical Networks

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

Meta-Learning

05060cbabb62c1c716a35c0f658ecf76.png

模型不可知Meta-Learning

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

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

15d4de65e9a762b09c7a6ea920e34b1b.png

模型不可知Meta-Learning算法

Bonus: MetaFGNet

12fc129567421af52a5f4b72d18b9820.png

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/389032.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于边缘计算的实时绩效_基于绩效的营销中的三大错误

基于边缘计算的实时绩效We’ve gone through 20% of the 21st century. It’s safe to say digitalization isn’t a new concept anymore. Things are fully or at least mostly online, and they tend to escalate in the digital direction. That’s why it’s important to…

为什么Facebook的API以一个循环作为开头?

作者 | Antony Garand译者 | 无明如果你有在浏览器中查看过发给大公司 API 的请求,你可能会注意到,JSON 前面会有一些奇怪的 JavaScript:为什么他们会用这几个字节来让 JSON 失效?为了保护你的数据 如果没有这些字节,那…

城市轨道交通运营票务管理论文_城市轨道交通运营管理专业就业前景怎么样?中职优选告诉你...

​​城市轨道交通运营管理专业,专业就业前景怎么样?就业方向有哪些?有很多同学都感觉很迷忙,为了让更多的同学们了解城市轨道交通运营管理专业的就业前景与就业方向,整理出以下内容希望可以帮助同学们。城市轨道交通运…

计算机视觉对扫描文件分类 OCR

通过计算机视觉对扫描文件分类 一种解决扫描文档分类问题的深度学习方法 在数字经济时代, 银行、保险、治理、医疗、法律等部门仍在处理各种手写票据和扫描文件。在业务生命周期的后期, 手动维护和分类这些文档变得非常繁琐。 对这些非机密文档进行简…

笑话生成器_爸爸笑话发生器

笑话生成器(If you’re just here for the generated jokes, scroll down to the bottom!)(如果您只是在这里生成笑话,请向下滚动到底部!) I thought: what is super easy to build, yet would still get an approving chuckle if someone found it on …

机器学习实践二 -多分类和神经网络

本次练习的任务是使用逻辑归回和神经网络进行识别手写数字(form 0 to 9, 自动手写数字问题已经应用非常广泛,比如邮编识别。 使用逻辑回归进行多分类分类 练习2 中的logistic 回归实现了二分类分类问题,现在将进行多分类,one vs…

Hadoop 倒排索引

倒排索引是文档检索系统中最常用的数据结构,被广泛地应用于全文搜索引擎。它主要是用来存储某个单词(或词组)在一个文档或一组文档中存储位置的映射,即提供了一种根据内容来查找文档的方式。由于不是根据文档来确定文档所包含的内…

koa2异常处理_读 koa2 源码后的一些思考与实践

koa2的特点优势什么是 koa2Nodejs官方api支持的都是callback形式的异步编程模型。问题:callback嵌套问题koa2 是由 Express原班人马打造的,是现在比较流行的基于Node.js平台的web开发框架,Koa 把 Express 中内置的 router、view 等功能都移除…

上凸包和下凸包_使用凸包聚类

上凸包和下凸包I recently came across the article titled High-dimensional data clustering by using local affine/convex hulls by HakanCevikalp in Pattern Recognition Letters. It proposes a novel algorithm to cluster high-dimensional data using local affine/c…

幸运三角形 南阳acm491(dfs)

幸运三角形 时间限制:1000 ms | 内存限制:65535 KB 难度:3描述话说有这么一个图形,只有两种符号组成(‘’或者‘-’),图形的最上层有n个符号,往下个数依次减一,形成倒置…

决策树有框架吗_决策框架

决策树有框架吗In a previous post, I mentioned that thinking exhaustively is exhausting! Volatility and uncertainty are ever present and must be factored into our decision making — yet, we often don’t have the time or data to properly account for it.在上一…

8 一点就消失_消失的莉莉安(26)

文|明鸢Hi,中午好,我是暖叔今天是免费连载《消失的莉莉安》第26章消失的莉莉安▶▶往期链接:▼ 向下滑动阅读1:“消失的莉莉安(1)”2: 消失的莉莉安(2)3:“消失的莉莉安(3)”4:“消失的莉莉安…

mysql那本书适合初学者_3本书适合初学者

mysql那本书适合初学者为什么要书籍? (Why Books?) The internet is a treasure-trove of information on a variety of topics. Whether you want to learn guitar through Youtube videos or how to change a tire when you are stuck on the side of the road, …

语音对话系统的设计要点与多轮对话的重要性

这是阿拉灯神丁Vicky的第 008 篇文章就从最近短视频平台的大妈与机器人快宝的聊天说起吧。某银行内,一位阿姨因等待办理业务的时间太长,与快宝机器人展开了一场来自灵魂的对话。对于银行工作人员的不满,大妈向快宝说道:“你们的工…

c读取txt文件内容并建立一个链表_C++链表实现学生信息管理系统

可以增删查改&#xff0c;使用链表存储&#xff0c;支持排序以及文件存储及数据读取&#xff0c;基本可以应付期末大作业&#xff08;狗头&#xff09; 界面为源代码为一个main.cpp和三个头文件&#xff0c;具体为 main.cpp#include <iostream> #include <fstream>…

阎焱多少身价_2020年,数据科学家的身价是多少?

阎焱多少身价Photo by Christine Roy on Unsplash克里斯汀罗伊 ( Christine Roy) 摄于Unsplash Although we find ourselves in unprecedented times of uncertainty, current events have shown just how valuable the fields of Data Science and Computer Science truly are…

单据打印_Excel多功能进销存套表,自动库存单据,查询打印一键操作

Hello大家好&#xff0c;我是帮帮。今天跟大家分享一张Excel多功能进销存管理套表&#xff0c;自动库存&#xff0c;单据打印&#xff0c;查询统算一键操作。为了让大家能更稳定的下载模板&#xff0c;我们又开通了全新下载方式(见文章末尾)&#xff0c;以便大家可以轻松获得免…

卡尔曼滤波滤波方程_了解卡尔曼滤波器及其方程

卡尔曼滤波滤波方程Before getting into what a Kalman filter is or what it does, let’s first do an exercise. Open the google maps application on your phone and check your device’s current location.在了解什么是卡尔曼滤波器或其功能之前&#xff0c;我们先做一个…

Candidate sampling:NCE loss和negative sample

在工作中用到了类似于negative sample的方法&#xff0c;才发现我其实并不了解candidate sampling。于是看了一些相关资料&#xff0c;在此简单总结一些相关内容。 主要内容来自tensorflow的candidate_sampling和卡耐基梅隆大学一个学生写的一份notesNotes on Noise Contrastiv…

golang key map 所有_Map的底层实现 为什么遍历Map总是乱序的

Golang中Map的底层结构其实提到Map&#xff0c;一般想到的底层实现就是哈希表&#xff0c;哈希表的结构主要是Hashcode 数组。存储kv时&#xff0c;首先将k通过hashcode后对数组长度取余&#xff0c;决定需要放入的数组的index当数组对应的index已有元素时&#xff0c;此时产生…