NEURAL NETWORKS WITH FEW MULTIPLICATIONS

原文链接:https://arxiv.org/abs/1510.03009    发表:ICLR 2016

code:https://github.com/hantek/BinaryConnect

编辑:Daniel

本文提出的量化方法分为两步,第一步在前向传播中,对权重进行随即二值化或三值化,第二步在反向传播中将每层的输入x量化成2的N次方,将乘法操作转换为位移操作。


其中w'为网络中原始的全精度权重,W为随机二值化后的权重。为了使W为1的概率在合理的区间内,原始权重w'将被强制限制在[-1,1]之间。


三值化允许权重为0,具体操作与二值化类似。


上图是反向传播中权重w,偏置b和误差符号δ的更新过程(这里δ写的挺奇怪的,但在下面的伪代码里面就是普通求梯度的过程,不太懂。)


h‘(Wx + b)和x引入了矩阵乘法,为了消除乘法,需要将这两个中的一个量化为2的整数幂,转换成移位操作。由于h‘(Wx + b)由损失函数和网络中的参数决定,很难量化,所以文中对x进行量化。


伪代码
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容