论文题目:BinaryConnect: Training Deep Neural Networks with binary weights during propagations_NIPS2015
引用量:927
code:https://github.com/MatthieuCourbariaux/BinaryConnect
这是我看的第一篇提出在DNN的前向和反向训练中用1bit的二值权重替代浮点权重,能够让硬件计算将乘法操作简化成简单的累加操作,能大量的减少存储空间。
我们知道正是由于神经网络参数量大,无法直接得到损失函数的最优参数,才采用了梯度下降的方式来逼近最优解,Sgd通过平均权重带来的梯度来得到一些小的带噪声的步长,尝试更新权重去搜索参数空间,因此这些梯度十分重要,要具有足够的分辨率,sgd至少需要6—8bits的精度[1],大脑突触的估计精度也是6—12bits。。如果采用量化权重,就会导致无法对权重直接求导,这种权重可以被看成是带噪声的权重。文章认为带噪声的权重往往能够带来正则化,使得泛化能力更好,类似dropout、dropconnect这种就是对激活值或者权重加入了噪声,它们表明只有权重的期望值需要是高精度的,添加噪声往往是有益处的,所以对权重进行量化理论角度是可行的,且在部分文章中发现对梯度随机取舍能够提供无偏离散化。