Abstract

由于seen class和unseen class训练数据的极度不平衡,现有的ZSL方法在GZSL任务上性能很差。我们提出基于GAN框架,利用语义信息来生成CNN特征。我们的方法利用Wasserstein GAN和分类损失,生成判别性强的CNN特征,来训练分类器(softmax classifiers or multimodal embedding method)。

Contributions

ZSL场景能够很好地评价生成模型的健壮性和泛化能力。特别是,当生成器可以学习到判别性强的视觉数据(并且方差足够大),所生成的数据对监督学习很有用。

1、提出条件生成模型 f-CLSWGAN,通过优化Wasserstein距离(分类损失可以看作正则化项),来生成unseen class的CNN特征;

2、实验证明,对于ZSL和GZSL场景,该方法性能都很好,并且可以将GZSL问题作为评价生成模型性能的任务;

3、我们的模型可以推广到不同的深度CNN特征(GoogleNet、ResNet等),并且可以用不同class-leve的语义信息(属性、词向量、句子向量等)

Note:利用WGAN和分类损失来学习判别性更强的特征,比GMMN[1]性能更好

Method

现有的ZSL方法在训练过程中只能看到seen class的数据,从而使预测偏向于seen class。我们提出的模型,通过生成unseen class的CNN特征,使得分类器也能挖掘unseen class的embedding空间。因此,我们方法的关键是能够利用类别语义向量,生成语义丰富的CNN特征分布。这减轻了seen class和unseen class之间的不平衡,因为我们的模型对生成CNN特征的数量没有限制。它还能够直接训练seen class和unseen class判别分类器。
介绍了三种 conditional GAN模型,f-GAN, f-WGAN 和 f-CLSWGAN。模型只利用seen class的数据进行训练,但可以为unseen class生成图像特征。

f-GAN

z是从高斯分布中随机采样的噪声,c(y)是类别y的语义向量。判别器D试图最大化loss,而生成器G试图最小化loss。虽然GAN能够捕获复杂的数据分布,但它的训练过程很困难。

f-WGAN

与GAN不同的是,判别器D最后一层移除sigmoid函数;GAN中的log也被移除(因为目标不是优化负对数似然);WGAN中前两项是在近似Wasserstein distance,第三项是梯度惩罚项(gradient penalty),使得判别器D的梯度在1附近。
Note:参考 – 令人拍案叫绝的Wasserstein GAN[2]

f-CLSWGAN
f-WGAN不能保证生成的CNN特征能够训练判别能力强的分类器。于是,提出对所生成特征最小化分类损失,这里采用负对数似然:

分类器采用线性softmax分类器,参数θ是在seen class的真实图像上预训练的。该分类损失可以看作是正则化项,迫使生成器构造判别性强的特征。


利用生成器G构造unseen class的CNN特征后,可以学习分类器( a multimodal embedding model or a softmax classifier)。可以在seen class的真实数据和unseen class的生成数据上训练
Multimodal Embedding
与传统的ZSL方法类似(计算图像特征x与语义向量c(y)的得分函数)

softmax
softmax分类器,训练过程中,最小化负对数似然:

预测时,

Experiments

f-CLSWGAN模型在ZSL和GZSL任务上的性能

ZSL:将f-CLSWGAN模型应用到DEVISE等方法后,性能都有所提升,验证了 f-CLSWGAN能够为unseen class生成有效的视觉特征;
GZSL:使用 f-CLSWGAN模型后性能提升,验证了该方法的有效性。此外,我们观察到,在使用f-CLSWGAN前,seen class的准确率显著高于unseen class,说明很多图像被错误地判别为seen class。而f-CLSWGAN模型能够提升unseen class的准确率,同时维持seen class的准确率。另外,借助f-CLSWGAN模型,简单softmax分类器性能已经超过其他模型,使得GZSL能够实际应用,表明了基于特征生成的思想在其他任务上也具有泛化能力。

f-xGAN各种变体在ZSL和GZSL任务上的性能

