1 什么是Zero-shot Learning?
对某(些)类别完全不提供训练样本,也就是没有标注样本的迁移任务被称为零次学习。
例子说明:
- 假设斑马是未见过的类别,但该类别有相关的描述:类似于马、有条纹、黑白;
- 通过训练集(看见过的类别)学习到:
– 1)horse and donkey:学到和马相似的特征;
– 2)tiger and hyena:学到条纹的特征;
– 3)penguin and panda:学到黑白的特征。 - 用这些特征和斑马类型的描述进行匹配,根据匹配度来确定是否属于斑马这个未知类。
零次学习通过模仿人类的推理过程,使得计算机具有识别新事物的能力。
2 Zero-shot Learning定义
根据文献[2]可以得到如下定义:
解读如下:
- S = { c i s ∣ i = 1 , … , N s } \mathcal{S}=\left\{c_{i}^{s} \mid i=1, \ldots, N_{s}\right\} S={cis∣i=1,…,Ns}:已知类别的集合;
- U = { c i u ∣ i = 1 , … , N u } \mathcal{U}=\left\{c_{i}^{u} \mid i=1, \ldots, N_{u}\right\} U={ciu∣i=1,…,Nu}:未知类别的集合;
- S ∩ U = ∅ \mathcal{S} \cap \mathcal{U}=\emptyset S∩U=∅:已知和未知类别交集为空;
- X ∈ R D \mathcal{X} \in \mathbb{R}^{D} X∈RD:特征空间,特征为 D D D维;
- D t r = { ( x i t r , y i t r ) ∈ X × S } i = 1 N t r D^{t r}=\left\{\left(\mathrm{x}_{i}^{t r}, y_{i}^{t r}\right) \in X \times \mathcal{S}\right\}_{i=1}^{N_{t r}} Dtr={(xitr,yitr)∈X×S}i=1Ntr:训练集, x i t r \mathrm{x}_{i}^{t r} xitr为训练样本的特征向量, y i t r y_{i}^{t r} yitr为训练样本的标签向量;
- X t e = { x i t e ∈ X } i = 1 N t e X^{t e}=\left\{\mathrm{x}_{i}^{t e} \in X\right\}_{i=1}^{N_{t e}} Xte={xite∈X}i=1Nte:测试集, x i t e \mathrm{x}_{i}^{t e} xite为训练样本的特征向量;
- Y t e = { y i t e ∈ U } i = 1 N t e Y^{t e}=\left\{{y}_{i}^{t e} \in \mathcal{U}\right\}_{i=1}^{N_{t e}} Yte={yite∈U}i=1Nte:测试样本未知类别的集合, y i t e {y}_{i}^{t e} yite为测试样本 i i i对应的预测标签。
【零次学习的定义】:给定已经类别的训练集 D t r D^{t r} Dtr,零次学习的目的就是获得一个分类器 f u ( ⋅ ) : X → U f^{u}(\cdot): \mathcal{X} \rightarrow \mathcal{U} fu(⋅):X→U可以将测试集 X t e X^{t e} Xte中的样本划分到未知类别 U \mathcal{U} U中。
3 语义空间
3.1 特征空间、语义空间及标签空间联系和区别
根据文献[3]可知,一个样本除了已有的特征空间、标签空间外,还需要学习到一个语义空间。
如何理解语义空间?
- 特征空间:图片或图片本身提取到的特征,即图片的像素特征或用深度网络提取的图片特征,如GoogleNet提取为1024维;
- 语义空间:更利于人类理解的样本描述,如是否有水,是否是黑色,是否是白色;
- 标签空间:是否为斑马。
可以简单理解为:
- 特征空间最为直观,可以是像素级的,也可以是多个像素的组合,利于计算机的直接表达;
- 语义空间是对特征空间的进一步抽象,有利于人类的认知;
- 标签空间最为抽象,更接近人类的理解。
3.2 如何学习语义空间?
- 第一步:利用训练集学习到参数
ω
s
\omega^{s}
ωs
min ω s 1 N t r ∑ i = 1 N t r ℓ 1 ( f s ( x i t r ; ω s ) , y i t r ) + λ 1 R 1 ( ω s ) . \min _{\omega^{s}} \frac{1}{N_{t r}} \sum_{i=1}^{N_{t r}} \ell_{1}\left(f^{s}\left(\mathbf{x}_{i}^{t r} ; \omega^{s}\right), y_{i}^{t r}\right)+\lambda_{1} R_{1}\left(\omega^{s}\right). ωsminNtr1i=1∑Ntrℓ1(fs(xitr;ωs),yitr)+λ1R1(ωs). - 第二步:对于一个已知类别 c i s c_{i}^{s} cis,参数和语义向量对 ( ω i s , t i s ) \left(\omega_{i}^{s}, \mathbf{t}_{i}^{s}\right) (ωis,tis)可以获取;
- 第三步:利用参数和语义向量对
(
ω
i
s
,
t
i
s
)
\left(\omega_{i}^{s}, \mathbf{t}_{i}^{s}\right)
(ωis,tis),学习到语义参数
ς
\varsigma
ς
min ς 1 N s ∑ i = 1 N s ℓ 2 ( φ ( t i s ; ς ) , ω i s ) + λ 2 R 2 ( ς ) . \min _{\varsigma} \frac{1}{N_{s}} \sum_{i=1}^{N_{s}} \ell_{2}\left(\varphi\left(\mathrm{t}_{i}^{s} ; \varsigma\right), \omega_{i}^{s}\right)+\lambda_{2} R_{2}(\varsigma). ςminNs1i=1∑Nsℓ2(φ(tis;ς),ωis)+λ2R2(ς). - 第四步:一个测试样本
x
i
t
e
\mathrm{x}_{i}^{t e}
xite,利用如下公式进行预测
y i t e = x i t e ⋅ t i s ⋅ ς {y}_{i}^{t e} = \mathrm{x}_{i}^{t e} \cdot \mathrm{t}_{i}^{s} \cdot \varsigma yite=xite⋅tis⋅ς
3.3 语义空间的学习方法
- 三种学习设置 learning settings for zero-shot learning
- 语义空间的形成可以是多种多样的(标签嵌入,文本嵌入,关键词嵌入,图像表达空间等);
- 零次学习的可能出现的问题,如领域漂移等。
参考文献
[1] https://zhuanlan.zhihu.com/p/34656727
[2] Wei Wang, Vincent W. Zheng, Han Yu, and Chunyan Miao. 2019. A Survey of Zero-Shot Learning: Settings, Methods, and Applications. ACM Trans. Intell. Syst. Technol. 10, 2, Article 13 (January 2019), 37 pages. https://doi.org/10.1145/3293318
[3] Romera-Paredes, B., & Torr, P. (2015, June). An embarrassingly simple approach to zero-shot learning. In International conference on machine learning (pp. 2152-2161). PMLR