一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

支持动态神经网络稀疏模型的硬件加速器架构的制作方法

2021-10-29 21:17:00 来源:中国专利 TAG:架构 硬件 神经网络 人工智能 稀疏


1.本发明涉及人工智能硬件架构技术领域,尤其涉及一种支持动态神经网络稀疏模型的硬件加速器架构。


背景技术:

2.为了实现深度网络的稀疏优化,目前通常采用的一种方法是对网络的权重进行剪枝,在训练过程中根据权重对于结果的影响,将不重要的连接关系进行裁剪从而降低网络前向推理的计算代价。虽然一系列的工作验证了剪枝方法能够大幅度降低网络的参数量,但其静态特性依然存在着一些固有的局限性。一方面,在考虑不同种类的图片输入权重剪枝模型进行推理时,虽然各种图片的细节丰富程度不同,但通过静态稀疏模型的计算代价是一致的,极端情况下一张空白的图片需要消耗和细节非常丰富的图片等同的计算量。另一方面,对同一张图片的不同区域而言,由于剪枝仅在权重层面操作,图片中重点需要关注区域需要的计算量和其他非重点区域也在静态剪枝模型中保持一致。因此,静态的稀疏模型是独立于不同输入和同一输入的不同区域,无法达到最优的稀疏效果。
3.因此,近期研究者越来越关注动态稀疏模型。相比静态稀疏模型,动态稀疏网络能更好地利用不同输入的特征差异性,实现特征的注意力集中,将更多计算资源分配到更加影响模型精度的像素区域,根据实现粒度的不同,动态稀疏网络可以分为层级稀疏、通道级稀疏和像素级稀疏。像素级别的稀疏能够同时实现动态稀疏优化和空域自适应稀疏,因而稀疏性能最优,但其不规则性也会带来额外的硬件实现开销。因此,需要考虑像素级动态稀疏网络优化算法和高能效硬件运行架构,以真正实现对深度稀疏网络的高效推理。
4.因此,如何避免现有的动态稀疏网络优化算法中尚无匹配的硬件架构能降低算法应用过程中计算耗时和提高效率的情况,仍然是本领域技术人员亟待解决的问题。


技术实现要素:

5.本发明提供一种支持动态神经网络稀疏模型的硬件加速器架构,用以解决现有的动态稀疏网络优化算法中尚无匹配的硬件架构能降低算法应用过程中计算耗时和提高效率的问题。
6.本发明提供一种支持动态神经网络稀疏模型的硬件加速器架构,包括程序系统端存储器、中央处理器cpu、数据搬移模块、第一核心模块和第二核心模块,
7.所述程序系统端存储器存储的激活数据依次经过所述cpu和所述数据搬移模块,输入至所述第一核心模块;
8.所述第一核心模块用于基于其预先存储的第一权重参数和所述激活数据,计算显著图并输出至所述第二核心模块;
9.所述程序系统端存储器存储的所述激活数据和第二权重参数依次经过所述cpu和所述数据搬移模块,输入至所述第二核心模块;
10.所述第二核心模块用于基于所述第二权重参数、所述激活数据和所述显著图计算
模型结果,并依次经过所述数据搬移模块和所述cpu,返回输出至所述程序系统端存储器;
11.其中,所述第一权重参数为动态神经网络稀疏模型中显著图计算网络中的已完成学习权重参数,所述第二权重参数为动态神经网络稀疏模型中结合显著度的稀疏卷积网络的已完成学习权重参数,所述第二权重参数基于预设时序多次分批输入所述第二核心模块。
12.根据本发明提供的一种支持动态神经网络稀疏模型的硬件加速器架构,所述动态神经网络稀疏模型是基于样本图像和对应的参考标准标签进行训练得到的,所述动态神经网络稀疏模型训练过程中的网络结构包括待优化的显著图计算网络和待优化的结合显著度的稀疏卷积网络,其中,
13.所述待优化的显著图计算网络用于将输入的样本图像进行显著图提取,得到样本图像显著图并输出至所述待优化的结合显著度的稀疏卷积网络;
14.所述待优化的结合显著度的稀疏卷积网络用于基于输入的样本图像显著图和输入的样本图像进行任务预测,得到预测结果;
15.所述预测结果和所述参考标准标签用于构建所述动态神经网络稀疏模型训练时的损失函数;
16.其中,所述任务预测与所述动态神经网络稀疏模型训练时的训练任务目标对应。
17.根据本发明提供的一种支持动态神经网络稀疏模型的硬件加速器架构,所述基于输入的样本图像显著图和输入的样本图像进行任务预测,具体包括:
18.将输入的样本图像进行特征提取,得到c通道的原始特征图;
19.将输入的样本图像显著图以均匀量化规则转换为通道数为c的二值化掩膜;
20.在所述待优化的结合显著度的稀疏卷积网络的任一卷积层得到当前层卷积结果特征图后,将所述当前层卷积结果特征图与所述二值化掩膜进行点乘操作得到该层最终结果特征图,并输出至激活层,以供所述激活层进行激活处理后得到激活结果再输入至下一卷积层,直到得到所述待优化的结合显著度的稀疏卷积网络中最后一层卷积层的预测结果,其中,所述待优化的结合显著度的稀疏卷积网络的第一层卷积层输入的是所述原始特征图。
21.根据本发明提供的一种支持动态神经网络稀疏模型的硬件加速器架构,所述将输入的样本图像显著图以均匀量化规则转换为通道数为c的二值化掩膜,具体包括:
22.通过如下公式将输入的样本图像显著图f以均匀量化规则量化为通道数为c的二值化掩膜m:
[0023][0024][0025]
其中,l为预设量化阶数,s为所述均匀量化规则的量化步长,c为所述原始特征图的通道数,f(i,j)为样本图像显著图f上位置为(i,j)像素点的显著度值,q(i,j)为均匀量化掩膜q上位置为(i,j)像素点的量化阶数值,h为所述原始特征图的宽度。
[0026]
根据本发明提供的一种支持动态神经网络稀疏模型的硬件加速器架构,所述损失
函数的构建,具体包括:
[0027]
通过如下公式构建所述动态神经网络稀疏模型训练时的损失函数l
total
:
[0028]
l
total
=l
main
μl
sparse
[0029]
l
sparse
=|l1(f)

