http://blog.csdn.net/linmingan/article/details/51008830
Binarized Neural Networks: Training Neural Networks with Weights and Activations Constrained to +1 or−1的工作是基于BinaryConnect: Training Deep Neural Networks with binary weights during propagations和NEURAL NETWORKS WITH FEW MULTIPLICATIONS这两篇文章的。二值网络是将权值W和隐藏层激活值二值化1或者-1。通过二值化,使模型的参数占用更小的存储空间;同时利用位移操作来代替网络中的乘法运算,大大降低了运算时间。
由于二值网络只是将网络的参数和激活值二值化,并没有改变网络的结构。因此我们主要关注如何二值化,以及二值化后参数如何更新。同时关注一下如何利用二进制位操作实现GPU加速计算的。
1、二值化
二值网络的二值化方法有两种,一种是Deterministic(确定性方法),一种是Stochastic(概率统计方法)。
Deterministic方法:大于0就为+1,小于0则为-1。