CN109726801A - 卷积神经网络的优化方法、装置、存储介质和系统 - Google Patents

卷积神经网络的优化方法、装置、存储介质和系统 Download PDF

Info

Publication number
CN109726801A
CN109726801A CN201811640762.2A CN201811640762A CN109726801A CN 109726801 A CN109726801 A CN 109726801A CN 201811640762 A CN201811640762 A CN 201811640762A CN 109726801 A CN109726801 A CN 109726801A
Authority
CN
China
Prior art keywords
parameter
layers
training
fusion results
convolutional
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
Application number
CN201811640762.2A
Other languages
English (en)
Inventor
不公告发明人
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cambricon Technologies Corp Ltd
Beijing Zhongke Cambrian Technology Co Ltd
Original Assignee
Beijing Zhongke Cambrian Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Zhongke Cambrian Technology Co Ltd filed Critical Beijing Zhongke Cambrian Technology Co Ltd
Priority to CN201811640762.2A priority Critical patent/CN109726801A/zh
Publication of CN109726801A publication Critical patent/CN109726801A/zh
Priority to CN201911296837.4A priority patent/CN110766146B/zh
Priority to CN201911296834.0A priority patent/CN110889497B/zh
Priority to US16/719,662 priority patent/US20210182682A1/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Image Analysis (AREA)

Abstract

本申请涉及一种卷积神经网络优化方法、装置、存储介质和系统。所述方法包括:将冗余神经网络层的卷积计算融合到卷积层中,并删除多余的神经网络层。采用本方法能够使优化后的网络网络性能大幅度提升。

Description

卷积神经网络的优化方法、装置、存储介质和系统
技术领域
本申请涉及人工智能技术领域,特别是涉及一种卷积神经网络的优化方法、装置、存储介质和系统。
背景技术
卷积神经网络(Convolutional Neural Networks,CNN)是一类包含卷积计算且具有深度结构的多层神经网络,是深度学习的代表算法之一,擅长处理图像特别是大图像的相关机器学习问题。随着数字电子技术的不断发展,各类人工智能(ArtificialIntelligence,AI)芯片的快速发展对于神经网络处理器的要求也越来越高。卷积神经网络算法作为智能芯片广泛应用的算法之一,运行于神经网络处理器中。
然而,传统的卷积神经网络结构中存在大量连续的Convolution,Batch Norm,Scale层结构,在进行前向传播时,Batch Norm层和Scale层的构建和执行消耗了大量计算资源,并且在执行卷积计算过程中并没有起到太大作用,反而让网络结构重复、复杂。
发明内容
基于此,有必要针对上述技术问题,提供一种能够优化卷积神经网络结构的的卷积神经网络优化方法、装置、存储介质和系统。
一种卷积神经网络优化方法,所述方法包括:
获取第一配置参数及第二配置参数,其中,所述第一配置参数包括Batch Norm层的第一训练参数及Batch Norm层的第二训练参数;所述第二配置参数包括Scale层的第一训练参数及Scale层的第二训练参数;
将所述Batch Norm层的第一训练参数以及所述Scale层的第一训练参数与卷积层的权值参数融合,得到第一融合结果;
将所述Batch Norm层的第二训练参数以及所述Scale层的第二训练参数与卷积层的偏置参数融合,得到第二融合结果;
根据所述第一融合结果以及所述第二融合结果,对所述卷积神经网络进行优化。
在其中一个实施例中,所述将所述Batch Norm层的第一训练参数以及所述 Scale层的第一训练参数与卷积层的权值参数融合,得到第一融合结果,包括:
将所述Batch Norm层的第一训练参数、所述Scale层的第一训练参数以及所述卷积层的权值参数进行乘法运算,得到所述第一融合结果。
在其中一个实施例中,所述将所述Batch Norm层的第二训练参数以及所述 Scale层的第二训练参数与卷积层的偏置参数融合,得到第二融合结果,包括:
将所述Batch Norm层的第二训练参数、所述Scale层的第二训练参数以及所述卷积层的偏置参数进行加法运算,得到所述第二融合结果。
在其中一个实施例中,所述根据所述第一融合结果以及所述第二融合结果,对所述卷积神经网络进行优化,包括:
删除所述Batch Norm层以及所述Scale层,并将所述卷积层的权值参数更改为所述第一融合结果,将所述卷积层的偏置参数更改为所述第二融合结果。
在其中一个实施例中,所述将卷积层的输入数据分别与所述第一融合结果和所述第二融合结果进行卷积计算,得到卷积层的输出结果,包括:
将所述输入数据与所述第一融合结果进行乘法运算,得到第一运算结果;
将所述第一运算结果与所述第二融合结果进行加法运算,得到所述输出结果。
在其中一个实施例中,所述Batch Norm层的第一训练参数包括用于执行 BatchNorm层的卷积计算的至少一个第一训练子参数;所述Batch Norm层的第二训练参数包括用于执行Batch Norm层的卷积计算的至少一个第二训练子参数。
在其中一个实施例中,若所述Batch Norm层的第一训练参数包括多个第一训练子参数,则将所述多个第一训练子参数进行运算,得到第一中间运算结果;
将所述第一中间运算结果以及所述Scale层的第一训练参数与所述卷积层的权值参数融合,得到所述第一融合结果。
在其中一个实施例中,若所述Batch Norm层的第二训练参数包括多个第二训练子参数,则将所述多个第二训练子参数进行运算,得到第二中间运算结果;
将所述第二中间运算结果以及所述Scale层的第二训练参数与所述卷积层的偏置参数融合,得到所述第二融合结果。
在其中一个实施例中,所述Scale层的第一训练参数包括用于执行Scale层的卷积计算的至少一个第一训练子参数;所述Scale层的第二训练参数包括用于执行Scale层的卷积计算的至少一个第二训练子参数。
一种卷积神经网络优化方法,所述方法包括:
获取配置参数,其中,所述配置参数包括第一训练参数及第二训练参数;
将所述第一训练参数与卷积层的权值参数融合,得到第一融合结果;
将所述第二训练参数与卷积层的偏置参数融合,得到第二融合结果;
根据所述第一融合结果以及所述第二融合结果,对所述卷积神经网络进行优化。
一种卷积神经网络优化装置,所述装置包括:
配置参数获取模块,用于获取第一配置参数及第二配置参数,其中,所述第一配置参数包括Batch Norm层的第一训练参数及Batch Norm层的第二训练参数;所述第二配置参数包括Scale层的第一训练参数及Scale层的第二训练参数;
第一融合结果获取模块,用于将所述Batch Norm层的第一训练参数以及所述Scale层的第一训练参数与卷积层的权值参数融合,得到第一融合结果;
第二融合结果获取模块,用于将所述Batch Norm层的第二训练参数以及所述Scale层的第二训练参数与卷积层的偏置参数融合,得到第二融合结果;
优化模块,用于根据所述第一融合结果以及所述第二融合结果,对所述卷积神经网络进行优化。
一种卷积神经网络优化系统,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现以下步骤:
获取第一配置参数及第二配置参数,其中,所述第一配置参数包括Batch Norm层的第一训练参数及Batch Norm层的第二训练参数;所述第二配置参数包括Scale层的第一训练参数及Scale层的第二训练参数;
将所述Batch Norm层的第一训练参数以及所述Scale层的第一训练参数与卷积层的权值参数融合,得到第一融合结果;
将所述Batch Norm层的第二训练参数以及所述Scale层的第二训练参数与卷积层的偏置参数融合,得到第二融合结果;
根据所述第一融合结果以及所述第二融合结果,对所述卷积神经网络进行优化。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取第一配置参数及第二配置参数,其中,所述第一配置参数包括Batch Norm层的第一训练参数及Batch Norm层的第二训练参数;所述第二配置参数包括Scale层的第一训练参数及Scale层的第二训练参数;
将所述Batch Norm层的第一训练参数以及所述Scale层的第一训练参数与卷积层的权值参数融合,得到第一融合结果;
将所述Batch Norm层的第二训练参数以及所述Scale层的第二训练参数与卷积层的偏置参数融合,得到第二融合结果;
根据所述第一融合结果以及所述第二融合结果,对所述卷积神经网络进行优化。
上述卷积神经网络优化方法、装置、存储介质和系统,通过将Batch Norm 层的第一训练参数以及Scale层的第一训练参数与卷积层的权值参数融合,并将 Batch Norm层的第二训练参数以及Scale层的第二训练参数与卷积层的偏置参数融合,从而将Batch Norm层和Scale层的卷积计算融合到卷积层中,能够删除多余的神经网络层,使优化后的网络网络性能大幅度提升。
附图说明
图1为一个实施例中卷积神经网络优化系统100的结构示意图;
图2为一个实施例中卷积神经网络优化方法的流程示意图;
图3为一个实施例中两层网络结构优化的示意图;
图4为另一个实施例中卷积神经网络优化方法的流程示意图;
图5为另一个实施例中两层网络结构优化的示意图;
图6为另一个实施例中卷积神经网络优化方法的流程示意图;
图7为一个实施例中三层网络结构优化的示意图;
图8为另一个实施例中卷积神经网络优化方法的流程示意图;
图9为另一个实施例中卷积神经网络优化方法的流程示意图;
图10为一个实施例中卷积神经网络优化装置的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”和“第三”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
本申请提供的卷积神经网络优化方法,可以应用于如图1所示的卷积神经网络优化系统100中。该卷积神经网络优化系统100包括:存储器110和处理器120,存储器110上存储有处理器120可执行的指令;存储器110可以进行片内存储,也可以进行片外存储;处理器120包括多个处理器核,每一处理器核可以通过内总线进行通信,执行不同的任务。
在一个实施例中,如图2所示,提供了一种卷积神经网络优化方法,该方法在如图1所示的卷积神经网络优化系统100上运行,该方法包括以下步骤:
步骤202,获取配置参数。
其中,配置参数包括Batch Norm层的第一训练参数及Batch Norm层的第二训练参数。具体地,可以从Caffe模型中获取用于执行Batch Norm层的卷积计算的第一训练参数及第二训练参数。
进一步,Caffe指的是卷积神经网络框架,即一种常用的深度学习框架。Caffe 的源码文件支持配置和更改,也就是说,在配置Caffe的过程中可以对模型进行重新定义和优化。Caffe模型指的是利用机器学习算法通过训练得到的数学模型。
步骤204,将所述Batch Norm层的第一训练参数与卷积层的权值参数融合,得到第一融合结果。
具体地,可以将步骤202中获取到的Batch Norm层的第一训练参数与卷积层的权值参数进行融合计算,得到第一融合结果。
作为一种可选的实施方式,所述Batch Norm层的第一训练参数包括用于执行Batch Norm层的卷积计算的至少一个第一训练子参数。
具体的,若Batch Norm层的第一训练参数包括多个第一训练子参数,则将 BatchNorm层的所有第一训练子参数与卷积层的权值参数进行融合计算。
步骤206,将所述Batch Norm层的第二训练参数与卷积层的偏置参数融合,得到第二融合结果。
具体地,可以将步骤202中获取到的Batch Norm层的第二训练参数与卷积层的偏置参数进行融合计算,得到第二融合结果。
作为一种可选的实施方式,所述Batch Norm层的第二训练参数包括用于执行Batch Norm层的卷积计算的至少一个第二训练子参数。
具体的,若Batch Norm层的第二训练参数包括多个第二训练子参数,则将 BatchNorm层的所有第二训练子参数与卷积层的偏置参数进行融合计算。
步骤208,根据所述第一融合结果以及所述第二融合结果,对所述卷积神经网络进行优化。
具体地,可以根据步骤204中得到的第一融合结果和步骤206中得到的第二融合结果,完成对该卷积神经网络的优化。
上述卷积神经网络优化方法中,通过将Batch Norm层的计算过程融合到卷积层中,能够在不损失网络精度的前提下,大幅度提升网络性能;同时,实现网络融合后删除冗余神经网络层,能够简化网络结构,提升网络运行速度。
在其中一个实施例中,将所述Batch Norm层的第一训练参数以及所述卷积层的权值参数进行乘法运算,得到所述第一融合结果。
其中,如图3所示的包括卷积层Convolution和Batch Norm层的两层连续结构可以被优化为一层Convolution,即将Batch Norm层的计算融合到 Convolution层,就可以删除Batch Norm层。
Batch Norm层主要对输入数据进行归一化处理,即其中,x 表示Batch Norm层的输入数据;xnorm表示经过归一化处理后的Batch Norm层的输出数据;μ表示累计计算的均值;σ表示累计计算的方差。
所谓归一化处理主要是为了简化数据处理过程,能够将输入数据映射到[0,1] 或[-1,1]的区间内,把有量纲的表达式变换成为无量纲的表达式,成为纯量,便于不同单位或量级的指标能够进行比较和加权,从而使数据处理更加便捷、快速。
举例说明,Batch Norm层的计算公式为经简化处理,获得公式(1)。请参阅公式(1):
Batch Norm层的训练过程是从总样本中提取mini-batch个样本进行多次前向训练,并通过滑动平均的方式,更新Caffe模型中的计算参数。
在其中一个实施例中,若所述Batch Norm层的第一训练参数包括多个第一训练子参数,则将所述多个第一训练子参数进行运算,得到第一中间运算结果;将所述第一中间运算结果与所述卷积层的权值参数融合,得到所述第一融合结果。
具体地,为了将Batch Norm层的计算过程融合到Convolution层中,可以获取用于执行Batch Norm层的卷积计算的第一训练参数及用于执行Batch Norm 层的卷积计算的第二训练参数。其中,请参阅公式(1),用于执行Batch Norm 层的卷积计算的第一训练参数包括多个第一训练子参数(alpha,var,scale),用于执行Batch Norm层的卷积计算的第二训练参数包括多个第二训练子参数 (alpha,mean,var,scale,beta)。
其中,上述第一训练参数或第二训练参数(alpha,mean,var,scale,beta)为向量。Caffe模型中的每一类第一训练参数或第二训练参数不止一个,例如:若Caffe模型中的第一训练子参数alpha有多个,则获取Caffe模型中的所有alpha。
具体地,请继续参阅公式(1),将第一训练参数中的多个第一训练子参数 (alpha,var,scale)与Convolution层的权值weights进行乘法运算,也就是说,将多个第一训练子参数进行运算,得到的第一中间运算结果与Convolution层的权值weights相乘,得到第一融合结果
在其中一个实施例中,将所述Batch Norm层的第二训练参数以及所述卷积层的偏置参数进行加法运算,得到所述第二融合结果。
在其中一个实施例中,若所述Batch Norm层的第二训练参数包括多个第二训练子参数,则将所述多个第二训练子参数进行运算,得到第二中间运算结果;将所述第二中间运算结果与所述卷积层的偏置参数融合,得到所述第二融合结果。
举例说明,请继续参阅公式(1),将Batch Norm层的第二训练参数中的多个第二训练子参数(alpha,mean,var,scale,beta)与Convolution层的偏置bias进行加法运算,也就是说,将多个第二训练子参数进行运算得到的第二中间运算结果与Convolution层的偏置bias相加,得到第二融合结果
在其中一个实施例中,删除所述Batch Norm层,并将所述卷积层的权值参数更改为所述第一融合结果,将所述卷积层的偏置参数更改为所述第二融合结果。
其中,在多层神经网络中,Batch Norm层是对于模型推理贡献不大的网络结构。例如:轻量化卷积神经网络Mobile Net中,存在大量连续的Convolution, Batch Norm层结构,在进行前向传播时,Batch Norm层的构建和执行消耗了大量计算资源,反而让网络结构重复、复杂,因此,通过步骤204和步骤206将 Batch Norm层的卷积计算融合到卷积层之后,可以将Batch Norm层删除。
进一步,可以将卷积层的权值参数更改为步骤204中得到的第一融合结果,请参阅公式(1),将卷积层的权值参数更改第一融合结果可以将卷积层的偏置参数更改为步骤206中得到的第二融合结果,请继续参阅公式(1),将卷积层的偏置参数更改第二融合结果 从而将Batch Norm层执行的归一化处理过程融合到 Convolution层中,删除Batch Norm层,完成了卷积层Convolution和Batch Norm 层的两层连续结构的优化。上述卷积神经网络优化方法中,通过将Batch Norm 层的归一化数据处理过程融合到卷积层中,能够在不损失网络精度的前提下,大幅度提升网络性能;同时,实现网络融合后删除Batch Norm层,能够简化网络结构,提升网络运行速度。
作为一种可选的实施方式,若卷积神经网络包括多个Batch Norm层,则每一BatchNorm层都执行上述优化过程,将多个Batch Norm层的归一化处理过程均融合到Convolution层中,从而可以删除多个冗余的Batch Norm层,使网络结构更加清晰,同时大幅度提升网络性能。
在一个实施例中,如图4所示,提供了一种卷积神经网络优化方法,该方法在如图1所示的卷积神经网络优化系统100上运行,该方法包括以下步骤:
步骤302,获取配置参数。
其中,配置参数包括Scale层的第一训练参数及Scale层的第二训练参数。具体地,可以从Caffe模型中获取用于执行Scale层的卷积计算的第一训练参数及第二训练参数。
步骤304,将所述Scale层的第一训练参数与卷积层的权值参数融合,得到第一融合结果。
具体地,可以将步骤302中获取到的Scale层的第一训练参数与卷积层的权值参数进行融合计算,得到第一融合结果。
作为一种可选的实施方式,所述Scale层的第一训练参数包括用于执行Scale 层的卷积计算的至少一个第一训练子参数。
具体的,若Scale层的第一训练参数包括多个第一训练子参数,则将Scale 层的所有第一训练子参数与卷积层的权值参数进行融合计算。
步骤306,将所述Scale层的第二训练参数与卷积层的偏置参数融合,得到第二融合结果。
具体地,可以将步骤302中获取到的Scale层的第二训练参数与卷积层的偏置参数进行融合计算,得到第二融合结果。
作为一种可选的实施方式,所述Scale层的第二训练参数包括用于执行Scale 层的卷积计算的至少一个第二训练子参数。
具体的,若Scale层的第二训练参数包括多个第二训练子参数,则将Scale 层的所有第二训练子参数与卷积层的偏置参数进行融合计算。
步骤308,根据所述第一融合结果以及所述第二融合结果,对所述卷积神经网络进行优化。
具体地,可以根据步骤304中得到的第一融合结果和步骤306中得到的第二融合结果,完成对该卷积神经网络的优化。
上述卷积神经网络优化方法中,通过将Scale层的计算过程融合到卷积层中,能够在不损失网络精度的前提下,大幅度提升网络性能;同时,实现网络融合后删除冗余神经网络层,能够简化网络结构,提升网络运行速度。
在其中一个实施例中,将所述Scale层的第一训练参数以及所述卷积层的权值参数进行乘法运算,得到所述第一融合结果。
其中,如图5所示的包括卷积层Convolution和Scale层的两层连续结构可以被优化为一层Convolution,即将Scale层的计算融合到Convolution层,就可以删除Scale层。
Scale层主要对归一化后的数据进行缩放和平移,即y=γ*xnorm+β,其中,xnorm表示经过归一化处理后的Scale层的输入数据;γ表示缩放量;β表示平移量。
举例说明,Scale层的计算公式请参阅公式(2):
alpha*x+beta (2)
具体地,为了将Scale层的计算过程融合到Convolution层中,可以获取用于执行Scale层的卷积计算的第一训练参数及用于执行Scale层的卷积计算的第二训练参数。其中,请参阅公式(2),用于执行Scale层的卷积计算的第一训练参数包括一个第一训练子参数(alpha),用于执行Scale层的卷积计算的第二训练参数包括一个第二训练子参数(beta)。
其中,上述第一训练参数或第二训练参数(alpha,beta)为向量。Caffe模型中的每一类第一训练参数或第二训练参数不止一个,例如:若Caffe模型中的第一训练子参数alpha有多个,则获取Caffe模型中的所有alpha。
具体地,请继续参阅公式(2),将权值参数中的第一训练子参数(alpha) 与Convolution层的权值weights进行乘法运算,也就是说,将公式(2)中的 alpha与Convolution层的权值weights相乘,得到第一融合结果alpha*weights。
在其中一个实施例中,将所述Scale层的第二训练参数以及所述卷积层的偏置参数进行加法运算,得到所述第二融合结果。
举例说明,请继续参阅公式(2),将Scale层的第二训练参数中的第二训练子参数(beta)与Convolution层的偏置bias进行加法运算,也就是说,将公式 (2)中的beta与Convolution层的偏置bias相加,得到第二融合结果beta+bias。
在其中一个实施例中,删除所述Scale层,并将所述卷积层的权值参数更改为所述第一融合结果,将所述卷积层的偏置参数更改为所述第二融合结果。
其中,在多层神经网络中,Scale层是对于模型训练贡献不大的网络结构。例如:轻量化卷积神经网络Mobile Net中,存在大量连续的Convolution,Scale 层结构,在进行前向传播时,Scale层在执行卷积计算过程中并没有起到太大作用,反而让网络结构重复、复杂,因此,通过步骤304和步骤306将Scale层的卷积计算融合到卷积层之后,可以将Scale层删除。
进一步,可以将卷积层的权值参数更改为步骤304中得到的第一融合结果,请参阅公式(1),将卷积层的权值参数更改第一融合结果alpha*weights;可以将卷积层的偏置参数更改为步骤306中得到的第二融合结果,请继续参阅公式 (1),将卷积层的偏置参数更改第二融合结果-beta+bias。从而将Scale层执行的归一化处理过程融合到Convolution层中,删除Scale层,完成了卷积层Convolution和Scale层的两层连续结构的优化。
上述卷积神经网络优化方法中,通过将Scale层的归一化数据处理过程融合到卷积层中,能够在不损失网络精度的前提下,大幅度提升网络性能;同时,实现网络融合后删除Scale层,能够简化网络结构,提升网络运行速度。作为一种可选的实施方式,若卷积神经网络包括多个Scale层,则每一Scale层都执行上述优化过程,将多个Scale层的缩放和平移处理过程均融合到Convolution层中,从而可以删除多个冗余的Scale层,使网络结构更加清晰,同时大幅度提升网络性能。
在一个实施例中,如图6所示,提供了一种卷积神经网络优化方法,该方法在如图1所示的卷积神经网络优化系统100上运行,该方法包括以下步骤:
步骤402,获取第一配置参数及第二配置参数。
其中,第一配置参数包括Batch Norm层的第一训练参数及Batch Norm层的第二训练参数;第二配置参数包括Scale层的第一训练参数及Scale层的第二训练参数。
具体地,可以从Caffe模型中获取用于执行Batch Norm层的卷积计算的第一训练参数及第二训练参数,也可以从Caffe模型中获取用于执行Scale层的卷积计算的第一训练参数及第二训练参数。
步骤404,将所述Batch Norm层的第一训练参数以及所述Scale层的第一训练参数与卷积层的权值参数融合,得到第一融合结果。
具体地,可以将步骤402中获取到的Batch Norm层的第一训练参数以及 Scale层的第一训练参数与卷积层的权值参数进行融合计算,得到第一融合结果。
作为一种可选的实施方式,所述Batch Norm层的第一训练参数包括用于执行Batch Norm层的卷积计算的至少一个第一训练子参数。所述Scale层的第一训练参数包括用于执行Scale层的卷积计算的至少一个第一训练子参数。
具体的,若Batch Norm层的第一训练参数包括多个第一训练子参数,则将 BatchNorm层的所有第一训练子参数与卷积层的权值参数进行融合计算。若 Scale层的第一训练参数包括多个第一训练子参数,则将Scale层的所有第一训练子参数与卷积层的权值参数进行融合计算。
步骤406,将所述Batch Norm层的第二训练参数以及所述Scale层的第二训练参数与卷积层的偏置参数融合,得到第二融合结果。
具体地,可以将步骤402中获取到的Batch Norm层的第二训练参数以及 Scale层的第二训练参数与卷积层的偏置参数进行融合计算,得到第二融合结果。
作为一种可选的实施方式,所述Batch Norm层的第二训练参数包括用于执行Batch Norm层的卷积计算的至少一个第二训练子参数。所述Scale层的第二训练参数包括用于执行Scale层的卷积计算的至少一个第二训练子参数。
具体的,若Batch Norm层的第二训练参数包括多个第二训练子参数,则将 BatchNorm层的所有第二训练子参数与卷积层的偏置参数进行融合计算。若 Scale层的第二训练参数包括多个第二训练子参数,则将Scale层的所有第二训练子参数与卷积层的偏置参数进行融合计算。
步骤408,根据所述第一融合结果以及所述第二融合结果,对所述卷积神经网络进行优化。
上述卷积神经网络优化方法中,通过将Batch Norm层和Scale层的计算过程融合到卷积层中,能够在不损失网络精度的前提下,大幅度提升网络性能;同时,实现网络融合后删除冗余神经网络层,能够简化网络结构,提升网络运行速度。
在其中一个实施例中,将所述Batch Norm层的第一训练参数、所述Scale层的第一训练参数以及所述卷积层的权值参数进行乘法运算,得到所述第一融合结果。
其中,如图7所示的包括卷积层Convolution、Batch Norm层和Scale层的三层连续结构可以被优化为一层Convolution,即将Batch Norm层和Scale层的计算分别融合到Convolution层,就可以删除Batch Norm层和Scale层。另外,图7仅仅示出了神经网络中Convolution、Batch Norm层和Scale层三层之间的一种位置关系,本技术方案适用于将图7中的Batch Norm层和Scale层位置交换一下的示例。
具体地,为了将Batch Norm层和Scale层的计算过程都融合到Convolution 层中,可以获取用于执行Batch Norm层的卷积计算的第一训练参数、用于执行Batch Norm层的卷积计算的第二训练参数、用于执行Scale层的卷积计算的第一训练参数以及用于执行Scale层的卷积计算的第二训练参数。
在其中一个实施例中,若所述Batch Norm层的第一训练参数包括多个第一训练子参数,则将所述多个第一训练子参数进行运算,得到第一中间运算结果;将所述第一中间运算结果以及所述Scale层的第一训练参数与所述卷积层的权值参数融合,得到所述第一融合结果。
举例说明,请参阅公式(1)和公式(2),将Batch Norm层的第一训练参数中的多个第一训练子参数(alpha,sqrt,var,scale)以及Scale层的第一训练参数中的第一训练子参数(alpha),与Convolution层的权值weights进行乘法运算,也就是说,将公式(1)中多个第一训练子参数进行运算得到的第一中间运算结果及公式(2)中的alpha,与Convolution层的权值weights相乘,得到第一融合结果
在其中一个实施例中,将所述Batch Norm层的第二训练参数、所述Scale层的第二训练参数以及所述卷积层的偏置参数进行加法运算,得到所述第二融合结果。
在其中一个实施例中,若所述Batch Norm层的第二训练参数包括多个第二训练子参数,则将所述多个第二训练子参数进行运算,得到第二中间运算结果;将所述第二中间运算结果以及所述Scale层的第二训练参数与所述卷积层的偏置参数融合,得到所述第二融合结果。
举例说明,请继续参阅公式(1),将Batch Norm层的第二训练参数中的多个第二训练子参数(alpha,mean,var,scale,beta)以及Scale层的第二训练参数中的第二训练子参数(beta),与Convolution层的偏置bias进行加法运算,也就是说,将公式(1)中多个第二训练子参数进行运算得到的第二中间运算结果 以及公式(2)中的beta,与Convolution层的偏置 bias相加,得到第二融合结果
在其中一个实施例中,删除所述Batch Norm层和所述Scale层,并将所述卷积层的权值参数更改为所述第一融合结果,将所述卷积层的偏置参数更改为所述第二融合结果。
其中,在多层神经网络中,Batch Norm层和Scale层是对于模型训练贡献不大的网络结构。例如:轻量化卷积神经网络Mobile Net中,存在大量连续的 Convolution,BatchNorm,Scale层结构,在进行前向传播时,Batch Norm层和 Scale层在执行卷积计算过程中并没有起到太大作用,反而让网络结构重复、复杂,因此,通过步骤404和步骤406将BatchNorm层和Scale层的卷积计算融合到卷积层之后,可以将Batch Norm层和Scale层删除。
进一步,可以将卷积层的权值参数更改为步骤404中得到的第一融合结果,请参阅公式(1),将卷积层的权值参数更改第一融合结果 可以将卷积层的偏置参数更改为步骤406中得到的第二融合结果,请继续参阅公式(1),将卷积层的偏置参数更改第二融合结果 从而将Batch Norm层和Scale层执行的归一化处理过程都融合到Convolution层中,删除Batch Norm层和Scale层,完成了卷积层Convolution、Batch Norm层和Scale层的三层连续结构的优化。
上述卷积神经网络优化方法中,通过将Batch Norm层和Scale层的归一化数据处理过程都融合到卷积层中,能够在不损失网络精度的前提下,大幅度提升网络性能;同时,实现网络融合后删除Batch Norm层和Scale层,能够简化网络结构,提升网络运行速度。
在其中一个实施例中,提供了一种卷积神经网络优化方法,该方法在如图1 所示的卷积神经网络优化系统上运行,该方法包括将卷积层的输入数据分别与所述第一融合结果和所述第二融合结果进行卷积计算,得到卷积层的输出结果。如图8所示,具体包括以下步骤:
步骤502,将所述输入数据与所述第一融合结果进行乘法运算,得到第一运算结果。
作为一种可选的实施方式,在如图2所示的Batch Norm层融合到卷积层的两层卷积神经网络的优化方法中,请参阅公式(1),将卷积层的输入数据x与第一融合结果进行乘法运算,得到第一运算结果x
作为一种可选的实施方式,在如图4所示的Scale层融合到卷积层的两层卷积神经网络的优化方法中,请参阅公式(2),将卷积层的输入数据x与第一融合结果alpha*weights进行乘法运算,得到第一运算结果x*alpha*weights。
作为一种可选的实施方式,在如图6所示的Batch Norm层和Scale层都融合到卷积层的三层卷积神经网络的优化方法中,请参阅公式(1)和公式(2),将卷积层的输入数据x与第一融合结果进行乘法运算,得到第一运算结果
步骤504,将所述第一运算结果与所述第二融合结果进行加法运算,得到所述输出结果。
作为一种可选的实施方式,在如图2所示的Batch Norm层融合到卷积层的两层卷积神经网络的优化方法中,请参阅公式(1),第二融合结果为 将第一运算结果与第二融合结果进行加法运算,得到输出结果
作为一种可选的实施方式,在如图4所示的Scale层融合到卷积层的两层卷积神经网络的优化方法中,请参阅公式(2),第二融合结果为beta+bias,将第一运算结果x*alpha*weights与第二融合结果beta+bias,进行加法运算,得到输出结果x*alpha*weights+beta+bias。
作为一种可选的实施方式,在如图6所示的Batch Norm层和Scale层都融合到卷积层的三层卷积神经网络的优化方法中,请参阅公式(1)和公式(2),第二融合结果将第一运算结果与二融合结果 进行加法运算,得到输出结果
上述卷积神经网络优化方法中,将卷积层的输入数据分别与第一融合结果和第二融合结果进行卷积计算,能够在计算不会溢出的前提下保证优化后的网络精度不受损失,从而提升网络运行速度。
在一个实施例中,如图9所示,提供了另一种卷积神经网络优化方法,该方法在如图1所示的卷积神经网络优化系统上运行,该方法包括以下步骤:
步骤602,获取配置参数。
其中,所述配置参数包括第一训练参数及第二训练参数。该第一训练参数包括一个或多个第一训练子参数,该第二训练参数包括一个或多个第二训练子参数。
步骤604,将所述第一训练参数与卷积层的权值参数融合,得到第一融合结果。
具体地,可以将步骤602中获取到的第一训练参数和卷积层的权值参数进行融合计算,得到第一融合结果。
作为一种可选的实施方式,可以将第一训练参数与卷积层的权值参数进行乘法运算,得到第一融合结果。
具体的,若第一训练参数包括多个第一训练子参数,则将所有第一训练子参数与卷积层的权值参数进行乘法运算。
步骤606,将所述第二训练参数与卷积层的偏置参数融合,得到第二融合结果。
具体地,可以将步骤602中获取到的第二训练参数和卷积层的偏置参数进行相应的融合计算,得到第二融合结果。
作为一种可选的实施方式,可以将第二训练参数与卷积层的偏置参数进行加法运算,得到第二融合结果。
具体的,若第一二训练参数包括多个第二训练子参数,则将所有第二训练子参数与卷积层的偏置参数进行加法运算。
步骤608,根据所述第一融合结果以及所述第二融合结果,对所述卷积神经网络进行优化。
具体地,可以根据步骤604中得到的第一融合结果和步骤606中得到的第二融合结果,完成对该卷积神经网络的优化。
作为一种可选的实施方式,删除冗余神经网络层,并将所述卷积层的权值参数更改为所述第一融合结果,将所述卷积层的偏置参数更改为所述第二融合结果。
其中,冗余神经网络层指的是部署在多层神经网络中,但对于模型推理贡献不大的网络结构。例如:轻量化卷积神经网络Mobile Net中,存在大量连续的 Convolution,Batch Norm,Scale层结构,在进行前向传播时,Batch Norm层和 Scale层在执行卷积计算过程中并没有起到太大作用,反而让网络结构重复、复杂,因此,可以把Batch Norm层和Scale层看做冗余神经网络层。但是,冗余神经网络层并不限于Batch Norm层和Scale层。
进一步,可以将卷积层的权值参数更改为步骤604中得到的第一融合结果;可以将卷积层的偏置参数更改为步骤606中得到的第二融合结果。从而将冗余神经网络层的数据处理过程融合到Convolution层中,删除冗余神经网络层,完成了卷积层Convolution和冗余神经网络层的结构优化。
上述卷积神经网络优化方法中,通过将冗余神经网络层的计算过程融合到卷积层中,能够在不损失网络精度的前提下,大幅度提升网络性能;同时,实现网络融合后删除冗余神经网络层,能够简化网络结构,提升网络运行速度。
在Mobile Net中,通过在Caffe的源码文件caffe.proto中加入新的网络参数,如opt_level,用于表示网络优化级别。通过设置该参数值,从而自动检测卷积神经网络的网络结构,并根据设置的参数值,自动调用相应的卷积神经网络优化方法,能够节省用户的学习成本,在提高易用性的同时保留了用户选择的权利。
应该理解的是,虽然图2-9的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-9中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图10所示,提供了一种卷积神经网络优化装置,包括:配置参数获取模块701、第一融合结果获取模块702、第二融合结果获取模块703 和优化模块704,其中:
配置参数获取模块701,用于获取配置参数,其中,所述配置参数包括Batch Norm层的第一训练参数及Batch Norm层的第二训练参数;
第一融合结果获取模块702,用于将所述Batch Norm层的第一训练参数与卷积层的权值参数融合,得到第一融合结果;
第二融合结果获取模块703,用于将所述Batch Norm层的第二训练参数与卷积层的偏置参数融合,得到第二融合结果;
优化模块704,用于根据所述第一融合结果以及所述第二融合结果,对所述卷积神经网络进行优化。
在其中一个实施例中,配置参数获取模块701,还用于获取配置参数,其中,所述配置参数包括Scale层的第一训练参数及Scale层的第二训练参数。
在其中一个实施例中,配置参数获取模块701,还用于获取第一配置参数及第二配置参数,其中,所述第一配置参数包括Batch Norm层的第一训练参数及 Batch Norm层的第二训练参数;所述第二配置参数包括Scale层的第一训练参数及Scale层的第二训练参数。
在其中一个实施例中,第一融合结果获取模块702,还用于将所述Scale层的第一训练参数与卷积层的权值参数融合,得到第一融合结果。
在其中一个实施例中,第一融合结果获取模块702,还用于将所述Batch Norm层的第一训练参数以及所述Scale层的第一训练参数与卷积层的权值参数融合,得到第一融合结果。
在其中一个实施例中,第二融合结果获取模块703,还用于将所述Scale层的第二训练参数与卷积层的偏置参数融合,得到第二融合结果。
在其中一个实施例中,第二融合结果获取模块703,还用于将所述Batch Norm层的第二训练参数以及所述Scale层的第二训练参数与卷积层的偏置参数融合,得到第二融合结果。
在其中一个实施例中,优化模块704,还用于删除所述Batch Norm层,并将所述卷积层的权值参数更改为所述第一融合结果,将所述卷积层的偏置参数更改为所述第二融合结果。
在其中一个实施例中,优化模块704,还用于删除所述Scale层,并将所述卷积层的权值参数更改为所述第一融合结果,将所述卷积层的偏置参数更改为所述第二融合结果。
在其中一个实施例中,优化模块704,还用于删除所述Batch Norm层以及所述Scale层,并将所述卷积层的权值参数更改为所述第一融合结果,将所述卷积层的偏置参数更改为所述第二融合结果。
关于运算装置的具体限定可以参见上文中对于运算方法的限定,在此不再赘述。上述运算装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取配置参数,其中,所述配置参数包括Batch Norm层的第一训练参数及 BatchNorm层的第二训练参数;
将所述Batch Norm层的第一训练参数与卷积层的权值参数融合,得到第一融合结果;
将所述Batch Norm层的第二训练参数与卷积层的偏置参数融合,得到第二融合结果;
根据所述第一融合结果以及所述第二融合结果,对所述卷积神经网络进行优化。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取配置参数,其中,所述配置参数包括Scale层的第一训练参数及Scale 层的第二训练参数;
将所述Scale层的第一训练参数与卷积层的权值参数融合,得到第一融合结果;
将所述Scale层的第二训练参数与卷积层的偏置参数融合,得到第二融合结果;
根据所述第一融合结果以及所述第二融合结果,对所述卷积神经网络进行优化。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取第一配置参数及第二配置参数,其中,所述第一配置参数包括Batch Norm层的第一训练参数及Batch Norm层的第二训练参数;所述第二配置参数包括Scale层的第一训练参数及Scale层的第二训练参数;
将所述Batch Norm层的第一训练参数以及所述Scale层的第一训练参数与卷积层的权值参数融合,得到第一融合结果;
将所述Batch Norm层的第二训练参数以及所述Scale层的第二训练参数与卷积层的偏置参数融合,得到第二融合结果;
根据所述第一融合结果以及所述第二融合结果,对所述卷积神经网络进行优化。
应当清楚的是,本申请实施例中的计算机程序被处理器执行时实现的步骤,与上述实施例中的方法的各个步骤的执行过程一致,具体可参见上文的描述,此处不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM (EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM 以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM (SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM (RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (18)

1.一种卷积神经网络优化方法,其特征在于,所述方法包括:
获取第一配置参数及第二配置参数,其中,所述第一配置参数包括Batch Norm层的第一训练参数及Batch Norm层的第二训练参数;所述第二配置参数包括Scale层的第一训练参数及Scale层的第二训练参数;
将所述Batch Norm层的第一训练参数以及所述Scale层的第一训练参数与卷积层的权值参数融合,得到第一融合结果;
将所述Batch Norm层的第二训练参数以及所述Scale层的第二训练参数与卷积层的偏置参数融合,得到第二融合结果;
根据所述第一融合结果以及所述第二融合结果,对所述卷积神经网络进行优化。
2.根据权利要求1所述的方法,其特征在于,所述将所述Batch Norm层的第一训练参数以及所述Scale层的第一训练参数与卷积层的权值参数融合,得到第一融合结果,包括:
将所述Batch Norm层的第一训练参数、所述Scale层的第一训练参数以及所述卷积层的权值参数进行乘法运算,得到所述第一融合结果。
3.根据权利要求1所述的方法,其特征在于,所述将所述Batch Norm层的第二训练参数以及所述Scale层的第二训练参数与卷积层的偏置参数融合,得到第二融合结果,包括:
将所述Batch Norm层的第二训练参数、所述Scale层的第二训练参数以及所述卷积层的偏置参数进行加法运算,得到所述第二融合结果。
4.根据权利要求1所述的方法,其特征在于,所述根据所述第一融合结果以及所述第二融合结果,对所述卷积神经网络进行优化,包括:
删除所述Batch Norm层以及所述Scale层,并将所述卷积层的权值参数更改为所述第一融合结果,将所述卷积层的偏置参数更改为所述第二融合结果。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将卷积层的输入数据分别与所述第一融合结果和所述第二融合结果进行卷积计算,得到卷积层的输出结果。
6.根据权利要求5所述的方法,其特征在于,所述将卷积层的输入数据分别与所述第一融合结果和所述第二融合结果进行卷积计算,得到卷积层的输出结果,包括:
将所述输入数据与所述第一融合结果进行乘法运算,得到第一运算结果;
将所述第一运算结果与所述第二融合结果进行加法运算,得到所述输出结果。
7.根据权利要求1所述的方法,其特征在于,所述Batch Norm层的第一训练参数包括用于执行Batch Norm层的卷积计算的至少一个第一训练子参数;所述Batch Norm层的第二训练参数包括用于执行Batch Norm层的卷积计算的至少一个第二训练子参数。
8.根据权利要求7所述的方法,其特征在于,
若所述Batch Norm层的第一训练参数包括多个第一训练子参数,则将所述多个第一训练子参数进行运算,得到第一中间运算结果;
将所述第一中间运算结果以及所述Scale层的第一训练参数与所述卷积层的权值参数融合,得到所述第一融合结果。
9.根据权利要求7所述的方法,其特征在于,
若所述Batch Norm层的第二训练参数包括多个第二训练子参数,则将所述多个第二训练子参数进行运算,得到第二中间运算结果;
将所述第二中间运算结果以及所述Scale层的第二训练参数与所述卷积层的偏置参数融合,得到所述第二融合结果。
10.根据权利要求1所述的方法,其特征在于,所述Scale层的第一训练参数包括用于执行Scale层的卷积计算的至少一个第一训练子参数;所述Scale层的第二训练参数包括用于执行Scale层的卷积计算的至少一个第二训练子参数。
11.一种卷积神经网络优化方法,其特征在于,所述方法包括:
获取配置参数,其中,所述配置参数包括第一训练参数及第二训练参数;
将所述第一训练参数与卷积层的权值参数融合,得到第一融合结果;
将所述第二训练参数与卷积层的偏置参数融合,得到第二融合结果;
根据所述第一融合结果以及所述第二融合结果,对所述卷积神经网络进行优化。
12.一种卷积神经网络优化装置,其特征在于,所述装置包括:
配置参数获取模块,用于获取第一配置参数及第二配置参数,其中,所述第一配置参数包括Batch Norm层的第一训练参数及Batch Norm层的第二训练参数;所述第二配置参数包括Scale层的第一训练参数及Scale层的第二训练参数;
第一融合结果获取模块,用于将所述Batch Norm层的第一训练参数以及所述Scale层的第一训练参数与卷积层的权值参数融合,得到第一融合结果;
第二融合结果获取模块,用于将所述Batch Norm层的第二训练参数以及所述Scale层的第二训练参数与卷积层的偏置参数融合,得到第二融合结果;
优化模块,用于根据所述第一融合结果以及所述第二融合结果,对所述卷积神经网络进行优化。
13.根据权利要求12所述的装置,其特征在于,
所述第一融合结果获取模块,还用于将所述Batch Norm层的第一训练参数、所述Scale层的第一训练参数以及所述卷积层的权值参数进行乘法运算,得到所述第一融合结果。
14.根据权利要求12所述的装置,其特征在于,
所述第二融合结果获取模块,还用于将所述Batch Norm层的第二训练参数、所述Scale层的第二训练参数以及所述卷积层的偏置参数进行加法运算,得到所述第二融合结果。
15.根据权利要求12所述的装置,其特征在于,
所述优化模块,还用于删除所述Batch Norm层以及所述Scale层,并将所述卷积层的权值参数更改为所述第一融合结果,将所述卷积层的偏置参数更改为所述第二融合结果。
16.根据权利要求12所述的装置,其特征在于,所述装置还包括:
输出结果获取模块,用于将卷积层的输入数据与所述第一融合结果进行乘法运算,得到第一运算结果;
所述输出结果获取模块,用于将所述第一运算结果与所述第二融合结果进行加法运算,得到所述输出结果。
17.一种卷积神经网络优化系统,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至10中任一项所述方法的步骤。
18.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至10中任一项所述的方法的步骤。
CN201811640762.2A 2018-12-29 2018-12-29 卷积神经网络的优化方法、装置、存储介质和系统 Pending CN109726801A (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201811640762.2A CN109726801A (zh) 2018-12-29 2018-12-29 卷积神经网络的优化方法、装置、存储介质和系统
CN201911296837.4A CN110766146B (zh) 2018-12-29 2019-12-16 一种人工智能处理器的学习任务编译方法及相关产品
CN201911296834.0A CN110889497B (zh) 2018-12-29 2019-12-16 一种人工智能处理器的学习任务编译方法及相关产品
US16/719,662 US20210182682A1 (en) 2018-12-29 2019-12-18 Learning task compiling method of artificial intelligence processor and related products

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811640762.2A CN109726801A (zh) 2018-12-29 2018-12-29 卷积神经网络的优化方法、装置、存储介质和系统

Publications (1)

Publication Number Publication Date
CN109726801A true CN109726801A (zh) 2019-05-07

Family

ID=66298583

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201811640762.2A Pending CN109726801A (zh) 2018-12-29 2018-12-29 卷积神经网络的优化方法、装置、存储介质和系统
CN201911296837.4A Active CN110766146B (zh) 2018-12-29 2019-12-16 一种人工智能处理器的学习任务编译方法及相关产品

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201911296837.4A Active CN110766146B (zh) 2018-12-29 2019-12-16 一种人工智能处理器的学习任务编译方法及相关产品

Country Status (1)

Country Link
CN (2) CN109726801A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022533167A (ja) * 2019-05-17 2022-07-21 豊疆智能科技股▲ふん▼有限公司 乳牛の乳首の検出畳み込みニューラルネットワークモデル及びその構築方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111325339A (zh) * 2020-02-13 2020-06-23 上海寒武纪信息科技有限公司 人工智能处理器执行学习任务的方法及相关产品

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11055063B2 (en) * 2016-05-02 2021-07-06 Marvell Asia Pte, Ltd. Systems and methods for deep learning processor
WO2019075604A1 (zh) * 2017-10-16 2019-04-25 深圳市大疆创新科技有限公司 数据定点化方法和装置
CN108520300A (zh) * 2018-04-09 2018-09-11 郑州云海信息技术有限公司 一种深度学习网络的实现方法和装置
CN109034371B (zh) * 2018-06-27 2021-06-25 北京文安智能技术股份有限公司 一种深度学习模型推理期加速方法、装置及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022533167A (ja) * 2019-05-17 2022-07-21 豊疆智能科技股▲ふん▼有限公司 乳牛の乳首の検出畳み込みニューラルネットワークモデル及びその構築方法
JP7223880B2 (ja) 2019-05-17 2023-02-16 豊疆智能科技股▲ふん▼有限公司 乳牛の乳首の検出畳み込みニューラルネットワークモデル及びその構築方法

Also Published As

Publication number Publication date
CN110766146B (zh) 2021-05-11
CN110766146A (zh) 2020-02-07

Similar Documents

Publication Publication Date Title
CN109766996A (zh) 卷积神经网络的优化方法、装置、存储介质和系统
US20220253711A1 (en) Parsimonious inference on convolutional neural networks
CN107578098B (zh) 基于脉动阵列的神经网络处理器
CN110163368A (zh) 基于混合精度的深度学习模型训练方法、装置及系统
CN111738098B (zh) 一种车辆识别方法、装置、设备及存储介质
CN109514553B (zh) 一种机器人移动控制的方法、系统及设备
CN109409510B (zh) 神经元电路、芯片、系统及其方法、存储介质
CN107766935B (zh) 多层人造神经网络
CN109523014A (zh) 基于生成式对抗网络模型的新闻评论自动生成方法及系统
CN109726801A (zh) 卷积神经网络的优化方法、装置、存储介质和系统
CN111324630B (zh) 基于mpi的神经网络架构搜索并行化方法和设备
US20210182682A1 (en) Learning task compiling method of artificial intelligence processor and related products
CN115878907B (zh) 基于用户依赖关系的社交网络转发行为预测方法及装置
CN111598213A (zh) 网络训练方法、数据识别方法、装置、设备和介质
US20200226458A1 (en) Optimizing artificial neural network computations based on automatic determination of a batch size
CN110580519A (zh) 一种卷积运算结构及其方法
CN108830782A (zh) 图像处理方法、装置、计算机设备和存储介质
CN109754082A (zh) 卷积神经网络的优化方法、装置、存储介质和系统
CN111831354A (zh) 数据精度配置方法、装置、芯片、芯片阵列、设备及介质
CN112162734B (zh) 一种面向深度学习的模型生成方法
CN111582094B (zh) 并行选取超参数设计多分支卷积神经网络识别行人的方法
CN107292322A (zh) 一种图像分类方法、深度学习模型及计算机系统
JP2022548341A (ja) 目標モデルの取得
WO2023179379A1 (zh) 一种非线性延迟电路系统的仿真方法、系统及介质
CN110399163A (zh) 卷积神经网络的优化方法、装置、存储介质和系统

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
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20190507

WD01 Invention patent application deemed withdrawn after publication