Few-Shot/One-Shot Learning指的是小样本学习,目的是克服机器学习中训练模型需要海量数据的问题,期望通过少量数据即可获得足够的知识。

Matching Networks for One Shot Learning

论文将普通神经网络学习慢的问题归结为模型是由参数组成的,模型通过样本的训练转化为参数上的改进是一个特别“昂贵”的过程,因此需要大量样本。作者由此提到不涉及参数的模型(non-parametric model),例如kNN等模型(这里我将这两个的区别理解为 是否需要多次迭代优化参数)。最后,他们使用的是带参数的网络和不带参数的结合,目的是快速从样本中获取知识。论文中面向的问题是n-way k-shot 这样一种任务,support set中k个example一共有n个lebel,全都是训练时候未见过的。(这里我将support set理解为:初次用比较多的数据训练之后得到一个模型,之后再提供很少的数据,让已有的模型快速学习。论文的实验中support set中的label都是训练时候没见过的)。

模型组成

模型是一个set-to-set的框架,或者说是一个end-to-end的方式。预测的公式为

\[\hat{y} = \sum_{i=0}^K{a(\hat{x},x_i)y_i}\]

输出的 \(\hat{y}\) 表示的是测试数据属于每种label的概率,\(y_i\)是一个独热向量。
a是一个矩阵,代表的是 \(\hat{x}\) 和支撑集中每个 \(x_i\) 的相似程度。论文中使用的计算相似度的方式是 softmax over the cosine distance

\[a(\hat{x},x_i) = e^{c(f(\hat{x},g(x_i)))} / \sum_{j=1}^k{e^{(c(f(\hat{x}),g(x_i)))}}\]

上面的f和g函数称为embedding function,目的是将数据转化为向量,相当于一个信息提取的过程。但是作者考虑到这种方式(f和g关注的只是一条数据)并没有综合考虑整个支持集的信息,但是分类时候利用的是整个支持集的信息。认为每个\(x_i\)单独地被f和g进行嵌入存在短视的缺点。因此,提出Full Context Embeddings,嵌入函数变为\(f(\hat{x},S)\),\(g(x_i,S)\),使用的是LSTM,将支持集看作序列在整个支持集的上下文环境下对\(x_i\)和\(\hat{x}\)进行编码。


水平有限,更深层次的内容现在还并不能从论文中得出,推荐两篇论文笔记:
中文博客
英文博客

Few-Shot/One-Shot Learning的更多相关文章

  1. (转)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 ...

  2. Multi-attention Network for One Shot Learning

    Multi-attention Network for One Shot Learning 2018-05-15 22:35:50  本文的贡献点在于: 1. 表明类别标签信息对 one shot l ...

  3. Matching Networks for One Shot Learning

    1. Introduction In this work, inspired by metric learning based on deep neural features and memory a ...

  4. 零样本学习 - (Zero shot learning,ZSL)

    https://zhuanlan.zhihu.com/p/41846072 https://zhuanlan.zhihu.com/p/38418698 https://zhuanlan.zhihu.c ...

  5. Dribbble for windows phone 8

    正如你看到文章的标题所示.这是一个Dribbble 基于windows phone 8的客户端.[开源项目] 对于大部分的开发人员来说很少关注Dribbble[不妨打开看看或是注册一个player账号 ...

  6. 越狱Season 1-Episode 13: End of the Tunnel

    Season 1, Episode 13: End of the Tunnel -Fernando: The name is John Abruzzi. 名字是John Abruzzi A b r u ...

  7. 越狱Season 1-Episode 8: The Old Head

    Season 1, Episode 8: The Old Head -Michael: 17 days from now they strap my brother to an electric ch ...

  8. H TML5 之 (7) 俄罗斯方块效果

    下载是模拟的俄罗斯方法的效果,在下落的情况下,能 <!DOCTYPE HTML> <html> <head> <title>Shot</title ...

  9. H TML5 之 (6)下雨效果

    在对HTML5进行研究之后,有了一点想法,思考出游戏其实感觉就是四个步骤 1.创建一个你需要的对象,赋予属性(一些影响方法的属性),方法(运动,叫....) 2.实例化这个对象,让它成为一个或者多个个 ...

  10. 转自知乎,亲民好酒推荐 分类: fool_tree的笔记本 2014-11-08 17:37 652人阅读 评论(0) 收藏

    这里尽量为大家推荐一些符合大众喜好.业内公认好评."即使你不喜欢,你也会承认它不错"的酒款.而且介绍到的酒款还会有一个共同的特征,就是能让你方便的在网上买到. 大概会分为烈酒,利口 ...

随机推荐

  1. 2017-2018-1 20155315 《信息安全系统设计基础》嵌入式C语言测试

    Hours 要求 伪代码 提取Hours 提取时间地址 时间存放在(基址+2)的16位寄存器中,定义一个时间宏存放地址. #define Time_Addr 0xFFFFC0000 #define T ...

  2. 8 功能6:后台管理页面,编辑文章,xss攻击

    1.后台管理页面之文本编辑 # 后台管理url re_path(r'^cn_backend/$', views.cn_backend, name='cn_backend'), re_path(r'^c ...

  3. h5 和之前版本的区别

    html5和之前版本的区别就是:以前版本多采用<tr><td>等标签,对于webapp的开发不是很好把控.H5采用<div>等标签直接进行布局(且多了许多标签功能很 ...

  4. Micro:bit篮球小游戏

    尝试用Micro:bit制作一款篮球游戏,材料是利用一些纸箱跟生活周遭可以取得的加上Micro;bit,打造出一个好玩的篮球游戏,制作过程也十分简单. 材料清单 先制作篮板. 接着制作篮球架体. 制作 ...

  5. 通过Task异步加快对数组的运算

    一.介绍 Task是.NetFramework3.0出现的,线程是基于线程池,然后提供了丰富的API. 先用AverageAssign方法把一组数据平均分成n组,再通过遍历n组数据,循环开Task多线 ...

  6. 测试模型---V模型

    软件测试&软件工程 软件测试是软件工程不可缺少的一部分. 一.V模型简介 需求分析 验收测试 概要设计 系统测试 详细设计 集成测试 编码 单元测试   (1)单元测试: 又称模块测试,针对软 ...

  7. python解释 yield 和 Generators(生成器)

    yield 和 Generators(生成器) 转自:http://www.oschina.net/translate/improve-your-python-yield-and-generators ...

  8. gradle springboot 项目运行的三种方式

    一.java -jar 二.eclipse中 Java Application 三.命令行 gradle bootRun

  9. 曲线救国:安装golang.org/x/*

    很多第三方库都用到了golang.org/x下面的包,但是国内不通过VPN是无法访问到的,不过没关系,在github.com/golang下面,基本都有对应的包 如何操作? 以安装sys包为例 git ...

  10. appium+python+unittest 测试用例的几种加载执行方式

    利用python进行测试时,测试用例的加载方式有2种: 一种是通过unittest.main()来启动所需测试的测试模块:  一种是添加到testsuite集合中再加载所有的被测试对象,而testsu ...