Zero-Shot Visual Recognition using Semantics-Preserving Adversarial Embedding Networks

零样本学习(ZSL)

符号 含义
\(\mathcal{V}\) 视觉空间
\(\mathcal{S}\) 语义空间,\(\mathbb{R}^d\)
\(E\) \(E:\mathcal{V}\to\mathcal{S}\),视觉空间到语义空间的映射
\(G\) \(G:\mathcal{S}\to\mathcal{V}\),语义空间到视觉空间的映射
\(\mathcal{L_s}\) 可见标签集
\(\mathcal{L_u}\) 不可见标签集
\(\{x_i,l_i\}\) 训练集,其中\(x_i \in \mathcal{V},l_i\in\mathcal{L_s}\)
\(\mathbf{y}_l\) \(\mathbf{y}_l\in\mathcal{S}\)
\(l^*\) 预测标签
\(L_{cls}\) 分类损失函数
\(L_{rec}\) 重构损失函数
\(L_{adv}\) 对抗损失函数

零样本学习的目标是学习一个分类器,该分类器可以预测任何图像\(x\)的标签,包括\(\mathcal{L_s}\)\(\mathcal{L_u}\)中的标签。几乎所有的零样本学习方法都可以归结为以下基于嵌入的框架:寻找一个视觉-语义映射\(E:\mathcal{V}\to\mathcal{S}\),使任何标签\(l\)都可以嵌入到语义空间(对应于\(\mathbf{y}_l\)),使用最近邻搜索进行标签预测得到\(l^*\)\[l^* = \underset{l \in L}{max}\mathbf{y}_l^T E(x) \tag{1.1}\] 在传统的零样本学习中,\(l\in\mathcal{L_u}\),而在现实应用中,\(l \in\mathcal{L_u}\cup\mathcal{L_s}\)。公式(1.1)不必是线性模型,也可以是深度神经网络等高度非线性模型。

分类目标

