Ding, Z., Shao, M., & Fu, Y. (2016). Deep Robust Encoder Through Locality Preserving Low-Rank Dictionary. In European Conference on Computer Vision (ECCV), pp. 567-582.
本文是这篇 ECCV 2016 会议论文的笔记,主要是对文中的理论方法进行展开详解。本人学术水平有限,文中如有错误之处,敬请指正。
摘要: 深度学习的研究越来越受关注。深度自编码器已经被广泛讨论,作为数据降维和模型预训练。传统的自编码一般通过加入额外的噪声(例如,高斯)给训练数据,来学习得到鲁棒性的特征,然而没有考虑已经损坏的数据。此文提出了深度鲁棒编码器(Deep Robust Encoder, DRE),通过局部性保留低秩字典,来提取鲁棒的、辨别力的特征,同时优化一个低秩的字典和约束的深度自编码器。首先,在输出层设计一个新的损失函数,一个干净的低秩的字典,和对应的权重包含局部信息,使得重建过程无噪声。其次,判别性的图约束保留了数据的局部几何结构,引导每一个编码层的深度特征学习。
已损坏的
xi,xj
是深度自编码器的输入。在编码和解码过程之后,输出的
x~i,x~j
被要求接近
Dzi,Dzj
,其中
D
是一个已经学习到的干净的低秩字典,
1 简介
最近,深度学习已经吸引了大量的研究兴趣于计算机视觉领域,也已经有了许多应用,图像分类 1 、目标检测 2 、人脸识别 3 。一般的,深度结构学习倾向于从原始数据中提取层级结构的特征表示。最近的研究工作包括:深度卷积神经网络 4 ,深度神经网络 5 、深度自编码器 6 和深度监督网络 7 。
自编码器 8 用于特征提取或预训练方式 9 。传统的自编码器是为了使得输入和输出尽可能地相似,或是输入等于输出、重建误差在解码之后最小。之后的一些研究是,在输入层加入额外的噪声,使得网络能够逐渐地净化噪声,从而实现其能对测试数据进行去噪。这一类的工作(比如 multi-view AE 10 、bi-shift AE 11)都假设:训练数据是干净的,是人为故意破坏的。然而,在实际中,数据被破坏的因素很多:不同的光照、位置变化等,这些都不满足刚才的假设。所以从已经被破坏的真实的数据中学习到鲁棒性的特征,而不是从人为故意破坏、添加噪声的数据,更适用于被破坏的测试数据。这就是此文的研究动机。
最近,低秩矩阵约束(low-rank matrix constraint)已经被提出用于从损坏的数据中学习鲁棒性的特征。具体的,当数据来自一个子空间时,robust PCA 12 可以恢复出低秩的数据部分。而 LRR 13 设计用于从多个子空间中恢复被损坏的数据并移除噪声。所以低秩建模已经被用于不同的场景,比如:multi-view learning 14,transfer learning 15 16 、和字典学习 17。然而将低秩建模应用于深度学习框架中的研究还没有。
之前 low-rank matrix constraint 的研究已经有不少,也有了各种的应用,但是与深度学习的框架结合,用于特征学习是很少的,这是此文的创新点。
基于此,此文设计了 Deep Robust Encoder (DRE),和局部性保留低秩字典。关键思想是同时学习深度自编码器和一个干净的低秩字典,使得可以移除噪声和提取鲁棒性的深度特征在一个统一的框架中。此文的主要贡献有:
一个低秩的字典和一个深度自编码器同时优化基于被破坏的数据,逐渐移除隐含层被破坏的特征的噪声,使得这个深度自编码器可以用于测试数据。
新设计的损失函数,基于一个干净的低秩字典,和输出层的局部保留信息,惩罚损坏和扭曲,同时确保重建无噪声。
图约束加入了自编码器的编码层的特征学习过程中,保留了数据中更多的几何结构,于非监督或有监督的形式。
2 相关工作
略
3 深度鲁棒编码器
3.1 动机
故意添加的噪声,比如随机噪声,人为地添加到数据中,而真实的数据中是自带噪声的,比如,不同的光照,遮挡等。大部分的自编码器通过添加额外的噪声于干净的数据上,使得学习的模型具有鲁棒性。在编码和解码过程中,数据逐渐被恢复。如此,深度的模型就可以忍受一定程度的损坏。
然而,存在两个问题。首先,系统的鲁棒性完全依赖于噪声的形式。噪声的模式越丰富,模型的性能会越好。这不可避免地增加了计算负担。在最坏的情况下,学习好的深度结构不能很好地适用于未预见的测试数据。其次,现实的数据通常有各种的破坏源,构建一个鲁棒的特征提取器来移除已经存在的噪声是更合理的。另外,最近的研究低秩矩阵建模表明可以从已经损坏的数据中去除干扰。基于这些,此文提出了同时学习一个深度自编码器框架、和一个干净的低秩字典,来主动地减缓数据中的噪声和损坏。
3.2 局部保留低秩字典学习
假设训练数据
X∈Rd×n
有
n
个样本,
其中 {W1∈Rr×d,b1∈Rr}, {W2∈Rd×r,b2∈Rd} 是编码层和解码层的参数。具体的,有 f1(xi)=φ(W1xi+b1) 和 f2(f1(xi))=φ(W2f1(xi)+b2) ,其中 φ(⋅) 是一个 element-wise 的激活函数,通常是非线性的,比如 sigmoid 函数或 tanh 函数。DAE 手动添加人工噪声于训练数据中,目标是训练一个去噪自编码器,来去除一些随机噪声。
现实中,
xi
通常是已经损坏的,由于环境因素或来自收集设备的噪声。直观的,此文建立一个网络来检测或移除已经损坏的噪声,使得其可以更好地应用于已经损坏的测试数据。为此,提出一个鲁棒自编码器,带低秩字典学习
其中 di∈Rd 是字典 D∈Rd×n 的第 i 列,
然而,类似传统的自编码器和其扩展,点对点的重建机制仅考虑了一对一的映射,可能会导致数据过拟合,并且忽略了数据的结构。为此,此文提出了一个局部保留的低秩字典学习,通过加入新的系数向量
zi
,保持每一个样本
xi
在网络中的局部性
其中 zi∈Rn 是关于字典 D ,对于样本
其中 xi∈Nk1(xj) 表示 xi 是属于样本 xj 的 k1 最近邻中。具体的,可以定义局部保留系数 zi 用两种方式。在无监督的情况, k1 最近邻是在全部数据中搜索;而在有监督的情况, k1 最近邻在 xi 相同的类别中搜索。实际上,可以简单地扩展到半监督的情况。 σ 是高斯核的带宽(此文中 σ=5 )。
总之,此文提出的带约束的深度自编码器,将原始的自编码器的点对点重构方式,转化为点对集重构的方式,使得其可以保留更多的判别性的信息。为了引导输出层的局部保留字典学习,此文提出加入了判别式的图约束
其中 sjk 是样本 xj 和 xk 的相似度, α 是平衡参数。具体的, sjk 可以用无监督或有监督的形式计算
其中 xj∈Nk2(xk) 表示 xj 在样本 xk 的 k2 最邻近中。和之前一样,在无监督的情况, k2 最近邻是在全部数据中搜索;而在有监督的情况, k2 最近邻在 xj 相同的类别中搜索。
3.3 深度结构
前面的目标函数只是一个基本块,可以训练一个更深度的模型。现有的训练深度自编码器的方式是栈式自编码器(SAE)18 和深度自编码器。然而,此文设计一个不同的训练机制。
假设有
L
个编码层和
其中 x¯i 是经过一系列编码和解码之后的 xi 对应的输出。 {Wl,bl},(1≤l≤L) 是编码层的参数, {Wl,bl},(L+1≤l≤2L) 是解码层的参数。第三项是将每一个编码层的图约束求和,引导输出层的局部低秩字典学习。
3.4 优化
上一个目标函数很难解决,因为其非凸性和非线性的性质。于是,此文设计了一个交替迭代更新编码层和解码层、字典 D 的算法。首先给出低秩字典的学习方式,再给出约束深度自编码器的优化过程。
低秩字典学习。 当自编码器的参数
其中 X¯=[x¯1,⋯,x¯n] 和 Z=[x¯1,⋯,x¯n] , ||⋅||F 是矩阵的 Frobenius 范数。接着,就可以导出如下的 Lagrangian 函数
其中 R 是 Lagrange 乘子,
可以有效地用 singular value thresholding (SVT) 20 操作求解。
其中 In∈Rn×n 是一个单位矩阵。
深度鲁棒编码学习。 当
D
是固定的,目标函数可以重写为
其中 di¯=Dzi 。由于目标函数是光滑、二次可微的,仍可以使用 L-BFGS 优化,来处理无约束的问题,更新变量的规则如下
其中 ηt 表示学习率。 Hl,t,Gl,t 是近似的 L 关于 Wl,bl 的 Hessian 矩阵的逆。讨论 ηt,Hl,t,Gl,t 的具体形式是无关紧要的,可以参考 21 。这里关心的是梯度 L 关于 Wl,bl ,
对于解码层(
L+1≤l≤2L
),有
其中 fi,l−1=fl−1(xi) 是第 l−1 层的特征,并且有
这里 ⊙ 表示 element-wise 乘积, ui,l=Wlfi,l−1+bl 。
这里的更新公式形式和反向传播(Back propagation)一致,可以参考。
对于编码层(
1≤l≤L
),有
这里注意 ∑Lp=l 表示梯度反向传播,从第 L 层一直回传到第
不断地迭代优化低秩字典,和深度自编码器,直到收敛。完整的优化过程在 Algorithm 1 中给出。在更新变量之前,需要对网络参数进行初始化,字典
D
先初始化为
Algorithm 1 Deep Robust Encoder
Input: 数据
X
, 标签
μ0=10−6, ρ=1.3, μmax=106, tmax=103.
while not converged or
t<tmax
do
Step 1: 更新字典
D
;
Step 2: 更新深度自编码器
for
计算梯度
∂L∂Wl, ∂L∂bl
;
end
for
l=1,⋯,2L
do
更新网络
Wl, bl
;
end
Step 3: 更新参数
Rt+1=Rt+μt(Dt+1−Jt+1)
;
ηt+1=0.95×ηt
;
μt+1=min(μmax,ρμt)
;
t=t+1
.
Step 4: 检查收敛条件:
|Lt+1−Lt|<ε, ||Dt+1−Jt+1||∞<ε
.
end
Output:
Wl, bl, D, J
.
4 实验
此文设计的实验有多个,内容很多。采用的数据集有 COIL,CMU-PIE,ALOI。
对比方式有自我对比,和与同行对比。
有监督,无监督;有图约束,无图约束;
对比的方法有 PCA,LDA,RPCA+LDA,LatLRR,DLRD,LRCS,SRRS。
还对噪声的比例,网络的层数,参数
α, λ
的影响,给出了数据说明。
详见原文。
- Donahue, J., Jia, Y., Vinyals, O., Hoffman, J., Zhang, N., Tzeng, E., Darrell, T.: Decaf: a deep convolutional activation feature for generic visual recognition. In: International Conference on Machine Learning, pp. 647–655 (2014) ↩
- Szegedy, C., Toshev, A., Erhan, D.: Deep neural networks for object detection. In: Neural Information Processing Systems, pp. 2553–2561 (2013) ↩
- Taigman, Y., Yang, M., Ranzato, M.,Wolf, L.: Deepface: closing the gap to humanlevel performance in face verification. In: IEEE Conference on Computer Vision and Pattern Recognition, pp. 1701–1708. IEEE (2014) ↩
- Krizhevsky, A., Sutskever, I., Hinton, G.E.: Imagenet classification with deep convolutional neural networks. In: Neural Information Processing Systems, pp. 1097–1105 (2012) ↩
- Bengio, Y.: Learning deep architectures for ai. Found. Trends Mach. Learn. 2(1), 1–127 (2009) ↩
- Le, Q.V., Ngiam, J., Coates, A., Lahiri, A., Prochnow, B., Ng, A.Y.: On optimization methods for deep learning. In: International Conference on Machine Learning, pp. 265–272 (2011) ↩
- Lee, C.Y., Xie, S., Gallagher, P., Zhang, Z., Tu, Z.: Deeply-supervised nets. In: International Conference on Artificial Intelligence and Statistics, pp. 562–570 (2015) ↩
- Hinton, G.E., Salakhutdinov, R.R.: Reducing the dimensionality of data with neural networks. Science 313(5786), 504–507 (2006) ↩
- Hinton, G.E., Krizhevsky, A., Wang, S.D.: Transforming auto-encoders. In: Honkela, T., Duch, W., Girolami, M., Kaski, S. (eds.) ICANN 2011. LNCS, vol. 6791, pp. 44–51. Springer, Heidelberg (2011). doi:10.1007/978-3-642-21735-7 6 ↩
- Kan, M., Shan, S., Chen, X.: Bi-shifting auto-encoder for unsupervised domain adaptation. In: IEEE International Conference on Computer Vision, pp. 3846–3854 (2015) ↩
- Wang, W., Arora, R., Livescu, K., Bilmes, J.: On deep multi-view representation learning. In: International Conference on Machine Learning, pp. 1083–1092 (2015) ↩
- Wright, J., Ganesh, A., Rao, S., Peng, Y., Ma, Y.: Robust principal component analysis: exact recovery of corrupted low-rank matrices via convex optimization. In: Neural Information Processing Systems, pp. 2080–2088 (2009) ↩
- Liu, G., Lin, Z., Yan, S., Sun, J., Yu, Y., Ma, Y.: Robust recovery of subspace structures by low-rank representation. IEEE Trans. Pattern Anal. Mach. Intell. 35(1), 171–184 (2013) ↩
- Ding, Z., Fu, Y.: Low-rank common subspace for multi-view learning. In: IEEE International Conference on Data Mining, pp. 110–119. IEEE (2014) ↩
- Shao, M., Kit, D., Fu, Y.: Generalized transfer subspace learning through low-rank constraint. Int. J. Comput. Vis. 109(1–2), 74–93 (2014) ↩
- Ding, Z., Shao, M., Fu, Y.: Deep low-rank coding for transfer learning. In: 24th International Joint Conference on Artificial Intelligence, pp. 3453–3459 (2015) ↩
- Ma, L., Wang, C., Xiao, B., Zhou, W.: Sparse representation for face recognition based on discriminative low-rank dictionary learning. In: IEEE Conference on Computer Vision and Pattern Recognition, pp. 2586–2593. IEEE (2012) ↩
- Vincent, P., Larochelle, H., Lajoie, I., Bengio, Y., Manzagol, P.A.: Stacked denoising autoencoders: learning useful representations in a deep network with a local denoising criterion. J. Mach. Learn. Res. 11, 3371–3408 (2010) ↩
- Lin, Z., Chen, M., Ma, Y.: The augmented lagrange multiplier method for exact recovery of corrupted low-rank matrices. arXiv preprint (2010). arXiv:1009.5055 ↩
- Cai, J.F., Cand`es, E.J., Shen, Z.: A singular value thresholding algorithm for matrix completion. SIAM J. Optim. 20(4), 1956–1982 (2010) ↩
- Liu, D.C., Nocedal, J.: On the limited memory bfgs method for large scale optimization. Math. Program. 45(1–3), 503–528 (1989) ↩