CN108229664A - 一种批规范化处理方法及装置、计算机设备 - Google Patents

一种批规范化处理方法及装置、计算机设备 Download PDF

Info

Publication number
CN108229664A
CN108229664A CN201810097821.XA CN201810097821A CN108229664A CN 108229664 A CN108229664 A CN 108229664A CN 201810097821 A CN201810097821 A CN 201810097821A CN 108229664 A CN108229664 A CN 108229664A
Authority
CN
China
Prior art keywords
network layer
input state
estimated value
network
layer
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.)
Granted
Application number
CN201810097821.XA
Other languages
English (en)
Other versions
CN108229664B (zh
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.)
Beijing Sensetime Technology Development Co Ltd
Original Assignee
Beijing Sensetime Technology Development 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 Sensetime Technology Development Co Ltd filed Critical Beijing Sensetime Technology Development Co Ltd
Priority to CN201810097821.XA priority Critical patent/CN108229664B/zh
Publication of CN108229664A publication Critical patent/CN108229664A/zh
Application granted granted Critical
Publication of CN108229664B publication Critical patent/CN108229664B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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

一种批规范化处理方法及装置、计算机设备
技术领域
本发明涉及深度学习技术领域,尤其涉及一种批规范化处理方法及装置、计算机设备。
背景技术
批规范化(BN,Batch Normalization)作为卷积神经网络不可或缺的一部分,成功地提高了卷积神经网络的训练效率。BN的作用是对卷积神经网络的每一层输入数据进行规范化处理,然而,BN的作用随着批量(即输入的数据量)的减少而失效,这是因为对微小批量来说,由于样本的数量不够丰富,其统计量的估计值往往不能正确反映全体训练样本的总体统计,因而不可靠,这就损害了训练过程。
发明内容
为解决上述技术问题,本发明实施例提供了一种批规范化处理方法及装置、计算机设备。
本发明实施例提供的批规范化处理方法,包括:
基于神经网络的至少一个第一网络层的输入状态分布估计值,确定所述神经网络的第二网络层的输入状态分布估计值,其中,所述至少一个第一网络层位于所述第二网络层之前;
利用所述第二网络层的输入状态分布估计值,对所述第二网络层的前一网络层的输出状态进行批规范化处理,得到所述第二网络层的输入状态。
本发明实施例中,所述至少一个第一网络层包括所述第二网络层的前一网络层。
本发明实施例中,所述基于神经网络的至少一个第一网络层的输入状态分布估计值,确定所述神经网络的第二网络层的输入状态分布估计值,包括:
基于神经网络的至少一个第一网络层的输入状态分布估计值和所述第二网络层的前一网络层的输出状态,确定所述神经网络的第二网络层的输入状态分布估计值。
本发明实施例中,所述基于神经网络的至少一个第一网络层的输入状态分布估计值和所述第二网络层的前一网络层的输出状态,确定所述神经网络的第二网络层的输入状态分布估计值,包括:
根据所述至少一个第一网络层的输入状态分布估计值,确定所述第二网络层的输入状态分布经验估计值;
根据所述第二网络层的前一网络层的输出状态,确定所述第二网络层的输入状态分布观测值;
根据所述第二网络层的输入状态分布经验估计值以及所述第二网络层的输入状态分布观测值,确定所述第二网络层的输入状态分布估计值。
本发明实施例中,所述根据所述至少一个第一网络层的输入状态分布估计值,确定所述第二网络层的输入状态分布经验估计值,包括:
根据所述至少一个第一网络层的输入状态分布估计值和所述第一网络层与所述第二网络层之间的状态迁移参数,确定所述第二网络层的输入状态分布经验估计值。
本发明实施例中,所述第一网络层的输入状态分布估计值包括第一方差,所述第二网络层的输入状态分布经验估计值包括第二方差;
所述根据所述至少一个第一网络层的输入状态分布估计值和所述第一网络层与所述第二网络层之间的状态迁移参数,确定所述第二网络层的输入状态分布经验估计值,包括:
根据所述至少一个第一网络层的第一方差、所述第一网络层与所述第二网络层之间的状态迁移参数和所述第二网络层的测量噪声参数,确定所述第二网络层的第二方差。
本发明实施例中,所述至少一个第一网络层的输入状态分布估计值是基于对批量训练样本集中的训练样本进行处理得到的;
所述方法还包括:
基于所述第二网络层的输入状态分布估计值,得到所述训练样本的处理结果;
基于所述训练样本的处理结果和所述训练样本的标注信息,对所述神经网络进行训练。
本发明实施例中,所述批量训练样本集中包括的训练样本的数量低于第一数值。
本发明实施例提供的批规范化处理装置,包括:
确定单元,用于基于神经网络的至少一个第一网络层的输入状态分布估计值,确定所述神经网络的第二网络层的输入状态分布估计值,其中,所述至少一个第一网络层位于所述第二网络层之前;
批规范化处理单元,用于利用所述第二网络层的输入状态分布估计值,对所述第二网络层的前一网络层的输出状态进行批规范化处理,得到所述第二网络层的输入状态。
本发明实施例中,所述至少一个第一网络层包括所述第二网络层的前一网络层。
本发明实施例中,所述确定单元,用于基于神经网络的至少一个第一网络层的输入状态分布估计值和所述第二网络层的前一网络层的输出状态,确定所述神经网络的第二网络层的输入状态分布估计值。
本发明实施例中,所述确定单元,包括:
第一确定子单元,用于根据所述至少一个第一网络层的输入状态分布估计值,确定所述第二网络层的输入状态分布经验估计值;
第二确定子单元,用于根据所述第二网络层的前一网络层的输出状态,确定所述第二网络层的输入状态分布观测值;
第三确定子单元,用于根据所述第二网络层的输入状态分布经验估计值以及所述第二网络层的输入状态分布观测值,确定所述第二网络层的输入状态分布估计值。
本发明实施例中,所述第一确定子单元,用于根据所述至少一个第一网络层的输入状态分布估计值和所述第一网络层与所述第二网络层之间的状态迁移参数,确定所述第二网络层的输入状态分布经验估计值。
本发明实施例中,所述第一网络层的输入状态分布估计值包括第一方差,所述第二网络层的输入状态分布经验估计值包括第二方差;
所述第一确定子单元,用于根据所述至少一个第一网络层的第一方差、所述第一网络层与所述第二网络层之间的状态迁移参数和所述第二网络层的测量噪声参数,确定所述第二网络层的第二方差。
本发明实施例中,至少一个第一网络层的输入状态分布估计值是基于对批量训练样本集中的训练样本进行处理得到的;所述装置还包括:
训练单元,用于基于所述第二网络层的输入状态分布估计值,得到所述训练样本的处理结果;基于所述训练样本的处理结果和所述训练样本的标注信息,对所述神经网络进行训练。
本发明实施例中,所述批量训练样本集中包括的训练样本的数量低于第一数值。
本发明实施例提供的计算机设备,包括存储器和处理器,所述存储器上存储有计算机可执行指令,所述处理器运行所述存储器上的计算机可执行指令时可实现上述的批规范化处理方法。
本发明实施例的技术方案中,基于神经网络的至少一个第一网络层的输入状态分布估计值,确定所述神经网络的第二网络层的输入状态分布估计值,其中,所述至少一个第一网络层位于所述第二网络层之前;利用所述第二网络层的输入状态分布估计值,对所述第二网络层的前一网络层的输出状态进行批规范化处理,得到所述第二网络层的输入状态,这样,第二网络层的输入状态分布估计值是依据该第二网络层之前的至少一个第一网络层的输入状态分布估计值得到的,利用该第二网络层的输入状态分布估计值对第二网络层的前一网络层的输出状态进行批规范化处理,可以提高神经网络的数据处理性能。
附图说明
图1为本发明实施例的批规范化处理方法的流程示意图一;
图2为本发明实施例的批规范化处理方法的流程示意图二;
图3为本发明实施例的BKN的示意图;
图4为本发明实施例的批规范化处理装置的结构组成示意图一;
图5为本发明实施例的批规范化处理装置的结构组成示意图二;
图6为本发明实施例的计算机设备的结构组成示意图。
具体实施方式
为便于理解本发明实施例的技术方案,以下对批规范化(BN)进行解释说明。
假设xk为深度神经网络(DNN,Deep Neural Network)的第k层的隐藏神经元的特征向量,例如卷积神经网络(CNN,Convolutional Neural Network)的隐藏卷积层中的像素。BN通过使用m个批量样本对xk进行规范化,具体地,xk的均值和协方差近似为该均值和方差被用于规范xk,得到xk的规范化表示:其中diag()表示矩阵的对角线元素,即xk的方差。然后,xk的规范化表示(即)被缩放和偏移处理以保留网络的建模能力,得到第k层的隐藏神经元的规划化处理后的特征向量其中γ和β是在训练中进行优化的参数。
图1为本发明实施例的批规范化处理方法的流程示意图一,本实施例的批规范化也称为批卡尔曼规范化(BKN),如图1所示,所述批规范化处理方法包括以下步骤:
步骤101:基于神经网络的至少一个第一网络层的输入状态分布估计值,确定所述神经网络的第二网络层的输入状态分布估计值,其中,所述至少一个第一网络层位于所述第二网络层之前。
可选地,神经网络包括输入层、至少一个隐层(hidden layer)和输出层,本发明实施例中,所述第二网络层可以是所述神经网络中的隐层,例如神经网络中的第k层,其中,所述k为大于或等于2的正整数,例如,第二网络层为任意隐层或者输出层。所述第一网络层可以是位于所述第二网络层之前的输入层,也可以是位于所述第二网络层之前的隐层,本发明实施例对此不做限定。
本发明实施例中,所述第二网络层的输入状态分布估计值,是基于所述神经网络的至少一个第一网络层的输入状态分布估计值得到,这里,所述至少一个第一网络层位于所述第二网络层之前。即:所述第二网络层的输入状态分布估计值,是基于所述第二网络层之前的至少一个第一网络层的输入状态分布估计值得到。
可选地,该至少一个第一网络层的数量可以为一个或多个,并且该第一网络层和该第二网络层可以为相邻的网络层,或者第一网络层和第二网络层之间间隔一个或多个隐层。例如:第k层的输入状态分布估计值,基于第k-1层和/或第k-2层的输入状态分布估计值得到;再例如:第k层的输入状态分布估计值,基于第k-1层和/或第k-3层的输入状态分布估计值得到;又例如:第k层的输入状态分布估计值,基于第k-1层、第k-2层和第k-3层中的任意一层或多层的输入状态分布估计值得到,等等,本发明实施例对此不做限定。
在一些可选实施方式中,所述至少一个第一网络层包括所述第二网络层的前一网络层。
例如:第k层的输入状态分布估计值,基于第k-1层的输入状态分布估计值得到。
在一些可选实施方式中,所述第二网络层的输入状态分布估计值,不仅仅基于所述神经网络的至少一个第一网络层的输入状态分布估计值得到,还结合所述第二网络层的前一网络层的输出状态来确定。即:基于神经网络的至少一个第一网络层的输入状态分布估计值和所述第二网络层的前一网络层的输出状态,确定所述神经网络的第二网络层的输入状态分布估计值。
以所述第二网络层为所述神经网络的第k层,所述至少一个第一网络层包括所述神经网络的第k-1层为例,本发明实施例中,根据第k-1层的输入状态分布估计值,以及第k-1层的输出状态,确定第k层的输入状态分布估计值。
这里,第k层是当前处理的隐层,第k-1层是第k层的前一隐层(这里的k大于或等于3),如图3所示的例子中,第k层的输入状态分布估计值,可以依据两个因素,一个是第k-1层的输入状态分布估计值,另一个是第k-1层的输出状态。
在一些可选实施方式中,基于神经网络的至少一个第一网络层的输入状态分布估计值和所述第二网络层的前一网络层的输出状态,确定所述神经网络的第二网络层的输入状态分布估计值,可以通过以下方式来实现:
1)根据所述至少一个第一网络层的输入状态分布估计值,确定所述第二网络层的输入状态分布经验估计值。
例如:根据第k-1层的输入状态分布估计值,计算第k层的输入状态分布经验性估计值。
在一些可选实施方式中,所述第二网络层的输入状态分布经验估计值可以结合所述第一网络层与所述第二网络层之间的状态迁移参数来确定,此时,可以根据所述至少一个第一网络层的输入状态分布估计值和所述第一网络层与所述第二网络层之间的状态迁移参数,确定所述第二网络层的输入状态分布经验估计值。
在一些可选实施方式中,所述第二网络层的输入状态分布经验估计值可以结合所述第一网络层与所述第二网络层之间的状态迁移参数和所述第二网络层的测量噪声参数来确定,此时,可以根据所述至少一个第一网络层的输入状态分布估计值、所述第一网络层与所述第二网络层之间的状态迁移参数和所述第二网络层的测量噪声参数,确定所述第二网络层的输入状态分布经验估计值。
在一个例子中,所述第一网络层的输入状态分布估计值包括第一均值和第一方差,所述第二网络层的输入状态分布经验估计值包括第二均值和第二方差;则可选地,可以根据所述至少一个第一网络层的第一均值、所述第一网络层与所述第二网络层之间的状态迁移参数,确定所述第二网络层的第二均值。可选地,可以根据所述至少一个第一网络层的第一方差、所述第一网络层与所述第二网络层之间的状态迁移参数和所述第二网络层的测量噪声参数,确定所述第二网络层的第二方差。可选地,还可以通过其他方式确定第二网络层的输入状态分布经验估计值,本发明实施例对此不做限定。
在一些可选实施方式中,所述第一网络层与所述第二网络层之间的状态迁移参数可以包括状态转移矩阵,并且可以根据所述第一网络层的第一均值和状态转移矩阵,确定所述第二网络层的第二均值。在一个例子中,可以将所述第一均值乘以状态转移矩阵,得到所述第二均值,但本发明实施例不限于此。在一些可选实施例中,所述神经网络的测量噪声参数可以包括测量噪声协方差矩阵,此时,可以根据所述第一网络层的第一方差、所述状态转移矩阵和所述测量噪声协方差矩阵,确定所述第二网络层的第二方差。例如,可以将所述状态转移矩阵乘以所述第一方差再乘以所述状态转移矩阵的转置,再加上测量噪声协方差矩阵,得到所述第二方差,但本发明实施例不限于此。
2)根据所述第二网络层的前一网络层的输出状态,确定所述第二网络层的输入状态分布观测值;
例如:根据第k-1层的输出分布,计算第k层的输入状态分布观测值。
在一个例子中,所述第二网络层的输入状态分布观测值包括第三均值和第三方差,则可以将所述第二网络层的前一网络层的输出状态的均值,作为所述第三均值;将所述第二网络层的前一网络层的输出状态的方差,作为所述第三方差。本发明实施例也可以通过其他方式确定第三均值和第三方差,本发明实施例对此不做限定。
3)根据所述第二网络层的输入状态分布经验估计值以及所述第二网络层的输入状态分布观测值,确定所述第二网络层的输入状态分布估计值。
例如:根据所述第k层的输入状态分布经验性估计值以及所述第k层的输入状态分布观测值,计算第k层的输入状态分布估计值。
在一些可选实施例中,所述第二网络层的输入状态分布估计值包括第四均值和第四方差。在一个例子中,可以对所述第二均值和所述第三均值进行加权平均,得到所述第四均值。在另一个例子中,可以对所述第二方差、所述第三方差、以及所述第二均值与所述第三均值的误差的平方,进行加权平均,得到所述第四方差。
步骤102:利用所述第二网络层的输入状态分布估计值,对第二网络层的前一网络层的输出状态进行批规范化处理,得到所述第二网络层的输入状态。
本发明实施例中,所述第二网络层的输入状态分布估计值,用于对第二网络层的前一网络层的输入状态进行批规范化处理,从而得到所述第二网络层的输入状态。例如:利用所述神经网络中第k层的输入状态分布估计值,对第k-1层的输出数据进行批规范化处理。
在一个例子中,所述第二网络层的输入状态分布估计值包括第四均值和第四方差,则所述对第二网络层的前一网络层的输出状态进行批规范化处理,可以通过以下方式来实现:将所述第二网络层的前一网络层的输出分布减去所述第四均值后,再除以所述第四方差的平方根,得到第二网络层的输入状态。
本发明实施例的技术方案可以应用于神经网络的训练过程、测试过程和使用过程。在一个例子中,上述技术方案应用于神经网络的训练过程。此时,所述至少一个第一网络层的输入状态分布估计值是基于对批量训练样本集中的训练样本进行处理得到的。可选地,可以基于所述第二网络层的输入状态分布估计值,得到所述训练样本的处理结果;基于所述训练样本的处理结果和所述训练样本的标注信息,对所述神经网络进行训练。
本发明实施例的技术方案能够提高和加速神经网络的训练过程,使得迷你批量的条件下神经网络也得以有效训练,其中,利用本发明实施例的技术方案可以使得只需要用比其他方式小8倍的批量就可以达到相近的效果。
在一些可选实施例中,所述批量训练样本集中包括的训练样本的数量低于第一数值。例如,批量样本集中包括的样本数量可以为4或2,但本发明实施例不限于此。
在一个例子中,在对所述神经网络进行训练时,初始化所述神经网络的训练参数,并迭代执行如下步骤,直至所述训练样本的处理结果收敛:基于所述训练参数,计算所述训练样本的处理结果;更新所述训练参数;其中,在每次迭代的过程中,当计算出所述神经网络中的所述第二网络层的前一网络层的输出状态后,利用所述第二网络层的输入状态分布估计值,对所述第二网络层的前一网络层的输出状态进行批规范化处理,得到所述第二网络层的输入状态。这里,神经网络中某一网络层的输入状态分布估计值不仅仅依据该网络层前一网络层的输出状态,还依据该网络层以前的至少一个网络层的输入状态分布估计值,利用该网络层的输入状态分布估计值对该网络层的前一网络层的输出状态进行批规范化处理,提高和加速了微小批量下的卷积神经网络的训练效率。
图2为本发明实施例的批规范化处理方法的流程示意图二,本发明实施例的批规范化也称为批卡尔曼规范化(BKN)或其他名称,如图2所示,所述批规范化处理方法包括以下步骤:
步骤201:根据第k-1层的输入状态分布估计值,计算第k层的输入状态分布经验性估计值;其中,所述k为大于或等于2的正整数。
在一个例子中,所述第k-1层的输入状态分布估计值通过第一均值和第一方差表征;所述第k层的输入状态分布经验性估计值通过第二均值和第二方差表征。
所述根据第k-1层的输入状态分布估计值,计算第k层的输入状态分布经验性估计值,包括:
将所述第一均值乘以状态转移矩阵,得到所述第二均值;
将所述状态转移矩阵乘以所述第一方差再乘以所述状态转移矩阵的转置,再加上测量噪声协方差矩阵,得到所述第二方差。
步骤202:根据第k-1层的输出分布,计算第k层的输入状态分布观测值。
在一个例子中,所述第k层的输入状态分布观测值通过第三均值和第三方差表征。
所述根据第k-1层的输出分布,计算第k层的输入状态分布观测值,包括:
计算所述第k层的全部输入数据的均值,作为所述第三均值;
计算所述第k层的全部输入数据的方差,作为所述第三方差。
步骤203:根据所述第k层的输入状态分布经验性估计值以及所述第k层的输入状态分布观测值,计算第k层的输入状态分布估计值。
在一个例子中,所述第k层的输入状态分布经验性估计值通过第二均值和第二方差表征;所述第k层的输入状态分布观测值通过第三均值和第三方差表征;所述第k层的输入状态分布估计值通过第四均值和第四方差表征。
所述根据所述第k层的输入状态分布经验性估计值以及所述第k层的输入状态分布观测值,计算第k层的输入状态分布估计值,包括:
对所述第二均值和所述第三均值进行加权平均,得到所述第四均值;
对所述第二方差、所述第三方差、以及所述第二均值与所述第三均值的误差的平方,进行加权平均,得到所述第四方差。
步骤204:利用所述第k层的输入状态分布估计值,对所述第k-1层的输出分布进行规范化处理,得到所述第k层的输入分布。
在一个例子中,所述第k层的输入状态分布估计值通过第四均值和第四方差表征。
所述利用所述第k层的输入状态分布估计值,对所述第k-1层的输出分布进行规范化处理,包括:
将所述第k-1层的输出分布减去所述第四均值后,再除以所述第四方差的平方根。
本发明实施例的技术方案提出一种新的批规范化处理方法,它可以提高和加速微小批量下的卷积神经网络的训练。此方法与卡尔曼滤波过程相似,因此称为批卡尔曼规范化(BKN)。与传统方法不同,BKN在估计各层的输入分布时,结合了每一层之前的至少一层的输入分布,使得BKN具备两个优点:(1)保证了一个更加稳定的训练过程,并且训练收敛更快;(2)当批量微小时,用BKN训练的效果会比用BN及其变种训练效果更好。在图像网络(ImageNet)分类任务上,Inception-v2加上BKN能够达到74%的分类精度(对比原来Inceptionv2加上BN只能达到73%)。更重要地,使用BKN只需要用比原来小8倍的批量,就可以达到接近的效果。
以下结合具体算法对本发明实施例的批卡尔曼规范化(BKN)进行描述。
假设xk为DNN的第k层的隐藏神经元的特征向量,xk-1为第k-1层的隐藏神经元的特征向量,xk可以通过xk-1表示为如下公式:
xk=Akxk-1+uk (1)
其中Ak是一个状态转换矩阵,该状态转换矩阵将第k-1层中的状态(即特征)转换到第k层。uk是随零均值和单位方差呈高斯分布的偏差项。应注意,这里假设层与层之间为线性转换。
由于xk不能直接获得,因此可以通过观测值zk和偏差项uk来确定xk,其中,zk和、uk和xk之间的关系满足如下公式:
zk=xk+uk (2)
这里,zk表示小批量中的特征的观测值。换句话说,为了估计xk的统计量,以前的研究只考虑小批量zk的观测值。BKN考虑了先前层中的特征。为此,本发明实施例计算公式(1)两边的期望值,即E[xk]=E[Akxk-1+uk],并且得到
其中表示第k-1层平均值的估计值,而表示第k层平均值的中间估计值。这里,称为第k层的中间估计,因为其后期可以与观测值相结合以实现最终估计。如下面的等式(4)所示,通过将中间估计与表示观测值zk之间的误差的偏差项相结合来计算当前层平均值的估计值这里,zk表示观察到的平均值,而并且qk是一个增益值,表示对这个偏差有多少回应。
类似地,协方差的估计可以通过计算来实现,其中Cov()表示协方差矩阵的定义。通过引入pk=1-qk并将上述定义与公式(3)和(4)相结合,得到如下更新规则来估计如公式(5)所示的统计量。
其中分别表示第k层协方差矩阵的中间估计值和最终估计值。R是公式(1)中的偏差uk的协方差矩阵。注意,所有层都是相同的。Sk是第k层中小批量的观测协方差矩阵。在等式(5)中,转换矩阵Ak,协方差矩阵R和增益值qk是训练中的最优参数。在BKN中,使用来规范隐藏的表示。
由此可见,BKN有两个可以与BN和BRN区分开来的独特的特点。第一,它提供更好的分布估计。与现有的规范化方法相比,在BKN中明确地利用深度信息。例如,利用输入图像数据的分布的先前消息来改善对第二层统计的估计。相反,忽略网络流的连续依赖性可以更大的批量大小。第二,当学习收益时,BKN提供了更稳定的估计,从先前状态到现在状态的信息流变得更加稳定。
图3为本发明实施例的BKN的示意图,如图3所示,本发明实施例的批规范化处理方法包括四个主要流程:
1)输入分布的经验性估计:利用上一层的输入状态分布,对当前层的输入状态分布给出一个经验性估计,得到当前层的输入状态分布经验性估计值。
本流程的输入和输出以及处理过程如下:
1.1)输入:前一层的输入状态分布估计值
1.2)输出:当前层的输入状态分布经验性估计值
1.3)处理过程:利用前一层的均值和方差,预测当前层的均值和方差,作为当前层的输入分布的经验性估计。其中,均值的预测等于前一层输入的均值乘以状态转移矩阵;方差的预测等于状态转移矩阵乘以前一层输入的方差,再乘以状态转移矩阵的转置,加上测量噪声协方差矩阵。其中,状态转移矩阵和测量噪声协方差矩阵都是可学习参数矩阵。计算公式如下:
其中,Ak表示状态转移矩阵,R表示测量噪声协方差矩阵。
2)输入分布的观测:通过观测与测量前一层的输出数据,得到当前层的输入状态分布观测值。
本流程的输入和输出以及处理过程如下:
2.1)输入:前一层的输出xk
2.2)输出:当前层的输入状态分布观测值
2.3)处理过程:对前一层的输出进行观测,计算其均值与方差,其中均值的计算方法为将批量内的所有输入进行相加,再除以批量数,得到均值。而方差的计算方法为,将批量内的每个输入数据依次减去均值,求取平方,将这些平方求和,再除以批量数,得到方差。值得注意的是,在神经网络的输入层,可以直接利用全部训练样本的统计量,因为全体训练样本集是预先知道的,因而输入层的输入状态分布直接等于全部训练样本的统计量(即:均值和方差)。计算公式如下:
3)输入分布的最终估计:通过整合上述1)中的输入状态分布经验性估计值与2)中的输入状态分布观测值,得到当前层的最终输入状态分布估计值。
本流程的输入和输出以及处理过程如下:
3.1)输入:当前层的输入状态分布经验性估计值当前层的输入状态分布观测值
3.2)输出:当前层的输入状态分布估计值
3.3)处理过程:首先是对当前层的均值进行较正:较正后的均值等于均值的经验性估计值与均值的观测值进行加权平均。再对当前层的方差进行较正:较正后的方差等于方差的经验性估计值、方差的观测值、均值的观测值与均值的经验性估计值的误差的平方三者加权平均。计算公式如下:
4)将当前层的输入规范化为某一个固定的分布:利用上述3)中的输入状态分布估计值,把前一层的输出数据规范化为某一个固定的分布,从而加速神经网络的训练。
本流程的输入和输出以及处理过程如下:
4.1)输入:前一层的输出xk、当前层的输入状态分布估计值
4.2)输出:当前层的输入yk
4.3)处理过程:将前一层的输出数据,依次减掉当前层的输入的均值的最终估计值,再除以当前层的输入的标准差的最终估计值(其等于方差的最终估计值的平方根)。计算公式如下:
本发明实施例的技术方案,与统计数据只能在每一层独立计算的BN和BRN不同的是BKN使用来自所有层的输入来改善当前层的统计。以下算法给出批卡尔曼规范化的流程。
批卡尔曼规范化的训练和推理
输入:第k层中特征图的值{x1...m};第k-1层中的统计参数γ和β;移动均值μ和移动方差∑;移动动力α;卡尔曼增益qk以及转换矩阵Ak
输出:更新u和∑;当前层中的统计
训练:
推断:
本发明实施例的技术方案,提出了一个直观但有效的批规范化算法,对神经网络各层加以规范化,提高和加速了神经网络训练过程。此算法使得在极小批量下,神经网络也得以有效训练。在微小批量下,BKN的效果远好于已有批规范化算法及其变种。这对许多耗显存经典任务,例如语义分割任务或视频相关任务,拥有很大的帮助。因为这些耗显存的任务往往只能通过微小批量进行训练,或者由于信息冗余,载入数据并非独立同分布,导致批量内有效数据是微量的。在ImageNet分类任务中,BKN通过用67%的迭代次数就可以达到现有批规范化处理方法的分类精度。并且使用BKN只需要用比原来小8倍的批量,就可以达到接近的效果。
图4为本发明实施例的批规范化处理装置的结构组成示意图一,如图4所示,所述批规范化处理装置包括:
确定单元401,用于基于神经网络的至少一个第一网络层的输入状态分布估计值,确定所述神经网络的第二网络层的输入状态分布估计值,其中,所述至少一个第一网络层位于所述第二网络层之前;
批规范化处理单元402,用于利用所述第二网络层的输入状态分布估计值,对第二网络层的前一网络层的输出状态进行批规范化处理,得到所述第二网络层的输入状态。
本领域技术人员应当理解,图4所示的批规范化处理装置中的各单元的实现功能可参照前述批规范化处理方法的相关描述而理解。图4所示的批规范化处理装置中的各单元的功能可通过运行于处理器上的程序而实现,也可通过具体的逻辑电路而实现。
图5为本发明实施例的批规范化处理装置的结构组成示意图二,如图5所示,所述批规范化处理装置包括:
确定单元401,用于基于神经网络的至少一个第一网络层的输入状态分布估计值,确定所述神经网络的第二网络层的输入状态分布估计值,其中,所述至少一个第一网络层位于所述第二网络层之前;
批规范化处理单元402,用于利用所述第二网络层的输入状态分布估计值,对第二网络层的前一网络层的输出状态进行批规范化处理,得到所述第二网络层的输入状态。
在一些可选实施方式中,所述至少一个第一网络层包括所述第二网络层的前一网络层。
在一些可选实施方式中,所述确定单元401,用于基于神经网络的至少一个第一网络层的输入状态分布估计值和所述第二网络层的前一网络层的输出状态,确定所述神经网络的第二网络层的输入状态分布估计值。
在一些可选实施方式中,所述确定单元401,包括:
第一确定子单元4011,用于根据所述至少一个第一网络层的输入状态分布估计值,确定所述第二网络层的输入状态分布经验估计值;
第二确定子单元4012,用于根据所述第二网络层的前一网络层的输出状态,确定所述第二网络层的输入状态分布观测值;
第三确定子单元4013,用于根据所述第二网络层的输入状态分布经验估计值以及所述第二网络层的输入状态分布观测值,确定所述第二网络层的输入状态分布估计值。
在一些可选实施方式中,所述第一确定子单元4011,用于根据所述至少一个第一网络层的输入状态分布估计值和所述第一网络层与所述第二网络层之间的状态迁移参数,确定所述第二网络层的输入状态分布经验估计值。
在一些可选实施方式中,所述第一确定子单元4011,用于根据所述至少一个第一网络层的输入状态分布估计值、所述第一网络层与所述第二网络层之间的状态迁移参数和所述神经网络的测量噪声参数,确定所述第二网络层的输入状态分布经验估计值。
在一些可选实施方式中,所述第一网络层的输入状态分布估计值包括第一方差,所述第二网络层的输入状态分布经验估计值包括第二方差;
所述第一确定子单元4011,用于根据所述至少一个第一网络层的第一方差、所述第一网络层与所述第二网络层之间的状态迁移参数和所述第二网络层的测量噪声参数,确定所述第二网络层的第二方差。
在一些可选实施方式中,所述至少一个第一网络层的输入状态分布估计值是基于对批量训练样本集中的训练样本进行处理得到的;所述装置还包括:
训练单元403,用于基于所述第二网络层的输入状态分布估计值,得到所述训练样本的处理结果;基于所述训练样本的处理结果和所述训练样本的标注信息,对所述神经网络进行训练。
在一些可选实施方式中,所述批量训练样本集中包括的训练样本的数量低于第一数值。
本领域技术人员应当理解,图5所示的批规范化处理装置中的各单元的实现功能可参照前述批规范化处理方法的相关描述而理解。图5所示的批规范化处理装置中的各单元的功能可通过运行于处理器上的程序而实现,也可通过具体的逻辑电路而实现。
实际应用中,对一般的大批量网络训练,皆可采取BKN进行批规范化,计算代价基本不变,效果比原有的BN及其变种方法较好。对小批量训练任务,BKN能够取得比现有BN算法好很多的效果。对数据冗余任务,例如视频相关任务,由于所含信息冗余量较大,使得批量内的有用信息不多,也即批量内信息未能满足独立同分布条件,这种情况下,BKN能够取得比BN好很多的效果。
本发明实施例上述批规范化处理装置如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本发明实施例不限制于任何特定的硬件和软件结合。
相应地,本发明实施例还提供一种计算机存储介质,其中存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现本发明实施例的上述批规范化处理方法。
图6为本发明实施例的计算机设备的结构组成示意图,如图6所示,计算机设备100可以包括一个或多个(图中仅示出一个)处理器1002(处理器1002可以包括但不限于微处理器(MCU,Micro Controller Unit)或可编程逻辑器件(FPGA,Field Programmable GateArray)等的处理装置)、用于存储数据的存储器1004、以及用于通信功能的传输装置1006。本领域普通技术人员可以理解,图6所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机设备100还可包括比图6中所示更多或者更少的组件,或者具有与图6所示不同的配置。
存储器1004可用于存储应用软件的软件程序以及模块,如本发明实施例中的方法对应的程序指令/模块,处理器1002通过运行存储在存储器1004内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器1004可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1004可进一步包括相对于处理器1002远程设置的存储器,这些远程存储器可以通过网络连接至计算机设备100。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置1006用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机设备100的通信供应商提供的无线网络。在一个实例中,传输装置1006包括一个网络适配器(NIC,Network Interface Controller),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置1006可以为射频(RF,Radio Frequency)模块,其用于通过无线方式与互联网进行通讯。
本发明实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
在本发明所提供的几个实施例中,应该理解到,所揭露的方法和智能设备,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以全部集成在一个第二处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。

