零示例学习中的映射域迁移 (projection domain shift) 问题

简介: 本文介绍了两种解决零示例学习中的映射域迁移问题的方法 AEZSL 和 DAEZSL 。

雷锋网(公众号:雷锋网) AI 科技评论按:本文由上海交通大学副教授牛力为 AI 科技评论提供的独家稿件,未经许可不得转载。

在传统的机器学习中,训练和测试都在相同的种类集合上进行。而在零示例学习 (zero-shot learning) 中,训练种类集合和测试种类集合没有重合,即在属于训练种类集合的数据上训练模型,然后在属于测试种类集合的数据上进行预测。训练种类和测试种类需要通过所有种类的语义信息建立联系,才能把在训练种类的分类模型用于测试种类。常见的种类语义信息包括属性 (attribute) 和词向量 (word vector) 等等。其中属性需要人工标注,但是更精确,因而效果更好。我们把图像的视觉特征称为视觉空间 (visual space),把种类的语义信息称为语义空间 (semantic space)。现有的一大类零示例学习的方法是把视觉空间映射到语义空间,或者把语义空间映射到视觉空间,或者把两者映射到共同的子空间。其中学习到的映射称为视觉语义映射 (visual-semantic mapping)。比如语义空间有一种属性是 has_tail,我们需要学习从视觉空间到该属性的映射,这样给定一张新的动物图片,我们就可以判断它有没有尾巴。在这种情况下,视觉语义映射相当于由若干个属性分类器构成。但是对于不同种类来说,视觉语义映射有很大的差异。比如斑马和猪都有尾巴,但是它们尾巴的视觉呈现差别很大,因而对应的属性分类器差异也很大。如果对于所有种类使用相同的视觉语义映射,在测试种类上得到的效果就会大打折扣。这个问题被称为零示例学习中的映射域迁移 (projection domain shift) 问题。

之前大多数解决映射域迁移的方法都是在训练阶段使用未标注的测试种类数据,为训练种类和测试种类学习一个共同的映射,或者为训练种类和测试种类分别学习一个映射。但是由于各个种类的映射之间差异性都很大,仅仅学习一个或两个映射是远远不够的。所以我们提出为每一个种类都学习一个不同的视觉语义映射 (category-specific visual-semantic mapping),文章发表在期刊 Transaction on Image Processing (T-IP) . 具体来说,我们先提出了一种传统的方法 AEZSL,利用种类之间的相似关系为每一个测试种类训练一个视觉语义映射。但是对于大规模任务来说这种训练成本十分高昂,所以我们又提出一种基于深度学习的方法 DAEZSL,只需要训练一次就可以应用到任意测试种类。下面分别介绍 AEZSL 和 DAEZSL。

(1) Adaptive Embedding Zero-Shot Learning (AEZSL)

我们的方法基于 Embarrassingly Simple Zero-Shot Learning (ESZSL)。ESZSL 的表达式如下,

TB1lIlqg4naK1RjSZFtXXbC2VXa.png

其中 X 是视觉特征,A 是语义信息,W 是视觉语义映射,Y 是种类标签信息。ESZSL 为所有种类学习一个相同的视觉语义映射 W。我们在 ESZSL 的基础上稍作修改,利用每一个测试种类和所有训练种类的相似关系(根据种类的语义信息计算得到),为每一个测试种类学一个单独的视觉语义映射,表达式如下:

TB1JRE6gMDqK1RjSZSyXXaxEVXa.png

其中 Wc 是第 c 个测试种类的视觉语义映射,Sc 是第 c 个测试种类和所有训练种类的相似矩阵。这样就可以利用种类之间的相似关系把视觉语义映射迁移到各个测试种类。但是我们的 AEZSL 需要对每一个测试种类都训练一个视觉语义映射,对于大规模的任务训练成本非常高昂。因此我们又提出了一种基于深度学习的方法 Deep AEZSL (DAEZSL),只需要在训练种类上训练一次就能应用到任意测试种类,具体介绍如下。

(2) Deep AEZSL (DAEZSL)

我们旨在学习一个从语义信息到视觉语义映射的映射函数,这样给定任意一个种类的语义信息,我们就能很方便地获得该种类的视觉语义映射。但是这样一个映射函数复杂度较高,所以我们采取一种替代的方式,假设每一个种类都存在学习视觉特征权重,然后学习从语义信息到视觉特征权重的映射函数。学习针对每个种类的视觉特种权重相当于隐性地学习针对每个种类的视觉语义映射,具体解释请参考论文。我们设计的网络结构如下图。在训练阶段,假设共有 C 个训练种类,在上面的子网络中,训练图片的视觉特征被复制成 C 份,在下面的子网络中,所有种类的语义信息通过 MLP 产生所有种类的视觉特征权重,作用于复制了 C 份的视觉特征。加权后的视觉特征通过全连接层(相当于视觉语义映射)后和所有种类的语义信息相乘得到最终的预测值。在测试阶段,测试图片通过上面的子网络,所有测试种类的语义信息通过下面的子网络,相乘得到该测试图片的预测值。

TB1wMs7gNTpK1RjSZR0XXbEwXXa.png

