文章链接:Binarized Neural Networks: Training Deep Neural Networks with Weights and Activations Constrained to +1 or -1 是2016年2月份新出的一篇文章。
文章的主要思想是通过二值化weights和activations,来提高NN的速度和减少其内存占用。
1. Binarization Function
首先是如何对weights和activations进行二值化。如下图左,Binarization function 很简单,就是一个符号函数。但是作者就想了啊,符号函数不好进行梯度的反向传播啊,因此就把它近似成了右边的Htanh(x)的函数,这样在[-1,1]区间内导数就等于1。
2. 网络前向传播
那么除第一层(输入层)以外,每一层的前向传播过程如下:
首先权重 Wk 经过二值化,然后与上层二值化后的激活值