Dropout与DropConnect比较
Dropout(Hintonet al., 2012)和DropConnect(Wan et al., 2013)都是为防止训练过拟合而提出。但我们平时使用的是Dropout(后面会解释原因)。
Dropout:训练过程中以概率1-p将隐层节点输出值清0,而进行BP更新权值时,不更新与该节点相连的权值
r = m. * a(Wv)
v是nx1维的列向量,W是dxn维的矩阵,m是个dx1的0,1列向量,**a(x)**是满足a(0)=0的激发函数
DropConnect:将节点中的每个与其相连的输入权值以1-p的概率清0
r = a((M. * W)v)
后者相比前者效果可能会好一点。
在minist数据集上实验结果:
但由算法可以看出inference时,需要对每个权重都进行sample,所以DropConnect速度会慢些,且效果并不会比Dropout好太多,因此DropConnect不太常用。
参考:
Deep learning:四十六(DropConnect简单理解) [博客园]
Deep learning: Dropout, DropConnect [简书]
深度学习基础–各种Dropout–Dropout和DropConnect [****]