CN115238879A - 深度神经网络的架构搜索方法及硬件加速器 - Google Patents
深度神经网络的架构搜索方法及硬件加速器 Download PDFInfo
- Publication number
- CN115238879A CN115238879A CN202210980058.1A CN202210980058A CN115238879A CN 115238879 A CN115238879 A CN 115238879A CN 202210980058 A CN202210980058 A CN 202210980058A CN 115238879 A CN115238879 A CN 115238879A
- Authority
- CN
- China
- Prior art keywords
- layer
- deep neural
- neural network
- network
- shift
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 111
- 238000000034 method Methods 0.000 title claims abstract description 38
- 238000012549 training Methods 0.000 claims abstract description 26
- 238000011176 pooling Methods 0.000 claims abstract description 9
- 238000010845 search algorithm Methods 0.000 claims abstract description 7
- 238000012545 processing Methods 0.000 claims description 37
- 238000009825 accumulation Methods 0.000 claims description 19
- 239000000654 additive Substances 0.000 claims description 19
- 230000000996 additive effect Effects 0.000 claims description 17
- 238000004364 calculation method Methods 0.000 claims description 9
- 238000010606 normalization Methods 0.000 claims description 7
- 230000002708 enhancing effect Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 7
- 230000004913 activation Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 238000005265 energy consumption Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000000750 progressive effect Effects 0.000 description 4
- 238000005457 optimization Methods 0.000 description 3
- 238000006073 displacement reaction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000002156 mixing Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Neurology (AREA)
- Complex Calculations (AREA)
Abstract
本申请提供一种深度神经网络的架构搜索方法及硬件加速器。所述架构搜索方法包括:构建超级网络,所述超级网络包括依次连接的第一固定层、候选模块模组、第二固定层、池化层以及分类器;候选模块的搜索空间包括卷积层和非卷积层,非卷积层为加法层和/或移位层;预训练超级网络,以更新超级网络的权重参数;使用可微分搜索算法从所述预训练后的超级网络中搜索,得到目标深度神经网络。所述候选模块组的搜索空间包括卷积层和加法层和/或移位层,如此,得到的目标深度神经网络是一种乘法减少的混合深度神经网络,具有基于乘法算子的卷积层精度高的优点、以及加法层或者移位层的硬件效率高的优点,实现硬件效率和任务精度的平衡。
Description
技术领域
本申请涉及神经网络技术领域,尤其涉及一种深度神经网络的架构搜索方法及硬件加速器
背景技术
深度神经网络(Deep NeuralNetwork,DNN)因为其强大的模型表征能力,在计算机视觉领域被广泛应用。传统的,深度神经网络中包括是一种基于乘法的卷积神经网络,而乘法算子在硬件实现时,能耗和面积开销巨大,严重阻碍DNN在功耗和面积有限的嵌入式设备中的应用。
为了提升硬件效率,已有研究采用功耗和面积开销较小的加法算子和移位算子,代替乘法算子,实现无乘法的深度神经网络。但是上述无乘法的深度神经网络的任务精度远远不如基于乘法的深度神经网络。
因此,目前亟需一种能够权衡硬件效率和任务精度的深度神经网络。
发明内容
为解决传统基于乘法算子的深度神经网络在硬件实现时,能耗和面积开销巨大,而无乘法的深度神经网络的任务精度不足的问题,本申请通过以下方面提供一种深度神经网络的架构搜索方法及硬件加速器。
本申请第一方面提供的一种深度神经网络的架构搜索方法,包括:构建超级网络,所述超级网络包括第一固定层、以及与所述第一固定层连接的候选模块组、以及与所述候选模块组连接的第二固定层、以及与所述第二固定层连接的池化层、以及与所述池化层连接的分类器;其中,所述候选模块组包括依次连接的多个候选模块;所述候选模块包括两个逐点操作层、一个逐层操作层以及对应的批归一化层和激活层;所述候选模块组的搜索空间包括卷积层和非卷积层,所述非卷积层为加法层和/或移位层;
预训练超级网络,以更新超级网络的权重参数,得到预训练后的超级网络;
使用可微分搜索算法从所述预训练后的超级网络中搜索,得到目标深度神经网络。。
可选的,候选模块组的搜索空间的超参数配置为:(候选模块的通道扩张比例,候选模块的卷积核尺寸)包括:(1,3),(3,3),(6,3),(1,5),(3,5),(6,5);层类型包括:卷积层和移位层。
可选的,候选模块组的搜索空间的超参数配置为:(候选模块的通道扩张比例,候选模块的卷积核尺寸)包括(1,3),(3,3),(6,3),(1,5),(3,5),(6,5);层类型包括:卷积层和加法层。
可选的,候选模块组的搜索空间的超参数配置为:(候选模块的通道扩张比例,候选模块的卷积核尺寸)包括:(1,3),(3,3),(6,3),(1,5),(3,5),(6,5);层类型包括:卷积层、移位层和加法层。
可选的,候选模块组的搜索空间的超参数配置为:还包括跳过操作,其中跳过操作用于跳过对应的候选模块。
可选的,所述预训练超级网络包括:预训练卷积层;固定训练好的卷积层,预训练加法层;预训练整个深度神经网络。
可选的,将批归一化层的缩放系数初始值设为0,将预训练学习率设置为0.1。
本申请第二方面提供的一种深度神经网络的硬件加速器,用于加速采用本申请第一方面提供的所述深度神经网络的架构搜索方法得到的目标深度神经网络,所述深度神经网络硬件加速器包括:片外存储模块、以及与片外存储模块连接的全局存储模块和片上网络模块,以及与片上网络模块连接的卷积处理模块,以及与片上网络模块连接的移位处理模块和/或加法处理模块,其中,全局存储模块和片上网络模块连接;
其中,片外存储模块用于存储预先训练好的模型参数以及输入数据和输出数据;
全局存储模块用于读取输入数据、缓存片内中间计算数据;
片上网络模块用于从读取预先训练好的网络参数,以及增强片内数据复用;
卷积处理模块用于加速深度神经网络中的卷积层,包括多个乘累加单元,多个乘累加单元构成脉动阵列;
移位处理模块用于加速深度神经网络中的移位层,包括多个移位累加单元,多个移位累加单元构成脉动阵列;
加法处理模块用于加速深度神经网络中的加法层,包括多个加法累加单元,多个加法累加单元构成脉动阵列。
可选的,乘累加单元、移位单元、加法单元均包括寄存子单元。
可选的,深度神经网络加速器还包括:自动映射器;
自动映射器采用由循环排序因子和循环平铺因子决定的嵌套for循环描述构建数据流搜索空间,用于自动搜索最佳数据流。
本申请提供一种深度神经网络的架构搜索方法及硬件加速器。所述架构搜索方法包括:构建超级网络,所述超级网络包括依次连接的第一固定层、候选模块模组、第二固定层、池化层以及分类器;候选模块的搜索空间包括卷积层和非卷积层,非卷积层为加法层和/或移位层;预训练超级网络,以更新超级网络的权重参数;使用可微分搜索算法从所述预训练后的超级网络中搜索,得到目标深度神经网络。所述候选模块组的搜索空间包括卷积层和加法层和/或移位层,如此,得到的目标深度神经网络是一种乘法减少的混合深度神经网络,具有基于乘法算子的卷积层精度高的优点、以及加法层或者移位层的硬件效率高的优点,实现硬件效率和任务精度的平衡。
附图说明
图1为本申请实施例提供的一种深度神经网络的架构搜索方法的工作流程示意图;
图2为本申请实施例提供的一种深度神经网络的的架构搜索方法中构建的超级网络的结构示意图;
图3为卷积层、DeepShift-PS构建的移位层、DeepShift-Q构建的移位层以及加法层中的权重分布示意图;
图4为本申请实施例提供的一种深度神经网络的架构搜索方法中一种预训练超级网络的工作流程示意图;
图5为本申请实施例提供的一种深度神经网络的硬件减速器的结构示意图;
图6为本申请实施例提供的一种深度神经网络的硬件加速器的PE调度策略过程示意图。
具体实施方式
本申请提供的所述深度神经网络可以用于计算机视觉的图像分类任务中。传统基于乘法算子的深度神经网络在执行图像分类任务时的分类精度虽然高,但是在硬件实现时,能耗和面积开销巨大,很难应用到移动设备或者物联网设备中。而基于无乘法算子的深度神经网络虽然在硬件实现时,具有优越的硬件效率,但其在完成图像分类任务时,分类精度较低。为解决上述问题,本申请通过以下实施例提供一种深度神经网络及其硬件加速器。
参见图1,本申请实施例提供的一种深度神经网络的架构搜索方法。所述架构搜索方法搜索得到一种乘法减少的混合深度神经网络。所述架构搜索方法包括:
步骤11:构建超级网络,所述超级网络包括:第一固定层、以及与所述第一固定层连接的候选模块组、以及与所述候选模块组连接的第二固定层、以及与所述第二固定层连接的池化层、以及与所述池化层连接的分类器。其中,所述候选模块组的搜索空间包括卷积层和非卷积层,所述非卷积层为加法层和/或移位层。
步骤12:预训练超级网络,以更新超级网络的权重参数,得到预训练后的超级网络;
步骤13:使用可微分搜索算法从所述预训练后的超级网络中搜索,得到目标深度神经网络。
在一些实施例中,所述目标深度神经网络可以用于执行计算机图像分类任务,输入待分类图像,得到对应的分类结果。
如图2所示,所述超级网络的第一层和后三层是固定的,剩下的层需要从预定义的搜索空间中搜索。所述候选模组包括依次连接的多个候选模块。每个候选模块都包括两个逐点操作层(Pointwise Layer,PW)和一个逐层操作层(Depthwise Layer,DW)。第一个PW后面连接一个归一化层(BatchNormalization,BN)和一个激活层。逐层操作层后面接一个归一化层和一个激活层。示例性的,激活层采用ReLU激活函数。第二个PW后面接一个BN层,然后输出的结果与当前候选模块的输入数据残差连接,得到当前候选模块的输出数据。
在一些实施例中,所述第一固定层是3×3的卷积层,所述第二固定层是1×1的卷积层。在其他实施例中,可以采用其他大小的输出通道数的卷积层。
从图2中可以看出,每个候选模块都被三个超参数所表示:候选模块的通道扩张比例E,卷积核尺寸K,以及层类型T。所述候选模块的超参数从预设的搜索空间中搜索得到。
在一些实施例中,所述候选模块组的搜索空间基于FBNet。其中,FBNet将离散的搜索空间近似为连续空间,来搜索深度神经网络的网络架构。
在一些实施例中,所述候选模块组的搜索空间包括卷积层和移位层,在本申请中用混合移位搜索空间来描述这种搜索空间,用混合移位网络来描述采用混合移位搜索空间得到的目标深度神经网络。
在一些实施例中,所述混合移位神经网络的移位层的计算过程,可以通过公式Y=∑XT*Wshift所示的移位层。其中X是移位层的输入,Y是移位层的输出,∑()是求和运算,Wshift是移位层的权重。在一种可能的实现方式中,使用DeepShift-Q方式确定权重Wshift,即通过将卷积层中的原始权重w*量化为2的幂次的方式来构建移位层,用如下公式表示:
其中,sign()表示取符号运算,round()表示取四舍五入的运算。
参见图3,为卷积层、采用DeepShift-PS方式确定的移位层、采用DeepShift-Q方式确定的移位层中的权重分布示意图。从图3中可以看出,相较于其他直接优化符号翻转位s和位移位p的移位层权重确定方式(如DeepShift-PS),使用的DeepShift-Q方式可以匹配卷积层中的小权重,对深度神经网络的训练过程更友好。
混合移位搜索空间中的超参数配置如下:(E,K)包括:(1,3),(3,3,(6,3),(1,5),(3,5),(6,5);T包括卷积层和移位层。
在一些实施例中,所述混合移位搜索空间中还包括跳过操作,所述跳过操作用于跳过对应的候选模块,从而支持搜索更轻量级的深度神经网络。
在一些实施例中,所述候选模块组的搜索空间包括卷积层和加法层,在本申请中用混合加法搜索空间描述这种搜索空间,用混合加法网络描述采用混合加法搜索空间得到的目标深度神经网络。
在一些实施例中,所述混合加法搜索空间采用AdderNet提出的加法层。所述加法层利用计算高效的加法操作和L1范数来横向权重和特征图之间的相关性,用如下公式表示:Y=∑-|X-Wadder|,其中,Wadder是加法层权重,X是加法层的输入,Y是加法层的输出,∑()是求和运算。参见图2中的(d)为上述实施例提供的加法层的权重分布。
混合加法搜索空间中的超参数配置如下:(E,K)包括:(1,3),(3,3,(6,3),(1,5),(3,5),(6,5);T包括卷积层和加法层。
在一些实施例中,所述混合加法搜索空间中还包括跳过操作,所述跳过操作用于跳过对应的候选模块,从而支持搜索更轻量级的深度神经网络。
在一些实施例中,所述候选模块组的搜索空间包括卷积层、移位层和加法层三种类型的层,在本申请中用混合全部搜索空间描述这种预搜索空间,用混合全部网络描述在混合全部搜索空间中搜索得到的目标深度神经网络。混合全部搜索空间的超参数配置如下:(E,K)包括:(1,3),(3,3),(6,3),(1,5),(3,5),(6,5);层类型包括:卷积层、移位层和加法层。
在一些实施例中,所述混合全部搜索空间中还包括跳过操作,所述跳过操作用于跳过对应的候选模块,从而支持搜索更轻量级的深度神经网络。
通过以上描述可知,所述候选模块组的搜索空间都包含相同的(E,K)选项,但有不同的T选项。混合移位或者加法搜索空间只将移位层或者加法层集成进卷积层中,而混合全部搜索空间同时集成以上两者,用于构造乘法减少的深度神经网络。
示例性的,所述超级网络包括22个候选模块,每个候选模块都可以从上述提供的所述搜索空间中选取13或者19个候选块(对应(E,K)的选项*T选项+1),因此,所述候选模块组的搜索空间中共有1322或者1922个潜在的子网络。
参见图3可以看出,本申请提供的混合加法搜索空间和混合全部搜索空间中的加法层的权重通常服从拉普拉斯分布,而卷积层的权重通常服从高斯分布。为防止采用混合加法搜索空间和混合全部搜索空间的深度神经网络,在预训练过程中不收敛,本申请实施例提供一种渐进式预训练方法训练所述深度神经网络以更新超级网络的权重。
其中,参加图4,所述渐进式预训练方法包括:
步骤21:预训练所述卷积层。
步骤22:固定训练好的卷积层,预训练所述加法层。
步骤23:预训练整个深度神经网络。
进一步,在步骤21中,为了充分利用卷积神经网络收敛速度快的优势,仅前向推理和反向梯度更新超级网络中的卷积层;在步骤22中,将训练好的卷积层固定以优化余下的加法层,这意味着卷积层和加法层都用于推理然而只有后者用于梯度更新;在步骤23中,先前被固定的卷积层会和加法层一起被优化。
在一些实施例中,所述渐进式预训练方法中,将批归一化层的缩放系数初始值设为0,将学习率设置成一个高的学习率,以支持对采用混合加法搜索空间和混合全部搜索空间的深度神经网络的有效搜索。示例性的,将学习率从常用的0.05提高至0.1。虽然高的学习率会导致在预训练过程中容易跳过全局最优,但是,因为加法网络收敛速度比卷积网络的收敛速度慢,因此,本实施例中,在针对采用混合加法搜索空间和混合全部搜索空间的深度神经网络进行预训练时,将预训练的学习率设为0.1,能够加速所述深度神经网络的收敛速度。
以上实施例的深度神经网络在构建时,所述预设混合搜索空间采用可微分网络架构搜索算法,将离散的搜索空间近似为连续空间。使用基于梯度的优化方案更新权重参数w和网络结构参数α,其中混合加法网络和混合全部网络中的权重参数w是在上述渐进式预训练方法的基础上优化的。对应的损失函数为:其中,和代表在测试集和训练集上的交叉熵损失函数,w*代表权重的最优值,s.t.(subject to)表示数学公式中的约束条件,λ是用来权衡性能和效率的系数。
在一些实施例中,使用FLOPs(floating point operations,浮点操作数)作为计算硬件损失函数Lhw的代理硬件指标。在对于无法测量FLOPs的移位层和加法层,先将移位层和/或加法层视为卷积层得到FLOPs,再根据移位层和/或加法层相较于卷积层的硬件能耗比测量值进行缩放。在一些实施例中,也可以使用单位能耗、延时、参数量等作为硬件代理指标。
以上实施例提供一种深度神经网络的架构搜索方法,包括:构建超级网络,所述超级网络包括依次连接的第一固定层、候选模块模组、第二固定层、池化层以及分类器;其中,所述候选模块组包括依次连接的多个候选模块,所述候选模块包括两个逐点操作层、一个逐层操作层以及对应的批归一化层和激活层;所述候选模块的搜索空间包括卷积层和非卷积层,所述非卷积层为加法层和/或移位层;预训练超级网络,以更新超级网络的权重参数,得到预训练后的超级网络;使用可微分搜索算法从所述预训练后的超级网络中搜索,得到目标深度神经网络所述候选模块组的搜索空间包括卷积层和加法层和/或移位层,如此,最终搜索得到的目标深度神经网络是一种乘法减少的混合深度神经网络。所述目标深度神经网络可以具有基于乘法算子的卷积层精度高的优点、以及加法层或者移位层的硬件效率高的优点,实现硬件效率和任务精度的平衡。
为硬件加速采用前述实施例提供的深度神经网络的架构搜索方法搜索得到的目标深度神经网络,,本申请还提供一种深度神经网络的硬件加速器的装置实施例。所述深度神经网络硬件加速器包括:片外存储模块、以及与所述片外存储模块连接的全局存储模块和片上网络模块,以及与所述片上网络模块连接的卷积处理模块、移位处理模块以及加法处理模块。
参见图5,为本实施例提供的所述深度神经网络硬件加速器的示例性架构示意图。如图5所示,在本实施例中,所述深度神经网络硬件加速器采用一种多核微体系结构,以便于为自动架构搜索的深度神经网络中的异构层定制处理单元(Processing Element,PE)。
其中,DRAM(Dynamic RandomAccess Memory,动态随机存取存储器)为片外存储模块。GB(Global Buffer,全局缓冲器)为所述全局存储模块,NoC(Network on Chip,片上网络)为片上网络模块,CLP(Convolution Layer Processors,卷积层处理器)为卷积处理模块,SLP(Shift Layer Processors,移位层处理器)为移位处理模块,ALP(Adder LayerProcessors,加法层处理器)为加法处理模块。
DRAM用于存储预先训练好的模型参数以及输入数据和输出数据;GB用于读取输入数据以及缓存片内中间计算数据;GB将计算输入和输出缓存在片上,以减少来自DRAM的高昂的片外数据访问成本。NoC是一种针对多核SoC(System on Chip,系统级芯片)设计的新型片上通信架,指的是在单个芯片上实现的基于网络通信的电子系统,形态是集成电路芯片。Noc用于连接GB与CLP/SLP/ALP以进一步增强数据复用,并直接从DRAM读取预先训练好的网络参数(如权重),并从GB中读取输入数据分配给CLP/SLP/ALP,并将CLP/SLP/ALP输出的计算结果输出至GB。CLP/SLP/ALP分别用于加速深度神经网络的卷积层/移位层/加法层,并从NoC中读取对应的输入数据和网络参数,计算之后,将对应的计算结果输出至NoC中。
其中,NoC借鉴分布式计算系统的通讯方式,采用数据路由和分组交换技术替代传统的总线结构,从体系结构上解决SoC总线结构由于地址空间有限导致的可扩展性差,分时通讯引起的通讯效率低下,以及耗和全局时钟同步引起的功面积等问题。
在一些实施例中,CLP中的PE使用乘累加单元(Multiplication andAccumulationUnits,MAC),多个MAC构成PE脉动阵列;SLP中的PE使用移位累加单元(ShiftandAccumulation Units),多个移位累加单元构成PE脉动阵列;ALP中的PE使用加法累加单元(Addition and Accumulation Units),多个加法累加单元构成PE脉动阵列。虽然CLP/SLP/ALP共享DRAM、GB以及NoC,但它们的每个PE都有自己的寄存子单元,分别用于存储PE对应的输入、权重和部分和。如此,DRAM、GB、NoC以及寄存子单元形成四级存储结构,以增强数据复用。其中,寄存子单元采用RF(Register File,寄存器堆)实现。
其中,数据分级存储的工作原理是基于数据访问的局部性。通过将不经常访问的数据自动移到存储层次中较低的层次,释放出较高成本的存储空间给更频繁访问的数据,可以获得更好的性价比。需要说明的是,在一些其他的实施例中,也可以采用其他类型的存储结构,来构建上述深度神经网络硬件加速器。
参见图5,MAC中的“输入”、“权重”、“部分和”三个用RF实现,符号“X”代表乘法器,符号“+”代表加法器;移位单元中的“输入”、“权重”、“部分和”用RF实现,符号“>>”代表移位寄存器,符号“+”代表加法器;加法单元中的“输入”、“权重”、“部分和”用RF实现,符号“+”代表加法器。
参见图6,以一个五层混合全部网络为示例,说明以上实施例提供的深度神经网络硬件加速器的调度策略。其中,所述五层混合网络的依次为卷积层(图6中的卷积1)、移位层(图6中的移位1)、加法层(图6中的加法1)、移位层(图6中的移位2)、卷积层(图6中的卷积2)。在每个周期内,CLP、SLP以及ALP,分别依次处理分配的卷积层(卷积1,卷积5)、移位层(移位2,移位4)、以及加法层(加法3);其中每个处理模块的输入数据相互独立。从图6中可以看出,所述深度神经网络硬件加速器可实现的吞吐量受到周期内的最长延迟限制。因此PE分配策略试图将PE资源合理分配给所有三个处理模块,以平衡他们的吞吐量,从而最大限度的减少每个周期的延迟。
在一种实现方式中,上述PE分配策略可以表述为:
NCLP/O卷积=NSLP/O移位=NALP/O加法;
s.t.ACLP+ASLP+AALP=面积约束;
其中,NCLP为卷积处理模块的PE数量,NSLP为移位处理模块的PE数量,NALP为加法处理模块的PE数量,O卷积为卷积层的操作总数,O移位为移位层的操作总数,O加法为加法层的操作总数。ACLP为卷积层占用的硬件面积,ASLP为移位层占用的硬件面积,AALP为加法层占用的硬件面积。上述PE分配策略可以确保分配给卷积处理模块、移位处理模块、加法处理模块的PE数量分别与混合网络中的卷积层、移位层和加法层的操作总数成利弊。
由于前述实施例提供的深度神经网络中包括面积和能量效率高的移位和/或加法层,对应的深度神经网络硬件加速器可以在相同的面积预算下,用成本较低的移位处理模块和/或加法处理模块来部分交换成本较高的乘累加单元,从而提高并行度,减少硬件加速器的总体延迟和能量成本。
从时间和空间维度将神经网络映射都硬件加速器的算法被称为是数据流。数据流可以在很大程度上影响加速器的硬件效率。因为,上述实施例提供的深度神经网络中含有大量异构层,使得所述深度神经网络硬件加速器中存在很大的数据流优化空间。为此,在一些实施例中,所述深度神经网络硬件加速器的算法端包括自动映射器。所述自动映射器采用由循环排序因子和循环平铺因子决定的嵌套for循环描述构建数据流搜索空间,用于自动搜索最佳数据流,以最大化硬件效率。
其中,循环排序因子对应于如何调度目标PE阵列中和每个PE内的计算,从而确定数据重用模式,而循环平铺因子确定如何在各级存储结构中存储数据,以有效地适应上述循环平铺因子。因此,自动映射器中的数据流搜索空间可以总结为:
循环排序因子,用于确定数据复用模式。本实施例中为卷积/移位/加法处理模块搜索四种模式:行固定(Row Stationary,RS)、输入固定(Input Stationary,IS)、权重固定(Weight Stationary,WS)和输出固定(Output Stationary,OS),因此所述硬件加速器中卷积/移位/加法处理模块的复用模式总共有64(4*4*4)种选择。
循环平铺系数,用于确定如何在各级存储结构(例如,所述硬件加速器中的DRAM、GB、NoC和RF)中存储数据,以有效适应上述数据复用模式,并且可以从资源限制下的所有可能选择(例如,存储和计算资源限制)中派生出来。
上述实施例提供一种深度神经网络的硬件加速器,所述硬件加速器包括片外存储模块、以及与所述片外存储模块连接的全局存储模块和片上网络模块,以及与所述片上网络模块连接的卷积处理模块、移位处理模块以及加法处理模块,其中,所述全局存储模块和所述片上网络模块连接;其中,所述片外存储模块用于存储预先训练好的模型参数以及输入数据和输出数据;所述全局存储模块用于读取所述输入数据以及缓存片内中间计算数据;所述片上网络模块用于读取所述预先训练好的网络参数,以及增强片内数据复用;所述卷积处理模块用于加速深度神经网络中的卷积层,包括多个乘累加单元,所述多个乘累加单元构成脉动阵列;所述移位处理模块用于加速深度神经网络中的移位层,包括多个移位累加单元,所述多个移位累加单元构成脉动阵列;所述加法处理模块用于加速深度神经网络中的加法层,包括多个加法累加单元,所述多个加法累加单元构成脉动阵列。所述深度神经网络的硬件加速器采用多核微体系结构以支持所述深度神经网络中的异构层。进一步,所述硬件加速器的数据存储结构采用四层分级结构,增强片内数据复用。在一些实施例中,所述硬件加速器还在算法算集成自动映射器,实现自动搜索最佳数据流,进一步提高硬件效率。
以上实施例提供的一种深度神经网络硬件加速器可以使用ASIC(ApplicationSpecific Integrated Circuit,专用集成电路)定制实现。
本申请提供的实施例之间的相似部分相互参见即可,以上提供的具体实施方式只是本申请总的构思下的几个示例,并不构成本申请保护范围的限定。对于本领域的技术人员而言,在不付出创造性劳动的前提下依据本申请方案所扩展出的任何其他实施方式都属于本申请的保护范围。
Claims (10)
1.一种深度神经网络的架构搜索方法,其特征在于,包括:
构建超级网络,所述超级网络包括第一固定层、以及与所述第一固定层连接的候选模块组、以及与所述候选模块组连接的第二固定层、以及与所述第二固定层连接的池化层、以及与所述池化层连接的分类器;其中,所述候选模块组的搜索空间包括卷积层和非卷积层,所述非卷积层为加法层和/或移位层;
预训练超级网络,以更新超级网络的权重参数,得到预训练后的超级网络;
使用可微分搜索算法从所述预训练后的超级网络中搜索,得到目标深度神经网络。
2.根据权利要求1所述的深度神经网络的架构搜索方法,其特征在于,所述候选模块组的搜索空间的超参数配置为:
(候选模块的通道扩张比例,候选模块的卷积核尺寸)包括:(1,3),(3,3),(6,3),(1,5),(3,5),(6,5);
层类型包括:卷积层和移位层。
3.根据权利要求1所述的深度神经网络的架构搜索方法,其特征在于,所述候选模块组的搜索空间的超参数配置为:
(候选模块的通道扩张比例,候选模块的卷积核尺寸)包括(1,3),(3,3),(6,3),(1,5),(3,5),(6,5);
层类型包括:卷积层和加法层。
4.根据权利要求1所述的深度神经网络的架构搜索方法,其特征在于,所述候选模块组的搜索空间的超参数配置为:
(候选模块的通道扩张比例,候选模块的卷积核尺寸)包括:(1,3),(3,3),(6,3),(1,5),(3,5),(6,5);
层类型包括:卷积层、移位层和加法层。
5.根据权利要求2至4任一项所述的深度神经网络的架构搜索方法,其特征在于,所述候选模块组的搜索空间的超参数配置为:还包括跳过操作,其中所述跳过操作用于跳过对应的候选模块。
6.根据权利要求3或者4所述的深度神经网络,其特征在于,所述预训练超级网络,包括:
预训练所述卷积层;
固定训练好的卷积层,预训练所述加法层;
预训练整个超级网络。
7.根据权利要求6所述的深度神经网络,其特征在于,将批归一化层的缩放系数初始值设为0,将预训练学习率设置为0.1。
8.一种深度神经网络的硬件加速器,其特征在于,所述深度神经网络的硬件加速器用于加速采用权利要求1-7任一项所述的深度神经网络的架构搜索方法得到的目标深度神经网络,所述硬件加速器包括:片外存储模块、以及与所述片外存储模块连接的全局存储模块和片上网络模块,以及与所述片上网络模块连接的卷积处理模块,以及与所述片上网络模块连接的移位处理模块和/或加法处理模块,其中,所述全局存储模块和所述片上网络模块连接;
其中,所述片外存储模块用于存储预先训练好的模型参数以及输入数据和输出数据;
所述全局存储模块用于读取所述输入数据、缓存片内中间计算数据;
所述片上网络模块用于从读取所述预先训练好的网络参数,以及增强片内数据复用;
所述卷积处理模块用于加速深度神经网络中的卷积层,包括多个乘累加单元,所述多个乘累加单元构成脉动阵列;
所述移位处理模块用于加速深度神经网络中的移位层,包括多个移位累加单元,所述多个移位累加单元构成脉动阵列;
所述加法处理模块用于加速深度神经网络中的加法层,包括多个加法累加单元,所述多个加法累加单元构成脉动阵列。
9.根据权利要求8所述的深度神经网络的硬件加速器,其特征在于,所述乘累加单元、所述移位单元以及所述加法单元均包括寄存子单元。
10.根据权利要求8所述的深度神经网络的硬件加速器,其特征在于,还包括:自动映射器;
所述自动映射器采用由循环排序因子和循环平铺因子决定的嵌套for循环描述构建数据流搜索空间,用于自动搜索最佳数据流。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210980058.1A CN115238879A (zh) | 2022-08-16 | 2022-08-16 | 深度神经网络的架构搜索方法及硬件加速器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210980058.1A CN115238879A (zh) | 2022-08-16 | 2022-08-16 | 深度神经网络的架构搜索方法及硬件加速器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115238879A true CN115238879A (zh) | 2022-10-25 |
Family
ID=83678765
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210980058.1A Pending CN115238879A (zh) | 2022-08-16 | 2022-08-16 | 深度神经网络的架构搜索方法及硬件加速器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115238879A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115860135A (zh) * | 2022-11-16 | 2023-03-28 | 中国人民解放军总医院 | 使用超网解决异构联邦学习的方法、设备及介质 |
CN116822600A (zh) * | 2023-08-30 | 2023-09-29 | 北京京瀚禹电子工程技术有限公司 | 一种基于risc-v架构的神经网络搜索芯片 |
-
2022
- 2022-08-16 CN CN202210980058.1A patent/CN115238879A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115860135A (zh) * | 2022-11-16 | 2023-03-28 | 中国人民解放军总医院 | 使用超网解决异构联邦学习的方法、设备及介质 |
CN115860135B (zh) * | 2022-11-16 | 2023-08-01 | 中国人民解放军总医院 | 基于超网的异构联邦学习方法、设备及介质 |
CN116822600A (zh) * | 2023-08-30 | 2023-09-29 | 北京京瀚禹电子工程技术有限公司 | 一种基于risc-v架构的神经网络搜索芯片 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111178519B (zh) | 卷积神经网络加速引擎、卷积神经网络加速系统及方法 | |
CN108241890B (zh) | 一种可重构神经网络加速方法及架构 | |
CN107657581B (zh) | 一种卷积神经网络cnn硬件加速器及加速方法 | |
CN111898733B (zh) | 一种深度可分离卷积神经网络加速器架构 | |
CN111667051A (zh) | 适用边缘设备的神经网络加速器及神经网络加速计算方法 | |
CN115238879A (zh) | 深度神经网络的架构搜索方法及硬件加速器 | |
JP7430744B2 (ja) | 機械学習モデルを改良して局所性を改善させること | |
CN107203807B (zh) | 神经网络加速器的片上缓存带宽均衡方法、系统及其装置 | |
US20210191765A1 (en) | Method for static scheduling of artificial neural networks for a processor | |
CN109472361B (zh) | 神经网络优化方法 | |
CN115186821B (zh) | 面向芯粒的神经网络推理开销估计方法及装置、电子设备 | |
US11915118B2 (en) | Method and apparatus for processing computation of zero value in processing of layers in neural network | |
Liu et al. | Addressing the issue of processing element under-utilization in general-purpose systolic deep learning accelerators | |
Stevens et al. | Manna: An accelerator for memory-augmented neural networks | |
US11921667B2 (en) | Reconfigurable computing chip | |
Tang et al. | EF-train: Enable efficient on-device CNN training on FPGA through data reshaping for online adaptation or personalization | |
CN114330730A (zh) | 量子线路分块编译方法、装置、设备、存储介质和产品 | |
Shahshahani et al. | Memory optimization techniques for fpga based cnn implementations | |
US20220188613A1 (en) | Sgcnax: a scalable graph convolutional neural network accelerator with workload balancing | |
Chang et al. | A reconfigurable neural network processor with tile-grained multicore pipeline for object detection on FPGA | |
Kang et al. | Multi-bank on-chip memory management techniques for CNN accelerators | |
CN114519425A (zh) | 一种规模可扩展的卷积神经网络加速系统 | |
CN112001492A (zh) | 关于二值权重DenseNet模型的混合流水式加速架构及加速方法 | |
Qiu et al. | An FPGA‐Based Convolutional Neural Network Coprocessor | |
US11842169B1 (en) | Systolic multiply delayed accumulate processor architecture |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |