MAML文献回顾
文献简介
其实寒假的时候就读过这篇文章,当时的理解主要是:搞了个新模型去弄原始模型的参数,新模型的目标是使原始模型Loss下一次梯度下降得更多,这样似乎面对新任务新数据时只要几次迭代Loss就能降不少,需要计算迭代的次数因此可能很少。现在希望回顾一下。
- 文献地址:https://arxiv.org/abs/1703.03400或https://dl.acm.org/doi/10.5555/3305381.3305498
- 文献投于ICML2017
- Finn作品,另有参考BAIR的博客Learning to Learn
- 截至2020/06/12谷歌学术引用量1664
阅读笔记——文章主题整理
这篇文章提出的是一种经典的元学习方法,记为MAML
。其卖点在于模型不可知
,对于一般使用梯度下降的模型,都可以以MAML
的方法使之能快速适应新任务。
MAML的思想来源是元学习,假定有一系列共同或相似内在联系的任务,那么希望机器能把任务之间的关联抽象为所谓的经验,辅助新任务的训练。但是这样一种general的经验不好确定啊,而且直观地说,此经验一定是要随着新任务变化而稍有变化的,才能使之合理地成为元学习器。
其思想就是找到这样的经验并用于加强新任务的泛化能力,很自然地,这个经验抽象为了模型的初始参数。在元学习的假设下,我们有很多之前的任务$T_i$(经验)和待解决的新任务,它们都可以从任务分布$p(T)$中采样出来。目标是新模型的快速适应能力,即只要很少的迭代次数就能达到较优的效果,那么,初始参数要使得损失的变化最大,只要微调,性能快速变化。
所以考虑模型$f_{\theta}$,其损失$L$。先采样一个过去的任务$T_i\sim p(T)$(也可以采样多个任务,这里以一个为例),在此任务上计算$L_{T_i}(f_{\theta})$,从中提取经验的信息,对初始参数$\theta$求导得$\nabla_{\theta}L_{T_i}(f_{\theta})$。为了使Loss对初始参数的变化更加敏感,对当前初始参数进行一步梯度更新得到$\theta’$。再在重新采样的元任务上确认效果,如何保证Loss对初始参数更敏感?$\theta’$要让经过一次迭代后元任务上的损失就达到最小$\Leftrightarrow$
骚操作,实验不看了,有空研究下代码就更懂了🤭