转载自:计算机视觉战队,未经允许不得二次转载
?
最新深度网络用语人脸的部分介绍与分析
DeepID网络结构
DeepID是第一代,其结构与普通的卷积神经网络基本相同,结构图例如以下:
该结构与普通的卷积神经网络框架的结构很相似。不同点是,在隐含层,也就是倒数第二层的时候,与Convolutional layer4和Max-pooling layer3相连,鉴于卷积神经网络层数越高感受野越大的特性,这种连接方式能够既考虑局部人脸精细特征,又考虑全局的整体特征。
· 实验结论 ·
DeepID2
DeepID2相对于DeepID有了较大的提高,其主要原因在于在DeepID的基础上加入了验证信号。
详细来说,原本的卷积神经网络最后一层softmax使用的是逻辑回归(Logistic Regression)作为最终的目标函数,也就是识别信号;但在DeepID2中,目标函数上加入了验证信号,两个信号使用加权的方式进行了组合。
· 两种信号及训练过程·
识别信号公式例如以下:
验证信号公式例如以下:
因为验证信号的计算需要两个样本,所以整个卷积神经网络的训练过程也就发生了改变,之前是将所有数据切分为小的batch来进行训练,但如今则是每次迭代时随机抽取两个样本,然后进行训练。
· 实验结论 ·
对lambda进行调整,也即对识别信号和验证信号进行平衡,发现lambda在0.05的时候最好。使用LDA中计算类间方差和类内方差的方法进行计算。得到的结果例如以下:
能够发现,在lambda=0.05的时候,类间方差几乎不变,类内方差下降了非常多,这样就保证了类间区分性,而降低了类内区分性。
DeepID2+
DeepID2+有例如以下贡献,①继续更改了网络结构;②对卷积神经网络进行了大量的分析,发现了几大特征。包含:
相比于DeepID2,DeepID2+做了例如以下三点改动:
DeepID3
DeepID3有两种不同的结构,分别为DeepID3 net1,DeepID3 net2(如上图)。相对DeepID2+,它的层数更多,网络更深,同时还借鉴了VGG和GoogLeNet,引入了inception layer,这个主要是用在了DeepID3 net2里面。网络中还出现了连续两个conv layer直接相连的情况,这样使得网络具有更大的receptive fields和更复杂的nonlinearity,同时还能限制参数的数量。
下面稍微带着说一下inception layer:
传统的ConvNet是将Convulution layer stack在一起,而Inception最大的改变就是时Inception模块叠加的形式构造网络。按论文里面说就是,用Inception(稠密的可利用的组件)近似一个稀疏结构。
将1x1,3x3,5x5的conv和3x3的pooling,stack在一起,一方面增加了网络的width,另一方面增加了网络对尺度的适应性.主要特点是提高了网络内部计算资源的利用率。
在训练样本上,DeepID3仍采用原来DeepID2+中使用的样本,在25个image patches产生的网络上作对比时,DeepID3 net1优势最为明显,而DeepID3 net2提升不大显著。