前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Meta-Transfer Learning for Few-Shot Learning:元迁移学习的小样本学习

Meta-Transfer Learning for Few-Shot Learning:元迁移学习的小样本学习

作者头像
智能生信
发布于 2021-02-04 07:22:45
发布于 2021-02-04 07:22:45
3.6K0
举报
文章被收录于专栏:智能生信智能生信

作者 | 封扬帆 编辑 | 李仲深

今天给大家介绍新加坡国立大学的Qianru Sun等人在2019年CVPR(计算机视觉顶会)上发表的文章“Meta-Transfer Learning for Few-ShotLearning”。本文对MAML(Model-Agnostic Meta-Learning)进行了一些改进,提出了meta-transfer learning(MTL)(可以整合迁移学习和元学习的优点)仅用少量数据就能快速适应新的task。

一、摘要

元学习(meta-learning)是目前广泛使用的处理小样本学习问题的方法,它的目的是在学习不同任务的过程中积累经验,从而使得模型能够快速适应新任务。比如在MAML(Model-Agnostic Meta- Learning)中,通过搜寻最优初始化状态,使得base-learner能够快速适应新任务。但是这一类元学习方法具有两个缺点:

1. 需要大量相似的任务以进行元训练(meta-training),成本花费很大;

2. 每个任务通常由较低复杂度的base-learner进行建模,以避免过拟合,这会导致模型不能使用更深更强的结构。比如在MAML中,使用的是shallow CNN,只有4个卷积层。

本文提出了一种新的元学习方法,称为meta-transferlearning(MTL),当仅使用少量带有标记的数据时,它可以帮助深度神经网络快速收敛,并且降低过拟合发生的概率。本文还提出了一种新的学习策略,称为hard task(HT)meta-batch,以往的meta-batch包含的是一些随机任务,而HT meta-batch根据之前在训练时出现的具有较低验证准确度的失败任务,对hardtask进行重新采样。

二、研究背景

深度学习系统在标记数据足够时时有很好的性能,但对减少所需的数据集的需求越来越多。为此,已经定义了few-shot学习任务。few-shot学习方法可以大致分为两类:数据扩充和基于任务的元学习。数据扩充是增加可用数据量的经典技术,因此对few-shot学习也很有用。然而,当在少量数据上训练时,模型通常表现不佳。另一种方法是合并来自多个任务的数据,但是由于任务之间的数据差异,这种方法无效。与数据扩充方法相反,元学习是一种任务级学习方法。元学习旨在从学习多个任务中积累经验,而基础学习侧重于对单个任务的数据分布进行建模。这方面的最新代表,即模型不可知元学习(MAML),学习搜索最佳初始化状态,以快速适应新任务。它与任务无关的特性使得它可以推广到few-shot监督学习和无监督强化学习。然而,这种方法有两个主要的局限性,限制了它们的有效性:I)这些方法通常需要大量类似的元训练任务;ii)每个任务通常由低复杂度的基础学习者(例如浅层神经网络)建模,以避免模型过拟合,因此不能使用更深和更强大的体系结构。本文的贡献如下:1.提出MTL方法,使用经过大规模数据集预训练得到的DNN权值,来处理小样本学习任务;2.提出HT meta-batch学习策略,迫使MTL通过hard task进行学习;3.在两个小样本学习benchmark上进行实验并取得优异的结果。

三、模型与方法

图1 MTL方法三阶段

如图1所示,本文的方法共包含3个阶段:

a)在大规模数据集上训练一个DNN,并固定较低层级的卷积层作为特征提取器(Feature Extractor);

b)在MTL阶段,学习特征提取器神经元的SS参数(scaling和shifting),确保能够快速适应小样本任务。除此之外还采用了HT meta-batch学习策略,以提升整体的学习;

c)meta-test阶段

3.1 DNN的训练

