人脸识别方向论文笔记(3)-- Sparsifying Neural Network Connections for Face Recognition

        原文地址:http://www.cv-foundation.org/openaccess/content_cvpr_2016/papers/Sun_Sparsifying_Neural_Network_CVPR_2016_paper.pdf

        这篇论文中,主要的创新点在于,他是基于一个Baseline ConvNet structures(VGG模型),进行了创新,也就是对逐层进行sparse,从而得到一个sparse CNN模型。

     所做的贡献:

        提出了一种Sparse ConvNet model,对VGG模型进行了创新改造。

        首先,训练一个基础的卷积模型;然后,从结果上将全连接层到卷积层Sparse,重新训练一下,得到Sparse CNN模型。

     具体细节:

       1.Baseline model是基于VGG模型的,但是又不同于VGG模型,根据两个模型结构对比来看。

        

                                                                                              VGG模型

       

                                                                                                    Baseline 模型

        基于VGG做改进的Baseline Model:

        1.最后两个卷积层用两个Locally-Connected层来代替,这样可以增加模型拟合能力

        2.在所有的卷积层中都用修正后的线性激活函数

        3.最后一个locally-connected层和全连接层分别使用Dropout率为30%和50%的Dropout

        2.对网络模型进行Sparse处理

        

        以下为本人对论文的理解,如需看原伪代码,请见论文

        通过第一步训练好的baseline model,训练好之后,就有需要稀疏化的M个层,M层分别对应了M个稀疏度。好了,稀疏连接算法的输入得到了。

输入:网络结构T;M个网络层;M层相对应的稀疏度

        for m from 1 to M do 

              //有M层就得循环M次,相当于每次循环都是全网络层循环,只不过对m层有效

              根据上一层网络和这一层的稀疏度计算这一层的drop矩阵

              对于卷积层,计算相关性的公式:

              

              对于全连接层,计算相关性的公式:

              

              r>0.75(论文中选择的)设置为1,其他的为0(这是我的理解)

              根据网络结构T和上一层的权值初始化这层网络

              while直至全覆盖:

              通过点乘更新drop矩阵

              通过前向后向传播,进行权值更新

              end while

        end for

        输出:第M次经过dropping后的CNN(即最终的网络)



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章