我们在三个小规模数据库 CUB, SUN, Dogs 和一个大规模数据库 ImageNet 上做了大量的实验,实验结果表明我们的方法在小规模和大规模数据库上均取得了最优的结果。除了定量结果,我们也提供了深入的定性分析。我们选择了两张「flea market」种类的图片,这两张图片被我们的 AEZSL 方法成功分类,却被 ESZSL 错分为「shoe shop」。通过对比「flea market」和「shoe shop」的语义信息,「cloth」和「cluttered space」这两个属性更能代表「flea market」。我们在下图列出了两张图片通过 ESZSL 和 AEZSL 方法得到的在「cloth」和「cluttered space」两属性上的投影值。从下图可以看出我们的方法 AEZSL 在两个属性上有更高的投影值,也就是说我们的方法能更好地捕获「flea market」种类在「cloth」和「cluttered space」两属性上的语义信息。

 

TB1XXtog4YaK1RjSZFnXXa80pXa.png

为了更好的解释说明,我们列举了同样包含「cloth」属性的两个种类「badminton court」和「bedchamber」, 以及同样包含「cluttered space」属性的两个种类「recycling plant」和「landfill」。从下图可以看出,同一个属性在不同种类上的视觉呈现和语义信息大相径庭。

TB1uXM_gMHqK1RjSZFgXXa7JXXa.png

对于「flea market」种类,我们列举了和它最相近的几个种类 bazaar, thrift shop, market, general store(如下图所示)。可见对于「cloth」和「cluttered space」两个属性,「flea market」和上述种类更为接近。我们的方法通过关联和「flea market」相近的几个种类,更好地捕获了「flea market」种类的「cloth」和「cluttered space」属性的语义信息,学到了更契合该种类的视觉语义映射。

TB1Etc7gPDpK1RjSZFrXXa78VXa.jpg

总结一下,我们提出了为每一个种类学习单独的视觉语义映射,更好地捕获每个种类的语义信息,从而解决零示例学习中的映射域迁移问题。具体来说,我们提出了传统的 AEZSL 方法和基于深度学习的 DAEZSL 方法。AEZSL 方法为每个测试种类训练得到一个视觉语义映射,而 DAEZSL 只需要在训练种类上训练一次便可应用到任意测试种类。在四个数据库上的定量结果和定性分析充分展示了我们方法的优越性。

目录
相关文章
|
3月前
【Azure Developer】使用PowerShell Where-Object方法过滤多维ArrayList时候,遇见的诡异问题 -- 当查找结果只有一个对象时,返回结果修改了对象结构,把多维变为一维
【Azure Developer】使用PowerShell Where-Object方法过滤多维ArrayList时候,遇见的诡异问题 -- 当查找结果只有一个对象时,返回结果修改了对象结构,把多维变为一维
|
5月前
|
BI
Power BI获取SharePoint List列表后,如何展开List/Table中的字段,以及使用逗号拼接为一个字符串
在Power BI中,从SharePoint List获取数据时遇到Table和List混合的数据源,直接展开会导致“笛卡尔积”效应,生成过多行。目标是保持行数不变,将Table中的字段与List值用逗号分隔显示在同一行。解决方法包括:1) 添加新列,从Table中提取List的Column2值;2) 使用Text.Combine函数合并List中的值。具体操作步骤包括选择列并自定义新列,然后展开List并以逗号分隔。通过这些步骤,可以将Table转换为所需的字符串格式。完整的Power BI Query代码展示了这一过程。参考链接提供了更多详情。
100 2
|
开发者 C++
【C++11保姆级教程】Type aliases(类型别名)、alignof and alignas(类型对齐))
【C++11保姆级教程】Type aliases(类型别名)、alignof and alignas(类型对齐))
|
Shell 数据安全/隐私保护 Windows
导出域内所有hash--笔记(建议收藏)
-导出ntds.dit(域控服务器上操作): 存在域控制器的c:\windows\ntds\ntds.dit中。
291 0
|
存储 安全 网络协议
多协议标签交换 (MPLS) 标签堆栈条目:“EXP”字段重命名为“TC”字段
MPLS 标签堆栈条目的格式由 RFC 3032 [RFC3032] 定义,包括一个称为“EXP field”的三位字段。RFC 3032 没有定义该字段的确切用途,只是声明它“保留用于实验用途”。
577 0
多协议标签交换 (MPLS) 标签堆栈条目:“EXP”字段重命名为“TC”字段
|
监控 Java 开发者
主机映射名称修改|学习笔记
快速学习主机映射名称修改
主机映射名称修改|学习笔记
|
存储 关系型数据库 数据库
Server 层混杂信息字典表 | 全方位认识 information_schema(下)
上期《Server 层混杂信息字典表 | 全方位认识 information_schema(中)》继续为大家介绍了部分关于Server层混杂信息字典表的知识,本期“Server层混杂信息字典表(下)”将继续为大家介绍。
1140 0
|
存储 关系型数据库 MySQL
Server 层混杂信息字典表 | 全方位认识 information_schema(中)
上期《Server 层混杂信息字典表 | 全方位认识 information_schema(上)》为大家介绍了部分关于Server层混杂信息字典表的知识,本期“Server层混杂信息字典表(中)”将继续为大家介绍。
2866 0
|
SQL 存储 关系型数据库
Server 层混杂信息字典表 | 全方位认识 information_schema(上)
本期将为大家带来系列第四篇《Server层混杂信息字典表 | 全方位认识 information_schema》,下面请一起开始information_schema系统库的系统学习之旅吧。
1343 0
|
存储 数据安全/隐私保护 C++
用户自定义结构数据与VARIANT转换
将用户自定义的C结构数据存储成VARIANT类型,需要时再将VARIANT类型转为用户自定义的结构数据,有十分现实的意义,既然我们不想为这样的结构数据写一个COM包装类。虽然有很多方法和手段生成这样的VARIANT,但是,多数时候可能需要一个更加简单的,灵活的方法。
893 0