APP下载

在FPGA上实现及优化加速卷积神经网络的方法

2019-06-21郑文凯杨济民

山东师范大学学报(自然科学版) 2019年2期
关键词:分类资源模型

郑文凯 杨济民

( 山东师范大学物理与电子科学学院,250014,济南 )

卷积神经网络(Convolutional Neural Network,CNN)是一类人工神经网络,它可以自动从大规模数据中学习特征,并把结果向同类型数据泛化,在语音识别、图像识别、图像分割、自然语言处理等领域广泛应用[1,2].

由于CNN特定的计算模式,现有大部分CNN的设计实现都是基于GPU等硬件的支持,比如INVIDA公司的硬件加速显卡,其就是围绕GPU布局设计的,但是该芯片功耗较大、过大的体积很难适用于移动平台;对于通用处理器CPU而言,其在处理并行数据上效率较低;虽说使用ASIC平台设计具有可定制化的优点,但是成本高昂,产品的可迁移性低[3];而现场可编程门列(FPGA)具有丰富的片上硬件逻辑资源、灵活的线路连接特性以及良好的内存带宽等优点,相比于ASIC而言,更是省去了流片过程,因此在本研究中我们选择使用FPGA来设计该AI芯片.

在一项对于在CPU及GPU上实现CNN的工作中,我们可以清晰的看到在整个CNN网络进行前向传播的过程中,卷积层所耗费时间的比例是很高的[4],所以我们的首要目标就是去优化加速卷积操作. Stylianos等人提出一种以SDF计算模型为基础的框架[5],我们借鉴了该SDF模型以经典的用于识别手写数字集MNIST的CNN网络Lenet-5为例在FPGA开发板上进行了实现,该方法不局限于仅实现固定结构的CNN,我们采用IP核互联以及数据流的方式可以动态调整网络结构以及参数,具有较强的灵活性与通用性.

1 卷积神经网络的基础知识

1.1卷积层卷积层是卷积神经网络的……

登录APP查看全文

猜你喜欢

分类资源模型
一半模型
基础教育资源展示
分类算一算
重尾非线性自回归模型自加权M-估计的渐近分布
资源回收
教你一招:数的分类
资源再生 欢迎订阅
3D打印中的模型分割与打包