公式(1.1)基本上是一个排序问题,本文提出的语义保持的对抗嵌入网络(SP-AEN)使用基于大边距的损失函数作为分类目标,即给定训练数据\((x,l)\)\(\mathbf{y}_l\)\(E(x)\)的内积应该尽可能大,对于错误标签的的\((x,l')\)\(\mathbf{y}_{l'}\)\(E(x)\)的内积应该尽可能小,分类正确与错误的相似度边界应该大于一个阈值\(\gamma\): \[L_{cls}=\sum_{l\neq {l'}} max \{0,\gamma - \mathbf{y}_l^T E(x) + \mathbf{y}_{l'}^T E(x) \} \tag{1.2}\] 其中\(\gamma\)是超参数,在每次随机迭代训练中,只有\(l'\)是随机选取的。损失函数\(L_{cls}\)使得所有图像\(x\)的语义嵌入\(E(x)\)接近于相同的标签\(\mathbf{y}\),导致语义损失。

重构目标

重构目标是学习一个将语义嵌入\(s\in S\)重构为图像\(x\)的映射\(G:\mathcal{S}\to\mathcal{V}\),使得\(||G(s)-x||\)尽可能小。考虑到自动编码器的形式\(s = E(x)\)与分类目标相矛盾,因此引入独立的视觉-语义映射\(F\)\(s=F(x)\),另外,由于CNN中的特征空间已经是一个语义空间,因此SP-AEN不使用深度CNN的高层输出作为视觉空间\(\mathcal{V}\),直接使用原始的256 * 256 * 256 * 3的RGB颜色空间重构图像。通过最小化重构目标,\(F(x)\)保留充足的语义以重构图像: \[L_{rec} = L_{feat}+\lambda_pL_{pixel} \tag{1.3}\] 其中\(L_{feat}=||\phi(G(F(x)))-\phi(x)||_2^2\)是特征级损失,表示保留两张图像感知(如局部结构细节)相似度的效果。采用AlexNet的第5个卷积层(conv5)作为\(\phi\)\(L_{pixel}=||G(F(x))-x||_2^2\)是像素级重构损失,使重构稳定。

对抗目标

至此,分离的语义嵌入\(E(x)\)\(F(x)\)还没有语义迁移,而目标是将来自多个\(E(x')\)\(F(x)\)中保留的丰富语义组合到各种类中。然而,很难人工定义训练过程中动态改变的\(F(x)\)\(E(x)\)之间的可信组合规则。为此,SP-AEN通过欺骗输出\(E(x')\)是真实\(F(x)\)概率的判别器网络\(D\),用对抗目标促使\(E(x)\)接近\(F(x)\)\[L_{adv}=\mathbb{E}_x(log D(F(x))) + \mathbb{E}_{x'}(log [1 - D(E(x'))]) \tag{1.4}\] 其中,\(E\)尝试最小化\(L_{adv}\),与尝试最大化\(L_{adv}\)\(D\)对抗,即\(E^*=\mathop{argmin}_E \mathop{max}_D L_{adv}\)。最小化\(L_{adv}\)由于模态坍塌问题需要技巧。在本文情况下,当两张图片相似而且类别相同时,\(||F(x)-E(x')||\approx 0\),会发生坍塌现象,导致类间语义迁移失败。本文采用WGAN策略避免该问题。

总目标

组合分类目标、重构目标和对抗目标,可以得到SP-AEN的总目标: \[L(E,F,G,D)=L_{cls}(E)+\alpha L_{rec}(E,F,G)+\beta L_{adv}(E,F,G,D) \tag{1.5}\] 其中\(\alpha\)\(\beta\)是不同目标的系数,最终目标是求解: \[E^*=\underset{E,F,G}{arg\ min}\ \underset{D}{max}L(E,F,G,D)\] AP-AEN的结构如下图所示:
AP-AEN


Weakly Supervised Cascaded Convolutional Networks

概述

本文提出了两种弱监督情况下的弱级联卷积网络(WCCN)结构,将多个不同但相关的任务联合处理。这些任务分别是分类,定位和多实例(multiple instance learning, MIL)学习,这种端到端的联合处理有更好的目标检测和定位效果。本文的目标是在包含多个目标的图像中学习一个良好的外观模型,但这些图像只有图像级人工标记,主要贡献是提高了弱标注情况下多目标检测的能力。第一种结构是二阶段级联网络,先定位目标,再用多实例学习框架检测目标;第二种是三阶段级联网络,相比第一种,在中间新增了语义分割阶段,在弱监督模型中采用伪标签进行分割。

二阶段级联结构

二阶段级联结构
二阶段级联结构

假设有N张训练图像的数据集\(\mathcal{I}=\{(I^1,y^1),\dots,(I^N,y^N)\}\),共有C个类,\(I^k\)表示一张图像,\(y^k=[y_1,\dots,y_C]\in\{0,1\}^C\)表示\(I^k\)是否包含某个类。

  1. 第一阶段
    第一阶段是一个全卷积CNN和一个全局平均池化层(GAP)或全局最大池化(GMP)层,训练产生目标定位或类激活映射,提供候选框。由于一张图可能有多个类,本阶段对每个类采用独立的损失函数,总损失为每个类损失之和。

  2. 第二阶段
    第二阶段采用MIL从第一阶段得到的候选框中选取每个类的最佳候选框。为了形成端到端框架,本阶段将MIL损失函数合并到网络中。假设\(x= \{x^j|j=1,2,\dots,n\}\)是图像\(I\)中的一组实例,\(x^j\)是一个候选框;\(f_{cj}\in\mathfrak{R}^{C\times n}\)表示\(x^j\)属于类\(i\)的评分。本阶段采用ROI池化层实现\(f_{cj}\),定义概率和损失为 \[P_c(x,I)=\frac{exp(\underset{j}{max}f_{cj})}{\sum_{k=1}^Cexp(\underset{j}{max}f_{kj})}\\ L_{MIL}(y,x,I)=-\sum_{c=1}^Cy_clog(P_c(x,I))\tag{2.1}\] conv1到conv5的权值在两个阶段共享,第二阶段额外添加两个全连接层和一个评分层,用于学习MIL任务。

  3. 端到端训练
    两个级联的损失函数通过端到端的随机梯度下降算法优化,总损失函数为:\[L_{Total}=L_{GAP}(y,I)+\lambda L_{MIL}(y,x,I)\tag{2.2}\]其中\(\lambda\)是平衡两个损失函数的超参数。

  4. 生成实例组
    本文使用Edgeboxs生成初始候选目标集,然后对类激活映射进行阈值处理以得出掩码,最后选取掩码重复次数最多的候选框。

三阶段级联结构

三阶段级联结构
三阶段级联结构

三阶段级联结构是在二阶段级联结构中添加中间阶段,第一阶段和第三阶段与二阶段级联结构相似。

  1. 中间阶段
    本阶段采用弱监督的分割网络,使用目标位置和标签作为监督。本阶段可以从前一阶段的结果中得到更有意义的目标位置映射,该弱监督网络将前一阶段的结果作为伪标签进行监督学习,和MIL阶段共同提高目标定位效果。本阶段采用全卷积CNN,最后一层是逐像素softmax,输出\(S\in \mathfrak{R}^{C\times m}\),其中m是图像的像素数量。假设\(H_c\)是类别\(c\)的热图,定义\(\alpha_c=max(H_c)\)\(I_c\)\(argmax(H_c)\)的邻居。弱监督分割网络的损失函数为: \[L_{Seg}(S,H,y)=-\sum_{c=1}^Cy_c(log(S_{t_cc})+\sum_{i\in{I_c}}\alpha_clog(S_{ic}))\tag{2.3}\] 其中,\(t_c=\underset{i\in I}{argmax}S_{ic}\)。由于使用热图提供的伪标签,本阶段与原热图相比可以提供更好的分割映射。

  2. 端到端训练
    三个阶段的总损失函数为\[L_{Total}=L_{GAP}(y,I)+\gamma L_{Seg}(y,I)+\lambda L_{MIL}(y,x,I)\tag{2.4}\]

目标检测训练

本文将这两种网络的输出作为图像的伪标签,输入到标准目标检测框架,例如Fast-RCNN。既可以单独训练标准Fast-RCNN,也可以将网络与Fast-RCNN框架结合到一起训练,后者可以共享部分卷积层。测试时,用EdgeBoxes抽取目标候选,使用训练好的Fast-RCNN从候选池中检测目标,执行非极大值抑制。

目标检测结果示例
目标检测结果示例

Weakly-Supervised Image Annotation and Segmentation with Objects and Attributes

本文使用Weakly Supervised Markov Random Field Stacked Indian Buffet Process(WS-MRF-SIBF)学习目标外观、属性类别和实例间的联系。WS-MRF-SIBF使用目标和属性作为潜在因素建模,通过超像素显式获取他们间的关系。该模型可以解决自动目标标注、属性预测和关联、目标检测和语义分割。

图像表示

给定一个图像集合和图像级目标和属性标签,但目标和属性标签没有显式关联,本文的目标是学习一个模型,将一张新图像中的不同目标分割出来并赋予目标和属性标签。首先将每张图像过度分解成超像素块,这些超像素块通常只包含目标的一部分,因此目标属性标注和分割问题就转化为每个超像素块的多标签分类问题,有很多解决方案。训练集中的每张图像\(i\)都是用层次分割算法分解成\(N_i\)个超像素。每个超像素用两种归一化的直方图特征表示:SIFT和颜色。

  1. SIFT:每5个像素抽取四个等级的colorSIFT,再用这些ColorSIFT构造一个256元的GMM模型,计算每个超像素中所有正则点的Fisher Vector + PCA,每个分区得到512维描述符。
  2. 颜色:首先将图像转化为量化的\(8\times 8\times 8\)LAB空间,对每个超像素计算出512维的颜色直方图。

最后将SIFT和颜色特征组合得到归一化的1024维特征向量。

模型描述

本文提出一个从图像级目标和属性弱标注中学习图像描述的非参数贝叶斯模型。在该模型中,每个超像素与一个无穷潜在因素向量相关联,表示是否对应于未标注的杂乱背景、感兴趣的目标或是目标对应的属性。给定一组弱标记的图像和分割好的超像素,需要学习:1) 哪些超像素对应于特定标签; 2)哪些超像素对应于未标注背景; 3)每个对象、属性和背景类型的外观。另外,多标签可以对应于同一个超像素,需要消除超像素中多外观与多标签间的歧义。

  1. WS-SIBP
    将图像\(i\)表示为一组超像素的集合\(X^{(i)}=\{X_j^{(i)}\}\),其中\(X_j\)表示矩阵\(X\)的第\(j\)行,即表示第\(j\)个超像素的1024维特征,\(j\in\{1,\dots,N_i\}\)。假设训练集的图像级标注中有\(K_o\)个目标种类和\(K_a\)个属性,潜在因素向量可以用前\(K_{oa}=K_o+K_a\)个潜在因素表示。另外,其它因素可以解释为杂乱的背景,也可以用来发现未标注的潜在属性。训练时,假设每张图像\(i\)都有一个表示目标和属性的位向量\(L^{(i)}\)\(L_K^{(i)}=1\)表示属性或者目标\(k\)出现,否则不出现,另外,对于所有的\(k>K_{oa}\)\(L_K^{(i)}=1\)。基于这些假设,图像生成过程如下:

    其中\(N\),Bern和Beta分别对应于正态分布,伯努利分布和贝塔分布。 联合概率: 联合概率

  2. WS-MRF-SIBP