Claims (10)

1.一种批规范化处理方法,其特征在于,所述方法包括:
基于神经网络的至少一个第一网络层的输入状态分布估计值,确定所述神经网络的第二网络层的输入状态分布估计值,其中,所述至少一个第一网络层位于所述第二网络层之前;
利用所述第二网络层的输入状态分布估计值,对所述第二网络层的前一网络层的输出状态进行批规范化处理,得到所述第二网络层的输入状态。
2.根据权利要求1所述的方法,其特征在于,所述至少一个第一网络层包括所述第二网络层的前一网络层。
3.根据权利要求1所述的方法,其特征在于,所述基于神经网络的至少一个第一网络层的输入状态分布估计值,确定所述神经网络的第二网络层的输入状态分布估计值,包括:
基于神经网络的至少一个第一网络层的输入状态分布估计值和所述第二网络层的前一网络层的输出状态,确定所述神经网络的第二网络层的输入状态分布估计值。
4.根据权利要求3所述的方法,其特征在于,所述基于神经网络的至少一个第一网络层的输入状态分布估计值和所述第二网络层的前一网络层的输出状态,确定所述神经网络的第二网络层的输入状态分布估计值,包括:
根据所述至少一个第一网络层的输入状态分布估计值,确定所述第二网络层的输入状态分布经验估计值;
根据所述第二网络层的前一网络层的输出状态,确定所述第二网络层的输入状态分布观测值;
根据所述第二网络层的输入状态分布经验估计值以及所述第二网络层的输入状态分布观测值,确定所述第二网络层的输入状态分布估计值。
5.根据权利要求4所述的方法,其特征在于,所述根据所述至少一个第一网络层的输入状态分布估计值,确定所述第二网络层的输入状态分布经验估计值,包括:
根据所述至少一个第一网络层的输入状态分布估计值和所述第一网络层与所述第二网络层之间的状态迁移参数,确定所述第二网络层的输入状态分布经验估计值。
6.根据权利要求5所述的方法,其特征在于,所述第一网络层的输入状态分布估计值包括第一方差,所述第二网络层的输入状态分布经验估计值包括第二方差;
所述根据所述至少一个第一网络层的输入状态分布估计值和所述第一网络层与所述第二网络层之间的状态迁移参数,确定所述第二网络层的输入状态分布经验估计值,包括:
根据所述至少一个第一网络层的第一方差、所述第一网络层与所述第二网络层之间的状态迁移参数和所述第二网络层的测量噪声参数,确定所述第二网络层的第二方差。
7.一种批规范化处理装置,所述装置包括:
确定单元,用于基于神经网络的至少一个第一网络层的输入状态分布估计值,确定所述神经网络的第二网络层的输入状态分布估计值,其中,所述至少一个第一网络层位于所述第二网络层之前;
批规范化处理单元,用于利用所述第二网络层的输入状态分布估计值,对所述第二网络层的前一网络层的输出状态进行批规范化处理,得到所述第二网络层的输入状态。
8.根据权利要求7所述的装置,其特征在于,所述确定单元,用于基于神经网络的至少一个第一网络层的输入状态分布估计值和所述第二网络层的前一网络层的输出状态,确定所述神经网络的第二网络层的输入状态分布估计值。
9.根据权利要求8所述的装置,其特征在于,所述确定单元,包括:
第一确定子单元,用于根据所述至少一个第一网络层的输入状态分布估计值,确定所述第二网络层的输入状态分布经验估计值;
第二确定子单元,用于根据所述第二网络层的前一网络层的输出状态,确定所述第二网络层的输入状态分布观测值;
第三确定子单元,用于根据所述第二网络层的输入状态分布经验估计值以及所述第二网络层的输入状态分布观测值,确定所述第二网络层的输入状态分布估计值。
10.一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器,所述存储器上存储有计算机可执行指令,所述处理器运行所述存储器上的计算机可执行指令时可实现权利要求1至6任一项所述的方法步骤。
CN201810097821.XA 2018-01-31 2018-01-31 一种批规范化处理方法及装置、计算机设备 Active CN108229664B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810097821.XA CN108229664B (zh) 2018-01-31 2018-01-31 一种批规范化处理方法及装置、计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810097821.XA CN108229664B (zh) 2018-01-31 2018-01-31 一种批规范化处理方法及装置、计算机设备

