亚博ios彩票什么是一次性学习?

5
人脸识别手机应用
图片来源:Depositphotos

本文是其中的一部分神秘的人工智能(试图)消除围绕人工智能的术语和神话的歧义。

机场和边境口岸的护照检查带来了一个特殊的挑战:你如何分辨站在你面前的人和护照上的人是同一个人?通过数十亿年的进化,边境和海关官员利用人类视觉系统中根深蒂固的复杂机制解决了这个问题。

这不是一个完美的过程,但大多数时候都很有效。

豆护照先生检查一次学习

在人工智能领域,这被称为“一次性www.yabovip4学习”挑战。用一种更抽象的方式,你可以电脑视觉系统它可以看两个从未见过的图像并判断它们是否代表同一个物体?

数据是一个关键的挑战深度学习它是人工智能的一个分支,在计算机www.yabovip4视觉方面最为成功。深度学习算法需要大量的训练实例来执行简单的任务,比如检测图像中的目标。

但有趣的是,如果配置正确,深层神经网络作为深度学习系统的关键组成部分,它可以对简单任务进行一次性学习。近年来,一次性学习型人工智能已经成功应用于面部识别和护照检查等领域。

经典卷积神经网络

深度学习中最重要的架构之一是卷积神经网络这是一种特别擅长处理视觉数据的神经网络。

cnn的经典用法是建立多个卷积层(中间和后面有一些重要的组件),指定一个输出目标,并在许多标记的示例上训练神经网络。

例如,图像分类器convnet将图像作为输入,通过其多层处理其像素,并输出表示图像属于其检测到的某个类的概率的值列表。

AlexNet CNN架构
AlexNet卷积神经网络(CNN)

可以在几个公共数据集之一上培训神经网络,例如ImageNet该网站包含数以百万计的图片,标签上有一千多个类。当卷积神经网络遍历训练图像时,它会调整数百万个参数,以确定每幅图像的类别。

Convernets的一个有趣功能是他们在不同级别的图像中提取视觉功能的能力。训练有素的卷积神经网络开发了特征的层次结构,从第一层中的较小功能开始,更深层层中的较大和更高级别的功能。

当图像通过CNN时,它将图像的特征编码为一组数值,然后使用这些值来确定图像所属的哪个类。对于足够的训练示例,GRANNET可以概括该特征编码过程,其足以能够将新图像与其适当的类相关联。

大多数现代计算机视觉的应用程序使用卷积神经网络。

不同层次的神经网络
分层神经网络可以分层地从图像中提取不同的特征(来源:http://www.deeplearningbook.org

开发者可以使用他们自己的培训数据,而不是ImageNet(或其他公共数据集)。但是由于收集和标记图像的成本,他们通常使用一个公共数据集来训练他们的模型,然后在包含特定问题图像的较小数据集上对其进行微调。

重新利用cnn进行一次性学习

许多计算机视觉问题中的关键问题之一是您没有许多标记的图像来训练您的神经网络。例如,必须在同一个人的许多图像上培训经典面部识别算法,以便能够识别她。

想象一下,在国际机场使用的面部识别系统将意味着什么。您需要每个可能通过该机场的每个人的几张图像,这可能相当于数十亿的图像。除了几乎不可能收集这样的数据集之外,有一个人面临的集中商店的概念将是一个隐私的噩梦。

这是一次性学习发挥的地方。单次学习将其转变为差异评估问题而不是将任务视为分类问题。

当深度学习模型被调整为一次性学习时,它会拍摄两幅图像(例如,护照图像和看相机的人的图像),并返回显示这两幅图像之间相似度的值。如果图像包含相同的物体(或相同的人脸),神经网络返回的值小于特定的阈值(比如,0),如果它们不是相同的物体,则返回的值将高于阈值。

只有一次的学习
一拍学习

暹罗神经网络和三联损失功能

一次性学习的关键是一种叫做“暹罗神经网络”的架构。本质上,Siamese神经网络与其他卷积神经网络没有太大的区别。它将图像作为输入,并将其特征编码成一组数字。不同之处在于输出处理。

在训练阶段,经典的cnn会调整它们的参数,以便它们能将每个图像关联到合适的类别。另一方面,Siamese神经网络训练能够测量两个输入图像中特征之间的距离。

三联体损失函数
三胞损失

为了实现这一目标,我们使用称为“三重态丢失”的函数。基本上,三态损耗通过给出三个图像来训练神经网络:锚图像,正图像和负图像。神经网络必须调整其参数,使得锚和正图像的特征编码值非常接近,而负图像的相对于非常不同。

有了足够的训练实例,神经网络将开发出一种配置,可以比较APN三组之间的高级特征。例如,在面部识别的例子中,一个训练有素的暹罗神经网络应该能够比较两张图像的面部特征,如眼睛、鼻子和嘴之间的距离。

训练暹罗网络仍然需要相当大的APN三人组。但是创建训练数据要比创建需要每个图像都被标记的经典数据集容易得多。假设你有一个来自两个人的20张人脸图像的数据集,这意味着每个人有10张。您可以从这个数据集生成1800个APN三组。(您使用每个人的10张图片创建10×9 AP对,并将其与剩下的10张图片组合起来,总共创建10x9x10x2 = 1800 APN三组)

使用30张图片,可以创建5400个trios,使用100张图片,可以创建81,000个apn。理想情况下,您的数据集应该有多种人脸图像,以便更好地综合不同的特征。另一个好主意是使用以前训练过的卷积神经网络,并对其进行微调,以便一次性学习。这个过程叫做转移学习并且是减少培训新网络的成本和时间的有效方法。

一旦Siamese网络经过训练,如果你提供两张新的人脸图像(比如护照和摄像头输入),它应该能够告诉你它们是否足够相似,从而成为同一个人。

所以你不再需要在世界上所有的人脸上训练你的面部识别深度学习模型。

单次学习的极限

虽然非常有吸引力,一次性学习确实有一些局限性。每个暹罗神经网络都非常有用,它对它受过培训的一项任务。调整用于面部识别的一次性学习的神经网络不能用于一些其他任务,例如讲述两只图片是否包含同一犬或同一​​辆车。

神经网络对其他变异也很敏感。例如,如果其中一张图片中的人戴着帽子、围巾或眼镜,而另一张图片中的人没有,那么准确率就会大大降低。

一次性学习是一个令人兴奋和活跃的研究领域。这种方法还有其他变种,包括零射击和少射击学习。

留下一个回复

本网站使用AkisMet减少垃圾邮件。了解如何处理评论数据