实在看不懂了……


Zero-Shot Learning - The Good, the Bad and the Ugly

本文提出一种统一的零样本学习算法评估基准。本文评估了10种零样本学习算法在5个数据集上的表现,包括了零样本学习环境和泛化的零样本学习环境,给出统计含义和鲁棒性测试,以及其它有价值的结论。

零样本学习

给定训练集 \(S=\{(x_n,y_n),n=1,\dots,N\}\),其中\(y_n\in\mathcal{Y}^{tr}\)属于训练类别,零样本学习的任务是通过最小化公式(4.1)中的正则经验风险学习\(f:\mathcal{X}\to\mathcal{Y}\)\[\frac{1}{N}\sum_{n=1}^NL(y_n,f(x_n;W))+\Omega(W)\tag{4.1}\] 其中\(L(·)\)是损失函数,\(\Omega(·)\)是正则项,映射\(f:\mathcal{X}\to\mathcal{Y}\)定义为: \[f(x;W)=\underset{y\in\mathcal{Y}}{argmax} F(x,y;W)\tag{4.2}\] 在零样本学习的测试过程中,目标是为测试图像赋予未知标签\(\mathcal{Y}^{ts}\subset \mathcal{Y}\);而在泛化的零样本学习中,测试图像可以被赋予任意标签\(\mathcal{Y}^{tr+ts}\subset \mathcal{Y}\)

