一次性学习的指南

43 阅读9分钟

机场的护照检查、办公中心的自动旋转门、签名验证--所有这些任务都需要人脸或物体识别。从历史上看,深度学习算法在识别照片中的物体或识别人脸等简单任务中使用了大量标记的训练数据。但在上述情况下,我们通常不拥有大量的每个人的照片来训练AI。因此,我们需要一种ML算法,能够用有限的训练实例进行识别。这就是一次性学习发挥作用的地方。

在这篇博文中,我们将解释什么是一次性学习,它是如何工作的,以及它有哪些实际应用。

什么是单次学习?

一次性学习是一种基于ML的物体分类算法,评估两幅图像之间的相似性和差异。它主要用于计算机视觉

单次学习的目标是教会模型根据最小数量的视觉效果来设定自己对其相似性的假设。每个类别只能有一张图片(或数量非常有限的图片,在这种情况下,它通常被称为少数次学习)。这些例子被用来建立一个模型,然后可以对进一步的未知视觉做出预测。

例如,为了区分苹果和梨,一个传统的人工智能模型需要数以千计的从不同角度拍摄的图像,有不同的光线和背景等。相比之下,一次性学习不需要每个类别的许多例子。它通过推断类似的物体,将未见过的物体归入各自的组别,从而归纳出它通过同类型任务的经验学到的信息。

一次性学习是如何工作的?

如果我们需要为传统的神经网络增加新的数据分类类别,这就带来了挑战。在这种情况下,神经网络需要被更新和重新训练,这可能是昂贵的,或者由于缺乏足够的数据和/或时间而不可能。

但对于人脸识别这样的任务,我们并不总是需要将人脸分配到预定义的类别(人A、人B、人C等)。我们所需要的只是分辨出在边关柜台前的人是否与出示的身份证上的人相同。这意味着我们要解决的问题是评估差异而不是分类。

坚持以边检为例,我们有两张图片:摄像头输入和当事人的护照照片。神经网络评估它们之间的相似程度。

让我们来看看它究竟是如何完成的,以及需要哪些类型的神经网络。

用于一次性学习的匹配网络

计算机视觉任务的一次性学习是基于一种特殊类型的卷积神经网络(CNN),称为连体神经网络(SNN)。经典的CNN在整个训练过程中调整其参数,以正确地对每幅图像进行分类。连体神经网络的训练是为了评估两个输入图像中的特征之间的距离。

Siamese neural networks (SNNs)

连体神经网络通过同一网络的两个相同的实例运行输入。两者都是在同一数据集上训练的,然后结合起来产生一个作为其输入函数的输出。

这个卷积网络的两个分支中的每一个都负责学习一幅图像的特征,而带有区分层的部分则评估这些特征在各帧之间的相互关系。差异化层检查是否从两幅图像中学习了类似的特征。

训练一次学习的SNN包括两个阶段:验证和概括。

在验证阶段,使用三重损失函数。该模型接收三幅图像--一个锚、一个正面图像和一个负面图像。第一和第二张图像的编码特征非常相似,而第三张图像的特征则不同。为了达到更好的模型训练效果,正面、负面和锚点图像的三联体必须看起来相对相似,以帮助模型在 "难以识别 "的例子上学习。

Training an SNN for one-shot learning

在泛化阶段,模型被训练来评估输入对属于同一类别的概率。在这一步,必须向模型提供差异非常难以识别的图像。通过增加估计的复杂性,我们加快了模型的教育过程。

images where the difference is very difficult to recognize

完成这两个步骤后,模型就可以使用了:它现在能够将新的图像相互比较。

连体神经网络的优点和局限性

在使用这些模型时,请牢记以下几点。

连体神经网络的优点

  • 当涉及到识别图像、人脸和其他具有强烈相似性的物体时,连体神经网络已被证明在速度和准确性方面优于其他类型的神经网络

  • 连体网络的优势在于,与其他神经网络一样,它们可以在大型数据集上进行初步训练,但与其他神经网络不同的是,它们不需要认真地重新训练以检测新的类别。

  • 此外,由于两个输出共享相同的参数,该模型可以实现更好的泛化性能,特别是在处理相似但不相同的对象时。

连体网络的挑战

  • 连体网络的主要缺点是它们需要比其他类型的CNN多得多的计算能力,因为在训练期间需要两倍的操作来教导两个模型。

  • 对内存的要求也有很大的增加。

SNN的主要思想是将原始物体重建到一个潜在的空间,在那里你可以强迫它们满足一些预定的要求。图像中的CNN是一次性学习的主要应用领域。然而,网络不一定非得是卷积的。此外,对问题的类型没有限制,只要能在潜空间中指定约束条件即可。

请注意,其他神经网络也被成功地用于图像和视频识别的单短时学习。这些网络包括记忆增强的NN尖峰神经网络贝叶斯NN等。

零次学习、一次学习和少数次学习模型之间的区别是什么?

除了单次学习,还有其他一些模型只需要几个例子(少数次学习)或根本不需要例子(零次学习)。

少数次学习只是单次学习模型的一个变种,有几个训练图像可用。

零次学习的目标是在完全没有训练数据的情况下对未知类别进行分类。这里的学习过程是基于图像的元数据,即与图像有关的特征。这个过程类似于人类的认知过程。比如说,你在书中读到关于长颈鹿的详细描述。你很有可能在照片中或在现实世界中看到它时能够认出它。

zero-shot learning process is based on the metadata

应用

一次性学习算法已被用于图像分类、物体检测和定位、语音识别等任务。

最常见的应用是人脸识别和签名验证。除了机场检查,前者可以被执法机构用来检测拥挤场所和大规模活动中的恐怖分子,如体育比赛、音乐会和节日。根据监控摄像头的输入,人工智能可以从警方的数据库中识别人群。这项技术也适用于银行和其他机构,他们需要从他们的身份证或记录中的照片来识别这个人。同样的过程也适用于签名验证。

一次性学习对计算机视觉至关重要**,**特别是对无人机和自动驾驶汽车识别环境中的物体。

另一个领域是跨语言的单词识别,应用一次性学习来识别翻译语言中的未知单词。

它还可以有效地用于检测大脑扫描中的大脑活动。

最新发展:"少于一次 "的学习

2020年,麻省理工学院研究人员Ilia Sucholutsky和Matthias Schonlau发表了一篇关于 "少于一次 "学习的论文。这项研究背后的想法是惊人的。研究人员正试图设计一个模型,可以识别比训练实例数量更多的物体。这项研究有可能改变整个机器学习的格局。

这种方法使用 "软标签"进行训练。研究人员没有告诉人工智能模型图像1代表一个橙色,而是根据概率范围为系统提供了一个估计。例如,这张图片70%是橙子,20%是葡萄柚,10%是苹果。因此,软标签捕捉了一些共同的特征。如果设计得当,软标签可以用两个例子对大量的类别作出预测。

少于一次的学习将使人工智能更容易为企业所接受。总的来说,这将是人工智能发展的新一页,人工智能算法的工作方式与人脑相同。

用记忆增强的神经网络进行一次性学习

目前的另一个研究领域是使用记忆增强的神经网络(MANNs)进行一次性学习。

Memory-augmented neural networks

MANNs是循环神经网络(RNN)的一种类型。我们上面讨论的卷积神经网络有一个层结构,而RNNs则是基于序列的。这些网络有内存,以前的输入信息被储存起来,用于生成序列的下一个输出。

记忆增强型神经网络将计算与记忆分开。它们基于称为神经图灵机(NTM)的模型,其中神经网络的匹配能力与可编程计算机的能力相结合。NTM通过一个神经网络控制器连接到外部存储器。

研究表明,由于NTM模型,MANNs可以快速学习并具有良好的概括能力。MANNs可以用它所缺乏的逻辑序列的知识来补充一次性学习。因此,在广泛的使用中引入这个模型将极大地提高NN的预测和估计的质量,并在其发展中翻开新的一页。

结论

一次性学习算法的最大优点是根据图像的相似性进行分类,而不是对大量的特征进行分析。这大大减少了计算成本和训练模型的时间。

在实践中,一次性学习对任何地方的人脸识别都有特别大的潜力,从展览的入口到旧手稿的识别。

该技术不断发展。少于一次的学习模型和带有记忆增强的神经网络的一次学习是深度学习发展的下一步,也是其在现实生活中的整合。