美文网首页
meta learning

meta learning

作者: 机器学习与自然语言处理 | 来源:发表于2019-05-26 14:44 被阅读0次

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

    image.png
    与life long learning 不同,metal learning是希望在不同任务上机器都能自己学会一个模型,而前者是希望学习到一个模型可以处理多个任务
    machine learning 和meta learning的区别:
    image.png
    下面具体阐述meta learning是如何进行训练和实现的。
    一般的机器学习的流程,最开始是需要定义一个网络结构,定义初始化参数,计算模型的损失函数,通过梯度下降的方法来优化参数。最终得到一组最优解。
    image.png
    其中红色框框的部分都是人工进行设计的,网络结构、初始化参数,更新参数的方法这些能不能让机器来自己实现呢?如果机器能够自己的初始化参数,自己设定更新方法,就在一定程度上实现了meta learning 。
    既然一个meta learning是找到一个F,产生一些列的f,那么如何评价的这个F的好坏呢,这个和机器学习也有类似的地方就是通过具体的任务,测试模型的效果。在不同的任务上,看一下相应的f的效果
    image.png
    在这里就可以看到machine learning和meta learning的区别,前者的输入是不同的图片或者文字数据,后者是不同的任务,通过产生的f在不同任务上的效果,来 评价这个F的效果。
    image.png
    meta learning 的思想在few-shot learning上有广泛的应用。
    因为meta learning 需要跑很多的任务,所以通常每个任务的数据集并不是很多,不然需要耗时很久啊。
    损失函数和优化方法,就是在不同的任务上效果更好一些。
    image.png
    meta learning 的mnist 公开的标准数据集
    image.png
    一共有1623的字符,每一个有20个范例。
    那么如何使用这个数据集呢?
    image.png
    每次从数据集中抽取出N个类别,每个类别有K的sample.
    image.png
    meta learning中主要的几种方法:
    image.png
    MAML是学习一个最好的初始化的方法,如何评价呢,采用这个方法初始化参数,之后看不同任务上的效果。
    image.png
    在多任务学习中,我们也提到过使用其他任务训练好的参数,来初始化当前的模型。那么MAML和预训练模型的参数有什么区别呢,前者是在所有任务上训练完之后得到的,后者是使用上一批数据训练出来的model,直接用在新的数据集上面。
    这两者的区别就是
    image.png
    MAML侧重于找到一个φ,有很大的潜力可以让模型的效果得到提升,使用梯度下降法之后可以得到最优的解。model pre-training就是比较注重φ当前的表现,找到一个φ在所有的任务上表现好。
    image.png image.png image.png

    在MAML中,每个任务的参数更新,一般只做一步,这样做,一方面是模型训练可以很快,同时训练一步效果已经ok了。

    image.png

    既然神经网络可以拟合任意的函数,通过一个例子看一下MAML和model pre-training上的效果如何。在正弦函数曲线中随机选择一些点,看一下拟合能力


    image.png

    下图是在model pre training上的效果 ,为什么是一条近似于水平的直线呢,因为不同的正弦 曲线,当相位发生变化时,y值在相加时最有可能得到的是0 ,相当于互相抵消掉了。


    image.png
    下图是MAML的方法,
    image.png

    相关文章

      网友评论

          本文标题:meta learning

          本文链接:https://www.haomeiwen.com/subject/mfqfaqtx.html