Siamese Neural Networks for One-Shot Image Recognition

本文探讨了使用深度Siamese神经网络进行一次性图像识别的方法,特别是在字符识别任务中的应用。通过学习区分图像对的神经网络,模型能够在有限的示例中进行推广,适用于新类别的验证和分类。实验在Omniglot数据集上进行,结果显示深度卷积Siamese网络显著优于其他基线方法。
摘要由CSDN通过智能技术生成

http://www.cs.cmu.edu/~rsalakhu/papers/oneshot1.pdf

摘要

为机器学习应用程序学习好的特征的过程可能是非常昂贵的计算,并有证据表明,可用数据很少时比较困难。这方面的一个典型例子是one-shot learning 设置,在这种设置中,我们必须正确地做出预测,只给出每个新类的单个例子。在这篇文章中,我们探索了一种学习 Siamese神经网络的方法,它采用独特的结构来自然排序输入。一旦网络被调优,我们就可以利用强大的鉴别特性将网络的预测能力泛化,不仅针对新的数据,还针对已知分布的全新类。使用卷积架构,我们可以取得强大的结果,超过那些其他深度学习模型,在一次分类任务的接近最佳表现。
  人类表现出获取和识别新模式的强大能力。特别是,我们观察到,当面对刺激时,人们似乎能够快速理解新概念,并在未来感知中识别这些概念的变化(Lake等,2011)。机器学习已经被成功地应用于各种应用中,如网络搜索、垃圾邮件检测、字幕生成以及语音和图像识别。然而,当这些算法被迫对几乎没有监督信息可用的数据进行预测时,往往会崩溃。我们希望推广到这些不熟悉的类别,而不需要广泛的再培训,这可能是昂贵的或不可能的,由于有限的数据或在线预测设置,如web检索。
  一个特别有趣的任务是在以下限制下进行分类:在对测试实例进行预测之前,我们只能观察每个可能类的单个示例。这被称为一次性学习,也是我们在本研究中提出的模型的主要关注点(Fei-Fei et al., 2006;Lake等,2011)。这应该与zero-shot learning区别开来,在zero-shot learning中,模型不能查看目标类的任何例子(Palatucci等人,2009)。
  一次性学习可以通过开发特定领域的特征或对目标任务具有高度区分性的推理过程来直接解决。因此,包含这些方法的系统往往在类似的情况下表现出色,但不能提供可应用于其他类型问题的鲁棒的解决方案。在本文中,我们提出了一种新的方法,它限制了对输入结构的假设,同时自动获取特征,使模型能够成功地从少数例子中推广。我们建立在深度学习框架的基础上,它使用了许多层非线性来捕捉输入空间中变换的不变性,通常通过利用具有许多参数的模型,然后使用大量数据来防止过度拟合(Bengio,2009;Hinton等人,2006)。这些特性非常强大,因为我们能够在不施加强优先级的情况下学习它们,尽管学习算法本身的成本可能相当高。
在这里插入图片描述
图1.用Omniglot数据集的20路一次分类任务示例。唯一的测试图像显示在由20个图像组成的网格之上,这些图像表示我们可以为测试图像选择的可能不可见的类。这20张图片是我们所知道的关于这些类的唯一例子。

1 方法

  一般来说,我们通过siamese神经网络的监督的方法来学习基于度量的图像表示,然后重用该网络的特征进行一次性学习,不需要任何再训练。
  在我们的实验中,我们只关注字符识别,尽管几乎所有的基本方法可以复制模式(图2)。对于这个领域,我们采用大Siamese卷积神经网络,它能够a)学习通用图像特征用于对未知类分布进行预测,即使从这些新分布可用的例子很少;b)对于从源数据中采样的成对数据,使用标准优化技术易于训练;c)提供一种有竞争力的方法,不依赖于特定领域的知识,而是利用深度学习技术。
在这里插入图片描述
图2.我们的一般策略。1)训练一个模型区分一组相同/不同的对。2)基于学习到的特征映射,泛化评价新类别以进行验证。
  为了建立一种one-shot图像分类模型,我们首先学习一种能够区分图像对的类标识的神经网络,这是图像识别的标准验证任务。我们认为善于验证的网络应该推广到一次性分类。验证模型学习根据输入对属于同一类或不同类的概率来识别输入对。然后,这个模型可以用来评估新的图像,每一个新的类正好一个,以成对的方式对照测试图像。根据验证网络,得分最高的配对被授予一次性任务的最高概率。如果验证模型所学习的特征足以确认或拒绝来自一组字母表的字符的身份,则它们应该足以用于其他字母表,前提是模型已暴露于各种字母表中,以鼓励所学习的特征之间的差异。

