SVDNet for Pedestrian retrieval

https://zhuanlan.zhihu.com/p/29326061

 Abstract: 如何更好的学习深度特征,对CNN的物理意义有一些思考

1. Motivation

   首先需要说明的是,SVDNet基于这样一个对CNN权向量的简单解读:假设CNN的一层网络,其输入是I,输出是O,权矩阵是W,那么O=W'*I运算是在做线性投影,而W中所含的权向量则是一组投影基向量。当训练一个用于提取re-ID问题中行人特征的深度卷积神经网络(CNN)时,与在其它所有典型的深度学习训练一样,通常所学到的权向量是“杂乱无章”的,这种杂乱无章体现在,网络同一层中的权向量,通常是存在较强的相关性(注意不是线性相关linear dependent)。这种相关性,对于特征表达可能会造成不必要甚至是非常有害的冗余。例如下图中,假设网络用于提取特征的特征层含有3个权向量,红色和粉色所代表的的权向量几何上更靠近,而蓝色的权向量相对较远,那么,当一个行人图像进入网络中后,它会最终投影到这3个权向量上,形成一个3维的特征,而在红色和粉色上的投影结果将会非常接近。这就使得,在蓝色上的投影结果相较之下无足轻重了,很有可能造成一些误判。

SVDNet for Pedestrian retrieval

在特征表达层,它的权向量是正交的。正交化在深度学习中可能会带来好处。不过这些工作都是让把feature不同维度的值当成一个变量,希望不同维度上的变量是相互独立。

受限于深度学习的训练方式,对特征施加正交约束时,只能在一个minibatch里求feature的协方差矩阵,并要求该矩阵是对角阵。

每一个权向量,都是相应特征维度上的模板或者代理。

 

2.训练方法RRI – 如何在CNN训练中,对权向量施加正交约束

Restraint and Relaxation Iteration

1、去相关——每次训练模型收敛之后,对特征表达层的权矩阵W进行奇异值分解,即W=USV',然后,用US去取代原来的W,这时,W变成了一个正交阵(每个权向量彼此正交),且新的权向量是原来权矩阵WW'的本征向量。经过这样一次去相关之后,原本已经收敛的模型偏离原先的局部最优解、在训练集上的分类损失变大了。

2、紧张训练(Restraint)——固定住步骤1中的W不更新,学习其它层参数,直至网络重新收敛。需要注意的是,在这种情况下,网络会收敛到一个次优解:因为它有一层的W是受限制。因此,在接下来,我们会取消这个限制,继续训练。

3、松弛训练(Relaxation)——在步骤2之后,取消W固定的限制,这个时候,网络会发现对于拟合训练样本会这个目标会有一个更好的解:请注意,仅仅是针对拟合训练样本这个目标。我们实验发现,这个模型使用在训练集上(包含全新的ID)时,它的泛化能力是相对较弱的。

而在步骤3之后,W里的权向量重新变的相关起来。因此,我们把这3步迭代起来,形成RRI,直最终收敛。

 

3. RRI中发生了什么?

4. 性能?

5. 为什么用SVD来对W去相关?

CNN的每个线性层把输入投影到了新的特征空间,CNN在训练过程中,学到了很有鉴别力的投影基向量,也就是W中的各个权向量。以及一个思考:如果CNN告诉我们,一组权向量非常好,但是,CNN有点语无伦次、重复累赘,能不能让CNN清晰地告诉我们,这组权向量所代表的那些投影基向量,其等效的本质(正交基)是什么?

6. 本文对CNN得权向量,除了做空间上的投影解读外,还暗示了一种解读,在文中受篇幅限制未能展示,那就是——权向量实际上是用于产生特征的模板。以caffenet为例,当我们采用FC7的输出作为特征时,实际上是在拿FC6的特征去与FC7的4096个模板进行相似性比较(向量内积运算),并将4096个相似值作为最终的特征

SVDNet for Pedestrian retrieval

##

如果说weight正交化很重要,那为什么不把它做成一个regularization呢?这样用SVD分解再替换的做法很不Neural Network。

我们最早确实没有想到这么做,最早的想法是基于CNN已经学习到的知识,进行“去冗存真”,找一组正交基来表达已学到的W。后来我们意识到,在训练过程中施加正交约束,可以采用“硬”的去相关方法,也可以采用“软”的loss或正则约束。实际上,在他人对feature进行正交优化的若干方法中,两种做法都是有过研究的,各有各的优点。对W的“软正交”约束,海康有一篇同时期工作All you need is beyond a good init: Exploring better solution for training extremely deep convolutional neural networks with orthonormality and modulation(在我们paper中也提到了)发表在CVPR2017中,它的目的是为了让极深网络的训练中梯度回传更稳定。后来,我们也在reID任务中复现了这个工作,发现仅有小幅度提升。正如SVDNet最后一个实验所阐述的:不仅仅是正交本身,获得正交的方法对获得SVDNet的效果也是至关重要的。或许,我们对机制的研究还不够透彻,“保距去相关”→分类loss增大→restraint retrain后性能提升这样一个过程或许是必须的。

通过各种手段使分类loss增大→restraint retrain这种方式我最近也在使用,也能得到一定的效果上的提升,我感觉这跟softmax太过平坦、约束不强有关,提升loss再下降可以帮助各类进一步收拢。但这应该不是其本质,总感觉是在隔靴搔痒。其实dropout用的也是这个策略:强行提升loss,只不过dropout能够融入dnn的训练里面来,更Neural Network

 

相关文章:

  • 2021-11-12
  • 2021-09-13
  • 2021-11-17
  • 2021-12-02
  • 2021-09-12
  • 2021-11-13
  • 2021-11-02
  • 2021-05-29
猜你喜欢
  • 2021-09-16
  • 2022-12-23
  • 2021-05-16
  • 2021-09-17
  • 2021-10-12
  • 2022-01-14
  • 2021-12-25
相关资源
相似解决方案