[发明专利]一种卷积神经网络并行化训练加速方法在审
申请号: | 201810037896.9 | 申请日: | 2018-01-16 |
公开(公告)号: | CN108090565A | 公开(公告)日: | 2018-05-29 |
发明(设计)人: | 洪启飞;阮爱武;史傲凯 | 申请(专利权)人: | 电子科技大学 |
主分类号: | G06N3/08 | 分类号: | G06N3/08;G06N3/04 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 611731 四川省成*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 局部误差 卷积神经网络 样本 并行化 连接层 计算机视觉领域 读取 存储空间不足 神经网络结构 数据预处理 并行处理 并行计算 并行训练 共享内存 目标检测 图像识别 整机系统 重排 更新 卷积 前馈 应用 写入 输出 语言 网络 | ||
本发明提供一种卷积神经网络并行化训练加速方法,提出了mixed‑batch思想,应用于CPU与FPGA组成的整机系统,主要解决在大规模的卷积神经网络结构下,利用FPGA对一个batch的样本并行训练时,存在存储空间不足的问题,可应用于计算机视觉领域的图像识别,目标检测。上述方法包括以下步骤:1、在数据预处理阶段,将原始训练库的样本随机重排。2、在前馈计算阶段,数据以batch形式写入共享内存,基于OpenCL语言实现的卷积神经网络各个层内并行处理,在网络的首个全连接层随机读取前一层batch中的一个样本的数据,并计算该层的输出。3、在更新局部误差阶段,用首个全连接层的局部误差随机更新前一层batch中某个样本的局部误差,其余的各个层并行计算局部误差。
技术领域
本发明属于计算机领域,尤其涉及一种基于FPGA的卷积神经网络并行化训练加速方法。
背景技术
FPGA,即现场可编程门阵列,是一种高性能、低功耗、可编程的数字电路芯片。FPGA内部主要包含一系列可编程逻辑块(CLB)和互联线,除此之外,还包含DSP、BRAM等模块。逻辑块可以被配置后执行复杂的逻辑组合功能,互联线负责将不同的逻辑块、DSP以及输入相连组成一个完整电路结构。对于计算密集型算法,通用处理器依赖于冯若依曼体系,需要进行取指令、指令译码最终执行机器码的过程,并且通用处理器的计算资源是以乘法器、加法器这样量级的硬件单元组成的,如果架构配置与算法的数学模型相差甚远,则会造成硬件资源的浪费。而FPGA的具有可编程的优点,开发人员可以重复地对底层的晶体管电路编程,配置最节省且足够计算的硬件资源,晶体管利用率更高。因此,在针对特定应用下,FPGA比通用处理器能耗比更高。
传统的FPGA应用开发,需要使用硬件编程语言(verilog或VHDL等)完成RTL级逻辑设计,开发人员需要对硬件电路有较高的理解与把握,存在开发门槛高、开发周期长、难以升级维护等缺点,而目前,深度学习算法不断演进与更新,使用传统的方式开发成本较高。因此,需要一种可以快速实现卷积神经网络的训练的技术,跟进不断变化的算法。
卷积神经网络是一种经典的人工神经网络,在图像分类、目标检测、语音识别、视频识别和自然语言处理等领域有广泛应用。近年来,随着人工智能的快速发展,卷积神经网络的网络泛化能力和识别精确度都有了很大的提高。文献“Wang D,An J,Xu K.PipeCNN:AnOpenCL-Based FPGA Accelerator for Large-Scale Convolution Neuron Networks[J].arXiv preprint arXiv:1611.02450,2016.”提出使用流水线的方式执行OpenCL内核函数,但其缺点是内核函数只能单线程执行。文献“Liu L,Luo J,Deng X,et al.FPGA-basedAcceleration of Deep Neural Networks Using High Level Method[C]//P2P,Parallel,Grid,Cloud and Internet Computing(3PGCIC),2015 10th InternationalConference on.IEEE,2015:824-827.”介绍了一种基于mini-batch的随机梯度下降法应用于在FPGA上并行训练深度神经网络的方法。但该文献仅研究了神经网络的mini-batch梯度下降方法,并且随着网络的结构越来越复杂,网络的深度不断加深,网络层的类型不断增加,使用mini-batch的梯度下降法时,批量的输入样本数据规模增大,会超过FPGA的全局内存容量,增加内存读写时间,而使用随机梯度下降法,每次训练使用单个样本的效率较低。因此,需要一种在不显著牺牲训练准确度的前提下,应用于FPGA设备的降低训练时间的训练方法。
发明内容
本发明的目的在于针对上诉现有技术存在的问题,提供一种卷积神经网络的训练方法,能在较低的内存带宽下完成卷积神经网络模型的快速训练,内存带宽是指单位时间内读写的字节数。
本发明提供一种卷积神经网络模型的训练方法,所述方法包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于电子科技大学,未经电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810037896.9/2.html,转载请声明来源钻瓜专利网。