Meta Learning 4: 基于优化的方法

相比较机器学习模型需要大量的标注数据进行训练,人类学习新知识和新技能的过程要更快更高效。

Meta Learning元学习的目标是模型在多种多样的任务上进行训练之后,只需要少量的训练样本就可以学会一个新的任务。让机器学习模型更加智能。

Meta Learning一般有两类解决方案:

  1. 基于度量的方法 Metric-Based 
    基于度量的方法主要针对分类任务,将分类问题转换为匹配问题,从而实现少样本分类的目的。 
    首先,将图片/文本原始数据 编码 为浮点数值的向量表示; 
    接着,将同一类别的样本向量 归纳 为类向量; 
    最后,求 待分类样本向量 和 类向量 的 相似度,取相似度最高的类别,即为分类结果。 
    在系列文章的前三篇中,对这一类解决方案有了详细的介绍。

  2. 基于优化的方法 Optimization-Based 
    基于优化的方法在模型的参数优化这一步做文章,找到可以让模型在少样本的情况下优化得更快更好的策略。 
    本篇将介绍其中最有代表性的是MAML算法,它不受任务类型或模型结构的限制,可以应用在任何采用梯度下降法训练的模型上。不管是回归、分类、强化学习任务,还是CNN、RNN、BERT,都可以用MAML来减少深度学习模型对标注数据数量的依赖。

Model-Agnostic Meta Learning (MAML)

MAML[1]元学习算法全名Model-Agnostic Meta Learning,强调了它不受模型结构限制的特点,只要是采用梯度下降法训练的深度学习模型即可。

Meta Learning的目标是训练一个模型,对于每一个新任务只需要少量的训练数据和参数更新就可以很好的迁移。 
如果用传统的训练方法,一条数据作为一个样本,一条数据对模型进行一次参数更新的话,没有办法实现上述目标。因为新任务训练数据的数量相比用来做基础训练的任务的训练数据的数量要小得多,所以新任务的训练数据对模型参数的影响非常小。怎么样可以克服不同任务训练样本不均衡的问题呢? 
还记得在系列文章第一篇中介绍的Meta Learning的训练思路,把一个完整的少样本任务作为一个样本,每个样本都是一个新任务,实现了不同任务训练样本的均衡。 
MAML算法通过最小化大量少样本任务的loss,使得模型面对新的少样本任务时能够得到最好的结果。

MAML算法的具体步骤

以少样本图像分类任务为例,目标是训练一个图像分类  模型,可以快速迁移到任意图像类别。

4-shot 2-class 图像分类
  1. 初始化模型  的参数
  2. 采样大量的少样本图像分类任务  ,作为训练样本 meta-learning samples。 
    如上图所示,第一个样本是猫和鸟的图像分类任务,第二个样本是花和自行车的图像分类任务,以此类推,采样大量的不同类别的图像分类任务作为样本进行训练。 
    2.1 对每一个少样本任务  ,有8个训练数据 train samples,和若干个测试数据 val samples 
    2.2 模型  在8个训练数据上进行训练,经过若干次参数更新,得到  
    2.3 模型  在测试数据上进行测试,得到loss,对原始参数  进行更新。回到2.1
  3. 另外采样一些少样本图像分类任务  ,作为测试样本 meta-testing samples 
    3.1 每个测试样本,同样分成8个训练数据 train samples,和若干个测试数据 val samples 
    3.2 模型  在8个训练数据上进行训练,得到  
    3.3 模型的元学习效果由模型在测试数据上的测试结果体现
二次梯度

MAML算法的难点在于,用模型  在测试数据上计算得到的loss对原始参数  进行更新,这涉及到二次梯度的计算。 
深度学习框架Pytorch和Tensorflow现在都可以支持二次梯度的计算。

First-Order MAML (FOMAML)

为了降低MAML算法的计算复杂度,MAML作者提出了简化版。 
直接舍去二阶导的项,用  在  的梯度代替  在  的梯度。这样可以在保持效果几乎一样的基础上,提速33%。

Reptile

Reptile[2]是另一个一阶的基于优化的元学习算法,和MAML非常相似,同样的适用于所有深度学习模型。

Reptile算法非常简单,效果却出乎意料的好。

  1. 初始化模型  的参数
  2. 进行若干次迭代 
    2.1 采样一定数量的少样本任务  
    2.1.1 对每一个少样本任务 ,不分训练数据和测试数据 
    2.1.2 模型  在  所有训练数据上进行训练,经过若干次参数更新,得到 。回到2.1.1
    2.2 取当前迭代所有任务得到的  的平均值对原始参数  进行更新。回到2.1
Reptile

总结

Meta Learning元学习的系列文章到这里就全部结束了,感谢大家的支持。

参考资料

[1]

Model-agnostic meta-learning for fast adaptation of deep networks: http://proceedings.mlr.press/v70/finn17a/finn17a.pdf