γ|
[0030]
其中,l
main
为所述预测结果和所述参考标准标签之间的误差表示,l
sparse
为所述显著图计算网络的稀疏度表示,f为样本图像显著图,l1()为1范数函数,γ和μ均为预设可调超参数。
[0031]
根据本发明提供的一种支持动态神经网络稀疏模型的硬件加速器架构,所述第一核心模块包括输入存储单元、第一权重存储单元、片上卷积核心单元和显著度图存储器,其中,
[0032]
所述输入存储单元用于接收所述数据搬移模块转发的来自所述cpu的所述激活数据并输出至所述片上卷积核心单元,
[0033]
所述第一权重存储单元用于存储预先写入的所述第一权重参数并输出至所述片上卷积核心单元;
[0034]
所述片上卷积核心单元用于基于所述第一权重参数和所述激活数据以流式结构完成所述显著图计算网络中所有卷积层的计算,得到显著图并输出至所述显著度图存储器;
[0035]
所述显著度图存储器用于将所述显著度图输出至所述第二核心模块。
[0036]
根据本发明提供的一种支持动态神经网络稀疏模型的硬件加速器架构,所述第一核心模块还包括稀疏控制器,其中,
[0037]
所述稀疏控制器用于控制所述片上卷积核心单元将计算得到的显著图的显著度值以预设缩放规则进行缩减或放大,得到缩放后显著图,并控制所述片上卷积核心单元将所述缩放后显著图输出至所述显著度图存储器;
[0038]
所述显著度图存储器用于将所述缩放后显著图输出至所述第二核心模块。
[0039]
根据本发明提供的一种支持动态神经网络稀疏模型的硬件加速器架构,所述第二核心模块包括稀疏解码器、激活值存储单元、第二权重存储单元、权重载入器、激活层和预设计算阵列,其中,
[0040]
所述稀疏解码器用于接收所述第一核心模块输出的显著图和所述数据搬移模块输入的所述激活数据,并基于所述显著图量化得到的二值化掩膜对所述激活数据进行解码,得到量化显著度图并输出至所述激活值存储单元进行存储,以供所述激活值存储单元输出至所述预设计算阵列;
[0041]
所述权重载入器用于按所述预设时序多批次接收所述第二权重参数,并输出至所述第二权重存储单元;
[0042]
所述第二权重存储单元用于将所述权重载入器输出的所述第二权重参数按所述预设时序多批次输出至所述预设计算阵列;
[0043]
所述预设计算阵列用于基于所述预设时序中第i批次输入的第二权重参数和所述激活值存储单元输出的对应所述第i批次的激活值计算得到第i批次对应的所述结合显著度的稀疏卷积网络中卷积层输出结果,并输出至所述激活层,以供所述激活层对所述输出结果进行激活处理后输出至所述激活值存储单元作为第i 1批次的激活值进行存储,直到
得到所述结合显著度的稀疏卷积网络中最后一层卷积层的结果并返回经过所述数据搬移模块和所述cpu,输出至所述数据搬移模块,其中,所述第一批次的激活值为所述量化显著图。
[0044]
根据本发明提供的一种支持动态神经网络稀疏模型的硬件加速器架构,所述预设计算阵列为大小为16
×
16的计算阵列。
[0045]
根据本发明提供的一种支持动态神经网络稀疏模型的硬件加速器架构,所述数据搬移模块基于axi

stream协议进行所述程序系统端存储器和所述cpu之间的数据转发。
[0046]
本发明提供的支持动态神经网络稀疏模型的硬件加速器架构,通过将动态神经网络稀疏模型的显著图计算网络和结合显著度的稀疏卷积网络的运算分别部署于第一核心模块和第二核心模块,第一核心模块基于预先写入自身存储的显著图计算网络的第一权重参数对输入的激活数据进行显著图的计算,由于显著图计算网络本身属于轻量级网络,第一权重参数的数量较少方便提前写入存储于第一核心模块,因此仅需要输入该网络的第一层的激活数据(即待测原始图像),之后的该网络的所有卷积层的计算都在第一核心模块所在片上进行,降低了与外接内存程序系统端存储器的访问次数,如此可以减少运算耗时,而对于第二核心模块上结合显著度的稀疏卷积网络的运算,由于结合显著度的稀疏卷积网络作为主干功能网络,为了保证模型对应功能的准确率其中的权重参数较多,因此为了配合第二核心模块所在片上的存储容量有限,按照预设时序多次分批输入第二权重参数至所述第二核心模块,还可以配合第二核心模块上的结合显著度的稀疏卷积网络中的卷积层的依次迭代计算,即保证用时少还保证使用低存储容量内存来降低硬件成本。因此,本发明提供的结合显著度的稀疏卷积网络,实现了降低算法应用过程中计算耗时提高了效率。
附图说明
[0047]
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0048]
图1为本发明提供的一种支持动态神经网络稀疏模型的硬件加速器架构的结构示意图之一;
[0049]
图2为本发明提供的动态神经网络稀疏模型训练时流程框架图;
[0050]
图3为本发明提供的一种支持动态神经网络稀疏模型的硬件加速器架构的结构示意图之二;
[0051]
图4为本发明提供的一种支持动态神经网络稀疏模型的硬件加速器架构的结构示意图之三;
[0052]
图5为本发明提供的一种支持动态神经网络稀疏模型的硬件加速器架构的结构示意图之四。
具体实施方式
[0053]
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,
而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0054]
由于现有的动态稀疏网络优化算法中普遍存在尚无匹配的硬件架构能降低算法应用过程中计算耗时和提高效率的问题。下面结合图1

