选自Medium
作者:Thomas Wolf
机器之心编译
参与:Tianci LIU、路
本文介绍了元学习,一个解决「学习如何学习」的问题。
元学习是目前机器学习领域一个令人振奋的研究趋势,它解决的是学习如何学习的问题。
传统的机器学习研究模式是:获取特定任务的大型数据集,然后用这个数据集从头开始训练模型。很明显,这和人类利用以往经验,仅仅通过少量样本就迅速完成学习的情况相差甚远。
因为人类学习了「如何学习」。
在这篇文章中,我将从一个非常直观的元学习简介入手,从它最早的起源一直谈到如今的元学习研究现状。然后,我会从头开始,在 PyTorch 中实现一个元学习模型,同时会分享一些从该项目中学到的经验教训。
首先,什么是学习?
我们先来简单了解一下,当我们训练一个用来实现猫狗图像分类的简单神经网络时,到底发生了什么。假设我们现在有一张猫的图像,以及对应的表示「这是一只猫」的标签。为简洁起见,我做了一个简单的动画来展示训练的过程。
神经网络训练过程的单步。该网络用来实现猫狗图像分类。
反向传播是神经网络训练中很关键的一步。因为神经网络执行的计算和损失函数都是可微函数,因此我们能够求出网络中每一个参数所对应的梯度,进而减少神经网络当前给出的预测标签与真实/目标标签之间的差异(这个差异是用损失函数度量的)。在反向传播完成后,就可以使用优化器来计算模型的更新参数了。而这正是使神经网络的训练更像是一门「艺术」而不是科学的原因:因为有太多的优化器和优化设置(超参数)可供选择了。
我们把该「单个训练步」放在一张图中展示,如下所示:
现在,训练图像是一只
1、头条易读遵循行业规范,任何转载的稿件都会明确标注作者和来源;
2、本文内容来自“机器之心”微信公众号,文章版权归机器之心公众号所有。