Zero-shot learning(一): 基本概念
文章目录
本篇文章主要针对我自身关于ZSL一些基本概念的理解,这些理解,都是经过我自身阅读一些文章,看过别人文章之后的总结,所以在理解上可能会有一些偏差,非常希望能够和大家一起进行交流。
本文旨在介绍 ZSL 的基本概念,帮助大家快速了解ZSL。
1. ZSL的基本思想
1.1 ZSL 的经典解释
说到ZSL,一个经典的解释就是小明认识斑马的过程,在这里通过引用知乎上的一篇文章进行解释(这篇也是所能搜到的关于ZSL经典解释的比较详细的文章)给出链接:
--------- https://zhuanlan.zhihu.com/p/34656727?spm=5176.9876270.0.0.399ce44aXsg7cN
在小明去动物园之前,小明已经了解马,老虎,熊猫和企鹅的具体形状,但是小明没有见过斑马。有次在去动物园之前,小明的爸爸告诉他,斑马有着马的轮廓,老虎的条纹,而且条纹是黑白相间的。根据以上信息,小明在动物园中很快找到了斑马。
上述小明找斑马的过程,是典型的人类根据已有的先验知识进行推理来得到斑马的过程。ZSL 就是希望能够训练一个模型,该模型有着像人类一样的推理能力,使得计算机能够认识新生事物。
1.2 ZSL 为什么会提出
虽然近年来基于监督学习的大规模分类方法通过深度学习取得了显著的成功,但监督学习下的方法存在一定的限制。在监督分类中,
- 每个类都需要有足够的带标签的训练实例,
- 学习后的分类器只能对属于训练数据所覆盖的类的实例进行分类。
然而,为不断增大的类别进行收集和标注大量的训练数据是费时和昂贵的。相比之下,人类可以识别大约3万个类别,并具有基于以往经验学习新概念的非凡能力,而无需提前看到它们。从这种人的非凡能力出发,ZSL被提出了。
2. ZSL 的基本概念定义
2.1 问题定义
对ZSL问题,其实主要是:能够用一部分数据(训练集-可见类)和该数据一些辅助信息来训练一个模型,然后利用该模型对不属于训练集类别的数据进行测试,即让模型能够利用辅助信息(对应于人类的先验知识),对他所没见过的类别进行准确的分类。
针对基本思想分为:可见类(seen classes)和不可见类(unseen calsses),其中辅助信息为类别的属性信息。
具体定义如下:
2.2 如何进行具体实现
ZSL思想的具体实现在于学习语义空间(属性信息-attribute)和视觉空间(特征-feature)之间的映射。将深度模型提取的图像特征嵌入到视觉空间中。语义空间将可见类和不可见类的先验经验嵌入到高维向量中 (简单理解就是:图像通过深度模型提取出来的特征嵌入到视觉空间–其实就是特征;前面提到的先验知识就是属性信息,即某一类别的具体属性描述信息)。通过语义空间和视觉空间的映射,ZSL可以将从可见类获得的知识转移到不可见类。换句话说,ZSL使用语义信息来弥合可见类和不可见类之间的鸿沟 (因为语义信息既包含可见类的语义信息,也包含不可见类的语义信息,通过语义信息来将可见类和不可见类联系起来) 。
3. ZSL 的基本方法
主要方法分为两类:以嵌入为基础的方法和以生成为基础的方法。
3.1 以嵌入为基础
从基本概念,基本形式等入手
3.2 以生成为基础
4. ZSL 所遇到的一些问题
主要参考文章:
[1] https://zhuanlan.zhihu.com/p/34656727?spm=5176.9876270.0.0.399ce44aXsg7cN
[2] A Review of Generalized Zero-Shot Learning Methods (Farhad Pourpanah, Moloud Abdar, Yuxuan Luo, Xinlei Zhou, Ran Wang, Chee Peng Lim, Xi-Zhao Wang)