[2]

On First-Order Meta-Learning Algorithms: https://arxiv.org/pdf/1803.02999.pdf

(0)

相关推荐

  • 迁移学习基础

    人类具有跨任务传输知识的固有能力.我们在学习一项任务的过程中获得的知识,可以用来解决相关的任务.任务相关程度越高,我们就越容易迁移或交叉利用知识.到目前为止所讨论的机器学习和深度学习算法,通常都是被设 ...

  • 【综述专栏】元学习综述

    作者:微尘-黄含驰 翻译自: <Meta-Learning in Neural Networks: A Survey> https://arxiv.org/pdf/2004.05439.p ...

  • 什么是元学习算法?

    第一次听到元学习的预述时,是一个极其兴奋的过程:建立不仅能够进行学习,还能学会如何进行学习的机器项目.元学习试图开发出可以根据性能信号做出响应,从而对结构基础层次以及参数空间进行修改的算法,这些算法在 ...

  • 【AI有识境】如何掌握好图像分类算法?

    大家好,这是专栏<AI有识境>的第一篇文章,讲述如何掌握好图像分类算法. 进入到有识境界,可以大胆地说自己是一个非常合格的深度学习算法工程师了,能够敏锐地把握自己研究的领域,跟踪前沿和能落 ...

  • 字节跳动在联邦学习领域的探索及实践

    数据是人工智能时代的石油,但是由于监管法规和商业机密等因素限制,'数据孤岛'现象越来越明显.联邦学习(Federated Learning)是一种新的机器学习范式,它让多个参与者可以在不泄露明文数据的 ...

  • 低资源神经机器翻译MetaNMT :来自MAML与NLP的温柔救赎

    过去十年,随着Attention模型.LSTM.记忆Memory等等方法的出现,尤其是在神经网络的加持下,机器翻译的水平取得了长足的进步. 在英法.中英这样的大语种(Rich Language)翻译任 ...

  • Meta Learning 1: 基于度量的方法

    今天推出一个短篇系列文章,给大家介绍一下Meta Learning元学习. 普通的机器学习目前在学习具体任务的问题上可以达到很好的效果,比如车载场景的意图分类任务(导航,听音乐,查天气,打电话).如果 ...

  • 学术简报|基于风电离散化概率序列的机会约束规划优化调度方法

    摘要 新能源电力系统国家重点实验室(华北电力大学).国网甘肃省电力公司的研究人员夏鹏.刘文颖等,在2018年第21期<电工技术学报>上撰文指出,风电出力的不确定性加重了系统备用负担,影响了 ...

  • 基于健壮稳定性的高速列车悬挂参数优化匹配方法

    横向稳定性是高速列车动力学性能设计中最受关注的问题之一,虽然轨道车辆的横向稳定性可以通过先进的方法如主动悬架系统得到增强[1-5],但对传统被动悬挂参数进行优化,仍然是提高车辆横向稳定性的有效方法.一 ...

  • 怎样改善肠道菌群?这10个基于科学的方法你要知道

    [声明]本原创内容只做信息分享,不做任何医疗建议.请随意转发分享,"转载"请私信我. 益生菌在我们体内具有诸多有益作用,包括促进营养素的吸收.增强免疫力.缓解腹泻.维持肠道内平衡和 ...

  • 如何优化超速离心方法从血浆中获得更纯的外泌体(内含赠书福利)

    2015年7月,Nature在线发表了一篇名为"Glypican-1 identifies cancerexosomes and detects early pancreatic cance ...

  • iOS14.5.1好消息,负优化解决方法来了

    苹果目前已经关闭了iOS14.5系统正式版的验证通道,也就是说已经升级更新到iOS14.5.1系统正式正式版单位用户将不能降级回iOS14.5系统正式版了. 其实iOS14.5.1正式版只是一个小版本 ...

  • 地方房产类门户网站,请教优化推广方法

    这个网站的优化工作,没有专门SEO优化人员,我本身技术出身,对SEO优化方面之前工作的时候,只是了解一点皮毛,去年因为工作需要也利用时间学习了一下,算是边学边实践吧.目前网站的主关键字都有排名,我一直 ...

  • 游戏掉帧优化处理方法

    亲爱的用户您好,在我们玩游戏的时候经常会遇到游戏掉帧,网络不稳等情况,游戏页面打开慢,或者进入游戏有延迟等那今天我们就来聊聊怎么处理这些情况呢?   游戏掉帧情况,就是我们常说的FPS指浮动乱跳,不稳 ...

  • 最牛的win10优化设置方法大全

    自从将家里的笔电.台式机全部升级到Win10之后,小编可是切切实实感受到了它的强大,非常多的改进.非常多人性化的设计.和之前的测试版不同,作为主力系统后自然要匹配日常的工作.很多设置.操作也要顺应以前 ...