1、在ZSL和GZSL场景下,f-xGAN模型都能够提升性能,在GZSL任务上更是显著提升;
2、f-CLSWGAN模型在生成模型中性能最好;
3、即使f-WGAN比f-GMMN表现差(在FLO数据集ESZL方法上),f-CLSWGAN模型也能够借助分类损失达到最佳性能
结论:数据缺失的情况下,利用特征生成来训练分类器,是不错的方法

不同条件下分析f-xGAN各种变体
稳定性和泛化能力:
首先分析不同的生成模型拟合seen class的能力。生成seen class的CNN特征,再训练softmax分类器。

黑色虚线是在真实图像上的准确率,与之相比,f-GAN模型欠拟合,其他模型性能很好,说明f-xGAN模型训练稳定而且能生成有效的特征。
进一步验证f-xGAN模型在unseen class上的泛化能力,用unseen class的生成特征和seen class的真实特征训练softmax分类器。下图是为每个unseen class生成不同数量的特征时的表现

不同CNN网络结构的影响:

ResNet效果比GoogleNet好;对于这两种CNN结构,使用f-xGAN模型后性能都有提升,验证了f-xGAN模型适用于不同的CNN结构

不同语义向量的影响:

f-CLSWGAN模型应用在属性向量上时,性能提升更高,而且在unseen class和seen class上的准确率更平衡。这是因为生成的CNN特征有助于挖掘unseen class,而传统的方法却使得图像与seen class更接近。
f-CLSWGAN模型应用在句子向量上时,性能更好,在unseen class上准确率提升并且在seen class上性能没有下降。这是因为句子向量更能反映语义信息,也表明了当给出更好的语义向量时,f-CLSWGAN模型能够学习到更好的CNN特征。

大规模数据集上的性能

利用Word2Vec作为语义向量时, f-CLSWGAN模型仍然能生成高质量的CNN特征。

图像生成和特征生成性能对比

对于图像生成,即使视觉外观相似,缺少能够正确分类的判别性细节信息;
对于特征生成,有以下优点:
1、生成的特征数量没有限制;
2、图像特征往往来自于基于大规模数据训练的深度网络(例如ImageNet预训练的ResNet上提取图像特征),所以生成器网络可以是浅层的,因此计算量小;
3、生成的CNN特征具有很强的判别性,在ZSL和GZSL任务上效果都很好;
4、与图像生成任务相比,特征生成任务更简单,因为维度更低。

[1] M. Bucher, S. Herbin, and F. Jurie. Generating visual representations for zero-shot classification. ICCV 2017
[2] https://zhuanlan.zhihu.com/p/25071913

