论文题目: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是一样的
核心:输入一致的都可以同时卷积
b) 通道内并行
由于input和卷积核的维度是一样深的,将维度分开来并行计算,最后合并
c) 层间并行
卷积-池化 这种流水线式的操作,其实可以并行,而不需要一整张图都出来了才下一步,因为卷积的前提只要得到对应一小部分的input,池化的前提也只需要得到对应一小部分的卷积结果。
d) 缓存优化
比如池化只需要relu以后的四个彩色块的值,relu之前的值就可以删掉了,然后用于算/存下一个地方的卷积值
3) 分类方法优化
删去softmax层可以减少计算量
因为他这里,正好最终的概率与FC层的输入向量之间有联系:
所以可以删去softmax层不用再计算一次,直接根据FC层的输入向量D FCO判断