[发明专利]一种卷积神经网络并行化训练加速方法在审
申请号: | 201810037896.9 | 申请日: | 2018-01-16 |
公开(公告)号: | CN108090565A | 公开(公告)日: | 2018-05-29 |
发明(设计)人: | 洪启飞;阮爱武;史傲凯 | 申请(专利权)人: | 电子科技大学 |
主分类号: | G06N3/08 | 分类号: | G06N3/08;G06N3/04 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 611731 四川省成*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 局部误差 卷积神经网络 样本 并行化 连接层 计算机视觉领域 读取 存储空间不足 神经网络结构 数据预处理 并行处理 并行计算 并行训练 共享内存 目标检测 图像识别 整机系统 重排 更新 卷积 前馈 应用 写入 输出 语言 网络 | ||
1.一种卷积神经网络并行化训练方法,其特征在于,包括以下步骤:
1)基于FPGA(现场可编程门阵列)实现的卷积神经网络中各个层的并行处理,为模型结构参数和可训练参数创建CPU和FPGA都可以访问的共享内存,所述结构参数包括各级网络层的输出、局部误差,所述可训练参数包括各级卷积层的卷积核、所述各级卷积层的偏置向量、所述全连接层的权重矩阵和所述全连接层的偏置向量;
2)根据待训练卷积神经网络中每个层的类型创建不同batch规模的特征图像的输出与局部误差内存空间;
3)共享内存通过对齐的方式创建,使用DMA(直接存储器访问)的方式在主机和FPGA设备之间传输数据,整个训练过程,共享内存的数据在网络层之间不断计算并传递;
4)前馈计算时,在全连接层随机读取上一层batch中的一个特征图像的数据,并记录其在batch中的序号,反向传播计算时,使用在序号对应的标签数据计算输出层误差;
5)更新局部误差时,根据误差反向传播算法的链式计算法则,单个样本的网络层直接更新从输出层反向传播的局部误差,而最后一个batch规模的网络层使用后一层局部误差随机更新当前某一个样本的局部误差,之前batch规模的网络层依次并行更新相应的多个样本的局部误差;
6)对于batch规模的卷积层,计算该batch的特征图像的平均梯度,并行更新卷积核参数,计算该batch的平均局部误差,并行更新偏置参数;
7)对于单个样本的全连接层,计算单个特征图像的梯度,并行更新权重参数,计算单个特征图像的局部误差,并行更新偏置参数;
8)当前batch更新完之后,再重新传输下一个batch的数据,直置到达预设的迭代次数或误差低于阈值后停止训练。
2.如权利要求1所述的方法,其特征在于,所述的卷积神经网络中的层不同batch规模的输出和局部误差,batch规模指每次从训练集中选取的样本数量,所述的训练方法中,卷积层和池化层保存的batch规模样本的输出与局部误差,而全连接层保存单个样本输出与局部误差;
所述的卷积神经网络前馈计算过程中,从batch规模的层到单个样本的层计算时,采取随机选择的方式,并记录该样本的序号,利用所述序号对应的标签数据计算输出层的误差;
所述的卷积神经网络反向计算过程中,从单个样本的层到batch规模的层计算时,根据前馈计算中记录的样本序号,完成batch规模的层的局部误差的更新;
当计算卷积层的局部误差时,如果下一层是池化层,采用平均池化方式,并使用误差缩放因子λ参数乘以池化层的局部误差,得到卷积层相应神经元的局部误差值,达到微调整卷积核参数和偏置的目标。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于电子科技大学,未经电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810037896.9/1.html,转载请声明来源钻瓜专利网。