admin管理员组

文章数量:1531490

2024年6月20日发(作者:)

Regularization of Neural Networks using DropConnect

(2014-03-02 18:38:33)

转载

标签:

dropconnect

paperreading

分类: DeepLearning

本文是对论文” Regularization of Neural Networks using DropConnect”[1]的总结。小弟初次接

触Deep Learning这个方向,有理解不对的地方请大侠们多批评指正!

在深度神经元网络中,尤其是在训练Large Scale的问题时,网络中的参数往往是million级

或者billion级的。如此多的参数,容易产生overfitting的问题,因此人们常常做一些

regularization。DropConnect就是一种抑制overfitting而增强模型泛化能力的regularization。

一、Dropout与DropConnect的联系与区别

Hinton等人提出了一种名为Dropout的regularization[2]。而本文的内容与此有很多相似之处,

两者都是对于fully connected的层之间做一种sparse化的处理,从而使得尽量使权重减少,

避免他们互相结合增强对训练样本得记忆而降低其泛化能力。不同的是,Dropout是对每层

的activations进行sparse化,而DropConnect是对网络权重进行sparse化。下图比较形象地

体现了两个regularizations的核心思想。

对于一层fully connected的神经元网络,假设v (n*1)是这一层的输入,W (n*d)是权重,而a

为activation function,r (d*1)为输出,则这四者存在如下关系:

r = a(Wv) (1)

这就是No-Drop神经网络的公式。然后,下面我们从公式上看看Dropout与DropConnect

的区别。

1,Dropout

对于Hinton等人的Dropout模型,该层的每个输出附有一个概率值p的保留,概率值1-p

的设为0,即:

r = m.*a(Wv) (2)

其中:.*表示elment wise product,即向量对应项相乘,m为一个二进制模板,大小为d*1,

其各个项服从概率为p的Bernoulli分布,及概率值为p时,值取1;为1-p时,值取0。

2,DropConnect

而对于DropConnect,sparsity不是加在输出上的,而是加在权重上的,即:

r = a((M.*W)v) (3)

其中:M为一个二进制模板,其各个项服从概率为p的Bernoulli分布,大小为n*d。文章

中认为DropConnect是Dropout的推广,因为activation function在输入为0时输出也为0,

因此公式(2)可以改写成r = a(m.*Wv)。这样,只要把M=repmat(m,n,1)就可以了。但是我觉

得还需要进一步深入证明。

二、文章中所使用的模型

上面简单阐述了DropConnect,下面主要介绍一下论文中所使用的模型。论文中没有采取一

层feature提取,一层DropConnect,一层feature提取,一层DropConnect……这种方式(话

说有木有这种方式呢?),而是首先利用multi-layer CNN或者其他网络进行feature提取,

然后仅采用了一层DropConnect。主体结构是:第一部分,CNN进行feature提取的部分;

第二部分:DropConnect;第三部分:Softmax Classification;第四部分:Cross Entropy Loss

函数。

该模型的training流程。

该模型的inference流程。

本文标签: 概率模型进行增强网络