方法和数据

  • 被评估的算法:
    • 学习线性兼容性:DEVISE、ALE、SJE、ESZSL。
    • 学习非线性兼容性:LATEM、CMT。
    • 学习中介属性分类器:DAP
    • 混合方法:SSE、CONSE、SYNC。
  • 评估数据集: 数据统计

评估标准

单标签分类的准确性由预测标签是否正确来度量,如果对所有图像的精度取平均值,数量多的类总是有很高的准确性。然而,数量少的类也应该有很高的准确性,因此本文单独测量每个类的平均准确性。在泛化的零样本学习中,评估时的搜索空间不局限于测试类,也包含训练类,因此这种情况更有实践意义。分别计算每个类训练和测试时的准确性后,计算算法的最终评分: \[H=2 * (acc_{\mathcal{Y}^{tr}} * acc_{\mathcal{Y}^{ts}} )/(acc_{\mathcal{Y}^{tr}} + acc_{\mathcal{Y}^{ts}} )\tag{4.3} \] 其中\(acc_{\mathcal{Y}^{tr}}\)\(acc_{\mathcal{Y}^{ts}}\)分别表示已知类\(\mathcal{Y}^{tr}\)预测准确性和未知类\(\mathcal{Y}^{ts}\)预测准确性。取调和平均数可以准确反映已知类和未知类的共同准确性。


Zero-Shot Deep Domain Adaptation

