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

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

Info

Publication number
CN110399163A
CN110399163A CN201910598249.XA CN201910598249A CN110399163A CN 110399163 A CN110399163 A CN 110399163A CN 201910598249 A CN201910598249 A CN 201910598249A CN 110399163 A CN110399163 A CN 110399163A
Authority
CN
China
Prior art keywords
layers
parameter
fusion results
scale
training
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
CN201910598249.XA
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 CN201910598249.XA priority Critical patent/CN110399163A/zh
Publication of CN110399163A publication Critical patent/CN110399163A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • 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)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

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

Description

卷积神经网络的优化方法、装置、存储介质和系统
技术领域
本申请涉及人工智能技术领域,特别是涉及一种卷积神经网络的优化方法、装置、存储介质和系统。
背景技术
卷积神经网络(Convolutional Neural Networks,CNN)是一类包含卷积计算且具有深度结构的多层神经网络,是深度学习的代表算法之一,擅长处理图像特别是大图像的相关机器学习问题。随着数字电子技术的不断发展,各类人工智能(ArtificialIntelligence,AI)芯片的快速发展对于神经网络处理器的要求也越来越高。卷积神经网络算法作为智能芯片广泛应用的算法之一,运行于神经网络处理器中。
然而,传统的卷积神经网络结构中存在大量连续的Batch Norm,Scale层结构,在进行前向传播时,Batch Norm层和Scale层的构建和执行消耗了大量计算资源,并且在执行卷积计算过程中并没有起到太大作用,反而让网络结构重复、复杂。
发明内容
基于此,有必要针对上述技术问题,提供一种能够优化卷积神经网络结构的的卷积神经网络优化方法、装置、存储介质和系统。
一种卷积神经网络优化方法,所述方法包括:
获取配置参数,其中,所述配置参数包括Batch Norm层的第一训练参数及BatchNorm层的第二训练参数;
将所述Batch Norm层的第一训练参数与Scale层的权值参数融合,得到第一融合结果;
将所述Batch Norm层的第二训练参数与Scale层的偏置参数融合,得到第二融合结果;
根据所述第一融合结果以及所述第二融合结果,对所述卷积神经网络进行优化。
在其中一个实施例中,所述将所述Batch Norm层的第一训练参数与Scale层的权值参数融合,得到第一融合结果,包括:
将所述Batch Norm层的第一训练参数以及所述Scale层的权值参数进行乘法运算,得到所述第一融合结果。
在其中一个实施例中,所述将所述Batch Norm层的第二训练参数与Scale层的偏置参数融合,得到第二融合结果,包括:
将所述Batch Norm层的第二训练参数以及所述Scale层的偏置参数进行加法运算,得到所述第二融合结果。
在其中一个实施例中,所述根据所述第一融合结果以及所述第二融合结果,对所述卷积神经网络进行优化,包括:
删除所述Batch Norm层,并将所述Scale层的权值参数更改为所述第一融合结果,将所述Scale层的偏置参数更改为所述第二融合结果。
在其中一个实施例中,所述将Scale层的输入数据分别与所述第一融合结果和所述第二融合结果进行卷积计算,得到Scale层的输出结果,包括:
将所述输入数据与所述第一融合结果进行乘法运算,得到第一运算结果;
将所述第一运算结果与所述第二融合结果进行加法运算,得到所述输出结果。
在其中一个实施例中,所述Batch Norm层的第一训练参数包括用于执行BatchNorm层的卷积计算的至少一个第一训练子参数;所述Batch Norm层的第二训练参数包括用于执行Batch Norm层的卷积计算的至少一个第二训练子参数。
一种卷积神经网络优化装置,所述装置包括:
配置参数获取模块,用于获取配置参数,其中,所述配置参数包括Batch Norm层的第一训练参数及Batch Norm层的第二训练参数;
第一融合结果获取模块,用于将所述Batch Norm层的第一训练参数与Scale层的权值参数融合,得到第一融合结果;
第二融合结果获取模块,用于将所述Batch Norm层的第二训练参数与Scale层的偏置参数融合,得到第二融合结果;
优化模块,用于根据所述第一融合结果以及所述第二融合结果,对所述卷积神经网络进行优化。
在其中一个实施例中,所述第一融合结果获取模块,还用于将所述Batch Norm层的第一训练参数以及所述Scale层的权值参数进行乘法运算,得到所述第一融合结果。
在其中一个实施例中,所述第二融合结果获取模块,还用于将所述Batch Norm层的第二训练参数以及所述Scale层的偏置参数进行加法运算,得到所述第二融合结果。
在其中一个实施例中,所述优化模块,还用于删除所述Batch Norm层,并将所述Scale层的权值参数更改为所述第一融合结果,将所述Scale层的偏置参数更改为所述第二融合结果。
在其中一个实施例中,所述装置还包括:
输出结果获取模块,用于将Scale层的输入数据与所述第一融合结果进行乘法运算,得到第一运算结果;
所述输出结果获取模块,用于将所述第一运算结果与所述第二融合结果进行加法运算,得到所述输出结果。
一种卷积神经网络优化系统,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现以下步骤:
获取配置参数,其中,所述配置参数包括Batch Norm层的第一训练参数及BatchNorm层的第二训练参数;
将所述Batch Norm层的第一训练参数与Scale层的权值参数融合,得到第一融合结果;
将所述Batch Norm层的第二训练参数与Scale层的偏置参数融合,得到第二融合结果;
根据所述第一融合结果以及所述第二融合结果,对所述卷积神经网络进行优化。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取配置参数,其中,所述配置参数包括Batch Norm层的第一训练参数及BatchNorm层的第二训练参数;
将所述Batch Norm层的第一训练参数与Scale层的权值参数融合,得到第一融合结果;
将所述Batch Norm层的第二训练参数与Scale层的偏置参数融合,得到第二融合结果;
根据所述第一融合结果以及所述第二融合结果,对所述卷积神经网络进行优化。
上述卷积神经网络优化方法、装置、存储介质和系统,通过将Batch Norm层的第一训练参数与Scale层的权值参数融合,并将Batch Norm层的第二训练参数与Scale层的偏置参数融合,从而将Batch Norm层的卷积计算融合到Scale层中,能够删除多余的神经网络层,使优化后的网络性能大幅度提升。
附图说明
图1为一个实施例中卷积神经网络优化系统100的结构示意图;
图2为一个实施例中卷积神经网络优化方法的流程示意图;
图3为一个实施例中两层网络结构优化的示意图;
图4为另一个实施例中卷积神经网络优化方法的流程示意图;
图5为一个实施例中卷积神经网络优化装置的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”和“第三”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
本申请提供的卷积神经网络优化方法,可以应用于如图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层的第一训练参数与Scale层的权值参数融合,得到第一融合结果。
具体地,可以将步骤202中获取到的Batch Norm层的第一训练参数与Scale层的权值参数进行融合计算,得到第一融合结果。
作为一种可选的实施方式,所述Batch Norm层的第一训练参数包括用于执行Batch Norm层的卷积计算的至少一个第一训练子参数。
具体的,若Batch Norm层的第一训练参数包括多个第一训练子参数,则将BatchNorm层的所有第一训练子参数与Scale层的权值参数进行融合计算。
步骤206,将所述Batch Norm层的第二训练参数与Scale层的偏置参数融合,得到第二融合结果。
具体地,可以将步骤202中获取到的Batch Norm层的第二训练参数与Scale层的偏置参数进行融合计算,得到第二融合结果。
作为一种可选的实施方式,所述Batch Norm层的第二训练参数包括用于执行Batch Norm层的卷积计算的至少一个第二训练子参数。
具体的,若Batch Norm层的第二训练参数包括多个第二训练子参数,则将BatchNorm层的所有第二训练子参数与Scale层的偏置参数进行融合计算。
步骤208,根据所述第一融合结果以及所述第二融合结果,对所述卷积神经网络进行优化。
具体地,可以根据步骤204中得到的第一融合结果和步骤206中得到的第二融合结果,完成对该卷积神经网络的优化。
上述卷积神经网络优化方法中,通过将Batch Norm层的计算过程融合到Scale层中,能够在不损失网络精度的前提下,大幅度提升网络性能;同时,实现网络融合后删除冗余神经网络层,能够简化网络结构,提升网络运行速度。
在其中一个实施例中,将所述Batch Norm层的第一训练参数以及所述Scale层的权值参数进行乘法运算,得到所述第一融合结果。
其中,如图3所示的包括Scale层和Batch Norm层的两层连续结构可以被优化为一层Scale层,即将Batch Norm层的计算融合到Scale层,就可以删除Batch Norm层。
Batch Norm层主要对输入数据进行归一化处理,即其中,x表示Batch Norm层的输入数据;xnorm表示经过归一化处理后的Batch Norm层的输出数据;mean表示累计计算的均值;表示累计计算的方差。
所谓归一化处理主要是为了简化数据处理过程,能够将输入数据映射到[0,1]或[-1,1]的区间内,把有量纲的表达式变换成为无量纲的表达式,成为纯量,便于不同单位或量级的指标能够进行比较和加权,从而使数据处理更加便捷、快速。
举例说明,在网络结构顺序为Bn、Scale时,Batch Norm层的计算公式为经简化处理,获得公式(1)。请参阅公式(1):
在网络结构顺序为Scale、Bn时,Batch Norm层的计算公式为经简化处理,获得公式(2)。请参阅公式(2):
Batch Norm层的训练过程是从总样本中提取mini-batch个样本进行多次前向训练,并通过滑动平均的方式,更新Caffe模型中的计算参数。
在其中一个实施例中,若所述Batch Norm层的第一训练参数包括多个第一训练子参数,则将所述多个第一训练子参数进行运算,得到第一中间运算结果;将所述第一中间运算结果与所述Scale层的权值参数融合,得到所述第一融合结果。
具体地,为了将Batch Norm层的计算过程融合到Scale层中,可以获取用于执行Batch Norm层的卷积计算的第一训练参数及用于执行Batch Norm层的卷积计算的第二训练参数。其中,请参阅公式(1)和(2),用于执行Batch Norm层的卷积计算的第一训练参数包括多个第一训练子参数(α,var),用于执行Batch Norm层的卷积计算的第二训练参数包括多个第二训练子参数(α,β,mean,var)。
其中,上述第一训练参数或第二训练参数(α,β,mean,var)为向量。Caffe模型中的每一类第一训练参数或第二训练参数不止一个,例如:若Caffe模型中的第一训练子参数α有多个,则获取Caffe模型中的所有α。
具体地,请继续参阅公式(1)和(2),将第一训练参数中的多个第一训练子参数(α,var)与Scale层的权值weights进行乘法运算,也就是说,将多个第一训练子参数进行运算,得到的第一中间运算结果与Scale层的权值weights相乘,得到第一融合结果
在其中一个实施例中,将所述Batch Norm层的第二训练参数以及所述Scale层的偏置参数进行加法运算,得到所述第二融合结果。
在其中一个实施例中,若所述Batch Norm层的第二训练参数包括多个第二训练子参数,则将所述多个第二训练子参数进行运算,得到第二中间运算结果;将所述第二中间运算结果与所述Scale层的偏置参数融合,得到所述第二融合结果。
举例说明,将Batch Norm层的第二训练参数中的多个第二训练子参数(α,β,mean,var)与Scale层的偏置bias进行加法运算,也就是说,在网络结构顺序为Bn、Scale时,请继续参阅公式(1),将多个第二训练子参数进行运算得到的第二中间运算结果与Scale层的偏置bias相加,得到第二融合结果在网络结构顺序为Scale、Bn时,请继续参阅公式(2),将多个第二训练子参数进行运算得到的第二中间运算结果与Scale层的偏置bias相加,得到第二融合结果
在其中一个实施例中,删除所述Batch Norm层,并将所述Scale层的权值参数更改为所述第一融合结果,将所述Scale层的偏置参数更改为所述第二融合结果。
其中,在多层神经网络中,Batch Norm层是对于模型推理贡献不大的网络结构。例如:轻量化卷积神经网络Mobile Net中,存在大量连续的Batch Norm,Scale层结构,在进行前向传播时,Batch Norm层的构建和执行消耗了大量计算资源,反而让网络结构重复、复杂,因此,通过步骤204和步骤206将Batch Norm层的卷积计算融合到Scale层之后,可以将Batch Norm层删除。
进一步,可以将Scale层的权值参数更改为步骤204中得到的第一融合结果,请参阅公式(1)和(2),将Scale层的权值参数更改第一融合结果可以将Scale层的偏置参数更改为步骤206中得到的第二融合结果,在网络结构顺序为Bn、Scale时,请继续参阅公式(1),将Scale层的偏置参数更改第二融合结果在网络结构顺序为Scale、Bn时,请继续参阅公式(2),将Scale层的偏置参数更改第二融合结果从而将Batch Norm层执行的归一化处理过程融合到Scale层中,删除Batch Norm层,完成了卷积层Scale和Batch Norm层的两层连续结构的优化。
上述卷积神经网络优化方法中,通过将Batch Norm层的归一化数据处理过程融合到卷积层中,能够在不损失网络精度的前提下,大幅度提升网络性能;同时,实现网络融合后删除Batch Norm层,能够简化网络结构,提升网络运行速度。
在其中一个实施例中,提供了一种卷积神经网络优化方法,该方法在如图1所示的卷积神经网络优化系统上运行,该方法包括将Scale层的输入数据分别与所述第一融合结果和所述第二融合结果进行卷积计算,得到Scale层的输出结果。如图4所示,具体包括以下步骤:
步骤302,将所述输入数据与所述第一融合结果进行乘法运算,得到第一运算结果。
作为一种可选的实施方式,在如图2所示的Batch Norm层融合到Scale层的两层卷积神经网络的优化方法中,请参阅公式(1)和(2),将Scale层的输入数据x与第一融合结果进行乘法运算,得到第一运算结果
步骤304,将所述第一运算结果与所述第二融合结果进行加法运算,得到所述输出结果。
作为一种可选的实施方式,在如图2所示的Batch Norm层融合到Scale层的两层卷积神经网络的优化方法中,在网络结构顺序为Bn、Scale时,请参阅公式(1),第二融合结果为将第一运算结果与第二融合结果进行加法运算,得到输出结果 在网络结构顺序为Scale、Bn时,请参阅公式(2),第二融合结果为将第一运算结果与第二融合结果进行加法运算,得到输出结果
上述卷积神经网络优化方法中,将Scale层的输入数据分别与第一融合结果和第二融合结果进行卷积计算,能够在计算不会溢出的前提下保证优化后的网络精度不受损失,从而提升网络运行速度。
作为一种可选的实施方式,若卷积神经网络包括多个Batch Norm层,则每一BatchNorm层都执行上述优化过程,将多个Batch Norm层的归一化处理过程均融合到Scale层中,从而可以删除多个冗余的Batch Norm层,使网络结构更加清晰,同时大幅度提升网络性能。
在Mobile Net中,通过在Caffe的源码文件caffe.proto中加入新的网络参数,如opt_level,用于表示网络优化级别。通过设置该参数值,从而自动检测卷积神经网络的网络结构,并根据设置的参数值,自动调用相应的卷积神经网络优化方法,能够节省用户的学习成本,在提高易用性的同时保留了用户选择的权利。
应该理解的是,虽然图2和4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2和4中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图5所示,提供了一种卷积神经网络优化装置,包括:配置参数获取模块401、第一融合结果获取模块402、第二融合结果获取模块403和优化模块404,其中:
配置参数获取模块401,用于获取配置参数,其中,所述配置参数包括Batch Norm层的第一训练参数及Batch Norm层的第二训练参数;
第一融合结果获取模块402,用于将所述Batch Norm层的第一训练参数与Scale层的权值参数融合,得到第一融合结果;
第二融合结果获取模块403,用于将所述Batch Norm层的第二训练参数与Scale层的偏置参数融合,得到第二融合结果;
优化模块404,用于根据所述第一融合结果以及所述第二融合结果,对所述卷积神经网络进行优化。
在其中一个实施例中,第一融合结果获取模块402,还用于将所述Batch Norm层的第一训练参数以及所述Scale层的权值参数进行乘法运算,得到所述第一融合结果。
在其中一个实施例中,第二融合结果获取模块403,还用于将所述Batch Norm层的第二训练参数以及所述Scale层的偏置参数进行加法运算,得到所述第二融合结果。
在其中一个实施例中,优化模块404,还用于删除所述Batch Norm层,并将所述Scale层的权值参数更改为所述第一融合结果,将所述Scale层的偏置参数更改为所述第二融合结果。
在其中一个实施例中,还包括输出结果获取模块,用于将Scale层的输入数据与所述第一融合结果进行乘法运算,得到第一运算结果;输出结果获取模块,用于将所述第一运算结果与所述第二融合结果进行加法运算,得到所述输出结果。
关于运算装置的具体限定可以参见上文中对于运算方法的限定,在此不再赘述。上述运算装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取配置参数,其中,所述配置参数包括Batch Norm层的第一训练参数及BatchNorm层的第二训练参数;
将所述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 (14)

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

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910598249.XA CN110399163A (zh) 2019-07-04 2019-07-04 卷积神经网络的优化方法、装置、存储介质和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910598249.XA CN110399163A (zh) 2019-07-04 2019-07-04 卷积神经网络的优化方法、装置、存储介质和系统