2 相关工作

  总的来说,关于一次性学习算法的研究还很不成熟,并且受到了机器学习社区的有限关注。然而,在本文之前还有一些关键的工作。
  一次性学习的开创性工作可以追溯到2000年初李飞飞等人的工作。作者开发了一种用于one-shot图像分类的变分贝叶斯框架,前提是当给定类别的例子很少时,可以利用之前学习的类别来帮助预测未来的类别(Fe-Fei等人,2003年;飞飞等,2006)。最近,Lake等人从认知科学的角度探讨了one-shot学习的问题,用一种叫做分级贝叶斯程序学习的方法解决了一次性学习的字符识别问题(HBPL) (2013)。在一系列的论文中,作者对绘制人物的过程进行了建模,将图像分解成小块(Lake et al., 2011;2012)。HBPL的目标是为观察到的像素确定一个结构解释。但是,由于关节参数空间很大,HBPL下的推理比较困难,导致了难以解决的集成问题。
  一些研究人员已经考虑了其他的模式或迁移学习方法。Lake等人最近的一些工作是使用生成的语音原语层次隐藏马尔科夫模型结合贝叶斯推理程序来识别未知说话者的新单词(2014)。Maas和Kemp是唯一发表的使用贝叶斯网络预测埃利斯岛乘客数据属性的研究(2009年)。Wu和Dennis在机器人驱动路径规划算法的背景下讨论了一次性学习(2012)。Lim的重点是如何“借用”训练集中其他课程的例子,方法是采用损失函数(2012)中每个训练样本对每个类别应加权多少的度量。这种思想对于某些类很少有示例的数据集非常有用,它提供了一种灵活的、连续的方法来合并将类间信息放入模型中。

3 用于图像验证的深度Siamese网络

  Siamese网络是在20世纪90年代初首次引进的将签名验证作为图像匹配问题来解决(Bromley et al., 1993)。Siamese神经网络由双网络组成,双网络接受不同的输入,但在顶部由一个能量函数连接。这个函数计算每边的最高层次特征表示之间的一些度量(图3)。两个网络之间的参数被绑定。权值绑定保证了两个非常相似的图像不可能被各自的网络映射到特征空间中非常不同的位置,因为每个网络计算相同的函数。此外,网络是对称的,因此每当我们向孪生网络呈现两幅不同的图像时,顶层的连接层将计算相同的度量,就像我们向相反的孪生网络呈现相同的两幅图像一样。
在这里插入图片描述
图3.一个简单的基于logistic预测的二值分类的2隐含层siamese网络。网络的结构在顶部和底部被复制,形成双网络,在每一层共享权矩阵。

  在LeCun等人中,作者使用了包含对偶项的能量对比函数来减少相似对的能量而增加不同对的能量(2005)。但在本文中,我们使用双特征向量h1和h2之间的加权L1距离,并结合sigmoid激活,映射到区间[0,1]。因此,交叉熵目标是训练网络的自然选择。请注意,在LeCun等人中,他们直接学习了相似性度量,该度量由能量损失隐式定义,而我们按照Facebook的DeepFace论文(Taigman等人,2014)中的方法修复了上述度量。
  我们最好的模型在全连接层和顶级能量函数之前使用多个卷积层。卷积神经网络在许多大规模计算机视觉应用中取得了优异的成绩,特别是在图像识别任务中(Bengio, 2009;Krizhevsky等,2012;Simonyan & Zisserman, 2014;斯利瓦斯塔瓦,2013)。
我们现在详细说明siamese网络的结构和在我们的实验中使用的学习算法的细节。

3.1 模型

  我们的标准模型是一个siamese卷积神经网络,第L层有 N l N_l Nl个单元,其中 h 1 , L h_{1,L} h1,L表示第一个孪生兄弟在第l层的隐藏向量, h 2 , L h_{2,L} h2,L表示第二个孪生兄弟在第l层的隐藏向量。我们在最初的L-2层中激活函数使用ReLU,在其余的层中使用sigmoid单位。
  该模型由一系列卷积层组成,每个层使用一个单一的通道,带有可变大小的filter和固定的步长1。卷积过滤器的数量被指定为16的倍数以优化性能。网络对输出特性映射应用ReLU激活函数,可选后面跟着max pooling, filter size和stride为2。因此,每一层的第k个过滤器映射采用如下形式:
在这里插入图片描述
其中 W l − 1 , l W_{l-1,l} Wl1,l是表示第l层特征映射的3维张量,我们用*表示有效的卷积操作。该操作只返回卷积滤波器和输入特征完全覆盖的输出单元。
  最后一个卷积层的单元被拉长为一个向量。在卷积层之后是全连接层,然后是另一层,计算每个siamese孪生兄弟之间的感应距离,并把距离送到一个sigmoid输出单元。更准确地说,预测向量为 p = σ ( ∑ j α j ∣ h 1 , L − 1 ( j ) − h 2 , L − 1 ( j ) ∣ ) p=σ(∑_jα_j|h^{(j)}_{1,L-1}-h^{(j)}_{2,L-1}|) p=σ(jαjh1,L1(j)h2,L1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值