给定感兴趣的任务(TOI),源领域\(D_s\)和目标领域\(D_t\),零样本深度领域自适应(ZDDA)实现两个目标:1)领域自适应:当目标领域没有任务相关(T-R)的训练数据时将\(D_s\)的TOI应用于\(D_t\),假设数据集包含\(D_s\)中任务相关的训练数据和任务无关(T-I)的对偶领域对\(D_s\)\(D_t\);2)传感器融合:在之前假设的基础上,\(D_s\)\(D_t\)的测试数据都可用时,迁移TOI的解决方案,\(D_s\)\(D_t\)中的测试数据都可能包含噪声数据,且不能预知噪声类型和噪声所在的领域。

具体地,本文以RGB-D上的分类任务为TOI的例子,解释ZDDA算法,当然,ZDDA还可以应用于其它TOI。在此例中,\(D_s\)\(D_t\)分别是灰度图和RGB图。根据之前的假设,训练时有标记好的T-R的灰度数据和T-I的RGB-D对。ZDDA的训练过程如下图所示:
训练过程

ZDDA的测试过程如下:
测试过程


Unsupervised Learning of Disentangled and Interpretable Representations from Sequential Data

序列数据的生成经常涉及不同时间尺度上的多个独立因素。这种多尺度行为导致某些属性在同一段语音中的变化范围较小,而在不同端语音间变化范围较大,比如基础频率和音量;而其他属性在不同段语音中的变化范围接近,例如语音内容。称前一种属性为序列级属性,其它的为段级属性。本文将两种属性分别编码为潜在序列变量和潜在段变量,前者使用序列独立的先验概率正则化,后者使用序列不独立的先验概率,实现分离和可解释性表示。

公式化语音生成过程

给定由\(M\)个独立同分布的序列组成的数据集\(\mathcal{D}=\{X^{(i)}\}_{i=1}^M\),其中\(X^{(i)}=\{x^{(i,n)}\}_{n=1}^{N^{(i)}}\)\(N^{(i)}\)个观测值组成的序列,\(N^{(i)}\)是第\(i\)个序列的分段的数量,\(x^{(i,n)}\)是第\(i\)个序列的第\(n\)个段。“段”是指子序列。

  • 假设序列\(X\)是由包含潜在变量\(Z_1=\{z_1^{(n)}\}^N_{n=1}\)\(Z_2=\{z_2^{(n)}\}^N_{n=1}\)\(\mu_2\)等随机过程生成的。生成过程为:

    1. 由先验分布\(p_\theta(\mu_2)\)生成\(\mu_2\)
    2. 分别由序列独立的先验分布\(p_\theta(z_2|\mu_2)\)和序列不独立的先验分布\(p_\theta(z_1)\)生成\(N\)个潜在序列变量\(\{z_1^{(n)}\}^N_{n=1}\)\(N\)个潜在段变量\(\{z_2^{(n)}\}^N_{n=1}\)
    3. 由条件分布\(p_\theta(x|z_1,z_2)\)生成\(N\)个独立同分布的观测变量\(\{x^{(n)}\}_{n=1}^{N}\)

    序列的联合概率为: 联合概率

    定义表达式右边的各项为: 各项的定义

    该过程使同一序列中的潜在序列变量\(z_2\)尽可能接近\(\mu_2\),达到同一序列中变化范围小、不同序列中变化范围大的效果;潜在段变量\(z_1\)受到全局限制,达到对其它序列内和序列间变化区别不大的属性进行编码的效果。

  • 在变分自动编码器框架中,真实后验分布无法推测,因此采用推测模型\(q_\Phi(Z_1^{(i)},Z_2^{(i)},\mu_2^{(i)}|X^{(i)})\)来近似后验分布,同时引入变分函数\(p_\theta(Z_1^{(i)},Z_2^{(i)},\mu_2^{(i)}|X^{(i)})\)推断模型 变分公式

序列-序列自动编码器模型结构

序列-序列自动编码器模型结构
序列-序列自动编码器模型结构

Unsupervised Learning of Disentangled Representations from Video

