一种基于重要性采样的神经网络系统及应用方法技术方案

技术编号:35470584 阅读:17 留言:0更新日期:2022-11-05 16:16
本发明专利技术公开了一种基于重要性采样的神经网络系统及应用方法,该神经网络系统包括计算机设备与嵌入式设备,所述计算机设备与所述嵌入式设备电性连接;其中,所述计算机设备包括过程控制模块、模式切换模块、工具链模块与上位机接收模块;所述嵌入式设备包括自适应分区模块、卷积数据重要性采样模块、时序控制模块、计算模块与参数存储模块。本发明专利技术通过设计重要性采样工具链,对卷积网络各层参数的动态范围和概率分布进行重要性采样,能够在不进行剪枝的情况下,实现较大网络模型的高精度移植;同样将重要性采样方法和分区并行方法引入数据存取过程中,围绕卷积计算,设计重要性数据存取结构,实现高效的存取时序优化。实现高效的存取时序优化。实现高效的存取时序优化。

【技术实现步骤摘要】
一种基于重要性采样的神经网络系统及应用方法


[0001]本专利技术涉及深度卷积神经网络
,具体涉及一种基于重要性采样的神经网络系统及应用方法。

技术介绍

[0002]目前,深度卷积神经网络在机器视觉领域已成为实现超越人类识别能力的核心算法,将其应用在嵌入式设备中,能够带来巨大的经济效益。由于性能优越的深度神经网络算法一般参数量较大,有得甚至上GB的参数,这在嵌入式设备中往往是难以承受的。常用的方法是对网络参数进行剪枝和量化编码,以达到压缩网络模型的目的,再进行嵌入式移植和使用。
[0003]然而,上述方法一般都采取了利用精度换速度的方式,在适当降低精度的情况下,实现移植,这也将导致硬件平台的性能下降。此外,在网络移植的过程中,由于卷积网络中间层会产生大量的中间结果,且这些结果必须进行保存才能执行后续计算,因此,数据的存储方法会带来较大的影响,嵌入式设备的芯片一般存在较少的片上存储,常用的方法是引入DRAM或者DDR等内存设备进行数据缓存,大量数据的存取会成为影响算法嵌入式移植的关键因素。

技术实现思路

[0004]针对现有技术的不足,本专利技术的目的在于提供一种基于重要性采样的神经网络系统及应用方法,旨在解决现有技术所记载的技术问题。
[0005]本专利技术的一方面在于提供一种基于重要性采样的神经网络系统,所述神经网络系统包括计算机设备与嵌入式设备,所述计算机设备与所述嵌入式设备电性连接;所述计算机设备包括过程控制模块、模式切换模块、工具链模块与上位机接收模块;其中,所述过程控制模块用于训练过程中对所述嵌入式设备的数据流进行控制;所述模式切换模块用于切换所述计算机设备的工作模式;所述工具链模块用于对卷积网络各层参数的动态范围与概率分布进行重要性采样实现参数量化,以及将量化后的结果与量化系数传输至所述嵌入式设备中;所述上位机接收模块用于接收所述嵌入式设备的计算结果;所述嵌入式设备包括自适应分区模块、卷积数据重要性采样模块、时序控制模块、计算模块与参数存储模块;其中,所述自适应分区模块用于根据硬件资源分布设计分区并行卷积方法,存储分区数据以实现网络移植;所述卷积数据重要性采样模块用于对卷积数据进行重要性采样;所述时序控制模块用于按照计算时序,按照时序的顺序进行数据读取;所述计算模块用于根据所述时序控制模块的时序设计,读取卷积数据与参数数据;所述参数存储模块用于将卷积数据进行拼接,以实现数据的并行存储。
[0006]根据上述技术方案的一方面,所述模式切换模块具体用于:在所述计算机设备中切换训练模式与应用模式;在所述计算机设备处于所述训练模式下,所述过程控制模块与所述工具链模块与所述上位机接收模块之间的数据紧密融合,以实现利用所述嵌入式设备训练网络参数;在所述计算机处于所述应用模式下,所述过程控制模块保持关闭状态。
[0007]根据上述技术方案的一方面,所述过程控制模块具体用于:在对网络参数进行训练的过程中,读取训练图像,调用所述工具链模块以生成定点化参数与定点化位数M,以通过所述嵌入式设备进行卷积运算,并在上位机接收模块获取到卷积运算结果后,对所述卷积运算结果进行反向计算,以完成网络参数更新;在完成网络参数更新后再次读取新生成的训练图像与调用工具链模块,反复上述过程,以实现对网络参数的训练。
[0008]根据上述技术方案的一方面,所述工具链模块具体用于:对卷积网络各层参数的动态范围和概率分布进行重要性采样,确定每层参数定点化的位数M,实现参数量化,并将量化后的结果和量化系数传入嵌入式设备中,其中,重要性采样公式为:式中,为参数在该层网络参数动态范围内的概率分布,为高斯概率分布,该高斯函数的均值和方差由该层所有参数的动态范围决定,为每个参数的值,为经过重要性采样后,该层网络参数的均值;为获取该层定点化位数,设定误差阈值,并使其满足下式:式中,为图像像素值,为取整运算,为误差阈值,通常设定,M满足以上公式即为所求的解。
[0009]根据上述技术方案的一方面,所述自适应分区模块具体用于:根据硬件资源分布,对待卷积数据,设计分区并行卷积方法,在每次运算后DDR只存取分区数据,每一层计算后可复用该层存储资源,以优化存储结构。
[0010]根据上述技术方案的一方面,所述重要性采样模块具体用于:针对空洞卷积、普通卷积以及不同卷积核尺度、步长等卷积核,进行卷积数据的重要性采样,在每个分区周围采集用于卷积的数据,与参数共同顺序存入DDR空间;其中,重要性采样在获取不同卷积核下还用于分块边缘的确定,即的获取,获取公式为:
其中,为卷积核的尺度,为数据分区的宽度,为数据分区的高度,为卷积核的步长。
[0011]根据上述技术方案的一方面,所述计算模块具体用于:按照时序控制模块的时序设计,从DDR内存中读取N个层的卷积数据和参数数据,实现N个层的并行计算,并将计算结果暂存在DDR中,当完成所有分区计算后,形成一个特征层的数据,其中,N的计算公式为:式中,为DDR中一个地址的最大位数。
[0012]本专利技术的另一方面在于提供一种基于重要性采样的神经网络系统的应用方法,所述方法应用于上述技术方案当中所述的神经网络系统,所述方法包括:通过所述模式切换模块切换所述计算机设备的工作模式;通过所述过程控制模块在训练过程中对所述嵌入式设备的数据流进行控制;通过所述工具链模块对卷积网络各层参数的动态范围与概率分布进行重要性采样实现参数量化,以及将量化后的结果与量化系数传输至所述嵌入式设备中;通过所述自适应分区模块用于根据硬件资源分布设计分区并行卷积方法,存储分区数据以实现网络移植;通过所述时序控制模块用于按照计算时序,按照时序的顺序进行数据读取;通过所述计算模块根据所述时序控制模块的时序设计,读取卷积数据与参数数据;通过所述卷积数据重要性采样模块对卷积数据进行重要性采样;通过所述参数存储模块将卷积数据进行拼接,实现数据的并行存储;通过所述上位机接收模块用于接收所述嵌入式设备的计算结果。
[0013]根据上述技术方案的一方面,所述通过所述工具链模块对卷积网络各层参数的动态范围与概率分布进行重要性采样实现参数量化,以及将量化后的结果与量化系数传输至所述嵌入式设备中的步骤,具体包括对卷积网络各层参数的动态范围和概率分布进行重要性采样;确定每层参数定点化的位数M,实现参数量化;将量化后的结果和量化系数传入嵌入式设备中。
[0014]根据上述技术方案的一方面,所述通过所述卷积数据重要性采样模块对卷积数据进行重要性采样的步骤,具体包括:对空洞卷积、普通卷积以及不同卷积核尺度、步长等卷积核,进行卷积数据的重要性采样;
在每个分区周围采集用于卷积的数据,与参数共同顺序存入DDR空间;其中,重要性采样在获取不同卷积核下还用于分块边缘的确定,即的获取,获取公式为:其中,为卷积核的尺度,为数据分区的宽度,为数据分区的高度,为卷积核的步长。
[0015]与现有技术相比,采用专利技术所示的基于重要性采样的神经网络系统及应用方法,有益效果在于:该神经网络系统以重要性采样思想为核心,在参数定点化和内存存储上均采本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于重要性采样的神经网络系统,其特征在于,所述神经网络系统包括计算机设备与嵌入式设备,所述计算机设备与所述嵌入式设备电性连接;所述计算机设备包括过程控制模块、模式切换模块、工具链模块与上位机接收模块;其中,所述过程控制模块用于训练过程中对所述嵌入式设备的数据流进行控制;所述模式切换模块用于切换所述计算机设备的工作模式;所述工具链模块用于对卷积网络各层参数的动态范围与概率分布进行重要性采样实现参数量化,以及将量化后的结果与量化系数传输至所述嵌入式设备中;所述上位机接收模块用于接收所述嵌入式设备的计算结果;所述嵌入式设备包括自适应分区模块、卷积数据重要性采样模块、时序控制模块、计算模块与参数存储模块;其中,所述自适应分区模块用于根据硬件资源分布设计分区并行卷积方法,存储分区数据以实现网络移植;所述卷积数据重要性采样模块用于对卷积数据进行重要性采样;所述时序控制模块用于按照计算时序,按照时序的顺序进行数据读取;所述计算模块用于根据所述时序控制模块的时序设计,读取卷积数据与参数数据;所述参数存储模块用于将卷积数据进行拼接,以实现数据的并行存储。2.根据权利要求1所述的基于重要性采样的神经网络系统,其特征在于,所述模式切换模块具体用于:在所述计算机设备中切换训练模式与应用模式;在所述计算机设备处于所述训练模式下,所述过程控制模块与所述工具链模块与所述上位机接收模块之间的数据紧密融合,以实现利用所述嵌入式设备训练网络参数;在所述计算机处于所述应用模式下,所述过程控制模块保持关闭状态。3.根据权利要求2所述的基于重要性采样的神经网络系统,其特征在于,所述过程控制模块具体用于:在对网络参数进行训练的过程中,读取训练图像,调用所述工具链模块以生成定点化参数与定点化位数M,以通过所述嵌入式设备进行卷积运算,并在上位机接收模块获取到卷积运算结果后,对所述卷积运算结果进行反向计算,以完成网络参数更新;在完成网络参数更新后再次读取新生成的训练图像与调用工具链模块,反复上述过程,以实现对网络参数的训练。4.根据权利要求3所述的基于重要性采样的神经网络系统,其特征在于,所述工具链模块具体用于:对卷积网络各层参数的动态范围和概率分布进行重要性采样,确定每层参数定点化的位数M,实现参数量化,并将量化后的结果和量化系数传入嵌入式设备中,其中,重要性采样公式为:式中,为参数在该层网络参数动态范围内的概率分布,为高斯概率分布,该高斯函数的均值和方差由该层所有参数的动态范围决定,为每个参数的值,
为经过重要性采样后,该层网络参数的均值;为获取该层定点化位数,设定误差阈值,并使其满足下式:式中,为图像像素值,为取整运算,为误差阈值,通常设定,M满足以上公式即为所求的解。5.根据权利要求1所述的基于重要性采样的神经网络系统,其特征在于,所述自适应分区模块具体用于:根据硬件资源分布,对待卷积数据,设计分区并行卷积方法,在每...

【专利技术属性】
技术研发人员:吴京辉曹扬彭渊贾帅楠赵思聪丁亚晨
申请(专利权)人:北京航天晨信科技有限责任公司
类型:发明
国别省市:

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

1