0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一种用于学习ZSL无偏嵌入的直接但有效的方法

DPVg_AI_era 来源:未知 作者:李倩 2018-07-03 11:15 次阅读

本文提出了一种用于学习ZSL无偏嵌入的直接但有效的方法。这种方法假设标注的源数据和未标注的目标数据在模型训练的过程中可以使用,在各种基准数据集上的实验表明,该方法大幅超过了现有的ZSL方法。

大多数现有的零样本学习(Zero-Shot Learning,ZSL)方法都存在强偏问题:训练阶段看不见(目标)类的实例在测试时往往被归类为所看到的(源)类之一。因此,在广义ZSL设置中部署后,它们的性能很差。在本文,我们提出了一个简单而有效的方法,称为准完全监督学习(QFSL),来缓解此问题。我们的方法遵循直推式学习的方式,假定标记的源图像和未标记的目标图像都可用于训练。在语义嵌入空间中,被标记的源图像被映射到由源类别指定的若干个嵌入点,并且未标记的目标图像被强制映射到由目标类别指定的其他点。在AwA2,CUB和SUN数据集上进行的实验表明,我们的方法在遵循广义ZSL设置的情况下比现有技术的方法优越9.3%至24.5%,在遵循传统ZSL设置下有0.2%至16.2%的提升。

归纳式和直推式零样本学习

在大规模的训练数据集的支撑下,计算机视觉中的物体识别算法在近几年取得了突破性的进展。但是人工收集和标注数据是一项十分耗费人力物力的工作。例如,在细粒度分类中,需要专家来区分不同的类别。对于如濒临灭绝的物种,要收集到丰富多样的数据就更加困难了。在给定有限或者没有训练图片的情况下,现在的视觉识别模型很难预测出正确的结果。

零样本学习是一类可以用于解决以上问题的可行方法。零样本学习区分2种不同来源的类,源类(source)和目标类(target),其中源类是有标注的图像数据,目标类是没有标注的图像数据。为了能够识别新的目标类(无标注),零样本学习假定源类和目标类共享同一个语义空间。图像和类名都可以嵌入到这个空间中。语义空间可以是属性(attribute)、词向量(word vector)等。在该假设下,识别来自目标类的图像可以通过在上述语义空间中进行最近邻搜索达成。

根据目标类的无标注数据是否可以在训练时使用,现有的ZSL可以分为2类:归纳式ZSL(inductive ZSL)和直推式ZSL(transductive ZSL)。对于归纳式ZSL,训练阶段只能获取得到源类数据。对于直推式ZSL,训练阶段可以获取到有标注的源类数据和未标注的目标类数据。直推式ZSL希望通过同时利用有标注的源类和无标注的目标类来完成ZSL任务。

在测试阶段,大多数现有的归纳式ZSL和直推式ZSL都假定测试图像都来源于目标类。因此,对测试图片分类的搜索空间被限制在目标类中。我们把这种实验设定叫作传统设定(conventional settings)。然而,在一个更加实际的应用场景中,测试图像不仅来源于目标类,还可能来自源类。这种情况下,来自源类和目标类的数据都应该被考虑到。我们把这种设定叫作广义设定(generalized settings)。

现有的ZSL方法在广义设定下的效果远差于传统设定。这种不良的表现的主要原因可以归纳如下:ZSL通过建立视觉嵌入和语义嵌入之间的联系来实现新的类别的识别。在衔接视觉嵌入和语义嵌入的过程中,大多数现有的ZSL方法存在着强偏 (strong bias)的问题(如图1所示):在训练阶段,视觉图片通常被投影到由源类确定的语义嵌入空间中的几个固定的点。这样就导致了在测试阶段中,在目标数据集中的新类图像倾向于被分到源类当中。

图1

为了解决以上问题,本文提出了一种新的直推式ZSL方法。我们假定有标注的源数据和目标数据都可以在训练阶段得到。一方面,有标注的源数据可以用于学习图像与语义嵌入之间的关系。另外一方面,没有标注的目标数据可以用于减少由于源类引起的偏置问题。更确切地来说,我们的方法允许输入图像映射到其他的嵌入点上,而不是像其他ZSL方法将输入图像映射到固定的由源类确定的几个点上。这样有效地缓解了偏置问题。

