这篇文章开发了一种新型的网络结构——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中去得到:
为了得到α的最小值,直接对α进行求导得到:
然后把这个再代入原式求得Δ的最优值为:
文中给出了再进一步的近似方法,即:
2 training details
3 Experiments
(其中ResNet-18B是将原来的ResNet-18中的filter数量扩大为1.5倍之后得到的结果)