Publications (2)

Publication Number Publication Date
CN108229664A true CN108229664A (zh) 2018-06-29
CN108229664B CN108229664B (zh) 2021-04-30

Family

ID=62670215

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810097821.XA Active CN108229664B (zh) 2018-01-31 2018-01-31 一种批规范化处理方法及装置、计算机设备

Country Status (1)

Country Link
CN (1) CN108229664B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111144556A (zh) * 2019-12-31 2020-05-12 中国人民解放军国防科技大学 面向深度神经网络训练和推理的范围批处理归一化算法的硬件电路

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105792232A (zh) * 2016-03-11 2016-07-20 重庆科技学院 基于ukfnn的无线信道“指纹”特征动态建模方法
CN107256393A (zh) * 2017-06-05 2017-10-17 四川大学 基于深度学习的一维生理信号的特征提取与状态识别
CN107451653A (zh) * 2017-07-05 2017-12-08 深圳市自行科技有限公司 深度神经网络的计算方法、装置及可读存储介质
CN107633293A (zh) * 2016-07-19 2018-01-26 北京图森未来科技有限公司 一种领域自适应方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105792232A (zh) * 2016-03-11 2016-07-20 重庆科技学院 基于ukfnn的无线信道“指纹”特征动态建模方法
CN107633293A (zh) * 2016-07-19 2018-01-26 北京图森未来科技有限公司 一种领域自适应方法及装置
CN107256393A (zh) * 2017-06-05 2017-10-17 四川大学 基于深度学习的一维生理信号的特征提取与状态识别
CN107451653A (zh) * 2017-07-05 2017-12-08 深圳市自行科技有限公司 深度神经网络的计算方法、装置及可读存储介质

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
JIMMY LEI BA 等: "Layer Normalization", 《ARXIV》 *
SERGEY IOFFE: "Batch Renormalization: Towards Reducing Minibatch Dependence in Batch-NormalizedModels", 《ARXIV》 *
张慧 等: "深度学习在目标视觉检测中的应用进展与展望", 《自动化学报》 *
闵晶晶 等: "一种改进的BP算法及在降水预报中的应用", 《应用气象学报》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111144556A (zh) * 2019-12-31 2020-05-12 中国人民解放军国防科技大学 面向深度神经网络训练和推理的范围批处理归一化算法的硬件电路