图5描述本发明的一种支持动态神经网络稀疏模型的硬件加速器架构。图1为本发明提供的一种支持动态神经网络稀疏模型的硬件加速器架构的结构示意图之一,如图1所示,该硬件加速器架构包括程序系统端存储器101、中央处理器cpu102、数据搬移模块103、第一核心模块104和第二核心模块105,其特征在于:
[0055]
所述程序系统端存储器101存储的激活数据依次经过所述cpu102和所述数据搬移模块103,输入至所述第一核心模块104;
[0056]
所述第一核心模块104用于基于其预先存储的第一权重参数和所述激活数据,计算显著图并输出至所述第二核心模块105;
[0057]
所述程序系统端存储器101存储的所述激活数据和第二权重参数依次经过所述cpu102和所述数据搬移模块103,输入至所述第二核心模块105;
[0058]
所述第二核心模块105用于基于所述第二权重参数、所述激活数据和所述显著图计算模型结果,并依次经过所述数据搬移模块103和所述cpu102,返回输出至所述程序系统端存储器101;
[0059]
其中,所述第一权重参数为动态神经网络稀疏模型中显著图计算网络中的已完成学习权重参数,所述第二权重参数为动态神经网络稀疏模型中结合显著度的稀疏卷积网络的已完成学习权重参数,所述第二权重参数基于预设时序多次分批输入所述第二核心模块。
[0060]
具体地,所述支持动态神经网络稀疏模型的硬件加速器架构中模块划分与动态神经网络稀疏模型中的网络结构对应,主要模块为第一核心模块104和第二核心模块105,分别对应于动态神经网络稀疏模型的训练时网络结构中的显著图计算网络和结合显著度的稀疏卷积网络,其中,第一核心模块104为片上计算核心模块,因为该第一核心模块104对应的动态神经网络稀疏模型中的训练完成的显著图计算网络本身是属于轻量级网络,其中的学习完成的待优化权重参数个数少,运算量低,因此,显著图计算网络对应的第一权重参数通过预先写入第一核心模块104的方式靠第一核心模块104自身存储,无需与外接的程序系统端存储器101进行交互获取权重参数,此处即可以节约从外接存储器获取第一权重参数的时间。此处需要说明的是,动态神经网络稀疏模型用于概括一系列基于动态神经网络稀疏算法训练得到的可以执行特定任务的模型,即该动态神经网络稀疏算法可以应用于各类计算机视觉的深度应用,例如得到基于动态神经网络稀疏算法的图像超分辨模型,基于动态神经网络稀疏算法的语义分割模型和基于动态神经网络稀疏算法的目标检测模型等等,此处不作具体限定。本发明仅仅将基于动态神经网络稀疏算法训练出来的模型适配的硬件架构进行设计,以使得设计的硬件架构能为基于动态神经网络稀疏算法训练出来的模型提供特定适配的硬件组合架构,以保证在较低硬件成本的基础上提高计算效率,即减少运算耗时,而运算耗时的减少主要通过数据交互访问获取的减少,较低硬件成本的保持主要通过数据按照时序进行获取使用避免需要使用大容量的内存导致硬件成本升高。
[0061]
第二核心模块105由于对应于动态神经网络稀疏模型的训练时网络结构中的结合
显著度的稀疏卷积网络,而该结合显著度的稀疏卷积网络属于动态神经网络稀疏模型中的主干功能网络,如前文所述的,基于动态神经网络稀疏模型的任务的不同,主干功能网络的输出结果就不同,例如如果是图像超分辨率任务,那么主干功能网络输出的就是超分辨率图形,如果是目标检测任务,那么主干功能网络输出的就是检测框的大小和位置信息等等,以此类推。而第二核心模块105作为结合显著度的稀疏卷积网络的计算部件,需要承载的计算量较大,即该网络对应的卷积层数多,且每层卷积层的权重参数也多,同时,还有结合第一核心模块104发送来的显著图来进行稀疏运算的需求,因此,第二权重参数是以预设时序多次分批输入所述第二核心模块,具体地,即按照预估每层卷积层的计算耗时设定时序间隔将各层卷积层待使用的第二权重参数分批输入第二核心模块105,以保证在第二核心模块105上占用存储空间的同时还不耽误第二核心模块105上各层卷积层的运算。
[0062]
本发明提供的支持动态神经网络稀疏模型的硬件加速器架构,通过将动态神经网络稀疏模型的显著图计算网络和结合显著度的稀疏卷积网络的运算分别部署于第一核心模块和第二核心模块,第一核心模块基于预先写入自身存储的显著图计算网络的第一权重参数对输入的激活数据进行显著图的计算,由于显著图计算网络本身属于轻量级网络,第一权重参数的数量较少方便提前写入存储于第一核心模块,因此仅需要输入该网络的第一层的激活数据(即待测原始图像),之后的该网络的所有卷积层的计算都在第一核心模块所在片上进行,降低了与外接内存程序系统端存储器的访问次数,如此可以减少运算耗时,而对于第二核心模块上结合显著度的稀疏卷积网络的运算,由于结合显著度的稀疏卷积网络作为主干功能网络,为了保证模型对应功能的准确率其中的权重参数较多,因此为了配合第二核心模块所在片上的存储容量有限,按照预设时序多次分批输入第二权重参数至所述第二核心模块,还可以配合第二核心模块上的结合显著度的稀疏卷积网络中的卷积层的依次迭代计算,即保证用时少还保证使用低存储容量内存来降低硬件成本。因此,本发明提供的结合显著度的稀疏卷积网络,实现了降低算法应用过程中计算耗时提高了效率。
[0063]
基于上述实施例,该支持动态神经网络稀疏模型的硬件加速器架构中,所述动态神经网络稀疏模型是基于样本图像和对应的参考标准标签进行训练得到的,所述动态神经网络稀疏模型训练过程中的网络结构包括待优化的显著图计算网络和待优化的结合显著度的稀疏卷积网络,其中,
[0064]
所述待优化的显著图计算网络用于将输入的样本图像进行显著图提取,得到样本图像显著图并输出至所述待优化的结合显著度的稀疏卷积网络;
[0065]
所述待优化的结合显著度的稀疏卷积网络用于基于输入的样本图像显著图和输入的样本图像进行任务预测,得到预测结果;
[0066]
所述预测结果和所述参考标准标签用于构建所述动态神经网络稀疏模型训练时的损失函数;
[0067]
其中,所述任务预测与所述动态神经网络稀疏模型训练时的训练任务目标对应。
[0068]
具体地,动态神经网络稀疏模型是基于样本图像和对应的参考标准标签进行训练得到的,如前文所述,此处对动态神经网络稀疏模型没有限定任务目标,即该算法可以应用于基于图像的多种学习任务中,因此,动态神经网络稀疏模型训练过程中使用的训练数据集也是由样本图像和对应的模型任务目标参考标准标签构成的,例如,当模型任务目标是目标检测,那么参考标准标签即样本图像上人工或其他优势算法自动框出的标注框的大小
信息标签和位置信息标签,若模型任务目标是图像超分辨率,那么参考标准标签即样本图像对应的超分辨率图像标签,等等,以此类推。
[0069]
图2为本发明提供的动态神经网络稀疏模型训练时流程框架图,如图2所示,该模型训练时网络结构包含两个部分:重要程度指示图(importance map,imap)网络(即待优化可调参数的显著图计算网络)和主体的功能网络(即待优化可调参数的结合显著度的稀疏卷积网络)。imap网络用来指示图片/视频中每个像素点是否位于重点关注区域,它会首先生成一个单通道的特征图f
map
,对应数值越大的像素位置代表其对于训练指标的影响越大,因此在卷积计算过程中也会在该像素位置上分配更多通道,以实现在此重要区域内的更优恢复。图2中给出了一张具体的实例图片在流程框图中的处理过程,对于输入图片i
in
,由于分辨率以及图像必须黑白二值化的限制,输入图片作为一幅风景图像展示的景物表达展示能力有限,可以粗略看到图片左边是显著度较高的“房屋”区域,图片中间有细节较多的“船”的区域,图片最后是细节较少的背景“天空”,再转换得到的重要程度指示图(即显著图)f
map
中,在细节较为多的“船”和“房屋”的区域,f
map
被更大的值激活,而在“天空”等细节较少的背景区域则用更小的值激活,从而可以借助f
map
来区分不同区域所能够实现的稀疏程度,进而在f
map
的基础上imap网络最终会生成一个二值化的0

1掩膜图m,该掩膜图的结构就决定了所有卷积层中间特征的具体稀疏结构。为了不引入额外的计算代价,imap网络设计为深度浅宽度窄的卷积网络,往往仅包含少数几层卷积(如3层),并且缩减了中间层的通道数目(如每层特征的通道数目不超过3),因此imap网络在整体网络中计算量占比非常低,不构成整体网络运算量大的主要矛盾。主体的功能网络(即待优化可调参数的结合显著度的稀疏卷积网络)则完成动态神经网络稀疏模型预先设定的训练任务目标所对应的功能,例如深度压缩/超分辨恢复的核心功能,在卷积过程中每层的特征图会与imap网络生成的二值化掩膜m进行点乘操作,在输入激活值和输出激活值上同时实现结构化的稀疏,从而降低整体网络的计算量,实现模型的稀疏优化。
[0070]
基于上述实施例,该支持动态神经网络稀疏模型的硬件加速器架构中,所述基于输入的样本图像显著图和输入的样本图像进行任务预测,具体包括:
[0071]
将输入的样本图像进行特征提取,得到c通道的原始特征图;
[0072]
将输入的样本图像显著图以均匀量化规则转换为通道数为c的二值化掩膜;
[0073]
在所述待优化的结合显著度的稀疏卷积网络的任一卷积层得到当前层卷积结果特征图后,将所述当前层卷积结果特征图与所述二值化掩膜进行点乘操作得到该层最终结果特征图,并输出至激活层,以供所述激活层进行激活处理后得到激活结果再输入至下一卷积层,直到得到所述待优化的结合显著度的稀疏卷积网络中最后一层卷积层的预测结果,其中,所述待优化的结合显著度的稀疏卷积网络的第一层卷积层输入的是所述原始特征图。
[0074]
具体地,对于动态神经网络稀疏模型训练过程中的结合显著度的稀疏卷积网络实现基于输入的样本图像显著图和输入的样本图像进行任务预测的功能,进行如下具体介绍:
[0075]
如图2所示,下面框图即基于输入的样本图像显著图和输入的样本图像进行任务预测的流程示意图,该结合显著度的稀疏卷积网络的输入既包括输入图片i
in
还包括显著图计算网络输出的显著图,而基于输入图片i
in
和显著图得到预测结果i
out
并进行输出的过程
如下:首先将输入图片进行初步的特征提取,得到原始特征图,并获取原始特征图的目标通道数,然后将取值范围在0

