什么是二值化网络
二值化神经网络,是指在浮点型神经网络的基础上,将其权重矩阵中权重值和各个激活函数值同时进行二值化得到的神经网络。二值化神经网络具有很好的特性,具体体现在:
通过将权重矩阵二值化,一个权重值只占用一个比特,相比于单精度浮点型权重矩阵,网络模型的内存消耗理论上能减少32倍,因此二值化神经网络在模型压缩上具有很大的优势。
当权重值和激活函数值同时进行二值化之后,原来32个浮点型数的乘加运算,可以通过一次异或运算(xnor)和一次popcnt运算解决,在模型加速上具有很大的潜力。
此处引用:http://blog.csdn.net/tangwei2014/article/details/55077172 该博客还论述了二值化网络的方法,用者自取。
为什么要研究二值化网络
二值化网络的提出是为了解决当前浮点(实值)神经网络存在的高内存消耗,低计算速度问题,希望将神经网络模型应用于嵌入式设备或移动场景下,解决实时性问题,随取随用。
这个博客是对该文比较详细的解读:
http://blog.csdn.net/jackytintin/article/de
二值化神经网络,是指在浮点型神经网络的基础上,将其权重矩阵中权重值和各个激活函数值同时进行二值化得到的神经网络。二值化神经网络具有很好的特性,具体体现在:
通过将权重矩阵二值化,一个权重值只占用一个比特,相比于单精度浮点型权重矩阵,网络模型的内存消耗理论上能减少32倍,因此二值化神经网络在模型压缩上具有很大的优势。
当权重值和激活函数值同时进行二值化之后,原来32个浮点型数的乘加运算,可以通过一次异或运算(xnor)和一次popcnt运算解决,在模型加速上具有很大的潜力。
此处引用:http://blog.csdn.net/tangwei2014/article/details/55077172 该博客还论述了二值化网络的方法,用者自取。
为什么要研究二值化网络
二值化网络的提出是为了解决当前浮点(实值)神经网络存在的高内存消耗,低计算速度问题,希望将神经网络模型应用于嵌入式设备或移动场景下,解决实时性问题,随取随用。
最早的一篇BinaryNet二值化网络论文
这是我目前了解的最早研究二值化网络的文献,发表于2016年:《Binarized Neural Networks: Training Deep Neural Networks with Weights and Activations Constrained to +1 or -1》这个博客是对该文比较详细的解读:
http://blog.csdn.net/jackytintin/article/de