我们将这种方法称为准全监督学习(Quasi-Fully Supervised Learning, QFSL)。这种方法和传统的全监督分类工作方式相似,由多层神经网络和一个分类器组成,如图2所示。神经网络模型架构采用现有的主流架构,比如AlexNet、GoogleNet或者其他框架。在训练阶段,我们的模型使用有标注的源类数据和没有标注的目标数据进行端到端的训练。这使得我们的模型有一两个个明显的特性:(1)如果未来可以得到目标类的标注数据,那么标注数据可以直接用于进一步训练和改进现有的网络模型;(2)在测试阶段,我们得到的训练模型可以直接用于识别来自于源类和目标类的图像,而不需要进行任何修改。

本论文的主要贡献总结如下:

提出了准全监督学习的方法来解决零样本学习中的强偏问题。据我们所知,这是第一个采用直推式学习方法来解决广义设定下零样本学习问题。

实验结果表明我们的方法在广义设定下和传统设定下都远超现有的零样本学习方法。

问题的形式化

假设存在一个源数据集  , 每张图片与相应的标签对应,其中, S表示源类中类的个数。目标数据集, 每张图片与相应的标签对应,其中,  T表示目标类中类的个数。ZSL的目标就是学习如下所示的预测函数:

其中是一个得分函数,其目标是正确的标注比其他不正确的标注具有更高的得分。是模型

其中分别表示视觉嵌入和语义嵌入。得分函数通常使用带正则化的目标函数进行优化:

其中表示分类损失,用于学习视觉嵌入和语义嵌入之间的映射。表示用于约束模型复杂度的正则项。

本文假设给定标注源数据集,无标注目标数据集和语义嵌入,学习ZSL模型,使得其既能在传统设定下又能在广义设定下获取良好的表现。

QFSL模型

不同于以上描述的双线性形式,我们将得分函数F设计成非线性形式。整个模型由深度神经网络实现。模型包括4个模块:视觉嵌入子网络,视觉-语义衔接子网络,得分子网络和分类器。视觉嵌入子网络将原始图像映射到视觉嵌入空间。视觉-语义衔接子网络将视觉嵌入映射到语义嵌入子网络。得分子网络在语义空间中产生每一类的得分。分类器根据得分输出最终的预测结果。所有的模块都是可微分的,包括卷积层,全连接层,ReLU层和softmax层。因此,我们的模型可以进行端到端的训练。

视觉嵌入子网络

现有的大多数模型采用了CNN提取得到的特征作为视觉嵌入。在这些方法中,视觉嵌入函数θ是固定的。这些方法并没有充分利用深度CNN的强大的学习能力。本文采用了预训练的CNN模型来进行视觉嵌入。我们的视觉嵌入模型的主要不同之处在于可以和其他模块一起进行优化。视觉嵌入模块的参数记为。除非特别说明,我们把第一个全连接层的输出作为视觉嵌入。

视觉-语义衔接子网络

衔接图像和语义嵌入之间的关系对ZSL来说很重要。这种关系可以通过线性函数或者非线性函数来建模。本文采用了非线性函数将视觉嵌入映射到语义嵌入。 

得分子网络

衔接视觉嵌入和语义嵌入之后,识别任务可以通过在语义嵌入空间中使用最近邻搜索来实现。

给定一张图像,我们首先通过视觉嵌入子网络得到它的视觉嵌入。然后,利用视觉-语义衔接子网络,完成从视觉嵌入到语义嵌入的映射。最后,我们通过内积计算得到投影得到的视觉嵌入和语义嵌入的得分。因此,得分函数可以表示如下:

其中是 y 的归一化语义嵌入:

得分函数由单个全连接层来实现。它的权重使用源类和目标类的归一化语义:来初始化。和视觉嵌入子网络和视觉-语义衔接子网络不同的是,得分子网络的权重是固定的,在训练阶段不参与更新。通过这种方式,我们的模型将图像投影到与视觉嵌入相近的方向上。

需要注意的是目标类的数据没有标注,这些数据在我们的方法中用到了训练阶段当中。因此,在训练阶段,我们的模型对于一张给定的图像,产生了个得分。

分类器

