一般DL应用范围狭窄
在过去的十年中,深度学习系统在许多人工智能任务中已被证明非常成功,但是它们的应用范围很狭窄。例如,一个经过训练可以识别猫和狗的计算机视觉系统,仍将需要大量训练才能开始分得清鲨鱼和海龟。
一般的机器学习旨在用大量相同数据进行训练以提高识别准确度。与合成环境相反,现实生活中的学习经历是多种多样、非常混杂的,因为它们所用的类别(class)的数量和每个类别中的实例数目也不同。
现实中的学习还只衡量语料库内的归纳,而在形成情节(episode)时忽略了类之间的关系,比如,区分狗和椅子的难度和区分不同狗的品种之间的难度肯定不同。(Episode指的是RL中agent在环境里面执行某个策略从开始到结束的一整个过程。)
元学习使ML从专才转变为通才
元学习是一种旨在将机器学习系统转变为通才的范例。元学习既包括实现相关目标,又要学习如何执行这些目标。
在预定于即将举行的国际学习表示会议上发表的一篇论文中,亚马逊研究人员提出了一种在不增加数据标注要求的情况下提高元学习任务性能的方法。
关键思想是调整元学习过程,以便除了传统的标记示例外,它还可以利用少量的未标记数据集。
凭直觉,我们认为,即使没有标签,这些额外的数据仍然包含许多有用的信息。例如,假设正在对陆生动物(例如猫和狗)的图像进行训练的元学习系统正在被用来识别水生动物。未贴标签的水生动物图像(即不表示动物是鲨鱼还是海龟的图像)仍可以告诉模型有关学习任务的信息,例如水下照片的光照条件和背景颜色。
来康康元学习的流程有何独特之处
元学习研究人员通常将元学习的“培训”集称为支持集(support sets),将元学习“测试”集称为查询集(query sets)。
在传统的机器学习中,模型由一组标记的数据(支持集)训练,并学习将特征与标签相关联。然后,它会馈入单独的一组测试数据(一个查询集),并评估其对数据标签的预测程度。为了进行评估,系统设计者可以访问测试数据标签,而模型本身则不能。
元学习增加了另一层复杂性。在元学习的第一阶段“元训练” (与传统训练类似)中,模型学习执行一系列相关任务。每个任务都有自己的训练数据和测试数据集,并且模型可以同时看到这两者。这样一来,AI就可以了解响应训练数据的不同方式是如何影响测试数据性能的。
在第二阶段“元测试”中,它将再次接受一系列任务的训练,这些与在元训练中看到的任务相关但不完全相同,例如,从识别陆生动物调整到识别水生动物。同样,对于每个任务,模型都可以看到训练数据和测试数据。但是,尽管在元训练期间,测试数据被标记,但是在元测试期间,标记是未知的,模型必须自己进行预测。
在元训练阶段,算法可以访问支持集和查询集的标签,并使用它们来生成全局模型。在元测试阶段,它只能访问支持集的标签、而不能访问查询集的标签,目的在于使全局模型适应每个新任务。
方法中的两个关键创新
首先,在元训练期间,我们不会学习单个全局模型。取而代之的是,我们训练一个辅助神经网络,以基于相应的支持集为每个任务生成局部模型。
其次,更重要的是,在元训练期间,我们还训练了第二个辅助网络,以利用查询集的未标记数据。然后,在元测试期间,我们可以使用查询集微调局部模型,从而提高性能。
实验结果
在实验中,我们将通过我们的方法训练的模型与对象识别元学习任务上的16个不同基线进行了比较。我们发现,根据基础神经网络的体系结构,我们的方法可将一次性学习或仅从一个带标签的示例中学习新的对象分类任务的性能提高11%至16%。
经过实验,他们的系统打败了一次学习(one-shot learning)任务的16种基准。根据基础神经网络的体系结构,他们的方法可将一次学习、或仅从一个带标签示例中学习新的对象分类任务的性能提高11%到16%,具体取决于基础AI模型的架构。
即便如此,在五次学习或每个新任务有五个示例的学习中,有几个基准优于模型。研究人员认为,这些基准是他们方法的补充,他们认为组合方法可以降低错误率。这将是他们下一步工作的方向之一。
更多信息请看参考链接:
关联的软件代码也已开源,放在Xfer存储库中:
从单个示例学习计算任务
https://www.amazon.science/blog/learning-computational-tasks-from-single-examples
研究人员提出数据集来衡量几次学习成绩
亚马逊的AI使用元学习来完成相关任务