论文笔记 《FQ-Conv: Fully Quantized Convolution for Efficient and Accurate Inference》

这篇是2019年发表在arxiv的论文《FQ-Conv: Fully Quantized Convolution for Efficient and Accurate Inference》,第一作者是比利时鲁汶的IMEC(微电子研究中心)的Bram-Ernst Verhoef、Nathan Laubeuf。

文章提出了一种针对CNN网络的低比特(2bit weight 5bit activation)量化及量化训练的方法,效果不错,并在analog的器件上测试了带噪声情况的精度。

方法

新的量化算法

  • End-to-End
    • 除了最后的AVGPooling和FC,其它层全部都量化
  • 量化的映射区间使用layer-wise的一个可学习权值表示
    • weight的区间是[-b,b]
    • activation的区间是[0,b]
  • 将BN的Weight整合到Conv,但Shift不整合,直接抛弃
    • $y=\alpha\frac{x-\mu}{\sigma}+\beta=Weight x + Shift$

新的训练算法

  • Gradually lower bitwidth
    • 一点一点把bitwidth降到w2,a5
    • 最后Fuse BN再训练
  • Distillation

实验

  • FP0->Q88->FP1(Trainer Net)->Q66->Q55->Q44->Q33->Q22
    • ResNet-20 CIFAR-10,BN全精度
      • 91.6->89.9(Q22) 91.6(Q33)
  • ->Q55->Q45->Q35->Q25
    • DarkNet-19 ImageNet
      • 72.3%->69.9%(Q25) 72.6%(Q35)
  • Fully Quantized Network
    • ResNet-32 on CIFAR-100
    • 77.9->FQ25(76.9)
  • 带模拟电路噪声训练
    • weight的噪声(memory cells)
    • input activation的噪声(DACs)
    • output MAC的噪声(ADCs)
    • 使用高斯噪声,带这个在FQ22上训练可以恢复准确率
      • $\sigma_w$ 5%, $\sigma_a=5%, \sigma_{MAC}=25%$可以恢复精度

总结

这篇文章写得不太好,但是结果很不错。训练的方法可以和很多事情结合一下用,带高斯噪声训练的方法可以继续想一想。

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×