【论文笔记】利用CNN识别人类运动的毫米波雷达图像类型并在FPGA上实现加速

论文题目:Acceleration of FPGA Based Convolutional Neural Network for Human Activity Classification Using Millimeter-Wave Radar

年份&会议:2019 - IEEE Access

主要内容:

采用毫米波雷达回波谱图作为CNN输入来识别人类活动的类别,并实现在FPGA上,还采取了三种优化方式(量化、并行计算、分类器优化)


(1)CNN的量化策略
a) 归一化+用2的指数表示

首先归一化到区间[0,1]。由于其值的非负性,CNN在FPGA上的输入数据量化结果可以用1个整数位和15个分式位表示
在这里插入图片描述

b) 偏置值 bias要位数对齐

直接按位相加


(2)并行计算策略
a) 通道间并行

比如一个图的不同通道,同时进行卷积。因为input是一样的
核心:输入一致的都可以同时卷积
【论文笔记】利用CNN识别人类运动的毫米波雷达图像类型并在FPGA上实现加速_第1张图片

b) 通道内并行

由于input和卷积核的维度是一样深的,将维度分开来并行计算,最后合并
【论文笔记】利用CNN识别人类运动的毫米波雷达图像类型并在FPGA上实现加速_第2张图片

c) 层间并行

卷积-池化 这种流水线式的操作,其实可以并行,而不需要一整张图都出来了才下一步,因为卷积的前提只要得到对应一小部分的input,池化的前提也只需要得到对应一小部分的卷积结果。

d) 缓存优化

比如池化只需要relu以后的四个彩色块的值,relu之前的值就可以删掉了,然后用于算/存下一个地方的卷积值
【论文笔记】利用CNN识别人类运动的毫米波雷达图像类型并在FPGA上实现加速_第3张图片


3) 分类方法优化

删去softmax层可以减少计算量
因为他这里,正好最终的概率与FC层的输入向量之间有联系:
在这里插入图片描述

所以可以删去softmax层不用再计算一次,直接根据FC层的输入向量D FCO判断


结果:
a) 在量化之后,内存资源(大部分被权值参数和层间输入数据消耗)大约减少了一半。
b) 模型参数和数据的定点数表示仅降低了0.27%的分类精度

你可能感兴趣的:(计算机视觉,神经网络,深度学习,tensorflow)