Publications (1)

Publication Number Publication Date
CN110399163A true CN110399163A (zh) 2019-11-01

Family

ID=68323886

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910598249.XA Pending CN110399163A (zh) 2019-07-04 2019-07-04 卷积神经网络的优化方法、装置、存储介质和系统

Country Status (1)

Country Link
CN (1) CN110399163A (zh)

Similar Documents

Publication Publication Date Title
CN109766996A (zh) 卷积神经网络的优化方法、装置、存储介质和系统
CN112200297B (zh) 神经网络优化方法、装置及处理器
US20210182682A1 (en) Learning task compiling method of artificial intelligence processor and related products
CN112700057B (zh) 一种基于模块化循环神经网络的电力负荷预测方法
CN111831355A (zh) 权重精度配置方法、装置、设备及存储介质
CN109726801A (zh) 卷积神经网络的优化方法、装置、存储介质和系统
CN111382581B (zh) 一种机器翻译中的一次剪枝压缩方法
CN111831354A (zh) 数据精度配置方法、装置、芯片、芯片阵列、设备及介质
CN116644804A (zh) 分布式训练系统、神经网络模型训练方法、设备和介质
CN111831359A (zh) 权重精度配置方法、装置、设备及存储介质
JP7122041B2 (ja) ニューラルネットワークに用いられる混合粒度に基づく共同スパース方法
CN113971457B (zh) 一种神经网络的计算性能优化方法及系统
CN112162734B (zh) 一种面向深度学习的模型生成方法
CN109754082A (zh) 卷积神经网络的优化方法、装置、存储介质和系统
CN110399163A (zh) 卷积神经网络的优化方法、装置、存储介质和系统
CN113688988A (zh) 精度调整方法及装置、存储介质
CN107292322A (zh) 一种图像分类方法、深度学习模型及计算机系统
US11710026B2 (en) Optimization for artificial neural network model and neural processing unit
CN114285012B (zh) 继电保护装置动作定值优化方法、系统、设备及存储介质
CN110135563A (zh) 一种卷积神经网络二值化方法及运算电路
CN111860838B (zh) 一种神经网络的全连接层计算方法和装置
WO2022057459A1 (zh) 一种基于Tensorcore处理int4数据类型的方法、系统、设备及介质
US20230306236A1 (en) Device and method for executing lstm neural network operation
CN113762506A (zh) 一种深度学习模型剪枝方法及系统
US20230125436A1 (en) Method for generating neural network architecture and computing apparatus executing the same

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
CB02 Change of applicant information

Address after: 100190 room 644, comprehensive research building, No. 6 South Road, Haidian District Academy of Sciences, Beijing

Applicant after: Zhongke Cambrian Technology Co.,Ltd.

Address before: 100190 room 644, comprehensive research building, No. 6 South Road, Haidian District Academy of Sciences, Beijing

Applicant before: Beijing Zhongke Cambrian Technology Co.,Ltd.

CB02 Change of applicant information
RJ01 Rejection of invention patent application after publication

Application publication date: 20191101

RJ01 Rejection of invention patent application after publication