这一阶段类似于目标识别中的预训练阶段,这里是在小样本学习benchmark的现成数据集上进行预训练。对于一个确切的小样本数据集,将会融合所有类的数据D DD以进行预训练。比如在miniImageNet中,D DD的训练集中共有64个类,每个类包含600个样本,那么将利用所有这些数据进行预训练,得到一个64-class分类器。

首先随机初始化一个特征提取器Θ 和分类器θ ,通过梯度下降对它们进行优化:

其中L 是交叉熵损失:

这一阶段主要通过学习得到一个特征提取器Θ,在后续的meta-training和meta-test阶段,Θ将会被冻结,而这一阶段得到的分类器θ将会被去掉。

3.2 Meta-Transfer Learning

MTL通过HT meta-batch训练来对元操作(meta operation)SS进行优化,将SS操作分别定义为

,给定任务

是训练数据,使用

的损失来优化当前的base-learner(分类器)θ ′,也就是对θ 进行更新:

与式(1)不同的是,这里并没有更新Θ。注意这里的θ与式(1)中的θ是不同的,在式(1)中θ处理的是某个数据集中的所有类,而这里的θ只关注少量的几个类,从而在小样本设置的情况下进行分类。θ′是一个临时的分类器,它只关注当前的任务。

由1进行初始化,

由0进行初始化,然后,用

的损失对它们进行优化,

是测试数据:

然后用与式(4)中相同的学习率γ 对θ 进行更新:

然后说一下如何将ΦS{1,2}应用到Θ 的神经元上。给定Θ,它的第l 层包含K 个神经元,也就是K 个参数对儿,定义为{(Wi,k,bi,k)},分别表示权值和偏差。假设输入是X ,那么将{ΦS{1,2}}应用到(W,b)上就是:

下图说明了分别通过SS和FT进行更新的不同之处:

图2 (a)通过FT(fine-tuning)进行更新,它对Θ中的所有W 和b都进行更新,并且参数的数量很多,图中绿色的都是需要学习的参数;(b)通过SS进行更新

图中是3×3的卷积核,在SS操作后,卷积核通过ΦS1、进行缩放,然后将卷积后的特征图平移ΦS2,它可以使Θ中的参数保持不变,并且参数数量变为原来的{9}92(仅限3×3的卷积核)。

3.3 HT meta-batch

在以往的元训练中,meta-batch包含的是随机采样的任务,也就是说任务的难度也是随机的。本文在元训练中有意挑选出每个任务中的失败案例(failure case),并将其数据重新组合为难度较大任务,迫使meta-learner"在困难中成长"。

每个任务T都包含T(tr)和Tte,分别用于base-leaning和test,base-learner由T(tr)的损失进行优化(在多个epoch中进行迭代),然后SS由T(te)的参数进行优化(只进行一次)。对T(te),可以得到其中M个类的识别精度,然后根据最低的精度Accm判断当前任务中最困难的类class-m (failure class)。在从当前的meta-batch {T1−k}的所有k个任务中获得所有failure class之后,从这些数据中重新采样任务。也就是说,假设p(T∣{m})是任务分布,那么采样hardertask )Ttask∈p(T∣{m}),采样的具体细节如下:

· 在每个任务中,通过对class-level的识别精度进行排序,选出最困难的类class-m ;

· 在选出{m}之后,要么直接使用当前任务T 中class-m中的样本作为Ttask,或者根据class-m 的类标签采样属于同一类的新样本作为Ttask。实验证明第二种方法更好。

3.4 算法

图3 算法描述

Algorithm 1总结了DNN的训练和MTL这两个阶段,其中的failure class由Algorithm 2返回。Algorithm 2说明了在单个任务上的学习过程,包括episode training和episode test

四、实验与实验结果

4.1 数据集和实现细节

作者在两个benchmarks上进行了实验,miniImageNet 和 Fewshot-CIFAR100数据集。

miniImageNet有100个类别,每个类别有600个样本,这100个类别被划分为:64,16,20类,分别用于meta-trianing, meta-validation和meta-test阶段。

