前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Meta Learning 1: 基于度量的方法

Meta Learning 1: 基于度量的方法

作者头像
朴素人工智能
发布于 2021-01-27 04:44:09
发布于 2021-01-27 04:44:09
2.1K0
举报
文章被收录于专栏:朴素人工智能朴素人工智能

今天推出一个短篇系列文章,给大家介绍一下Meta Learning元学习。

普通的机器学习目前在学习具体任务的问题上可以达到很好的效果,比如车载场景的意图分类任务(导航,听音乐,查天气,打电话)。如果有足够的高质量的标注数据,可以训练出一个很强的分类模型。 在实际项目中,意图的类别经常会随着需求的变动发生改变,比如在车载场景中新增了【设置日程】的意图。为了保持意图分类的准确率,理想状态下,我们需要新意图类别【设置日程】的大量标注数据来重新训练模型;然而现实情况是,获取大量的标注数据成本很高,当需求频繁变更时,这甚至可以说是不可能完成的任务。

能不能设计一种模型,可以只用少量的数据就可以识别一个新意图,学会一项新任务呢?这就是Meta Learning要讨论的内容。 在系列文章中我们会分享Meta Learning的两类解决方案:

  1. 基于度量的方法 Metric-Based
  2. 基于优化的方法 Optimization-Based

本文为系列文章第一篇,主要介绍Meta Learning是什么,以及基于度量的方法中最经典的孪生网络。

什么是Meta Learning

Meta Learning,通常称为“learning to learn”,可以理解为掌握学习的方法。 普通的机器学习通常是让模型学习做一件具体的事,比如分辨车主是否需要导航;而Meta Learning想要让模型学会分辨的方法,可以分辨车主的任意指令。

回想我们从出生到现在的学习生涯,最宝贵的不是学会了什么具体的知识,而是拥有了日益强大的学习能力。小时候的我们在认识了很多小动物以后,假设从来没见过海獭,通过一次动物园的见面甚至是一张海獭的图片,我们就能认识它。一个精通C++的高级程序员,学习Python可以说是非常轻松。

Meta Learning的目标就是让机器学习模型也可以像人一样,拥有学习能力。

Meta Learning的训练思路

怎么样才能让模型拥有学习能力呢,让我们从想要达到的效果入手。 以下图的图像分类任务为例,我们的使用场景是已知一个2分类的训练集,每个类只有4张照片,用这个训练集训练神经网络模型,使模型可以对这2个类别对应的新照片进行准确识别。 (为了展示方便,本文的大部分例子和配图会是图像分类,文本分类的原理是与之相通的。)

2-way 4-shot 图像分类

如果按一般的监督学习思路来训练,一张照片作为一个样本,因为训练样本数过少,模型一定会过拟合。怎样可以让训练样本的数量变多呢,让我们转变一下对样本的定义。 Meta Learning的思路是将这整个2分类图像分类任务作为一个样本。虽然模型没有这2个类别的更多图片,但可以获取到其他类别的大量图片。通过采样,构造许许多多的2分类图像分类任务作为训练样本,从而在任意新的2分类图像分类任务上都可以有良好的表现。 这里的训练样本集为Meta-Train,测试样本集为Meta-Test。 为了避免Meta-Train/Meta-Test和任务样本中的Train/Test混淆,将任务样本中的Train/Test称为Support/Query Set,将Meta-Train/Meta-Test称为Train/Test Set。 这个训练思路在文献中通常被称为Episodic Training,一个任务样本为一个Episode。

Meta Learning的核心思路:一个任务作为一个样本

这里作为样本的任务可以是任何机器学习任务,比如监督学习,非监督学习,强化学习等等。 本系列仅介绍样本为监督学习任务时的情况,即少样本学习(Few-shot Learning)。

基于度量的方法

基于度量的Meta Learning解决方案分三步走:

  • 首先是对Support/Query Set中的数据(图片/文本等)进行编码,学习数据的向量表示。
  • 对同一个类别内的数据进行归纳,得到类向量。
  • 计算Query向量和类向量的相似度(度量),取相似度最高的类,即为分类结果。

基于度量的方法:编码Encode,归纳Induction,相似度Relation

上述的解决方案,使分类不再依赖于固定的类别。 对于任意的新类别,无需重新训练模型。通过编码和归纳得到新类别的类向量,计算出Query和它的相似度。比较Query和所有候选类别对应的相似度分数,从而可以找到与Query最相近的类别。

基于度量的方法可以很好的教会模型分辨数据类别的能力,满足少样本学习的目标。 但是需要注意的一点是,它不需要严格遵守Meta Learning一个任务作为一个样本的训练思路。构造任务样本进行训练通常可以得到更好的效果,但是对于基于度量的方法而言,它不是必须的--比如接下来要介绍的论文。

Siamese Neural Networks for One-shot Image Recognition (Koch, 2015)

这篇论文[1]采用孪生神经网络对图片进行One-shot的识别,即新类别只需要提供一张图片。

