前言
zero-shot learning(ZSL)是近几年研究的一个热点问题,每年在计算机视觉领域的顶级期刊都会有几篇典型的论文被刊登,比如CVPR。在传统的计算机视觉任务中,一般以多分类问题为基础,比如我们要识别出几个类别:狗、椅子、人,在训练分类模型时,我们会输入三种类别的图像数据去训练模型,对于给定的一个新图片,模型就可以给出一个标签(这张测试图像属于狗、椅子或人)。这个时候就有学者给出不同的想法:
- 当训练样本的标签类别和测试样本的标签类别一致时,即测试样本的图像类别都是训练样本中出现过的,这属于我们常说的多分类任务。
- 当测试样本的标签类别和训练样本不一致时,即测试样本的图像类别有一类或者更多类没有在训练样本中出现过,这个问题就属于zero-shot learning研究的范畴。
zero-shot learning相对比计算机视觉的其他问题比如多分类、目标检测等,一个重要理论基础就是利用高维语义特征代替样本的低维特征,使得训练出来的模型具有迁移性。我们知道卷积神经网络具有将低维的图像特征(像素)抽象为高纬的语义特征,在ZSL研究领域,使用语义向量(词向量)表述高维语义特征,比如输入卷积神经网络的是一张汽车的图像,低维得特征就是一个个像素点(像素矩阵),通过卷积层的逐步加深,最终获得“轮子”、“车灯”等部分特征,这样一个汽车的高维语义为“有轮子,车灯,玻璃‘’那我们就可以根据对应的词向量预测类别。
论文《Semantic Autoencoder for Zero-Shot Learning 》的学习
- 自编码器结构
上图为作者使用的自编码器,对原始样本进行编码,图中的X为样本,S为自编码器的隐层,X ̂为由隐层重建的X的表示。论文里的隐层S层为属性层,和普通的自编码隐层不同,它是原样本X的抽象语义特征表示。
- SAL内容
总结
文章最大的亮点在于:1. 提出了一种新的用于ZSL的语义自编码模型(SAE);2. 提出了对模型进行高效的学习算法;3.算法可用于监督聚类问题。作者通过加入WX=S这一约束条件,将非监督的自编码器变为监督的自编码器的同时,也将图像特征X到语义向量S这一映射加入到模型中。然后通过对优化公式一系列的转化,变为Matlab可以高效求解的问题。
参考文献
[1] Kodirov E, Xiang T, Gong S. Semantic Autoencoder for Zero-Shot Learning[J]. 2017:4447-4456.
[2]论文的代码GitHub:https://elyorcv.github.io/projects/sae