Fewshot-CFAR100包括100个类别,每个类别有600个样本,每个样本的尺寸是32 × 32 。这100个类别属于20个超类。超类的划分为12: 4 : 4 ,分别用于训练,验证和测试。

特征提取器Θ使用的是ResNet-12,它包括4个残差块,每个残差块包含3个3 × 3 的卷积层,以及1个2 × 2 的最大池化层。

4.2.1 实验结果-minilmageNet

4.2.2 实验结果-FC100

表1表2展示了各个方法在miniImageNet和FC100数据集上的实验结果。可以看到MTL+SS+Hard taskmeta-batch方法取得了最好的实验结果。

五、结论

本文在MAML的基础上,使用了一个较深的预训练DNN模型,为了更好地发挥DNN的效果,在固定DNN每层参数不变的情况下,为每层的权值和偏差分别设置了可学习的scaling和shifting,这样可以降低参数数量,避免过拟合。除此之外,为了增强模型的泛化能力和鲁棒性,本文使用HT meta-batch学习策略。


代码

https://github.com/y2l/meta-transfer-learning-tensorflow

参考文献

Meta-Transfer Learning for Few-Shot Learning 作者:Qianru Sun, Yaoyao Liu, Tat-Seng Chua, Bernt Schiele

https://arxiv.org/pdf/1812.02391.pdf

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

