XNOR-Net算法详解
XNOR-Net是YOLO的作者作为三作提出的面向计算资源不足的设备如MR眼镜、手机等提出的二进制网络。整篇论文分为两个部分:
1.将卷积核二值化(+1,-1)的Binary-Weight-Networks;
2.将输入与卷积核都二值化的XNOR-Net。
网络的整体是采用经典的LeNet,利用卷积、池化、全连接和参数共享等方式得到了参数少的分类网络。详解请参考(https://blog.csdn.net/daydayup_668819/article/details/79932548)。
这里是论文地址。(https://arxiv.org/abs/1603.05279)
这里是作者提供的开源代码地址。(https://github.com/allenai/XNOR-Net)
这里是基于pytorch版本的可供cpu测试的XNOR-Net开源代码地址。[(https://github.com/cooooorn/Pytorch-XNOR-Net)
Binary-Weight-Networks
文章中提到了关于将卷积核二进制化的推导过程。这里只介绍思想,具体公式请参照论文。论文的核心思想是将原有的卷积核的参数利用一个二进制的卷积核与系数的乘积来代替。经作者推导,二进制卷积核的值与对应位置的原卷积核处值的符号相同。例如原卷积核处值为-0.3,则对应二进制卷积核值应为-1。但是在网络训练参数更新时仍然采用原卷积核的值便于训练。Binary-Weight-Networks对精度影响较小,因为卷积核二值化后将原有的乘积计算更改为加减计算,节省2倍的计算资源和32倍的存储资源。
XNOR-Net
类似于上述过程,文章提出了将网络的输入同样二值化的思想&#

XNOR-Net是一种针对计算资源有限的设备的二进制神经网络,由YOLO作者提出。它包括Binary-Weight-Networks和XNOR-Net两部分,通过将权重和输入二值化,实现了计算速度的显著提升和资源的节省。尽管精度略有下降,但其在资源受限的环境下展现出高效性能。网络结构经过调整,采用BN-BIN ACTIV-BIN CONV-POOL顺序,以减小池化损失。论文及开源代码链接提供。
最低0.47元/天 解锁文章
2万+

被折叠的 条评论
为什么被折叠?



