赞
踩
原题:From zero to research — An introduction to Meta-learning
原文:HTML
作者:Thomas Wolf
元学习(Meta-learning)是机器学习领域一个令人兴奋的研究趋势,它解决了学会学习(learning to learn)的问题。
机器学习研究的传统模式是获取特定任务的庞大数据集,并利用该数据集从头开始训练模型。显然,这与人类如何利用过去的经验快速学习新任务相去甚远。那是因为人类 学会了学习(learn to learn)[1]。
在本文中,我将以一种非常直观和直观的方式来说明什么是元学习。然后,我们将在PyTorch中编写一个元学习模型,我将分享从该项目中学到的一些经验教训。
看一下当训练一个简单的神经网络对狗和猫的图像进行分类时会发生什么。假设有一个单独的猫的训练图像以及猫的标签[2]。
反向传播(backprop)是训练神经网络的关键步骤。由于神经网络执行的计算和损失是可微函数[3],可以计算应该应用于神经网络的每个参数的梯度,以减少神经网络当前预测的标记和真实/目标标记之间的差异(该差异由损失函数测量)。反向传播之后是优化器,它为模型计算更新的参数。这就是为什么训练神经网络更像是一门艺术而不是一门科学,因为有太多可能的优化器和优化设置(超参数)。
让我们以更紧凑的方式表示单个训练步骤:
训练图像现在是一只猫,指示图片代表猫的标签是红色三角形。大的三角形是神经网络,有■个参数和梯度。损失函数是标有L的梯形,优化器是标有O的梯形。然后,学习过程只是重复应用优化步骤,直到收敛到神经网络的良好参数为止。
元学习的思想是学习学习过程(learn the learning process)。
有几种方法可以实现元学习[4],但我想在这里描述的两种方法是关于学习一个类似于我们刚刚看到的学习过程。
在我们的训练过程中,特别需要学习两件事:
我将描述这两种情况的组合,但是每种情况本身也非常有趣,可以导致简化、加速和合理的理论结果[5]。
现在,我们有两个要训练的模块:
事实证明,我们可以沿着训练过程本身反向传播元损失梯度,回到模型的初始权重和/或优化器的参数[6]。
我们现在有两个嵌套的训练过程:优化器/元学习器的元训练过程,其中(元)向前传递包括模型的几个训练步骤(前面已经看到了向前、向后和优化步骤)。
让我们看一下元训练步骤:
这里,元训练过程的单个步骤被水平表示。它包括模型训练过程的两个步骤(纵向图的元前向传播和元后向传播)。模型的训练过程和我们刚才看到的训练过程一模一样。
如我们所见,元前向传播(meta-forward)过程的输入是在模型训练过程中连续使用的示例/标签列表(或批次列表)。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。