经过得分函数后,我们使用路的softmax分类器产生了所有类的概率。输入图像的预测结果为概率最高的那个类。

模型优化

我们的方法采用了类似于由

通常,传统的全监督分类器的损失函数包括分类损失和正则化损失Ω。和传统定义不同,我们提出的QFSL结合了一个额外的偏置损失来缓解强偏问题: 

其中,表示预测为类 i 的概率。给定一个来自目标类的实例,该损失鼓励模型增加所有目标类的概率和。这样可以防止目标类被映射到源类中。

对于分类损失范数来约束训练参数用于平衡不同损失之间的权重,通过交叉验证来确定。在训练阶段,所有标注的数据和未标注的数据混合在一起作为训练数据。模型使用随机梯度下降算法(SGD)进行优化。每一个批(batch)训练图像从混合数据集中随机抽取。实验结果表明我们的方法不仅有效地避免了偏置问题,还帮助建立起了更好的视觉嵌入和语义嵌入之间的联系。

实验

数据集

我们在三个数据集上评估了我们的方法。这三个数据集分别为AwA2, CUB, SUN。在实验中,我们采用属性作为语义空间,用类平均准确度衡量模型效果。

在传统设置下的效果比较

首先我们在传统设置下对我们方法和现有方法。用来做对比的现有方法分为两类:一类是是归纳式方法,包括DAP,CONSE,SSE,ALE,DEVISE,SJE,ESZSL,SYNC;另一类是直推式方法,包含UDA,TMV,SMS。与此同时,还比较了一个潜在的baseline(标记为QFSL-):只用有标注的源数据来训练我们的模型。实验效果如表1。可以看出,我们的方法大幅度(4.5~16.2%)提升了分类准确度。

表1. 在传统设置下的实验比较

在广义设置下的效果比较

大多数现有直推式方法在测试阶段都采用了同训练阶段同样的数据来评估性能。然而,如果我们的方法也采用这种方式来评估效果是很不合理的。因为我们的方法已经利用到了无标签的数据来源于目标类这一监督信息。为了解决这一问题,我们将目标数据平分为两份,一份用来训练,另一份用来测试。然后交换这两份数据的角色,再重新训练一个模型。最终的效果为这两个模型的平均。我们比较了我们的方法和若干现有方法,以及一个隐含的baseline:先训练一个二分类器来区分源数据和目标数据,然后再在各自搜索空间中分类。实验结果如表2。

表2

可以看出,我们模型的整体性能(调和平均数H)有着9.3~24.5的明显提高。该项指标的提高主要得益于在目标数据上的效果提升,同时又没有在源数据上大幅度降低准确度。该结果表明,我们的方法能够很大程度上缓解强偏问题。

讨论

现实世界中,目标类的数量可能远远高于源类数量。然而,大多数现有ZSL数据集的源、目标数据划分都违背了这一点。比如,在AwA2中,40个类用来做训练,10个类用来做测试。我们在实验上给出了随着源数据类别的增加,QFSL在效果上如何变化。该实验在SUN数据集上进行,72类作为目标类,随机选取剩下的类作为源类。我们尝试了7个大小不同的源类集,类的数量分别为{100,200,300,450,550,600,645}。用这些不同大小的源类作为训练集,测试我们的方法,效果如图3。由图可以看出,随着类别增加,模型能够学习到更多的知识,其在目标数据集上准确度越来越高。同时,由于源数据和目标数据变得越来越不平衡,强偏问题越来越严重。我们方法能够缓解强偏问题,因而其在效果上的优越性也越来越明显。

图3. 准全监督在SUN数据集上效果

结论

本文提出了一种用于学习ZSL无偏嵌入的直接但有效的方法。这种方法假设标注的源数据和未标注的目标数据在模型训练的过程中可以使用。一方面,将标注的源数据映射到语义空间中源类对应的点上。另外一方面,将没有标注的目标数据映射到语义空间中目标类对应的点上,从而有效地解决了模型预测结果向源类偏置的问题。在各种基准数据集上的实验表明我们的方法在传统设定和广义设定下,大幅超过了现有的ZSL方法。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 神经网络
    +关注

    关注

    42

    文章

    4572

    浏览量

    98744
  • 图像
    +关注

    关注

    2

    文章

    1063

    浏览量

    40041
  • 数据集
    +关注

    关注

    4

    文章

    1178

    浏览量

    24349

