摘要:
这节课学习了meta learning(元学习)
元学习是通过一系列task的训练,让机器成为一个更好的学习者,当机器遇到新的学习任务时,就能更快的完成。类比到现实生活中,元学习不是指某一类的知识内容,更像是学习一种学习方法
meta learning和机器学习的步骤大体相同,只是将函数替换成学习算法。区别在于元学习中训练任务中包括训练数据和测试数据。而机器学习只有训练数据。
这节课中,meta learning讲了两种方法maml和reptile,以初始化参数为例,介绍了这两种方法和pre-train的区别:pre-train关注当前初始化参数θ的表现,而maml更在意训练之后θ的好坏。在一定条件下,reptile更像是maml和pre-train的结合。
目录
一、什么是Meta learning
让机器学习如何去做学习
机器在经过一系列的学习任务后,可以将学到的知识用在新的学习任务中,成为一个更好的学习者。这样在遇到新的学习任务时,机器能够能快的完成。-
机器学习指的是找到满足需求的函数f,以下图为例,f的任务是对图像识别。
Meta learning指的是找到产生f的函数F,向F输入训练数据,可以产生满足需求的f。
Meta learning的步骤与machine learning类似,机器学习的步骤是:
1.定义函数集
2.评估函数的好坏(也就是找到loss函数)
3.选择最好大的函数
与machine learning的差别,只需要把函数f改成学习算法F
1.定义一组learning algorithm
下图是图片梯度下降算法。红色方框中的内容都是我们人为设计的,红色的方块选择不同设计的时候,就等于选择了不同的算法。以初始化部分为例,当我们选择不同的初始化方案时,最终产生的结果也是不同的,那我们能不能考虑让机器自己训练这部分,选出最合适的初始化值。选择不同的初始化值也就可以看作是一组learning algorithm。
2.评估函数的好坏
通过上一步,我们已经有一个学习算法集,这一步的目的是评估学习算法的好坏。
输入训练数据到F中得到f,为了评估F的好坏,我们需要将测试数据输入到f中,查看f的输出结果loss,在多个任务中反复进行这一步骤。
之后将每个任务得到的loss求和,最终得到L(F)。L用来评估学习算法的好坏。
机器学习只需要有一个训练目标,整个过程需要测试数据和训练数据
Meta learning需要很多个训练任务,其中训练过程中需要