zero-shot learning
研究问题
建立一个合适的分类模型,特征空间和语义空间的映射
数据集
Animal with Attributes(AwA)官网:Animals with Attributes
Caltech-UCSD-Birds-200-2011(CUB)官网:Caltech-UCSD Birds-200-2011
Sun database(SUN)官网:SUN Database
Attribute Pascal and Yahoo dataset(aPY)官网:Describing Objects by their Attributes
ILSVRC2012/ILSVRC2010(ImNet-2)
基本算法(Baselines)
目的:建立特征空间与语义空间之间的映射
- 最简单的是岭回归(ridge regression),均方误差+范数约束
是L2范数
岭回归有效的原因是因为训练集类别语义和测试集类别语义之间存在密切联系。其实任何ZSL方法有效的基础都是训练集类别语义和测试集类别语义之间的具体的联系。
零样本学习中存在的问题
领域漂移问题(domain shift problem)
source 和target数据集有不同的类别,底层数据分布可能不一样。投影函数(projection function)在source数据集上学习从visual space到embedding space,而没有任何对target数据集进行任何调整,就会造成一种未知的漂移/偏置。图中Zebra是source类别,Pig是target类别,Pig图片经过投影函数得到预测语义属性投影,与Pig的prototype有很大的差异。
这个问题可以通过Transductive Learning解决,利用unseen类别样本的流形信息,即所有的测试样本可以在训练时获得。这在unseen类别动态出现或在训练时不可获取时是无效的。
SAE也可以解决这个问题,由于样本的特征维度往往比语义的维度大,所以建立从 X到S的映射往往会丢失信息,为了保留更多的信息,保持更多的丰富性,最流行的做法是将映射到语义空间中的样本,再重建回去,这样学习到的映射就能够得到保留更多的信息。因此,在原来简单岭回归[1]的基础上,可以将目标函数改为:
这是利用Auto-encoder的思想解决问题。
枢纽点问题(Hubness problem)
hubnes是高维空间中的固有性质,在高维空间中,某些点会成为大多数点的最近邻点。这听上去有些反直观
解决方法,建立从语义空间到特征空间的映射
语义间隔(semantic gap)
样本在特征空间中所构成的流型与语义空间中类别构成的流型是不一致的。
其他概念
-
直推式学习(Transductive setting)
在训练模型时可以拿到测试集的数据,只是不能拿到测试集的样本的标签,可以利用测试集数据得到一些测试集类别的先验知识。
泛化的ZSL(Generalized ZSL)
测试集样本属于seen类别和unseen类别
paper list
- Learning To Detect Unseen Object Classes by Between-Class Attribute Transfer (开创性)
- An embarrassingly simple approach to zero-shot learning (理论基础强)
- Transductive Multi-View Zero-Shot Learning(domain shift)
- Zero-shot recognition using dual visualsemantic mapping paths(semantic gap)
- Predicting visual exemplars of unseen classes for zero-shot learning(看成聚类问题)
- Semantic Autoencoder for Zero-Shot Learning(Auto Encoder)
- Zero-Shot Learning - A Comprehensive Evaluation of the Good, the Bad and the Ugly(review)
- Zero-Shot Learning via Class-Conditioned Deep Generative Models
- Preserving Semantic Relations for Zero-Shot Learning
- Recent Advances in Zero-shot Recognition