笔记:Deep Robust Encoder Through Locality Preserving Low-Rank Dictionary

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 是一个已经学习到的干净的低秩字典, zi,zj 是对应的系数。另外,图约束加入在编码层的训练过程中,保留了其数据的局部信息。

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 局部保留低秩字典学习

假设训练数据 XRd×n n 个样本, xiRd 表示第 i 个样本。对于单隐层的自编码器,通常被认为有两部分:编码和解码。编码,表示为 f1 ,将输入 x1 映射为隐含层表示;而解码,表示为 f2 ,将隐含层表示又映射为 xi 。一个典型的平方损失函数表示为:

minW1,b1,W2,b2 i=1n||xif2(f1(xi))||22,(1)

其中 {W1Rr×d,b1Rr}, {W2Rd×r,b2Rd} 是编码层和解码层的参数。具体的,有 f1(xi)=φ(W1xi+b1) f2(f1(xi))=φ(W2f1(xi)+b2) ,其中 φ() 是一个 element-wise 的激活函数,通常是非线性的,比如 sigmoid 函数或 tanh 函数。DAE 手动添加人工噪声于训练数据中,目标是训练一个去噪自编码器,来去除一些随机噪声。

现实中, xi 通常是已经损坏的,由于环境因素或来自收集设备的噪声。直观的,此文建立一个网络来检测或移除已经损坏的噪声,使得其可以更好地应用于已经损坏的测试数据。为此,提出一个鲁棒自编码器,带低秩字典学习

minW1,b1,W2,b2,D i=1n||dif2(f1(xi))||22+λrank(D),(2)

其中 diRd 是字典 DRd×n 的第 i 列, λ 是权衡参数。 rank() 是矩阵的求秩操作,帮助建立一个干净的、紧凑的字典基向量。一般的,使用凸代替 rank 函数:核范数 |||| ,用于最小化。

然而,类似传统的自编码器和其扩展,点对点的重建机制仅考虑了一对一的映射,可能会导致数据过拟合,并且忽略了数据的结构。为此,此文提出了一个局部保留的低秩字典学习,通过加入新的系数向量 zi ,保持每一个样本 xi 在网络中的局部性

minW1,b1,W2,b2,D i=1n||Dzif2(f1(xi))||22+λ||D||,(3)

其中 ziRn 是关于字典 D ,对于样本 xi 的系数向量。有不同的策略可以得到系数向量 zi ,在非监督或有监督的情况,取决于是否有标签信息。具体的,第 j 个元素的系数向量 zi 定义为
zij=1,exp(||xixj||22σ2),0,if i=j,if xiNk1(xj),otherwise,(4)

其中 xiNk1(xj) 表示 xi 是属于样本 xj k1 最近邻中。具体的,可以定义局部保留系数 zi 用两种方式。在无监督的情况, k1 最近邻是在全部数据中搜索;而在有监督的情况, k1 最近邻在 xi 相同的类别中搜索。实际上,可以简单地扩展到半监督的情况。 σ 是高斯核的带宽(此文中 σ=5 )。

总之,此文提出的带约束的深度自编码器,将原始的自编码器的点对点重构方式,转化为点对集重构的方式,使得其可以保留更多的判别性的信息。为了引导输出层的局部保留字典学习,此文提出加入了判别式的图约束

minW1,b1,W2,b2,D i=1n||Dzif2(f1(xi))||22+λ||D||+αj=1nk=1nsjk(f1(xj)f1(xk))2,(5)

其中 sjk 是样本 xj xk 的相似度, α 是平衡参数。具体的, sjk 可以用无监督或有监督的形式计算
sjk=exp(||xjxk||22σ2),0,if xjNk2(xk),otherwise,(6)

其中 xjNk2(xk) 表示 xj 在样本 xk k2 最邻近中。和之前一样,在无监督的情况, k2 最近邻是在全部数据中搜索;而在有监督的情况, k2 最近邻在 xj 相同的类别中搜索。

3.3 深度结构

前面的目标函数只是一个基本块,可以训练一个更深度的模型。现有的训练深度自编码器的方式是栈式自编码器(SAE)18 和深度自编码器。然而,此文设计一个不同的训练机制。

假设有 L 个编码层和 L 个解码层,最小化误差函数写为:

minWl,bl,D i=1n||Dzix¯i||22+λ||D||+αl=1Lj=1nk=1nsjk(fl(xj)fl(xk))2,(7)

其中 x¯i 是经过一系列编码和解码之后的 xi 对应的输出。 {Wl,bl},(1lL) 是编码层的参数, {Wl,bl},(L+1l2L) 是解码层的参数。第三项是将每一个编码层的图约束求和,引导输出层的局部低秩字典学习。

3.4 优化

上一个目标函数很难解决,因为其非凸性和非线性的性质。于是,此文设计了一个交替迭代更新编码层和解码层、字典 D 的算法。首先给出低秩字典的学习方式,再给出约束深度自编码器的优化过程。

低秩字典学习。 当自编码器的参数 fl(1l2L) 是固定的,目标函数就转换为传统的低秩重建问题,可以使用増广 Lagrange 乘子法求解 19 。为此,首先加入一个松弛变量 J ,写出其等价的公式

minD,J ||X¯DZ||2F+λ||J||,s.t. D=J,(8)

其中 X¯=[x¯1,,x¯n] Z=[x¯1,,x¯n] ||||F 是矩阵的 Frobenius 范数。接着,就可以导出如下的 Lagrangian 函数
||X¯DZ||2F+λ||J||+R,DJ+μ2||DJ||2F,(9)