1之间的显著图f
map
进行量化,得到对应于所述目标特征数的量化结果(即稀疏后的通道数),即f
map
中显著度值越大的像素点采用越多的通道表示其对应位置的特征图的特征值,但是通道数最多不会超过目标通道数,f
map
中显著度值越小的像素点采用越少的通道表示其对应位置的特征图的特征值,例如没有细节的“平静湖面”,在特征卷积运算中就可以不安排参与特征的卷积计算,最低可以将“平静湖面”区域对应的特征图上区域的像素位置的通道数取0,即完全将该“平静湖面”区域排除特征运算之外。而对于结合显著度的稀疏卷积网络中的每一层卷积层,都需要将上一层输出的特征图经过当前卷积层的加权运算后再使用量化后得到的二值化掩膜进行点积操作后得到当前层最终的特征图进行输出,输出至激活层,以供完成激活操作后作为下一卷积层输入的特征图。
[0076]
基于上述实施例,该支持动态神经网络稀疏模型的硬件加速器架构中,所述将输入的样本图像显著图以均匀量化规则转换为通道数为c的二值化掩膜,具体包括:
[0077]
通过如下公式将输入的样本图像显著图f以均匀量化规则量化为为通道数为c的二值化掩膜m:
[0078][0079][0080]
其中,l为预设量化阶数,s为所述均匀量化规则的量化步长,c为所述原始特征图的通道数,f(i,j)为样本图像显著图f上位置为(i,j)像素点的显著度值,q(i,j)为均匀量化掩膜q上位置为(i,j)像素点的量化阶数值,h为所述原始特征图的宽度。
[0081]
具体地,由于结合显著度的稀疏卷积网络中各个卷积层计算的特征图的稀疏度完全由显著图计算网络输出的显著图转换得到的二值化掩膜控制,因此,下面提供一种最适用的二值化掩膜生成方法:
[0082]
显著图计算网络中的样本图像显著图f通过如下公式确定:
[0083]
f(i,j)∈(0,1)
[0084]
其中,i
in
为输入显著图计算网络的样本图像,表示显著图计算过程函数,其实体结构是由少量卷积层依次连接构成(例如三层卷积网络),中的不定参数即为显著图计算网络中需要学习的待调参数;
[0085]
在f中显著度值较低的区域为较不重要区域,因此,对于该较不重要区域的特征图分配的通道数也应该相应减少,为了在特征图中实现上述空间稀疏规则,在模型训练阶段需要从f转化得到一个二值化掩膜m,即:
[0086][0087]
[0088]
其中,l为预设量化阶数,s为所述均匀量化规则的量化步长,c为所述原始特征图的通道数,f(i,j)为样本图像显著图f上位置为(i,j)像素点的显著度值,q(i,j)为均匀量化掩膜q上位置为(i,j)像素点的量化阶数值,h为所述原始特征图的宽度。
[0089]
由于可以采用函数tanh来近似估计梯度传播,如此可以实现整个网络的端对端训练,因此,q(i,j)和m(k)这两个参数的计算公式可以合并为以下一个公式:
[0090][0091]
其中,α为缩放因子,用于控制梯度幅值,α优选取值为4,sign()为符号函数,用于将输入二值化为{0,1}并保持从输出到输入的梯度不变。
[0092]
基于上述实施例,该支持动态神经网络稀疏模型的硬件加速器架构中,所述损失函数的构建,具体包括:
[0093]
通过如下公式构建所述动态神经网络稀疏模型训练时的损失函数l
total
:
[0094]
l
total
=l
main
μl
sparse
[0095]
l
sparse
=|l1(f)