原文标题:CVPR 2018:阿里提出新零样本学习方法,有效解决偏置问题

文章出处:【微信号:AI_era,微信公众号:新智元】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    一种有效的集成电路块拆卸方法

    一种有效的集成电路块拆卸方法   锡机锡拆卸法::使用吸锡器拆卸集成块,这是个受欢迎的专业的手法,拆卸,使用工具为普通电铁的吸收,焊接和双重用途,功率在35W的上面。在流形
    发表于 03-30 11:41

    成功有秘决,嵌入学习方法

    那些需要去做的。 保持语言短小精干。 一种方法个操作。 使得它运行的够快,尽管它并不能保证将是可移植的。 4、喜欢底层开发,讨厌vb类开发工具(并不是说vb不好)。 5、发展前景好,适合创业,不想
    发表于 10-22 12:06

    一种蓄电池的源隔离检测方法

    一种蓄电池的源隔离检测方法
    发表于 07-04 17:45

    嵌入式linux学习方法步骤分享

    理解linux内核、情景分析和源代。 3、学习嵌入式linux: 目的:掌握嵌入式培训(www。embtarena。com)处理器其及系统。 方法:(1)
    发表于 07-24 16:33

    一种新的刷直流电机起动方法

    一种新的刷直流电机起动方法
    发表于 11-28 10:18

    华为专利:一种快速_毛刺的时钟倒换方法

    华为专利:一种快速_毛刺的时钟倒换方法
    发表于 08-26 14:45

    一种使用源RFID替代EEPROM代码芯片来存储血糖试纸的方法介绍

    使用新的试纸时忘记更换代码芯片部件的风险。本文详细介绍了一种使用源RFID替代EEPROM代码芯片,来存储血糖试纸的有效期等重要信息的方法
    发表于 07-26 08:17

    一种基于UML的嵌入式系统可视化开发方法

    本文结合统建模语言UML,提出一种嵌入式系统可视化开发方法,并将其实际运用到了嵌入式远程温度监控系统的开发过程中,验证了该
    发表于 04-27 06:47

    求大佬分享一种嵌入式系统中串口通信帧的同步方法

    本文针对该问题给出了逐次比较、基于FIFO队列和基于状态机的3帧同步方法。通过测试、分析和比较得出,基于有限状态机的方法嵌入式系统串口通信中很
    发表于 05-27 06:52

    如何去开发一种嵌入式程序?有哪几种方法

    嵌入式处理器分为哪几种?加入HAL的嵌入式软件有什么目的和意义?如何去开发一种嵌入式程序?有哪几种方法
    发表于 07-02 06:54

    一种学习STM32基础开发的好方法

    等等内容,不失为一种学习 STM32 基础开发的好方法。另外网上能找到的开发笔记也大多不全,或是纯粹的淘宝源代码并无注释,对初学者可能比较难以理解。因此记录下整个开发过程和工具,希
    发表于 08-11 07:34

    介绍一种嵌入式系统仿真方法

    /计数器等功能。本文介绍一种嵌入式系统仿真方法,通过一种特殊设计的指令集仿真器ISS将软件调试器软件Keil uVision2和硬件语言仿真器软件Modelsim连接起来,实现了软件和
    发表于 11-08 06:16

    一种NFC源通讯控制方法

    本方案提供一种NFC源通讯控制方法,由主模块与从模块两部分组成,从模块是源工作方式,当从模块靠近主模块时,通过主模块磁场耦合,产生电源,可以供外面MCU使用,同时,提供SPI接口与
    发表于 12-29 08:31

    介绍一种解决overconfidence简洁但有效方法

    会在模型部署期间带来些问题。所以我们希望能够设计有效的智能模型,使其能够识别出 OOD 数据,对其进行系列的干预。本文介绍一种非常有
    发表于 08-24 15:11

    一种在SoC嵌入式存储器测试期间压缩诊断信息方法介绍

    个常用的方法是在收集所有故障位坐标的基础上生成故障位图,并逐发送给测试人员。更为有效的是,遇到的故障可以检索。本文介绍了一种在SoC
    发表于 09-07 15:08