其中 R 是 Lagrange 乘子, μ>0 是惩罚项系数, , 是矩阵的内积操作。那么,就有如下的更新 D,J 的公式
Jt+1=argminJ λμt||J||+12||JDtRtμt||2F,(10)

可以有效地用 singular value thresholding (SVT) 20 操作求解。
Dt+1=argminD ||X¯DZ||2F+Rt,DJt+1+μt2||DJt+1||2F=(2X¯ZT+μtJt+1Rt)(2ZZT+μtIn)1,(11)

其中 InRn×n 是一个单位矩阵。

深度鲁棒编码学习。 D 是固定的,目标函数可以重写为

L=i=1n||x¯idi¯||22+αl=1Lj=1nk=1nsjk(fl(xj)fl(xk))2,(12)

其中 di¯=Dzi 。由于目标函数是光滑、二次可微的,仍可以使用 L-BFGS 优化,来处理无约束的问题,更新变量的规则如下
Wl,t+1=Wl,tηtHl,tLWlWl,t,bl,t+1=bl,tηtGl,tLblbl,t,(13)

其中 ηt 表示学习率。 Hl,t,Gl,t 是近似的 L 关于 Wl,bl 的 Hessian 矩阵的逆。讨论 ηt,Hl,t,Gl,t 的具体形式是无关紧要的,可以参考 21 。这里关心的是梯度 L 关于 Wl,bl

对于解码层( L+1l2L ),有

LWl=i=1nFi,lfTi,l1,Lbl=i=1nFi,l,(14)

其中 fi,l1=fl1(xi) 是第 l1 层的特征,并且有
Fi,2LFi,l=2(xi¯di¯)φ(ui,2L),=(WTl+1Fi,l+1)φ(ui,l).(15)(16)

这里 表示 element-wise 乘积, ui,l=Wlfi,l1+bl

这里的更新公式形式和反向传播(Back propagation)一致,可以参考。

对于编码层( 1lL ),有

LWlLbl=i=1nFi,lfTi,l1+2αp=lLj=1nk=1nsjk(Gjk,pfTj,p1+Gkj,pfTk,p1),=i=1nFi,l+2αp=lLj=1nk=1nsjk(Gjk,p+Gkj,p),(17)(18)

这里注意 Lp=l 表示梯度反向传播,从第 L 层一直回传到第 l 层,还有 4 个迭代公式
Gjk,LGkj,LGjk,lGkj,l=(fj,lfk,l)φ(uj,L),=(fk,lfj,l)φ(uk,L),=(WTl+1Gjk,l+1)φ(uj,l),=(WTl+1Gkj,l+1)φ(uk,l).(19)(20)(21)(22)

不断地迭代优化低秩字典,和深度自编码器,直到收敛。完整的优化过程在 Algorithm 1 中给出。在更新变量之前,需要对网络参数进行初始化,字典 D 先初始化为 X


Algorithm 1 Deep Robust Encoder
Input: 数据 X , 标签 y , α, λ,η0=0.2, ε=106, t=0,
   μ0=106, ρ=1.3, μmax=106, tmax=103.
while not converged or t<tmax do
Step 1: 更新字典 D
Step 2: 更新深度自编码器
   for l=2L,,1 do
     计算梯度 LWl, Lbl
   end
   for l=1,,2L do
     更新网络 Wl, bl
   end
Step 3: 更新参数
   Rt+1=Rt+μt(Dt+1Jt+1) ;
   ηt+1=0.95×ηt ;
   μt+1=min(μmax,ρμt) ;
   t=t+1 .
Step 4: 检查收敛条件:
   |Lt+1Lt|<ε, ||Dt+1Jt+1||<ε .
end
Output: Wl, bl, D, J .


4 实验

此文设计的实验有多个,内容很多。采用的数据集有 COIL,CMU-PIE,ALOI。
对比方式有自我对比,和与同行对比。
有监督,无监督;有图约束,无图约束;
对比的方法有 PCA,LDA,RPCA+LDA,LatLRR,DLRD,LRCS,SRRS。
还对噪声的比例,网络的层数,参数 α, λ 的影响,给出了数据说明。

详见原文。


  1. 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)
  2. Szegedy, C., Toshev, A., Erhan, D.: Deep neural networks for object detection. In: Neural Information Processing Systems, pp. 2553–2561 (2013)
  3. 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)
  4. Krizhevsky, A., Sutskever, I., Hinton, G.E.: Imagenet classification with deep convolutional neural networks. In: Neural Information Processing Systems, pp. 1097–1105 (2012)
  5. Bengio, Y.: Learning deep architectures for ai. Found. Trends Mach. Learn. 2(1), 1–127 (2009)
  6. 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)
  7. 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)
  8. Hinton, G.E., Salakhutdinov, R.R.: Reducing the dimensionality of data with neural networks. Science 313(5786), 504–507 (2006)
  9. 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
  10. 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)
  11. Wang, W., Arora, R., Livescu, K., Bilmes, J.: On deep multi-view representation learning. In: International Conference on Machine Learning, pp. 1083–1092 (2015)
  12. 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)
  13. 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)
  14. Ding, Z., Fu, Y.: Low-rank common subspace for multi-view learning. In: IEEE International Conference on Data Mining, pp. 110–119. IEEE (2014)
  15. Shao, M., Kit, D., Fu, Y.: Generalized transfer subspace learning through low-rank constraint. Int. J. Comput. Vis. 109(1–2), 74–93 (2014)
  16. 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)
  17. 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)
  18. 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)
  19. 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
  20. 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)
  21. Liu, D.C., Nocedal, J.: On the limited memory bfgs method for large scale optimization. Math. Program. 45(1–3), 503–528 (1989)

猜你喜欢

转载自blog.csdn.net/xueshengke/article/details/60480439