γ|
[0096]
其中,l
main
为所述预测结果和所述参考标准标签之间的误差表示,l
sparse
为所述显著图计算网络的稀疏度表示,f为样本图像显著图,l1()为1范数函数,γ和μ均为预设可调超参数。
[0097]
具体地,通过如上公式定义所述损失函数的构建方式可知,损失函数包括两个部分,第一个为预测结果和所述参考标准标签之间的误差表示l
main
,即l
main
的确定原理都是基于预测结果和所述参考标准标签之间的误差,但是具体计算公式随着动态神经网络稀疏模型的任务目标变化,例如当任务目标为超分辨率图像提取时,l
main
的构建基于l1/l2损失,当任务目标为分类或者识别判定时,则l
main
的构建基于交叉熵公式,等等,此处不作所有情况的说明。对于显著图计算网络的评价,还是基于其输出的显著图在结合显著度的稀疏卷积网络中起到的稀疏控制时的效果进行判定,因此,构建的l
sparse
=|l1(f)

γ|,将其作为也需要缩小的优化目标,即要求f中的显著度值月小越好,即结合显著度的稀疏卷积网络中的需要参与特征图卷积计算的通道数越少越好,l
sparse
是为了让结合显著度的稀疏卷积网络更加稀疏,同时优化l
sparse
和l
main
是一种对抗过程,即要平衡计算量和模型准确率,而γ和μ均为预设可调超参数,用于控制平衡点。
[0098]
基于上述实施例,该支持动态神经网络稀疏模型的硬件加速器架构中,所述第一核心模块包括输入存储单元、第一权重存储单元、片上卷积核心单元和显著度图存储器,其中,
[0099]
所述输入存储单元用于接收所述数据搬移模块转发的来自所述cpu的所述激活数据并输出至所述片上卷积核心单元,
[0100]
所述第一权重存储单元用于存储预先写入的所述第一权重参数并输出至所述片上卷积核心单元;
[0101]
所述片上卷积核心单元用于基于所述第一权重参数和所述激活数据以流式结构完成所述显著图计算网络中所有卷积层的计算,得到显著图并输出至所述显著度图存储器;
[0102]
所述显著度图存储器用于将所述显著度图输出至所述第二核心模块。
[0103]
具体地,图3为本发明提供的一种支持动态神经网络稀疏模型的硬件加速器架构的结构示意图之二,如图3所述,第一核心模块包括输入存储单元、第一权重存储单元、片上卷积核心单元和显著度图存储器,其中,片上卷积核心单元用于基于所述第一权重参数和所述激活数据以流式结构完成所述显著图计算网络中所有卷积层的计算,得到显著图并输出至所述显著度图存储器,为了降低与外存ddr的访问次数,仅需要输入第一层的激活数据,之后所有层的计算都在片上采用流式结构计算,并将决定整体网络稀疏特性的f
map
信息存储于片上。此处需要说明的是,系统端存储器优选双倍速率同步动态随机存储器ddr sdram(double data rate sdram)。
[0104]
基于上述实施例,该支持动态神经网络稀疏模型的硬件加速器架构中,所述第一核心模块还包括稀疏控制器,其中,
[0105]
所述稀疏控制器用于控制所述片上卷积核心单元将计算得到的显著图的显著度值以预设缩放规则进行缩减或放大,得到缩放后显著图,并控制所述片上卷积核心单元将所述缩放后显著图输出至所述显著度图存储器;
[0106]
所述显著度图存储器用于将所述缩放后显著图输出至所述第二核心模块。
[0107]
基于上述实施例,该支持动态神经网络稀疏模型的硬件加速器架构中,所述第二核心模块包括稀疏解码器、激活值存储单元、第二权重存储单元、权重载入器、激活层和预设计算阵列,其中,
[0108]
所述稀疏解码器用于接收所述第一核心模块输出的显著图和所述数据搬移模块输入的所述激活数据,并基于所述显著图量化得到的二值化掩膜对所述激活数据进行解码,得到量化显著度图并输出至所述激活值存储单元进行存储,以供所述激活值存储单元输出至所述预设计算阵列;
[0109]
所述权重载入器用于按所述预设时序多批次接收所述第二权重参数,并输出至所述第二权重存储单元;
[0110]
所述第二权重存储单元用于将所述权重载入器输出的所述第二权重参数按所述预设时序多批次输出至所述预设计算阵列;
[0111]
所述预设计算阵列用于基于所述预设时序中第i批次输入的第二权重参数和所述激活值存储单元输出的对应所述第i批次的激活值计算得到第i批次对应的所述结合显著度的稀疏卷积网络中卷积层输出结果,并输出至所述激活层,以供所述激活层对所述输出结果进行激活处理后输出至所述激活值存储单元作为第i 1批次的激活值进行存储,直到得到所述结合显著度的稀疏卷积网络中最后一层卷积层的结果并返回经过所述数据搬移模块和所述cpu,输出至所述数据搬移模块,其中,所述第一批次的激活值为所述量化显著图。
[0112]
具体地,图4为本发明提供的一种支持动态神经网络稀疏模型的硬件加速器架构的结构示意图之三,如图4所示,第二核心模块还包括稀疏控制器,该稀疏控制器基于当前硬件的承受能力可以调整稀疏程度,例如当检测到当前硬件的计算能力较强时,那么可以满足更多通道数值参与到特征图的计算中来,那么稀疏控制器就会控制片上卷积核心单元将计算得到的显著图的显著度值以预设放大规则进行统一“升值”,将显著度值都调大,那么在第二核心模块进行特征图的提取融合计算时,分配到每个像素区域的通道数都会相应
增多,反之,当检测到当前硬件的计算能力较弱时,稀疏控制器就会控制片上卷积核心单元将计算得到的显著图的显著度值以预设缩小规则进行统一“降值”,将显著度值都调小,那么在第二核心模块进行特征图的提取融合计算时,分配到每个像素区域的通道数都会相应减少。此处需要说明的是,预设缩放规则有多种,可以简单的线性映射缩放,还可以是非线性拟合,甚至于更精确的基于模型训练学习到的缩放规则,此处不作具体限定。
[0113]
基于上述实施例,该支持动态神经网络稀疏模型的硬件加速器架构中,所述预设计算阵列为大小为16
×
16的计算阵列。
[0114]
具体地,第二核心模块上使用的计算阵列优选大小为16
×
16的计算阵列,平衡计算能力和硬件成本。
[0115]
基于上述实施例,该支持动态神经网络稀疏模型的硬件加速器架构中,所述数据搬移模块基于axi

