文献阅读(76)

  • 题目:Synetgy: Algorithm-hardware Co-design for ConvNet Accelerators on Embedded FPGAs
  • 时间:2019
  • 会议:FPGA
  • 研究机构:伯克利/清华
  • 博客参考:https://zhuanlan.zhihu.com/p/91064128
  • Github:https://github.com/Yang-YiFan/DiracDeltaNet

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的平均池化

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值