论文的训练任务是判断两张图片是否是同一类别的0/1分类。

训练任务

输入是待识别的两张图片,输出是两张图片是同一类别的概率。 若是,概率为1;若不是,概率为0。

孪生网络的模型结构

对于图片数据的编码,论文采用孪生网络的结构。如上图所示,孪生网络指的是两张图片数据输入两个完全相同的神经网络,网络结构相同,并且共享权重参数。 论文中共享参数的孪生网络部分的结构是CNN网络,将CNN网络结构换成BERT,即Sentence-BERT[2]--BERT时代文本语义相似度领域的State-Of-The-Art。

由于文章针对的是One-shot的图像识别,每个新类别只提供一张图片,所以不需要对类别进行归纳,新类别对应的唯一的图片向量即类向量。

Query向量和类向量的相似度的计算取绝对距离(L1距离),即两个向量的差的绝对值。绝对距离可以替换成任何可微分的距离公式。

在进行One-shot识别时,将待识别的Query图片分别与各候选类别的图片一起输入孪生网络模型,得到Query图片与各候选类别图片是否是同一类别的概率,取其中概率最大的类别,即为Query的类别。

One-shot识别

未完待续

本篇给大家介绍了Meta Learning是什么,以及基于度量的方法中经典的孪生网络。下一篇会介绍更多基于度量的方法,敬请期待。

参考资料

[1]

Siamese Neural Networks for One-shot Image Recognition: http://www.cs.toronto.edu/~gkoch/files/msc-thesis.pdf

