APP下载

面向卷积神经网络的高并行度FPGA加速器设计

2021-03-18

计算机应用 2021年3期
关键词:特征

(1.北京航天自动控制研究所,北京 100854;2.宇航智能控制技术国家级重点实验室,北京 100854)

0 引言

卷积神经网络(Convolutional Neural Network,CNN)是一种包含卷积计算的前馈神经网络,是深度学习的代表算法之一[1]。自从AlexNet[2]在2012 年ImageNet 大规模视觉识别挑战赛(ImageNet Large Scale Visual Recognition Challenge,ILSVRC)[3]上展示出CNN 在大规模图像处理中的巨大优势后,CNN 算法乃至循环神经网络(Recurrent Neural Network,RNN)等其他深度学习算法受到了广泛关注。现在,基于CNN的图像分类、目标检测、图像分割等算法已经广泛应用于道路行人检测、无人驾驶汽车、医学影像分析、国防安全等领域,并取得了显著成果。

虽然CNN 算法性能卓越,但是相较于传统的图像识别算法,它需要更多的计算量和存储资源,如19 层的VGG(VGG-19)[4]包含1.4 × 108个参数、3.9 × 1010次浮点运算,152 层的ResNet[5](ResNet-152)包含5.7× 107个参数、2.2 × 109次浮点运算,输入大小为300 × 300 的SSD[6]包含2.3× 107个参数、6.1× 1010次浮点运算。这对中央处理器(Central Processing Unit,CPU)来讲并不友好,因为CPU 更擅长流程控制,而用于计算的资源并不多;相比较而言,拥有大量计算核心的图形处理器(Graphics Processing Unit,GPU)更适合CNN 算法加速[7],但GPU 架构本身并非专为加速CNN 算法设计,存在功耗过大的问题,难以适应嵌入式领域的低功耗要求。

为了解决嵌入式领域CNN 计算设备算力不足的问题,研究者们从计算单元结构、访存方式、低功耗设计等多个方面提出各种CNN 的硬件加速器技术及方案[8-12]。然而这些设计要么只利用CNN 的输入输出通道并行[8],导致其架构的整体并行度较低,难以满足嵌入式领域很多应用的算力需求;要么直接将卷积计算转换为矩阵向量乘,导致其所需片上存储过大或者存储带宽需求过大,如Google 的张量处理器(Tensor Processing Unit,TPU)[9];……

登录APP查看全文

猜你喜欢

特征
离散型随机变量的分布列与数字特征
具有两个P’维非线性不可约特征标的非可解群
月震特征及与地震的对比
如何表达“特征”
不忠诚的四个特征
詈语的文化蕴含与现代特征
基于特征筛选的模型选择
线性代数的应用特征