Meta learning就是learning to learn,字面意思就是学会学习。想一下人是怎么学会学习的:
采用一种学习方法(比如刷题/背题/背概念等)进行学习,然后得到反馈(成绩是否提高),如果是正的反馈(成绩不断提高),说明这种学习方法是有效的。
那么神经网络是如何学会学习的呢?
采用一种学习方法(对于神经网络来说,就是模型的参数)进行学习,然后得到反馈(误差关于参数的梯度),如果是正的反馈(梯度不断变小,意味着学习效果不断变好),说明这种学习方法是有效的。
执行体就是下图中的optimizee,也就是由它采用特定的学习方法进行学习,每种学习方法就对应着不同参数的optimizee模型,它在学习的过程中会不停地输出自己的loss关于参数的梯度,optimizer就是通过这个来评判这个学习方法(模型)的效果好不好的。optimizee需要从多种不同任务的training data中学习。
optimizer相当于一个判官,看到optimizee的梯度越来越小了,就知道optimizee当前采用的学习方法效果不错,就会沿着这个方向给出新的参数更新值,也就是给optimizee指定一个新的学习方法。当看到optimizee的梯度越来越大了,就知道得悬崖勒马了,会沿着其他方向给出参数更新值。总之,optimizer的工作就是要让optimizee在学习多种不同任务时的平均误差(误差的期望)最小。这样得到的optimizee才算是学习到了多种不同的任务。
可以认为optimizer是规则的制定者,optimizee是规则的执行者,optimizer根据optimizee执行的效果动态调整规则。
相关文章
- 深度学习论文《Deep Learning》
- 通过对比实现少样本或零样本学习Learning to Compare: Relation Network for Few-Shot Learning
- 元学习系列(七):MAML与Meta-SGD
- Reinforcement Learning:An Introduction Chapter 1 学习笔记
- Reinforcement learning——an introduction强化学习翻译第二章
- 股票操作之强化学习基础(二)(Q-learning、Sarsa、Sarsa-lambda)
- 李宏毅学习笔记——61.Transfer Learning
- 李宏毅深度强化学习笔记(四)Q-learning(Advanced Tips)
- Bidirectional Learning for Domain Adaptation of Semantic Segmentation详读
- learning rate