Also Published As

Publication number Publication date
CN108229664B (zh) 2021-04-30

Similar Documents

Publication Publication Date Title
Wai et al. Multi-agent reinforcement learning via double averaging primal-dual optimization
Zhao et al. Fixed budget quantized kernel least-mean-square algorithm
Moulin et al. Statistical Inference for Engineers and Data Scientists
CN109460793B (zh) 一种节点分类的方法、模型训练的方法及装置
Liang et al. Real-parameter evolutionary Monte Carlo with applications to Bayesian mixture models
Hettwer et al. Profiled power analysis attacks using convolutional neural networks with domain knowledge
CN111178548B (zh) 集成学习预测方法与系统
CN110472280B (zh) 一种基于生成对抗神经网络的功率放大器行为建模方法
Jahedpari et al. Online prediction via continuous artificial prediction markets
Mitrovic et al. DR-ABC: Approximate Bayesian computation with kernel-based distribution regression
CN113240505B (zh) 图数据的处理方法、装置、设备、存储介质及程序产品
CN112163624A (zh) 基于深度学习和极值理论的数据异常判断方法及系统
CN112163637B (zh) 基于非平衡数据的图像分类模型训练方法、装置
Vila et al. Bayesian nonlinear model selection and neural networks: A conjugate prior approach
Moraes et al. Epanechnikov kernel for PDF estimation applied to equalization and blind source separation
Pham et al. Unsupervised training of Bayesian networks for data clustering
CN116187430A (zh) 一种联邦学习方法及相关装置
CN108229664A (zh) 一种批规范化处理方法及装置、计算机设备
CN114139593A (zh) 一种去偏差图神经网络的训练方法、装置和电子设备
Bai et al. Efficient calibration of multi-agent simulation models from output series with bayesian optimization
Shaju et al. Analysing effectiveness of grey theory-based feature selection for meteorological estimation models
Carvalho et al. Modeling nonlinearities with mixtures-of-experts of time series models
Lee et al. Game-theoretic interpretability for temporal modeling
Nagy Data-driven analysis of fractality and other characteristics of complex networks
CN112613379A (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
GR01 Patent grant
GR01 Patent grant