【技术实现步骤摘要】
基于最优结构搜索的神经网络动态加速平台设计方法及神经网络动态加速平台
本专利技术涉及智能平台计算领域,尤其涉及一种基于最优网络结构搜索的神经网络动态加速平台设计方法。
技术介绍
深度神经网络(DNN)已然展现出巨大价值,在深度神经网络中,卷积神经网络(CNN)相比于传统的图像识别方案有着明显的优势。随着人们要求的提高,网络层数的加深和数据库不断地增大成为CNN的主流发展技术线路。与此同时,对于深度神经网络的运用也面临着几个问题:(1)训练一个卷积神经网络将花费更多的时间,CNN算法主要通过大量的乘法运算来实现卷积,1998年LeCun等提出的运用于识别手写字体的CNN模型只有少于2.3×107次乘法运算,2012年Krizhevsky等设计出的名为AlexNet的CNN模型的乘法运算次数达到了1.1×109次,而在2015年Simonyan和Zisserman提出的CNN模型所需的乘法运算次数甚至超过了1.6×1010次。(2)大型深度神经网络运行时会消耗相当大的功耗,并且在通用处理器中运行效率低下。因为其模型必须存储在外部DRAM,且在在对图片或语音的推测过程中 ...
【技术保护点】
1.一种神经网络动态加速平台,其特征在于,包括:控制端和硬件加速端;控制端用于训练控制神经网络,控制神经网络根据子神经网络所反馈的推论准确率以及预先设置的准确率精度要求,对子神经网络的结构进行更新并生成子神经网络结构参数,并对更新后的子神经网络进行再训练生成权重参数,同时生成配置文件发送至硬件加速端,配置文件包含子神经网络的结构参数与权重参数;当硬件加速端返回子神经网络推论准确率稳定以后,控制神经网络不再进行子神经网络的更新,即搜索到硬件加速端上的子神经网络的最优结构;所述子神经网络为需要在硬件加速端进行推论加速的神经网络;所述硬件加速端为使用ASIC实现的子神经网络硬件推 ...
【技术特征摘要】
1.一种神经网络动态加速平台,其特征在于,包括:控制端和硬件加速端;控制端用于训练控制神经网络,控制神经网络根据子神经网络所反馈的推论准确率以及预先设置的准确率精度要求,对子神经网络的结构进行更新并生成子神经网络结构参数,并对更新后的子神经网络进行再训练生成权重参数,同时生成配置文件发送至硬件加速端,配置文件包含子神经网络的结构参数与权重参数;当硬件加速端返回子神经网络推论准确率稳定以后,控制神经网络不再进行子神经网络的更新,即搜索到硬件加速端上的子神经网络的最优结构;所述子神经网络为需要在硬件加速端进行推论加速的神经网络;所述硬件加速端为使用ASIC实现的子神经网络硬件推论加速器,其接受控制端生成的配置文件,完成对子神经网络的硬件实现,并加速子神经网络的推论过程,同时把子神经网络的推论准确率反馈给控制端;最终达到对子神经网络最优结构搜索并完成最优结构的子神经网络的硬件推论加速过程。2.如权利要求1所述的神经网络动态加速平台,其特征在于,子神经网络的结构包括卷积层层数、池化层层数、全连接层层数、卷积层的结构、池化层的结构以及各层的连接方式;卷积层结构包括卷积核数目、尺寸、步长,池化层结构包括池化窗尺寸、步长;配置文件中的参数包括:卷积层层数、池化层层数、全连接层层数、各层的连接方式;卷积层的结构:卷积核数目、尺寸、步长;池化层的结构:池化窗尺寸、步长;再训练过后的子神经网络的各权重参数;存储器的地址、存储器访问模式;硬件加速端包括数据输入模块、配置缓存模块、核心计算模块、数据输出模块;其中核心计算模块包括卷积计算单元、池化单元、线性计算单元、分类单元;其中卷积计算单元、池化单元、线性计算单元的数量分别与配置文件中的卷积层层数、池化层层数、全连接层层数相对应;卷积计算单元的硬件结构由配置文件中的卷积层结构参数决定,池化单元的硬件结构由配置文件中的池化层结构参数决定;核心计算模块中各单元的硬件连接方式由配置文件中的各层的连接方式所决定;所述数据输入模块用于根据输入数据通道数,将数据分为n个单通道数据块,所述配置缓存模块用于缓存控制端上生成的配置文件,所述核心计算模块使用卷积计算单元中的m个卷积核依次对n个数据块以步长k进行卷积,生成m个特征图,m,k分别代表卷积计算单元中卷积核数目、卷积步长,分别与配置文件中的卷积核数目、步长相对应,并传输给池化单元经行特征抽样,之后通过线性计算单元和分类单元产生分类结果,同时计算子神经网络的推论准确率,最后通过数据输出单元输出分类结果和推论准确率。3.如权利要求1所述的神经网络动态加速平台,其特征在于,在控制端,控制端的控制神经网络为递归神经网络,递归神经网络的计算流程如下:A1)输入xt和ht-1分两路计算,一路对xt和ht-1相乘生成本级记忆单元ct,其中xt为子神经网络反馈的推论准确率和准确率精度要求所合成的序列,ht-1为前一次控制神经网络输出的子神经网络结构参数;A2)对上一步相乘结果使用激活函数ReLU进行激活,进行ReLU(ht-1×xt)操作;A3)另一路先对xt和ht-1相加并用激活函数tanh进行tanh(ht-1+xt)操作;A4)上一步结果与前级记忆单元ct-1相加;A5)再次使用ReLU激活函数激活,进行ReLU(tanh(ht-1+xt)+ct-1)操作;A6)两路结果相乘后输入sigmoid函数,最后输出的结果为:ht=sigmoid(ReLU(xt×ht-1)×ReLU(tanh(ht-1+xt)+ct-1))ht为代表控制神经网络输出的子神经网络的结构参数。4.如权利要求2所述的神经网络动态加速平台,其特征在于,在硬件加速端;数据输入模...
【专利技术属性】
技术研发人员:虞致国,马晓杰,顾晓峰,魏敬和,
申请(专利权)人:江南大学,
类型:发明
国别省市:江苏,32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。