[2]

Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks: https://arxiv.org/pdf/1908.10084.pdf

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-01-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 朴素人工智能 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
AI大模型企业应用实战(24)-什么是zero-shot, one-shot和few-shot Learning?
利用训练集数据训练模型,使得模型能够对测试集的对象进行分类,但是训练集类别和测试集类别之间没有交集;期间需要借助类别的描述,来建立训练集和测试集之间的联系,从而使得模型有效。
JavaEdge
2025/06/01
1400
Meta Learning 2: 更多基于度量的方法
接着系列文章上一篇Meta Learning 1: 基于度量的方法介绍的孪生网络Siamese Network模型,本篇继续介绍更多基于度量的Meta Learning元学习方法。
朴素人工智能
2021/03/15
9350
Meta Learning 2: 更多基于度量的方法
Meta Learning 4: 基于优化的方法
相比较机器学习模型需要大量的标注数据进行训练,人类学习新知识和新技能的过程要更快更高效。
朴素人工智能
2021/05/28
1.4K0
Meta Learning 4: 基于优化的方法
小样本学习(Few-shot Learning)综述
笔者所在的阿里巴巴小蜜北京团队就面临这个挑战。我们打造了一个智能对话开发平台——Dialog Studio,以赋能第三方开发者来开发各自业务场景中的任务型对话,其中一个重要功能就是对意图进行分类。大量平台用户在创建一个新对话任务时,并没有大量标注数据,每个意图往往只有几个或十几个样本。
机器之心
2019/04/29
5.9K0
小样本学习(Few-shot Learning)综述
Meta Learning元学习和Few-Shot Learning
Meta Learnig,元学习,就是能够让机器学习如何去学习(Learning to Learning),Meta学习算法能够依据自己表现的反馈信号及时地不断的调整其结构和参数空间, 使得模型能够在新环境中通过累计经验提升表现性能,举个例子就是,机器之前学习了100个task,之后机器学习第101个task的时候,会因为之前学习的100个task所具有的学习能力,学习到了如何更好的获取特征知识的方法,而让第101个task表现得更好。这里前面的100个学习任务可以是语音识别、图像识别等等,新的任务可以和前面的100个任务没有任何关联,机器会因为之前所学到的任务,所以在后面的任务学习得更好。
Minerva
2020/05/29
2.5K0
Meta Learning元学习和Few-Shot Learning
深度学习应用篇-元学习[13]:元学习概念、学习期、工作原理、模型分类等
元学习 (Meta-Learning) 通常被理解为“学会学习 (Learning-to-Learn)”,
汀丶人工智能
2023/06/14
16.3K0
深度学习应用篇-元学习[13]:元学习概念、学习期、工作原理、模型分类等
CVPR 2021 清华大学|基于模拟器的新型对抗攻击 Powered by meta-learning!
标题:Simulating Unknown Target Models for Query-Efficient Black-box Attacks
公众号-arXiv每日学术速递
2021/05/18
1K0
CVPR 2021 清华大学|基于模拟器的新型对抗攻击 Powered by meta-learning!
元学习Meta-Learning—授人以鱼不如授人以渔
我们知道现在深度学习在使用大型数据集掌握一项任务(检测,分类等)方面取得了巨大的成功,但这并不是真正我们追求的“人工智能”。具体来说,我们可能训练了一个能做物理题很高分的学生,但是他也只能做物理题而已,面对数学题他只能吞下零分的命运;其次,在面对新的任务(数学题)的时候,我们的学生仍然需要大量的数据(数学题)进行训练,而在学习物理的时候积累下的学习方法(先验知识)却基本帮不上忙。
CristianoC
2020/08/06
1.2K0
元学习
人工智能的一个基本问题是它无法像人类一样高效地学习。许多深度学习分类器显示了超人的表现,但需要数百万个训练样本。知识不共享,并且每个任务都独立于其他任务进行训练。在本文中,我们将该研究问题,然后检查一些建议的解决方案。
磐创AI
2020/03/04
6820
[转载]Meta Learning单排小教学
虽然Meta Learning现在已经非常火了,但是还有很多小伙伴对于Meta Learning不是特别理解。考虑到我的这个AI游乐场将充斥着Meta Learning的分析解读及各种原创思考,所以今天Flood就和大家做一个Meta Learning小教学,希望能够用最简短,最通俗的语言来让大家明白Meta Learning的概念,Meta Learning的几种研究方法,以及Meta Learning未来的发展,带大家上分!相信这个Meta Learning小教学是目前全网唯一的中文教程。
marsggbo
2018/10/11
9020
深度学习教程 | CNN应用:人脸识别和神经风格转换
本系列为吴恩达老师《深度学习专项课程(Deep Learning Specialization)》学习与总结整理所得,对应的课程视频可以在这里查看。
ShowMeAI
2022/04/15
7630
深度学习教程 | CNN应用:人脸识别和神经风格转换
成为梵高、毕加索?你最喜欢的人脸识别与神经风格迁移来啦!
首先简单介绍一下人脸验证(face verification)和人脸识别(face recognition)的区别。
红色石头
2022/01/12
3440
成为梵高、毕加索?你最喜欢的人脸识别与神经风格迁移来啦!
A Survey of Deep Meta-Learning:深度元学习综述
由于原论文篇幅很长,内容很丰富,在本推文中无法全部给大家展现出来,所以本文只挑选了原论文中比较重要和核心的内容进行介绍,更详细的内容请参考原论文。比如,本文只会提及元监督学习,有关强化学习和元强化学习的内容并没有提及。
智能生信
2021/02/04
1.9K0
学界 | CVPR 2018论文解读:让神经网络学习比较来实现少样本学习
方法非常简单通用,但效果很不错,在少样本学习及零样本学习的几个基准数据集上都取得了相当好的结果。
AI科技评论
2018/07/27
9000
学界 | CVPR 2018论文解读:让神经网络学习比较来实现少样本学习
Zero-Shot Learning 指南
深度学习有一个大问题: 它需要吞噬大量的数据,然后才能很好地泛化而变得实用。这实际上是深度学习的局限性之一,限制了它在数据不丰富或难以获得的许多领域的应用。
McGL
2020/10/30
9210
Zero-Shot Learning 指南
当小样本遇上机器学习 fewshot learning
深度学习(deep learning)已经广泛应用于各个领域,解决各类问题,例如在图像分类问题下,如图1,区分这10类目标的准确率目前可以轻松做到94%。然而,deep learning是一种data hungry的技术,需要大量的标注样本才能发挥作用。
全栈程序员站长
2022/08/11
9150
当小样本遇上机器学习 fewshot learning
[DeeplearningAI笔记]one-shot learning/Siamase网络/Triplet损失/
然后输出两张图片的差异值--如果你放进同一个人的两张照片,你希望他能输出一个很小的值,如果你放进两个长相差别很大的人的照片
演化计算与人工智能
2020/08/14
1.1K0
[DeeplearningAI笔记]one-shot learning/Siamase网络/Triplet损失/
复旦大学提出《Meta-FDMixup》解决"跨域小样本学习"中的域偏移问题
这篇文章『Meta-FDMixup: Cross-Domain Few-Shot Learning Guided by Labeled Target Data』是 ACM Multimedia 2021 上的工作,主要是做 cross-domain few-shot learning,文章主要提出使用极少一部分 target 带标注数据来帮助模型的学习。
CV君
2021/12/13
3.3K0
复旦大学提出《Meta-FDMixup》解决"跨域小样本学习"中的域偏移问题
N-Shot Learning:用最少的数据训练最多的模型
原标题 | N-Shot Learning: Learning More with Less Data
AI研习社
2019/09/25
1.6K0
N-Shot Learning:用最少的数据训练最多的模型
吴恩达深度学习笔记 course4 week 4 特殊应用:人脸识别与神经风格转换
output:如果图片是对应的K人中的一人,则输出此人ID,否则验证不通过    ,人脸识别比人脸验证更难一些,如果一个人脸验证系统的正确率为99%,即错误率为1%,将这个人脸验证系统应用到另一个人脸识别系统,犯错几率就变为了K倍.即K%
Dar_Alpha
2018/10/09
6380
吴恩达深度学习笔记 course4 week 4 特殊应用:人脸识别与神经风格转换
推荐阅读
相关推荐
AI大模型企业应用实战(24)-什么是zero-shot, one-shot和few-shot Learning?
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档