zero-shot learning

Intro

There is no intersection between classes in training data and test data.

So, to recognize the unseen classes, we should try to find out the description of the classes (semantic information).

Methods

两种分类

基于嵌入的方法

基于嵌入的方法的主要目标是使用投影函数将图像特征和语义属性映射到一个公共的嵌入空间,该投影函数是使用深度网络学习的。共同的嵌入空间可以是视觉特征空间、语义空间或重新学习的中介空间。

大多数基于嵌入的方法都使用语义空间作为公共嵌入空间。在训练期间,目标是使用来自已知类的数据学习从视觉空间(即图像特征)到语义空间(即词向量/语义嵌入)的投影函数。由于神经网络可以用作函数逼近器,因此投影函数自然可以选用深度网络来学习。

在测试阶段,将未知类图像特征输入到前面训练好的网络里,获得相应的语义嵌入。然后在语义属性空间中进行最近邻搜索,以找到与网络输出最接近的匹配项。最后,将与最接近的语义嵌入相对应的标签预测为输入图像特征的输出标签。

zero-shot learning

首先将输入图像通过特征提取器网络(通常是深度神经网络),以获取图像的 N 维特征向量。此特征向量充当我们主投影网络的输入,而主投影网络又输出 D 维输出向量。目的是学习投影网络的权重/参数,以便从视觉空间中的 N 维输入映射到语义空间中的 D 维输出。损失函数用于度量 D 维输出与真实语义属性之间的误差。然后就是训练网络的权重,使 D 维输出尽可能接近真实语义属性。

基于生成模型的方法

基于嵌入的方法的主要缺点是它们存在偏差和域移位的问题。这意味着,由于投影函数是在训练期间仅使用已知类学习得来的,因此它将偏向于将已知类标签作为输出进行预测。另外,也不能保证学习的投影函数会在测试时正确地将未知类图像特征正确地映射到相应的语义空间。这是由于这样一个事实,即深度网络仅在训练过程中学会了将已知类的图像特征映射到语义空间,并且可能无法在测试时对新颖的未知类正确地执行相同的操作。

为了克服这个缺点,有必要让零样本分类器在已知类和未知类的所有图像上训练。由此引出基于生成模型的方法。生成方法旨在为未知类使用语义属性生成图像特征。一般是用一个条件生成对抗网络来实现的,该条件生成对抗网络生成以特定类的语义属性为条件的图像特征。

zero-shot learning

一旦训练好生成模型,我们将冻结生成器的参数,并将未知类的属性向量输入生成模型,以生成未知类的图像特征。现在,由于我们有了已知类的图像特征(从数据集中)和未知类的图像特征(由生成器生成),我们可以训练一个简单的分类器,该分类器将图像特征作为输入并输出相应的类别标签

直接属性预测模型(DAP)

DAP可以理解为一个三层模型:第一层是原始输入层,例如一张电子图片(可以用像素的方式进行描述);第二层是p维特征空间,每一维代表一个特征(例如是否有尾巴、是否有毛等等);第三层是输出层,输出模型对输出样本的类别判断。在第一层和第二层中间,训练p个分类器,用于对一张图片判断是否符合p维特征空间各个维度所对应的特征;在第二层和第三层间,有一个语料知识库,用于保存p维特征空间和输出y的对应关系

简单来讲,就是对输入的每一个属性训练一个分类器,然后将训练得出的模型用于属性的预测,测试时,对测试样本的属性进行预测,再从属性向量空间里面找到和测试样本最接近的类别。

问题:

算法引入了中间层,核心在于尽可能得判定好每幅图像所对应的特征,而不是直接去预测出类别;因此DAP模型在判定属性时可能会做得很好,但是在预测类别时却不一定;

无法利用新的样本逐步改善分类器的功能

ALE模型

在分类问题中,每个类别被映射到属性空间中,即每个类别可用一个属性向量来表示(例如:熊猫—>(黑眼圈,爱吃竹子,猫科动物......))。ALE模型即学习一个函数F,该函数用于衡量每一幅图像和每个属性向量之间的匹配度. ALE模型确保对于每幅图像,和分类正确的类别的相容性比和其他类别的匹配度高。

SAE

Semantic Autoencoder for Zero-Shot learning

主要是关于利用语义自编码器实现zero-shot learning的工作。一定程度上解决了训练集和测试集的领域漂移(domain shift)问题。整个算法最核心的地方是在自编码器进行编码和解码时,使用了原始数据作为约束,即编码后的数据能够尽可能恢复为原来的数据。

LDF

Discriminative Learning of Latent Features for Zero-Shot Recognition

W是要学习的视觉-语义映射矩阵。

zero-shot learning

Problem

Project domain shift problem

Since the test data has different (unseen classes) in training set, the ZSL suffers from project domain shift problem.

零样本学习:Zero-Shot learning(2018CVPR)

Reference

Zero-Shot learning

零样本学习 Zero-Shot Learning 入门

上一篇:为什么预训练模型只要FT或者PT就效果很好


下一篇:[论文分享] Self-Promoted Prototype Refinement for Few-Shot Class-Incremental Learning