本文分享自 智能生信 微信公众号,前往查看

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
小样本学习(Few-shot Learning)综述
笔者所在的阿里巴巴小蜜北京团队就面临这个挑战。我们打造了一个智能对话开发平台——Dialog Studio,以赋能第三方开发者来开发各自业务场景中的任务型对话,其中一个重要功能就是对意图进行分类。大量平台用户在创建一个新对话任务时,并没有大量标注数据,每个意图往往只有几个或十几个样本。
机器之心
2019/04/29
5.9K0
小样本学习(Few-shot Learning)综述
Few-shot Learning进展调研
小样本学习主要研究如何通过少量样本学习识别模型。目前学术界普遍研究的是N-way-K-shot问题,即进行N个类别的识别,每类有K个样本。训练过程以task为单位,会用到两个数据集:Support set S 和 Query set Q 。对于模型训练过程中的每个task(episode),选定M个class,每个class选择N个样本,这M x N个样本也称为support set。对于另一个从这M个class中选择的待预测样本,模型需要确定其属于哪个class,这类问题也称为M way N shot。在测试过程中,对于在训练集中从未见过的class,模型需要在M way N shot的模式下正确分类出样本的类别。常见的M和N的设置为:5 way 1 shot, 10 way 1 shot, 5 way 5 shot, 10 way 5 shot。
公众号机器学习与AI生成创作
2020/10/27
1.2K0
Few-shot Learning进展调研
从 CVPR 2019 一览小样本学习研究进展
AI 科技评论按:随着研究者们对样本利用效率的要求日益提高,小样本学习逐渐成为了 AI 领域以及相关顶会最热门的话题之一。色列特拉维夫大学的在读博士研究生 Eli Schwarts 参加完 CVPR 2019 后,针对今年 CVPR 2019 的热点之一——小样本学习整理出了一份论文清单,供大家从 CVPR 的维度一览小样本学习在目前的研究进展。
AI科技评论
2019/07/30
9060
从 CVPR 2019 一览小样本学习研究进展
基于PyTorch,集合17种方法,南京大学等提出小样本算法库LibFewShot
机器之心专栏 机器之心编辑部 近日,南京大学推理与学习研究组(Reasoning and Learning Research Group, R&L Group)联合澳大利亚伍伦贡大学、美国罗彻斯特大学开源了一个小样本学习算法库 LibFewShot。该库包含了 17 个 2017 年到 2020 年具有代表性的小样本学习算法,为小样本学习领域中算法对比采用统一框架、统一设置、实现公平对比等提供便利。关于 LibFewShot 的文章已经发布在 arXiv。 论文链接:https://arxiv.org/
机器之心
2023/03/29
5330
基于PyTorch,集合17种方法,南京大学等提出小样本算法库LibFewShot
当小样本遇上机器学习 fewshot learning
深度学习(deep learning)已经广泛应用于各个领域,解决各类问题,例如在图像分类问题下,如图1,区分这10类目标的准确率目前可以轻松做到94%。然而,deep learning是一种data hungry的技术,需要大量的标注样本才能发挥作用。
全栈程序员站长
2022/08/11
9090
当小样本遇上机器学习 fewshot 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
小样本学习只是一场学术界自嗨吗
每天给你送来NLP技术干货! ---- 文 | ALme@知乎 排版 | 夕小瑶的卖萌屋 这两年看见很多人,包括我实习的mentor在内,都在批评few-shot learning,觉得是学术界在自high,思考良久,感觉有必要给这个领域正个名~(注意,此答案仅关注few-shot image classification) 首先,要讨论few-shot learning的价值,咱得先把few-shot learning(FSL)这个问题的定位搞清楚。而要搞清楚few-shot learning的定
zenRRan
2022/05/09
1.3K0
小样本学习只是一场学术界自嗨吗
小样本学习介绍
在大多数时候,你是没有足够的图像来训练深度神经网络的,这时你需要从小样本数据快速学习你的模型。
范中豪
2019/09/05
1.8K0
小样本学习介绍
Few-Shot Learning(少样本学习)
Few-Shot Learning(少样本学习)是一种机器学习范式,旨在使模型能够在只有少量标注数据的情况下快速适应新任务或识别新的类别。这种能力对于许多实际应用场景非常重要,因为在这些场景中获取大量标注数据可能是昂贵、耗时甚至是不可能的。以下是关于Few-Shot Learning的详细解析:
jack.yang
2025/04/05
3530
业务数据全用上也喂不饱AI?试试这个小样本学习工具包
机器学习在数据密集型的应用中取得了极佳的效果,但在数据集很小的场景下,多数机器学习算法的效果会严重受限[1]。在计算机视觉、自然语言处理等大领域下,从深度学习最初大放异彩的图像分类、文本分类,到进一步的图像生成、文本关系预测,机器学习算法取得的成就大多建立在大量数据驱动的训练算法之上。然而,高质量的标注数据在大多数领域都是很难获得的,这限制了诸多机器学习算法在相应场景下的应用能力。
量子位
2021/10/20
5990
小样本学习只是一场学术界自嗨吗?
这两年看见很多人,都在批评few-shot learning,觉得是学术界在自high,思考良久,感觉有必要给这个领域正个名~(注意,本文仅关注few-shot image classification)
Color Space
2022/05/26
8550
小样本学习只是一场学术界自嗨吗?
求问meta-learning和few-shot learning的关系是什么?
我们倾向于把few-shot learning理解成这样一个问题--如何训练一个模型使其基于少量的训练样本能在目标任务中获得好的性能。
zenRRan
2019/09/17
1.5K0
MAML小样本学习算法解读及基于飞桨的代码实现
深度学习之所以在近年来大获成功,很大程度上得益于大数据技术的发展。深度神经网络强大的函数拟合能力,需要通过在人工标注的大数据集上长时间训练,才能获得强泛化能力,从而应用于各行各业。相比深度学习模型,人类智能只需要通过少量几张图片,就能迅速准确地学习掌握图像中类别主体的关键本质特征,并推广到同类别其他从未见过的样本上。如何使深度神经网络模拟人类学习的过程,高效地训练,习得新概念,是深度学习下一步要攻克的重要难题。小样本学习(Few-Shot Learning,FSL)的相关研究,即是实现该目标的重要环节。
用户1386409
2022/04/19
1K0
MAML小样本学习算法解读及基于飞桨的代码实现
复旦大学提出《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.2K0
复旦大学提出《Meta-FDMixup》解决"跨域小样本学习"中的域偏移问题
样本量极少如何机器学习?最新Few-Shot Learning综述
本文首先介绍了用小样本训练模型会导致的问题,再介绍了Few-Shot Learning的基本原理即三大思路下的方法:增多训练数据,缩小模型需要搜索的空间,优化搜索最优模型的过程。
NewBeeNLP
2021/06/25
4K1
元学习Meta-Learning—授人以鱼不如授人以渔
我们知道现在深度学习在使用大型数据集掌握一项任务(检测,分类等)方面取得了巨大的成功,但这并不是真正我们追求的“人工智能”。具体来说,我们可能训练了一个能做物理题很高分的学生,但是他也只能做物理题而已,面对数学题他只能吞下零分的命运;其次,在面对新的任务(数学题)的时候,我们的学生仍然需要大量的数据(数学题)进行训练,而在学习物理的时候积累下的学习方法(先验知识)却基本帮不上忙。
CristianoC
2020/08/06
1.2K0
ICLR 2021 | 基于自监督学习的小样本分类,代码已开源
深度神经网络往往要求为每个新任务收集大量标记训练数据,实用性也因此受到限制。给定来自一组源任务的数据,有两种迁移学习方法可以克服这种限制:小样本学习 (FSL) 和自监督学习 (SSL)。前者通过在源任务中设计元集(episode),模拟使用少量标记样本解决新任务的挑战,从而学习“如何学习”。相比之下,后者在所有源任务中利用无标注的代理任务来学习可泛化的特征表示。
AI科技评论
2021/07/03
1.5K0
ICLR 2021 | 基于自监督学习的小样本分类,代码已开源
ACL2022 | 分解的元学习小样本命名实体识别
每天给你送来NLP技术干货! ---- ©作者 | 回亭风 单位 | 北京邮电大学 研究方向 | 自然语言理解 来自 | PaperWeekly 论文标题: Decomposed Meta-Learning for Few-Shot Named Entity Recognition 论文链接: https://arxiv.org/abs/2204.05751 代码链接: https://github.com/microsoft/vert-papers/tree/master/papers/Decompos
zenRRan
2022/07/06
1.5K0
ACL2022 | 分解的元学习小样本命名实体识别
从 ICLR 2019 一览小样本学习最新进展!
AI 科技评论按:通常而言,深度学习是典型的数据驱动型技术,面对数据有限的情况,传统的深度学习技术的性能往往不尽如人意。在本届 ICLR 上,许多研究者们利用元学习、迁移学习等技术对小样本学习问题进行了探究,发表了多篇高质量论文,可谓百家争鸣!深度学习工程师 Isaac Godfried 在 Medium 上发表了一篇文章,基于今年 ICLR 上关于小型数据集深度学习研究的论文,探讨了目前小样本学习的最新进展。AI 科技评论编译如下。
AI科技评论
2019/06/15
8820
如何基于元学习方法进行有效的模型训练?四篇论文详细剖析元模型的学习原理和过程
机器之心分析师网络 作者:杨旭韵 编辑:H4O 本文以四篇最新论文为例,详细剖析了元模型的学习原理和过程。 在机器学习领域,普通的基于学习的模型可以通过大量的数据来训练得到模型参数,并在某种特定任务上达到很不错的效果。但是这种学习方法限制了模型在很多应用场景下的可行性:在具体的现实情况中,大量数据的获取通常是有难度的,小样本学习是机器学习领域目前正在研究的问题之一;另外,模型在训练过程中只接触了某一特定任务相关的数据样本,在面对新任务时,其适应能力和泛化能力较弱。 反观人类的学习方法,不仅仅是学会了一样任
机器之心
2023/03/29
6640
如何基于元学习方法进行有效的模型训练?四篇论文详细剖析元模型的学习原理和过程
推荐阅读
相关推荐
小样本学习(Few-shot Learning)综述
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档