基于FPGA的二值化神经网络的加速系统技术方案

技术编号:26343600 阅读:33 留言:0更新日期:2020-11-13 20:47
本发明专利技术提出了一种基于FPGA的二值化神经网络的加速系统,本发明专利技术属于集成电路设计技术领域,用于解决现有技术中存在的卷积运算的关键计算路径长导致的计算速度易受到串行计算限制,且资源占用较多的技术问题。所述加速系统包含通过FPGA实现的权重数据缓存模块、输入特征数据缓存模块、配置数据缓存模块、权重数据转换模块、卷积模块、池化模块、全连接模块、结果处理模块、结果缓存模块和控制模块。本发明专利技术可应用于嵌入式环境下的目标快速检测等场景。

【技术实现步骤摘要】
基于FPGA的二值化神经网络的加速系统
本专利技术属于集成电路设计
,涉及一种二值化神经网络的加速系统,具体涉及一种基于FPGA的二值化神经网络的加速系统,可应用于嵌入式环境下的目标快速检测等场景。
技术介绍
随着深度学习的不断发展,其在工业领域中的应用越来越广泛。深度学习技术极大改善了工业应用的自动化水平。其中,卷积神经网络因其出色的表现在计算机视觉方面的应用更为广泛,例如图像分类、目标检测、动态追踪等场景。在使用卷积神经网络时,为了获得较高的准确率,研究者们通常都趋向于构造更深层和更复杂的神经网络,这样将需要较大的网络数据存储和计算开销。而在嵌入式环境下需要在计算能力和存储空间有限的硬件设备上部署卷积神经网络模型。为了解决该问题,量化、裁剪等方法被提出。其中,量化方法在计算和存储资源优先的嵌入式设备上更加适用。在各种量化方法中,二值化是目前效率相对较高的方法,通过对卷积神经网络中输入特征数据与权重数据进行二值化处理,使得卷积运算由浮点运算类型转化为位运算类型,可通过逻辑单元进行实现。目前,应用于嵌入式环境下的二值化神经本文档来自技高网...

【技术保护点】
1.一种基于FPGA的二值化神经网络的加速系统,其特征在于,包含通过FPGA实现的权重数据缓存模块、输入特征数据缓存模块、配置数据缓存模块、权重数据转换模块、卷积模块、池化模块、全连接模块、结果处理模块、结果缓存模块和控制模块,其中:/n所述权重数据缓存模块,用于通过FPGA上的存储器DDR,对二值化神经网络的卷积层权重数据和全连接层权重数据进行缓存;/n所述输入特征数据缓存模块,用于通过FPGA上的存储器DDR,对二值化神经网络的输入特征数据进行缓存;/n所述配置数据缓存模块,用于根据二值化神经网络卷积层包含的M个尺寸为a的非对称卷积核kernela按行计算优先或列计算优先的卷积展开顺序计算...

【技术特征摘要】
1.一种基于FPGA的二值化神经网络的加速系统,其特征在于,包含通过FPGA实现的权重数据缓存模块、输入特征数据缓存模块、配置数据缓存模块、权重数据转换模块、卷积模块、池化模块、全连接模块、结果处理模块、结果缓存模块和控制模块,其中:
所述权重数据缓存模块,用于通过FPGA上的存储器DDR,对二值化神经网络的卷积层权重数据和全连接层权重数据进行缓存;
所述输入特征数据缓存模块,用于通过FPGA上的存储器DDR,对二值化神经网络的输入特征数据进行缓存;
所述配置数据缓存模块,用于根据二值化神经网络卷积层包含的M个尺寸为a的非对称卷积核kernela按行计算优先或列计算优先的卷积展开顺序计算kernela的卷积配置数据X,根据二值化神经网络全连接层包含的I个尺寸为b的非对称卷积核kernelb按行计算优先或列计算优先的卷积展开顺序计算kernelb的全连接卷积配置数据Y,并按照卷积配置数据X计算的顺序与按照全连接卷积配置数据Y计算的顺序,以kernela的卷积层权重数据和kernelb的全连接层权重数据为缓存地址,通过FPGA上的片内存储器ROM1与ROM2分别对kernela的卷积配置数据和kernelb的全连接卷积配置数据进行缓存;
所述权重数据转换模块,用于当控制模块提供的专用控制时钟信号为上升沿,且复位号为高电平时,按照kernela的尺寸a和kernelb的尺寸b,分别依次读取存储器DDR中缓存的kernela的卷积层权重数据和kernelb的全连接层权重数据,并将所读取权重数据分别作为访问片内存储器ROM1与ROM2的地址信号,依次读取片内存储器ROM1中缓存的kernela的卷积配置数据和ROM2中缓存的kernelb的全连接卷积配置数据;
所述卷积模块,包括卷积运算控制子模块和由与卷积核kernela数量M相同的待配置卷积计算的LUT逻辑单元组成的可重配卷积计算子模块A,A={Am,M≥2};所述卷积运算控制子模块,用于当控制模块提供的控制时钟信号为上升沿,且复位信号为高电平时,调用FPGA支持的AXI_HWICAPIP核U1,并根据地址计数器产生的Am的帧地址信号,通过从权重数据转换模块中按照卷积配置数据X计算的顺序依次读取ROM1中Am对应kernela的卷积配置数据对Am进行配置,得到内容配置后的可重配卷积计算子模块A;所述内容配置后的可重配卷积计算子模块A,用于对从FPGA上的存储器DDR读取的输入特征数据进行卷积运算;
所述池化模块,包括池化运算控制子模块和由N个待配置池化计算的LUT逻辑单元组成的可重配池化计算子模块B,B={Bn,N≥2};所述池化运算控制子模块,用于当控制模块提供的控制时钟信号为上升沿,且复位信号为高电平时,调用FPGA支持的AXI_HWICAPIP核U2,并根据地址计数器产生的Bn的帧地址信号,通过池化计算配置常数对Bn进行配置,得到内容配置后的可重配池化计算子模块B;所述内容配置后的可重配池化计算子模块B,用于对卷积模块的卷积运算结果进行池化运算;
所述全连接模块,包括全连接卷积控制子模块、全连接加法控制子模块、由与卷积核kernelb数量I相同的可重配全连接卷积计算子模块C,C={Ci,I≥2}和由J个待配置全连接加法...

【专利技术属性】
技术研发人员:田玉敏王泉杨鹏飞李喜林王振翼梁瑀
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:陕西;61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1