Ternary weight networks

这篇文章开发了一种新型的网络结构——ternary nearal networks(TWNs)。该网络所有的权值被限制在1,0,-1之中,只需要2-bit来存储权值信息。TWNs和全精度的网络之间的欧氏距离确保是最小的,为了高效地实现这一点,文章中使用了一个threshold-based function来近似。

在性能方面,TWNs比起binary precision有更强大的描述性;同时和全精度的网络相比,能够压缩16~32倍,而且乘法的开销也会变小。具体的优势如下:

Expression ability

现在大型的CNN网络如VGG个、GooLeNet等都采用的是3*3的filter,所以和binary precision的2^9=512种不同的表示相比,ternary precision有3^9=19683种不同的表示。

Model compression

TWNs需要2-bit来存储权值信息,比起float和double类型的precision能够压缩16~32倍,但是模型的规模是binary precision的2倍左右。比如VGG网络原本需要大约500M的存储空间,经过压缩之后只需要大约32M的存储空间。

Computational requirement

和BPWNs相比,TWNs有额外的0,但是这并不影响乘法操作中的累加,所以性能并不会比BPWNs差,对硬件也是友好的。

1 Problem formulation

作者试图使得ternary value和full precision value之间的欧氏距离最短。假设fp的权值为W,ternary-value的权值为Wt,再加上一个非负的缩放系数α,这个优化问题可以表述为:

有了W ≈ αWt的近似,我们可以将forward propagation表述为:

1.1 approximated solution with threshold-based ternary function

具体的函数即使就是一个很naive的分段函数:

Δ就是非负的threshold parameter。把这个分段函数带入到cost function J中去得到:

为了得到α的最小值,直接对α进行求导得到:

然后把这个再代入原式求得Δ的最优值为:

文中给出了再进一步的近似方法,即:

delta^*=0.7E(|W|)=\frac{0.7}{n}\sum_{i=1}^{n}|W_i|

2 training details

3 Experiments

(其中ResNet-18B是将原来的ResNet-18中的filter数量扩大为1.5倍之后得到的结果)

猜你喜欢

转载自blog.csdn.net/holmosaint/article/details/82460821