本文提出了Disentangled Representation Net(DRNET)模型,用于从视频中学习分离的图像表示。在该模型中,两个独立的编码器分别生成内容的特征表示和每帧的姿态,其中内容与时间无关,姿态是序列的动态表示。这两个编码器的训练需要帧\(x^t\)的内容表示和后继帧\(x^{t+k}\)的姿态表示可以组合并预测\(x^t\)的像素。然而,这个重构限制不足以起到有效分解的目的,因此本文提出一种新的姿态特征上的对抗损失,避免姿态特征在不同视频间区别太大,保证了它们不包含内容信息。由于内容信息随时间变化较小,时间相近的内容向量应当彼此相似。

模型结构

\(x_i=(x_i^1,\dots,x_i^T)\)表示视频\(i\)\(T\)帧图像序列;\(E_c\)是一个将图像\(x^t\)映射到内容表示\(h_c^t\)的神经网络;\(E_p\)是一个将图像\(x^t\)映射到姿态表示\(h_p^t\)的神经网络;\(D\)是一个根据\(h_c^t\)\(h_p^{t+k}\)预测未来帧\(\tilde{x}^{t+k}\)的解码网络;\(C\)是场景判别网络,输入\((h_1,h_2)\),输出它们来自同一视频的概率。

  • 重构损失 \[L_{reconstruction}(D)=||D(h_c^t,h_p^{t+k})-x^{t+k}||_2^2\tag{7.1}\]
  • 相似度损失 \[L_{similarity}(E_c)=||E_c(x^t)-E_c(x^{t+k})||_2^2\tag{7.2}\]
  • 对抗损失 本文提出的对抗损失考虑到同一视频的目标表示相似、不同视频的目标表示差异大的事实,判别器网络\(C\)使用交叉熵损失: \[-L_{adversarial}(C)=log(C(E_p(x_i^t),E_p(x_i^{t+k})))+log(1-C(E_p(x_i^t),E_p(x_j^{t+k})))\tag{7.3}\] \(E_p\)网络尝试最大化同一视频中两帧的交叉熵: \[-L_{adversarial}(E_p)=\frac{1}{2}log(C(E_p(x_i^t),E_p(x_i^{t+k})))+\frac{1}{2}log(1-C(E_p(x_i^t),E_p(x_i^{t+k})))\tag{7.4}\] 由于姿态编码器倾向于生成无法判别是否为同一视频中的特征,因此不包含内容信息。
  • 训练目标 \[L=L_{reconstruction}(E_c,E_p,D)+\alpha L_{similarity}(E_c)+\beta (L_{adversarial}(E_p)+L_{adversarial}(C))\tag{7.5}\]
模型结构
模型结构

前向预测

训练完成后,\(E_p\)\(E_c\)可以直接用于视频帧预测。本文使用LSTM模型预测下一帧: \[\tilde{h}_p^{t+1}=LSTM(E_p(x^t),h_c^t)\ \ \ \ \ \ \tilde{x}^{t+1}=D(\tilde{h}_p^{t+1},h_c^t)\tag{7.6}\] \[\tilde{h}_p^{t+2}=LSTM(\tilde{h}_p^{t+1},h_c^t)\ \ \ \ \ \ \tilde{x}^{t+2}=D(\tilde{h}_p^{t+2},h_c^t)\tag{7.7}\] 前向预测

分类任务

本文提出的分离的表示还可以用于分类任务,内容特征可以用于图像语义分类,姿态特征可以用于视频序列中的动作分类。


总结

通过对以上论文的理解分析,可以看出针对小样本学习问题,可以考虑应用场景的特点采取有效学习方法。《Weakly Supervised Cascaded Convolutional Networks》通过对未标记数据添加伪标签将小样本学习问题转化为传统的监督学习问题,《Zero-Shot Deep Domain Adaptation》通过学习与目标任务不相关的对偶领域达到领域自适应的目的,《Unsupervised Learning of Disentangled and Interpretable Representations from Sequential Data》根据序列数据的不同尺度分离出不同属性,实现了分离的和可解释的特征表示,《Unsupervised Learning of Disentangled Representations from Video》通过对比相同视频与不同视频间的异同,从视频中抽取出内容特征和姿态特征,实现预测和分类任务。