stream协议进行所述程序系统端存储器和所述cpu之间的数据转发。
[0116]
具体地,图5为本发明提供的一种支持动态神经网络稀疏模型的硬件加速器架构的结构示意图之四,如图5所示,片上的第一核心模块(imap计算核心)和第二核心模块(主干网络的稀疏卷积计算核心)。数据搬运模块通过axi

stream(axis)协议经由cpu从ps(programming system)端的ddr搬运参与模型应用计算的激活和权重数据到片上存储。对于imap计算核心,由于网络本身属于轻量级,参数少计算量低,为了降低与外存ddr的访问次数,仅需要输入第一层的激活数据,之后所有层的计算都在片上采用流式结构计算,并将决定整体网络稀疏特性的fmap信息存储于片上。而对于主干网络的稀疏卷积计算核心,稀疏的激活层数据会根据fmap进行解码并存放在片上的指定存储位置,而后计算阵列将在数据调度器的控制下从片上存储器读取输入激活层数据,并完成稀疏卷积的计算。最后,稀疏的输出激活数据将经由缓冲器和激活层连续写回到片外的ddr。
[0117]
本发明提供的方法,涉及的动态神经网络稀疏模型训练过程中的激活层动态稀疏网络的训练框架,该稀疏网络具备空域自适应稀疏、结构化、硬件友好和稀疏度可控制等优势;支持该动态稀疏架构的硬件加速器,对其中关键的imap网络和稀疏卷积网络进行了有针对的硬件设计,并结合稀疏数据压缩、稀疏计算调度和自适应稀疏控制等方案实现了深度网络的高能效低延迟运行。
[0118]
本发明经由算法设计和硬件部署流程,在图像超分辨任务上进行了验证,并在zynq xc7z035型号的fpga硬件可编程平台上进行了网络的部署。所有的乘法单元采用dsp资源进行例化,稀疏卷积的阵列规模大小为16
×
16,需要256个dsp,而imap核心包含了3层轻量级的稠密卷积,一共使用了79个dsp。网络的权重和激活值统一采用16bit定点量化实现前向推理。在实际的算法运行过程中,对于srresnet的超分辨模型,实现的稀疏加速器支持可调整的稀疏度控制,最优情况下相比稠密情况可实现接近40倍的帧率及等效能效的提升,大大提升了网络的运行推理效率。
[0119]
以上所描述的服务器实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0120]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可
借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0121]
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