文獻閱讀(76)

  • 題目:Synetgy: Algorithm-hardware Co-design for ConvNet Accelerators on Embedded FPGAs
  • 時間:2019
  • 會議:FPGA
  • 研究機構:伯克利/清華
  • 博客參考:https://zhuanlan.zhihu.com/p/91064128

1 abstract & introduction

本篇論文的主要貢獻:

  1. 基於ShuffleNetV2設計了一個新的網絡模型:DiracDeltaNet
  2. 通過軟硬件協同的思想,以及對應的accelerator:Synetgy

2 網絡設計

2.1 ShuffleNetV2

ShuffleNetV2有這幾個特點:

  • 模型較小,計算量較小
  • 採用了concatenative skip連接而不是additive skip連接

在這裏插入圖片描述

2.2 網絡主要的改進

  1. 3x3卷積換成了shift模塊和1x1卷積
    3x3卷積是9個數變成1個數,shift就是從9個數中按照規則copy1個數作爲輸出
  2. 3x3max-pooling換成2x2最大池化
  3. channel shuffle順序更換:方便硬件實現

在這裏插入圖片描述
在這裏插入圖片描述

2.3 網絡量化

權重按照這個公式量化
在這裏插入圖片描述
activation參考了論文Pact: Parameterized clipping activation for quantized neural networks 2018,採用這個公式量化:
在這裏插入圖片描述
重訓練參考論文Towards Effective Low-bitwidth Convolutional Neural Networks 2017 arXiv,每次重訓練50epoch,一直量化到權重1bit,activation4bit
在這裏插入圖片描述

3 accelerator結構

利用了HLS生成硬件,硬件需要完成的運算:

  • 1x1卷積
  • 2x2最大池化
  • shift
  • shuffle和concatenation

硬件不支持的運算:

  • 全連接層則用1x1卷積運算完成
  • shuffle操作用CPU-based memory copy
  • 平均池化用ARM
    在這裏插入圖片描述

3.1 軟件接口

開發板爲Xilinx Zynq UltraScale+ MPSoC,ARM上跑linux系統,通過基於PYNQ部署,並且在ARM上計算最後7x7的平均池化

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章