Meta-learning(元学习)

Meta-learning       

       meta-learning是learning to learn

       meta learning是和machine learning并列的

      相较于之前的机器学习算法,meta learning 是让机器学会学习。传统的机器算法只是希望机器学习到一个函数f,通过这个函数f,来判断这个图片属于究竟属于哪个类别,一条微博的评论是正面还是负面。但是meta learning 是希望机器在学习了一些图片分类任务之后,可以学会文本分类的任务。

     就是说,我们期待做到的事情是,机器学过一大堆的任务以后,根据在这些任务中积累的经验,变成了一个更厉害的学习者,以后如果有一个新的任务,它会学习得更快,因为它从过去的任务里面学习到了学习技巧


     

      meta-learning在 meta training 阶段将数据集分解为不同的 meta task,去学习类别变化的情况下模型的泛化能力,在 meta testing 阶段,面对全新的类别,不需要变动已有的模型,就可以完成分类。

 

由于元学习模型天然的快速训练出好的模型,所以其主要用于小样本学习之中。元学习的论文中也大多将小样本学习任务作为论文实验。

 

Meta Learning的建模思路

前面的概念描述可能依然比较抽象,下面我们用具体的模型架构来解释一下Meta Learning实际上在做的事情。

首先,上图描述的是传统机器学习在做的事情——由人来设计一套学习算法,然后这个算法会输入一堆训练资料,通过长时间的训练得到算法里的参数,这堆参数拟合出一个函数f ,然后用测试资料来测试这个f,如果效果达标就证明机器学到了该特定任务的实现函数f。

而Meta Learning做的事情与上述描述不同的地方在于,将其中由人来设计学习方法的过程,改成了由机器来设计一套学习方法。

简言之,如果机器学习的定义表述为:根据资料找一个函数f的能力

那么Meta Learning的定义就可以表述为:根据资料找一个能够找到一个函数f的函数 F 的能力

 

Meta-Learning的实施

我们先对比机器学习的过程来进一步理解元学习。如下图所示,机器学习的一般过程如下:

  • 设计网络网络结构,如CNN、RNN等;
  • 选定某个分布来初始化参数;(以上其实决定了初始的f的长相,选择不同的网络结构或参数相当于定义了不同的f);
  • 喂训练数据,根据选定的Loss Function计算Loss;
  • 梯度下降,逐步更新 ;
  • 得到最终的f

其中,红色方框里的“配置”都是由人为设计的,我们又叫做“超参数“。Meta Learning中希望把这些配置,如网络结构,参数初始化,优化器等由机器自行设计(注:此处区别于AutoML,迁移学习(Transfer Learning)和终身学习(Life Long Learning) ),使网络有更强的学习能力和表现。

 

 

 

meta learning中主要的几种方法:

 

Meta Learning的简单实例:MAML

https://blog.csdn.net/hxxjxw/article/details/108134387

 

 

 

meta-learning中比较常见的一种训练方式的N-classes-k-shot

 

meta learning已经被证明在少样本学习上取得了较好的效果

 

meta learning将GANs的传统训练思维,由用数据去匹配模型,转变为用模型去匹配数据,为解决生成模型的少样本学习问题提供了突破口

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值