文献阅读(46)

  • 题目:REQ-YOLO: A Resource-Aware, Efficient Quantization Framework for Object Detection on FPGAs
  • 时间:2019
  • 会议:FPGA
  • 研究机构:美国东北大学/北大
  • GitHub:https://github.com/Anonymous788/YOLO_BlockCir

1 缩写 & 引用

  • ADMM: alternating direction method of multiplier
  • IOU: intersection over union

2 abstract & introduction

开始先总结,最重要的两点就是网络模型压缩和高效的硬件实现。
之前有人用BNN来进行量化计算,过于激进了,会导致精度下降比较大,很多DSP没有能充分利用起来。所以他这里提出一个resource aware的系统权重量化的框架
本篇论文的主要贡献:

  • 引入块循环矩阵,可以节省存储空间;计算通过FFT和IFFT来降低复杂度
  • 提出了一种异构的权重量化方法,包括了equal-distance和mixed powers-of-two方法
  • 基于HLS的资源空间探索

在这里插入图片描述
目标检测主要有两种方法:region proposal based和proposal free方法
YOLO是proposal free的方法,好处是不需要对每个区域再做一次分类操作,可以有更快的速度,缺点是:

  • 和Fast RCNN相比有比较多的localization error
  • 和proposal-based方法相比recall比较低
    为了解决这些问题,于是又提出了YOLOv2

PASCAL2007数据集的输入尺寸是416x416,一共化成SxS的小照片,每个小照片预测B个框框和置信概率。

3 REQ-YOLO框架

3.1 异构权重量化方法

两种量化方法:

  • equal-distance量化:在这里插入图片描述
  • power-of-two量化:
    在这里插入图片描述
    其中power-of-two可以通过移位来操作,这就不需要DSP了

3.2 ADMM来实现权重量化

因为循环矩阵是用FFT来实现的,可以直接存储权重的FFT结果,但是FFT结果量化多少位宽呢?这里把它转化成两个优化子问题,第一个优化问题可以用随机梯度下降,第二个优化问题可以用ADMM

4 硬件实现

权重可以全部存在片上BRAM,因为:

  1. 循环矩阵存第一行就够了
  2. 量化可以降低位宽
    思想就是equal-distance量化需要用DSP,power-of-two量化只用LUT不用DSP,那全用power-of-two量化的话精度会下降太多,DSP资源也浪费了,不如说二者混着用,尽量把资源都用满。
    在这里插入图片描述

4.1 PE设计

权重不需要做FFT,权重直接存FFT的结果就好了,需要权重decoder来对两种不同的模式解码

在这里插入图片描述

4.2 设计优化

  • FFT过程利用对称性可以节省一些操作
  • 数据位宽减少之后,同一个DSP48E1可以同时计算6个8bit以下的数据的计算
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值