【零样本学习】Feature Generating Networks for Zero-Shot Learning相关推荐

  1. 论文学习 Feature Generating Networks for Zero-Shot Learning

    最近火热的迁移学习领域实涵盖了很多方向,比如多任务学习.对抗生成网络.zero/one/few shot learning等.其中的关键问题应该从有限的标注数据中学习其真实分布,进而将训练好的模型通过 ...

  2. 论文浅尝 | 当知识图谱遇上零样本学习——零样本学习综述

    随着监督学习在机器学习领域取得的巨大发展,如何减少人工在样本方面的处理工作,以及如何使模型快速适应层出不穷的新样本,成为亟待解决的问题.零样本学习(Zero-Shot Learning, ZSL)的提 ...

  3. 近期必读的6篇NeurIPS 2019零样本学习论文

    来源 | 专知(ID:Quan_Zhuanzhi) [导读]NeurIPS 是全球最受瞩目的AI.机器学习顶级学术会议之一,每年全球的人工智能爱好者和科学家都会在这里聚集,发布最新研究.NIPS 20 ...

  4. 使用孪生网络和零样本学习进行文本分类

    意图识别是NLP中对话系统的一项基本任务. 意图识别(有时也称为意图检测)是使用标签对每个用户话语进行分类的任务,标签来自一组预定义的标签. 分类器对标记数据进行训练并学会区分对话属于哪个类别. 如果 ...

  5. 近期必读的6篇 NeurIPS 2019 的零样本学习(Zero-Shot Learning)论文

    近期必读的6篇 NeurIPS 2019 的零样本学习(Zero-Shot Learning)论文 PS:转发自"专知"公众号 [导读]NeurIPS 是全球最受瞩目的AI.机器学 ...

  6. 零样本学习分割一切 Segment Anything Model(SAM) + Zero-shot零样本学习ZSL入门

    1. SAM三大创新点 2. SAM数据引擎 3. SAM模型架构 4. Zero-shot零样本学习ZSL 4.1 零样本学习ZSL概述 4.2 零样本学习ZSL形式化表示 4.3 零样本学习ZSL ...

  7. AAAI | 达摩院联合华科开源基于Transformer的零样本学习框架TransZero

    团队模型.论文.博文.直播合集,点击此处浏览 一.论文&代码 论文链接:TransZero: Attribute-guided Transformer for Zero-Shot Learni ...

  8. DeepLearning | Zero shot learning 零样本学习AWA2 图像数据集预处理

    因为有打算想要写一组关于零样本学习算法的博客,需要用到AWA2数据集作为demo演示 之前想只展示算法部分的代码就好了,但是如果只展示算法部分的代码可能不方便初学者复现,所以这里把我数据预处理的方法也 ...

  9. DeepLearning | Zero Shot Learning 零样本学习(扩展内容、模型、数据集)

    之前写过一篇关于零样本学习的博客,当时写的比较浅.后来导师让我弄个ppt去给本科生做一个关于Zero Shot Learning 的报告,我重新总结了一下,添加了一些新的内容,讲课的效果应该还不错,这 ...

  10. 谷歌发布最新看图说话模型,可实现零样本学习,多类型任务也能直接上手

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 兴坤 发自 凹非寺 量子位 报道 | 公众号 QbitAI 谷歌新推 ...

最新文章

  1. Docker 运行gitlab官方文档
  2. c语言文件查找函数fread,文件函数fread
  3. 根据窗口名获取进程句柄和PID
  4. socketserver
  5. linux学习笔记(10)fdisk命令
  6. php 获取某一年最后一天_vivo年货节最后一天!多款机型大促,错过让你后悔再等一年!...
  7. Ajax和Jsonp实践
  8. mysql+distinct+max_MySQL中distinct与group by之间的性能进行比较
  9. 使用rvm来管理ruby版本
  10. Xshell 6安装和使用教程
  11. EyouCMS瀑布流分页详细教程
  12. 【web压测】压测常用工具、压测指标到底是什么?
  13. Runtime.getRuntime.exec的陷阱
  14. Javascript特效之删除内容效果
  15. 百汇BCR:通过K线可以判断出外汇市场有哪些形态?
  16. 集合的运算(C++单链表实现)
  17. vue.js:父组件向子组件传递数据props
  18. Spring学习(九)
  19. kubeadm 部署 kubernetes:v1.23.4集群
  20. 实时搜索引擎Elasticsearch(3)——查询API的使用

热门文章

  1. 自己对win10虚拟内存的理解,不一定对
  2. 刷题找工作《买卖股票问题》一文通解
  3. 成为DevOps/SRE工程师有多难?看看这份必备技能清单
  4. stackelberg博弈_2020年全国博弈论与实验经济学研究会学术年会成功举办
  5. 计算机毕业设计ssm社区生鲜电商平台dq96z系统+程序+源码+lw+远程部署
  6. 大功率电机驱动芯片VNH5019A电机驱动方案(替代BTN7971B)含原理图,ROS电机驱动器
  7. 基于启发式搜索的一字棋
  8. 小六六平时的开发小技巧一(公共属性填充))
  9. datatable 统计当前页的总数和统计所有页面的总数
  10. mysql请输入一个有效类型的长度值_MySQL数据库基础(三)——SQL语言