九月中下旬 好像并没有那么顺心 很多东西积压着思绪无从下手 很久没有冒痘 也冒痘了 生理和心理双重奏 希望接下来顺利一点吧!今天就记录一下 小样本学习中的元学习。
元学习
什么是元学习?
元学习即Meta-Learnig,它希望模型获取一种“学会学习”的能力,使其可以在获取已有“知识”的基础上快速学习新的任务,它的意图在于通过少量的训练实例设计能够快速学习新技能或适应新环境的模型。
一个通俗易懂的区分:与机器学习
机器学习和元学习实际上目的都是找一个Function,只是两个Function的功能不同,要做的事情不一样。机器学习中的Function直接作用于特征和标签,去寻找特征与标签之间的关联;而元学习中的Function是用于寻找新的f,新的f才会应用于具体的任务。
也可这样理解:机器学习学习某个数据分布X到另一个分布Y的映射。 而元学习学习的是某个任务集合D到每个任务对应的最优函数f的映射(任务到学习函数的映射)
数据层面的不同:
机器学习中,通过大量的数据对网络模型进行优化,数据主要有训练集、测试集和验证集。在元学习中,训练单位分层级了,第一层训练单位是任务,也就是说,元学习中要准备许多任务来进行学习,第二层训练单位才是每个任务对应的数据。(训练样本中的训练集一般称作support set,训练样本中的测试集一般叫做query set)[
与迁移学习:
元学习更偏重于任何和数据的双重采样, 任务和数据一样是需要采样的,而学习到的F(x)可以帮助在未见过的任务f(x)里迅速建立mapping。 而迁移学习更多是指从一个任务到其它任务的能力迁移,不太强调任务空间的概念举个栗子:
根据上图,我们先定义一下解决的问题:我们在一批训练任务{Ti}上训练元学习算法,算法在被训练解决这些任务的过程中得到的经验将被用于解决最终的任务T。
那么在图中,我们希望用已标记的狗的品种的图片(support set)来识别新的图片(品种)中的狗(query set)。训练任务{Ti}中的某一项任务Ti可以是通过使用3x2=6的已标记的同品种狗图片中获取信息,将新图片标记。
元学习过程就是由一系列这样的每一次针对不同品种的狗的训练任务Ti所组成的。我们希望元学习模型“随着经验和任务数量的增长”得到不断地改进。最终,我们在T任务上评估模型。
参考:元学习初探综述数学上的定义:
一个好的元学习模型应该在各种学习任务上进行训练,并对任务的分布(包括潜在的不可见任务)进行优化以获得最佳性能。每个任务都与一个数据集D相关联, 数据集D包含特征向量和真标签。最优模型参数为:训练与测试的方式相同
一个数据集D包含多对特征向量和标签,D= {(xi, yi)},每个标签属于-个已知的标签集L .把
带有参数θ的分类器fθ输出的一个数据点属于类y的概率,记作Pθ(y |x)。
最优参数应该最大化的跨多个训练批次BcD的真实标签的概率:这里B指的是每个task, D指的整个元学习模型的所有task的集合。例如:分类就是一个B,即一个子task。而分类任务则
是D。这里要求的是,在所有分类任务上的真实标签的概率和的期望的最大θ。
参考:元学习:学会快速学习
元学习的基本问题可以分成三大类:
「元知识的表征」(meta-representation)。元知识应该如何进行表征,这回答了元学习的最重要问题,即学习什么的问题。
「元学习器」(meta-optimizer)。即有了元知识的表征后,我们应该如何选择学习算法进行优化,也就回答了元学习中的如何学习的问题。
「元目标」(meta-objective)。有了元知识的表征和学习方法后,我们应该朝着怎样的目标去进行学习?这回答了元学习中为什么要这样学习的问题。
围绕这三大基本问题,近年来元学习领域出现了诸多研究成果。按照此分类方法,meta-learning的研究框架可以由下图清晰地给出:
参考:顶会的宠儿:元学习(Meta-learning)的前世今生
元学习的分类/方法:
1、基于记忆Memory的方法。
通过以往的经验来学习,那就可以通过在神经网络中添加Memory来实验。
2、基于预测梯度的方法。
让神经网络利用以往的任务学习如何预测梯度,这样面对新的任务,只要梯度预测的准,那么学习就会快。
3、利用Attention注意力机制
训练一个Attention模型,在面对新任务时,能够直接的关注最重要部分。
4、借鉴LSTM的方法
利用LSTM的结构训练处一个神经网络的更新机制,输入当前网络参数,直接输出新的更新参数
5、面向RL的Meta Learning方法
既然Meta Learning可以用在监督学习,那么增强学习上又可以怎么做呢?能否通过增加一些外部信息的输入比如reward,和之前的action来实验。
6、通过训练一个base model的方法,能同时应用到监督学习和增强学习上
7、利用WaveNet的方法
WaveNet的网络每次都利用了之前的数据,那么能否照搬WaveNet的方式来实现Meta Learning呢?就是充分利用以往的数据。
8、预测Loss的方法
如果有更好的Loss,那么学习的速度也会更快,因此,可以构建一个模型利用以往的任务来学习如何预测Loss
参考:“元学习”的理解
论文资源:元学习(Meta Learning)最全论文、视频、书籍资源整理
代码详解:https://www.sohu.com/a/230607592_129720
九月下旬了 努力冲鸭!!!