CN111723901A - 神经网络模型的训练方法及装置 - Google Patents

神经网络模型的训练方法及装置 Download PDF

Info

Publication number
CN111723901A
CN111723901A CN201910208661.6A CN201910208661A CN111723901A CN 111723901 A CN111723901 A CN 111723901A CN 201910208661 A CN201910208661 A CN 201910208661A CN 111723901 A CN111723901 A CN 111723901A
Authority
CN
China
Prior art keywords
neural network
network model
model
parameter
activation
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
CN201910208661.6A
Other languages
English (en)
Other versions
CN111723901B (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 Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and 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 Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201910208661.6A priority Critical patent/CN111723901B/zh
Publication of CN111723901A publication Critical patent/CN111723901A/zh
Application granted granted Critical
Publication of CN111723901B publication Critical patent/CN111723901B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • 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
    • G06N3/084Backpropagation, e.g. using gradient descent

Landscapes

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

Abstract

本发明提出一种神经网络模型的训练方法及装置,其中,该方法包括:获取神经网络初始模型;对所述神经网络初始模型的网络参数进行参数量化以生成参数量化神经网络模型;以及对所述参数量化神经网络模型进行激活量化。由于在训练神经网络模型的过程中,对网络参数和激活结果进行了量化,使应用比特乘法成为可能,实现了在保证神经网络模型的识别精度的前提下,极大地压缩了神经网络模型的深度和体积,极大地降低了神经网络模型在推理时的计算复杂度,加快了神经网络模型的推理速度。

Description

神经网络模型的训练方法及装置
技术领域
本发明涉及神经网络技术领域,尤其涉及一种神经网络模型的训练方法及装置。
背景技术
基于神经网络的语音识别模型、图像检测模型、广告推荐模型等在日常生活中应用越来越广,为了不断提升神经网络模型精度,神经网络模型的深度和体积都在持续增长。以语音识别为例,从深度神经网络到卷积神经网络,再发展循环神经网络,每一次技术的变革都给模型推理带来更大的计算需求。尤其是循环神经网络,与前馈网络不同之处在于其建模了时间维度的隐层状态依赖关系,需要按时间维度逐帧进行推理,因此推理计算的延迟更大。因此,如何尽可能地在保证神经网络模型的识别精度的前提下,提高神经网络模型的推理速度成为亟待解决的技术问题。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本发明的第一个目的在于提出一种神经网络模型的训练方法。
本发明的第二个目的在于提出一种神经网络模型的训练装置。
本发明的第三个目的在于提出一种计算机设备。
本发明的第四个目的在于提出一种计算机可读存储介质。
为达上述目的,本发明第一方面实施例提出了一种神经网络模型的训练方法,包括:
获取神经网络初始模型;
对所述神经网络初始模型的网络参数进行参数量化以生成参数量化神经网络模型;以及
对所述参数量化神经网络模型进行激活量化。
进一步地,所述参数量化神经网络模型包括多个网络层,所述对所述参数量化神经网络模型进行激活量化,包括:
获取激活函数,通过所述激活函数对所述参数量化神经网络模型的多个网络层的计算结果进行激活以生成激活结果;
在所述激活结果向下一个网络层传输之前,对所述激活结果进行激活量化,直至完成反向计算并获取反向传递梯度;以及
根据所述反向传递梯度对所述参数量化神经网络模型进行更新。
进一步地,所述参数量化和激活量化的量化模型均为
Figure BDA0001999821260000021
其中,W为网络参数或激活结果,αi为大于零的浮点数,βi为具有与W相同大小的矩阵,βi的取值为-1或1,n为用于表征W的二进制数字的比特数量。
进一步地,所述对所述激活结果进行激活量化,包括:
根据所述量化模型将所述激活结果转换为第一量化表示;
根据所述第一量化表示计算所述激活结果对应的αi和βi;以及
根据计算的αi和βi计算所述激活结果对应的反量化结果,并将所述反量化结果传输至下一个网络层。
进一步地,所述激活结果的取值范围为[-0.5,+0.5]。
进一步地,所述对所述神经网络初始模型的网络参数进行参数量化以生成参数量化神经网络模型,包括:
根据所述量化模型将所述网络参数转换为第二量化表示;
根据所述第二表示计算所述网络参数对应的αi和βi
根据计算的αi和βi计算所述网络参数对应的反量化网络参数;以及
根据所述反量化网络参数对所述神经网络初始模型进行更新以生成参数量化神经网络模型。
进一步地,所述获取神经网络初始模型,包括:
通过单精度训练算法形成所述神经网络初始模型。
本发明实施例提供的神经网络模型的训练方法,通过获取神经网络初始模型;对所述神经网络初始模型的网络参数进行参数量化以生成参数量化神经网络模型;以及对所述参数量化神经网络模型进行激活量化。由于在训练神经网络模型的过程中,对网络参数和激活结果进行了量化,使应用比特乘法成为可能,实现了在保证神经网络模型的识别精度的前提下,极大地压缩了神经网络模型的深度和体积,极大地降低了神经网络模型在推理时的计算复杂度,加快了神经网络模型的推理速度。
为达上述目的,本发明第二方面实施例提出了一种神经网络模型的训练装置,包括:
获取模块,用于获取神经网络初始模型;
第一处理模块,用于对所述神经网络初始模型的网络参数进行参数量化以生成参数量化神经网络模型;以及
第二处理模块,用于对所述参数量化神经网络模型进行激活量化。
进一步地,所述参数量化神经网络模型包括多个网络层,所述第二处理模块包括第一单元、第二单元、第三单元:
所述第一单元,用于获取激活函数,通过所述激活函数对所述参数量化神经网络模型的多个网络层的计算结果进行激活以生成激活结果;
所述第二单元,用于在所述激活结果向下一个网络层传输之前,对所述激活结果进行激活量化,直至完成反向计算并获取反向传递梯度;以及
所述第三单元,用于根据所述反向传递梯度对所述参数量化神经网络模型进行更新。
进一步地,所述参数量化和激活量化的量化模型均为
Figure BDA0001999821260000031
其中,W为网络参数或激活结果,αi为大于零的浮点数,βi为具有与W相同大小的矩阵,βi的取值为-1或1,n为用于表征W的二进制数字的比特数量。
进一步地,所述第二单元,具体用于:
根据所述量化模型将所述激活结果转换为第一量化表示;
根据所述第一量化表示计算所述激活结果对应的αi和βi;以及
根据计算的αi和βi计算所述激活结果对应的反量化结果,并将所述反量化结果传输至下一个网络层。
进一步地,所述激活结果的取值范围为[-0.5,+0.5]。
进一步地,所述第一处理模块具体用于:
根据所述量化模型将所述网络参数转换为第二量化表示;
根据所述第二表示计算所述网络参数对应的αi和βi
根据计算的αi和βi计算所述网络参数对应的反量化网络参数;以及
根据所述反量化网络参数对所述神经网络初始模型进行更新以生成参数量化神经网络模型。
进一步地,所述获取模块具体用于:
通过单精度训练算法形成所述神经网络初始模型。
本发明实施例提供的神经网络模型的训练装置,通过获取神经网络初始模型;对所述神经网络初始模型的网络参数进行参数量化以生成参数量化神经网络模型;以及对所述参数量化神经网络模型进行激活量化。由于在训练神经网络模型的过程中,对网络参数和激活结果进行了量化,使应用比特乘法成为可能,实现了在保证神经网络模型的识别精度的前提下,极大地压缩了神经网络模型的深度和体积,极大地降低了神经网络模型在推理时的计算复杂度,加快了神经网络模型的推理速度。
为达上述目的,本发明第三方面实施例提出了另一种神经网络模型的训练装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上所述的神经网络模型的训练方法。
为了实现上述目的,本发明第四方面实施例提出了一种计算机可读存储介质,当所述存储介质中的指令被处理器执行时,实现如上所述的神经网络模型的训练方法。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明实施例提供的一种神经网络模型的训练方法的流程示意图;
图2为本发明实施例提供的一种神经网络模型的训练装置的结构示意图;
图3为本发明实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
下面参考附图描述本发明实施例的神经网络模型的训练方法及装置。
图1为本发明实施例提供的一种神经网络模型的训练方法的流程示意图。本实施例提供了一种神经网络模型的训练方法,其执行主体为神经网络模型的训练方法装置,该执行主体由硬件和/或软件组成。神经网络模型的训练方法装置具体可以为硬件设备,例如终端设备、后台服务器等,或者硬件设备上安装的软件或应用程序等。
如图1所示,该神经网络模型的训练方法,包括以下步骤:
S101、获取神经网络初始模型。
本实施例中,神经网络初始模型为经过参数调优的模型。例如,可以采用单精度训练算法训练神经网络得到神经网络初始模型,其中,神经网络可以是前馈神经网络、卷积神经网络和循环神经网络,但并不以此为限。
S102、对所述神经网络初始模型的网络参数进行参数量化以生成参数量化神经网络模型。
本实施例中,网络参数与神经网络初始模型的网络结构有关,网络参数例如为:1.学习率η;2.正则化参数λ;3.神经网络的层数L;4.每一个隐层中神经元的个数j;5.学习的回合数Epoch;6.小批量数据minibatch的大小;7.输出神经元的编码方式,8.代价函数的选择,9.权重初始化的方法,10.神经元激活函数的种类,11.参加训练模型数据的规模,但并不限于此。
本实施例中,通过对模型的网络参数进行量化,可以压缩模型的深度和体积,同时,减轻模型推理时的计算量,加快推理速度。
在一种可能的实现方式中,步骤S102的具体实现方式为:
S1021、根据所述量化模型将所述网络参数转换为第二量化表示。
本实施例中,可以将每个网络参数量转化为具有n个比特的二进制数字(比如0比特表示-1,1比特表示1)。具体地,量化网络参数的量化模型为:
Figure BDA0001999821260000051
其中,W为网络参数,αi为大于零的浮点数,βi为具有与W相同大小的矩阵,βi的取值为-1或1,n为用于表征W的二进制数字的比特数量。
本实施例中,为了降低量化的计算复杂度,确定αi的计算公式为αi=1/2i,βi的计算公式为
Figure BDA0001999821260000052
S1022、根据所述第二表示计算所述网络参数对应的αi和βi
S1023、根据计算的αi和βi计算所述网络参数对应的反量化网络参数。
本实施例中,未量化前的网络参数记为W,根据量化模型量化W,得到与W对应的αi和βi;在得到与W对应的αi和βi,根据与W对应的αi和βi以及量化模型进行反向量化,得到反量化网络参数W’。
S1024、根据所述反量化网络参数对所述神经网络初始模型进行更新以生成参数量化神经网络模型。
本实施例中,将得到的反量化网络参数作为更新后的网络参数,并利用更新后的网络参数对神经网络初始模型进行更新以生成参数量化神经网络模型。
S103、对所述参数量化神经网络模型进行激活量化。
本实施例中,通过对模型的激活结果进行量化,可以压缩模型的深度和体积,同时,减轻模型推理时的计算量,加快推理速度。具体地,所述参数量化神经网络模型包括多个网络层,步骤S103的具体实现方式为:
S1031、获取激活函数,通过所述激活函数对所述参数量化神经网络模型的多个网络层的计算结果进行激活以生成激活结果。
本实施例中,在每个网络层完成计算过程后,采用激活函数对该网络层的计算结果进行激活,激活后的计算结果即激活结果作为该网络层的输出结果。激活函数例如为sigmoid激活函数。
S1032、在所述激活结果向下一个网络层传输之前,对所述激活结果进行激活量化,直至完成反向计算并获取反向传递梯度。
本实施例中,“对所述激活结果进行激活量化”的具体实现方式为:
S1、根据所述量化模型将所述激活结果转换为第一量化表示。
本实施例中,可以将激活结果转化为具有n个比特的二进制数字(比如0比特表示-1,1比特表示1)。激活量化的量化模型为
Figure BDA0001999821260000061
其中,W为激活结果,αi为大于零的浮点数,βi为具有与W相同大小的矩阵,βi的取值为-1或1,n为用于表征W的二进制数字的比特数量。
需要指出的是,当采用sigmoid激活函数时,sigmoid是一种广泛使用的非线性激活函数,其函数表达式为sigmoid(x)=1/(1+e-x),不难看出,sigmoid激活函数的数值范围为(0,1)。由于量化区间是以零为中心正负对称的区间,为不浪费量化表示能力,希望输入到量化模型中的输入值也是对称的;而经过sigmoid激活函数后的激活值取值范围是(0,1),在此对激活后的计算结果减掉0.5作为激活结果,使激活结果的取值范围为以零为中心正负对称的区间(-0.5,0.5)。
本实施例中,为了降低量化的计算复杂度,确定αi的计算公式为αi=1/2i,βi的计算公式为
Figure BDA0001999821260000062
S2、根据所述第一量化表示计算所述激活结果对应的αi和βi
S3、根据计算的αi和βi计算所述激活结果对应的反量化结果,并将所述反量化结果传输至下一个网络层。
本实施例中,未量化前的激活结果记为W,根据量化模型量化W,得到与W对应的αi和βi;在得到与W对应的αi和βi,根据与W对应的αi和βi以及量化模型进行反向量化,得到反量化结果W’。
S1033、根据反向传递梯度对所述参数量化神经网络模型进行更新。
具体地,在训练模型的过程中,包括前向计算和反向计算。本实施例根据反向计算对应的反向传递梯度对参数量化神经网络模型进行更新,进而优化参数量化神经网络模型。
本发明实施例提供的神经网络模型的训练方法,通过获取神经网络初始模型;对所述神经网络初始模型的网络参数进行参数量化以生成参数量化神经网络模型;以及对所述参数量化神经网络模型进行激活量化。由于在训练神经网络模型的过程中,对网络参数和激活结果进行了量化,使应用比特乘法成为可能,实现了在保证神经网络模型的识别精度的前提下,极大地压缩了神经网络模型的深度和体积,极大地降低了神经网络模型在推理时的计算复杂度,加快了神经网络模型的推理速度。同时,该方法能够广泛应用于前馈神经网络、卷积神经网络和循环神经网络等各种神经网络,通用性好。
图2为本发明实施例提供的一种神经网络模型的训练装置的结构示意图。本实施例提供了一种神经网络模型的训练装置,该装置是神经网络模型的训练方法的执行主体,该执行主体由硬件和/或软件组成。如图2所示,该神经网络模型的训练装置包括:获取模块11、第一处理模块12、第二处理模块13。
获取模块11,用于获取神经网络初始模型;
第一处理模块12,用于对所述神经网络初始模型的网络参数进行参数量化以生成参数量化神经网络模型;以及
第二处理模块13,用于对所述参数量化神经网络模型进行激活量化。
进一步地,所述参数量化神经网络模型包括多个网络层,所述第二处理模块13包括第一单元、第二单元、第三单元:
所述第一单元,用于获取激活函数,通过所述激活函数对所述参数量化神经网络模型的多个网络层的计算结果进行激活以生成激活结果;
所述第二单元,用于在所述激活结果向下一个网络层传输之前,对所述激活结果进行激活量化,直至完成反向计算并获取反向传递梯度;以及
所述第三单元,用于根据所述反向传递梯度对所述参数量化神经网络模型进行更新。
进一步地,所述参数量化和激活量化的量化模型均为
Figure BDA0001999821260000071
其中,W为网络参数或激活结果,αi为大于零的浮点数,βi为具有与W相同大小的矩阵,βi的取值为-1或1,n为用于表征W的二进制数字的比特数量。
进一步地,所述第二单元,具体用于:
根据所述量化模型将所述激活结果转换为第一量化表示;
根据所述第一量化表示计算所述激活结果对应的αi和βi;以及
根据计算的αi和βi计算所述激活结果对应的反量化结果,并将所述反量化结果传输至下一个网络层。
进一步地,所述激活结果的取值范围为[-0.5,+0.5]。
进一步地,所述第一处理模块12具体用于:
根据所述量化模型将所述网络参数转换为第二量化表示;
根据所述第二表示计算所述网络参数对应的αi和βi
根据计算的αi和βi计算所述网络参数对应的反量化网络参数;以及
根据所述反量化网络参数对所述神经网络初始模型进行更新以生成参数量化神经网络模型。
进一步地,所述获取模块11具体用于:
通过单精度训练算法形成所述神经网络初始模型。
需要说明的是,前述对神经网络模型的训练方法实施例的解释说明也适用于该实施例的神经网络模型的训练装置,此处不再赘述。
本发明实施例提供的神经网络模型的训练装置,通过获取神经网络初始模型;对所述神经网络初始模型的网络参数进行参数量化以生成参数量化神经网络模型;以及对所述参数量化神经网络模型进行激活量化。由于在训练神经网络模型的过程中,对网络参数和激活结果进行了量化,使应用比特乘法成为可能,实现了在保证神经网络模型的识别精度的前提下,极大地压缩了神经网络模型的深度和体积,极大地降低了神经网络模型在推理时的计算复杂度,加快了神经网络模型的推理速度。
图3为本发明实施例提供的一种计算机设备的结构示意图。该计算机设备包括:
存储器1001、处理器1002及存储在存储器1001上并可在处理器1002上运行的计算机程序。
处理器1002执行所述程序时实现上述实施例中提供的神经网络模型的训练方法。
进一步地,计算机设备还包括:
通信接口1003,用于存储器1001和处理器1002之间的通信。
存储器1001,用于存放可在处理器1002上运行的计算机程序。
存储器1001可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
处理器1002,用于执行所述程序时实现上述实施例所述的神经网络模型的训练方法。
如果存储器1001、处理器1002和通信接口1003独立实现,则通信接口1003、存储器1001和处理器1002可以通过总线相互连接并完成相互间的通信。所述总线可以是工业标准体系结构(Industry Standard Architecture,简称为ISA)总线、外部设备互连(Peripheral Component,简称为PCI)总线或扩展工业标准体系结构(Extended IndustryStandard Architecture,简称为EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图3中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果存储器1001、处理器1002及通信接口1003,集成在一块芯片上实现,则存储器1001、处理器1002及通信接口1003可以通过内部接口完成相互间的通信。
处理器1002可能是一个中央处理器(Central Processing Unit,简称为CPU),或者是特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。
本实施例还提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如上所述的神经网络模型的训练方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (12)

1.一种神经网络模型的训练方法,其特征在于,包括:
获取神经网络初始模型;
对所述神经网络初始模型的网络参数进行参数量化以生成参数量化神经网络模型;以及
对所述参数量化神经网络模型进行激活量化。
2.如权利要求1所述的神经网络模型的训练方法,其特征在于,所述参数量化神经网络模型包括多个网络层,所述对所述参数量化神经网络模型进行激活量化,包括:
获取激活函数,通过所述激活函数对所述参数量化神经网络模型的多个网络层的计算结果进行激活以生成激活结果;
在所述激活结果向下一个网络层传输之前,对所述激活结果进行激活量化,直至完成反向计算并获取反向传递梯度;以及
根据所述反向传递梯度对所述参数量化神经网络模型进行更新。
3.如权利要求1或2所述的神经网络模型的训练方法,其特征在于,所述参数量化和激活量化的量化模型均为
Figure FDA0001999821250000011
其中,W为网络参数或激活结果,αi为大于零的浮点数,βi为具有与W相同大小的矩阵,βi的取值为-1或1,n为用于表征W的二进制数字的比特数量。
4.如权利要求3所述的神经网络模型的训练方法,其特征在于,所述对所述激活结果进行激活量化,包括:
根据所述量化模型将所述激活结果转换为第一量化表示;
根据所述第一量化表示计算所述激活结果对应的αi和βi;以及
根据计算的αi和βi计算所述激活结果对应的反量化结果,并将所述反量化结果传输至下一个网络层。
5.如权利要求4所述的神经网络模型的训练方法,其特征在于,所述激活结果的取值范围为[-0.5,+0.5]。
6.如权利要求3所述的神经网络模型的训练方法,其特征在于,所述对所述神经网络初始模型的网络参数进行参数量化以生成参数量化神经网络模型,包括:
根据所述量化模型将所述网络参数转换为第二量化表示;
根据所述第二表示计算所述网络参数对应的αi和βi
根据计算的αi和βi计算所述网络参数对应的反量化网络参数;以及
根据所述反量化网络参数对所述神经网络初始模型进行更新以生成参数量化神经网络模型。
7.如权利要求3所述的神经网络模型的训练方法,其特征在于,所述获取神经网络初始模型,包括:
通过单精度训练算法形成所述神经网络初始模型。
8.一种神经网络模型的训练装置,其特征在于,包括:
获取模块,用于获取神经网络初始模型;
第一处理模块,用于对所述神经网络初始模型的网络参数进行参数量化以生成参数量化神经网络模型;以及
第二处理模块,用于对所述参数量化神经网络模型进行激活量化。
9.如权利要求8所述的神经网络模型的训练装置,其特征在于,所述参数量化神经网络模型包括多个网络层,所述第二处理模块包括第一单元、第二单元、第三单元:
所述第一单元,用于获取激活函数,通过所述激活函数对所述参数量化神经网络模型的多个网络层的计算结果进行激活以生成激活结果;
所述第二单元,用于在所述激活结果向下一个网络层传输之前,对所述激活结果进行激活量化,直至完成反向计算并获取反向传递梯度;以及
所述第三单元,用于根据所述反向传递梯度对所述参数量化神经网络模型进行更新。
10.如权利要求8所述的神经网络模型的训练装置,其特征在于,所述第一处理模块具体用于:
根据所述量化模型将所述网络参数转换为第二量化表示;
根据所述第二表示计算所述网络参数对应的αi和βi
根据计算的αi和βi计算所述网络参数对应的反量化网络参数;以及
根据所述反量化网络参数对所述神经网络初始模型进行更新以生成参数量化神经网络模型。
11.一种计算机设备,其特征在于,包括:
存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-7中任一所述的神经网络模型的训练方法。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一所述的神经网络模型的训练方法。
CN201910208661.6A 2019-03-19 2019-03-19 神经网络模型的训练方法及装置 Active CN111723901B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910208661.6A CN111723901B (zh) 2019-03-19 2019-03-19 神经网络模型的训练方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910208661.6A CN111723901B (zh) 2019-03-19 2019-03-19 神经网络模型的训练方法及装置

Publications (2)

Publication Number Publication Date
CN111723901A true CN111723901A (zh) 2020-09-29
CN111723901B CN111723901B (zh) 2024-01-12

Family

ID=72563273

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910208661.6A Active CN111723901B (zh) 2019-03-19 2019-03-19 神经网络模型的训练方法及装置

Country Status (1)

Country Link
CN (1) CN111723901B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112232491A (zh) * 2020-10-29 2021-01-15 深兰人工智能(深圳)有限公司 基于卷积神经网络模型的特征提取方法和装置
CN112784990A (zh) * 2021-01-22 2021-05-11 支付宝(杭州)信息技术有限公司 一种成员推断模型的训练方法
CN112990457A (zh) * 2021-03-26 2021-06-18 开放智能机器(上海)有限公司 离线量化调优方法、装置、设备、介质及程序产品
CN113705317A (zh) * 2021-04-14 2021-11-26 腾讯科技(深圳)有限公司 图像处理模型训练方法、图像处理方法及相关设备
CN114676760A (zh) * 2022-03-10 2022-06-28 北京智源人工智能研究院 预训练模型推理处理方法、装置、电子设备及存储介质
WO2023024252A1 (zh) * 2021-08-24 2023-03-02 苏州浪潮智能科技有限公司 网络模型训练方法、装置、电子设备及可读存储介质

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170286830A1 (en) * 2016-04-04 2017-10-05 Technion Research & Development Foundation Limited Quantized neural network training and inference
CN107644252A (zh) * 2017-03-10 2018-01-30 南京大学 一种多机制混合的递归神经网络模型压缩方法
CN107644254A (zh) * 2017-09-09 2018-01-30 复旦大学 一种卷积神经网络权重参数量化训练方法及系统
CN107909147A (zh) * 2017-11-16 2018-04-13 深圳市华尊科技股份有限公司 一种数据处理方法及装置
CN107967517A (zh) * 2016-10-19 2018-04-27 三星电子株式会社 用于神经网络量化的方法和设备
CN107967515A (zh) * 2016-10-19 2018-04-27 三星电子株式会社 用于神经网络量化的方法和设备
CN108197707A (zh) * 2017-12-31 2018-06-22 厦门大学 基于全局误差重建的卷积神经网络的压缩方法
WO2018140294A1 (en) * 2017-01-25 2018-08-02 Microsoft Technology Licensing, Llc Neural network based on fixed-point operations
CN108648020A (zh) * 2018-05-15 2018-10-12 携程旅游信息技术(上海)有限公司 用户行为量化方法、系统、设备及存储介质
CN109190759A (zh) * 2018-08-01 2019-01-11 西安电子科技大学 一种基于{-1,+1}编码的神经网络模型压缩与加速方法
US20190050710A1 (en) * 2017-08-14 2019-02-14 Midea Group Co., Ltd. Adaptive bit-width reduction for neural networks
CN109409518A (zh) * 2018-10-11 2019-03-01 北京旷视科技有限公司 神经网络模型处理方法、装置及终端

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170286830A1 (en) * 2016-04-04 2017-10-05 Technion Research & Development Foundation Limited Quantized neural network training and inference
CN107967517A (zh) * 2016-10-19 2018-04-27 三星电子株式会社 用于神经网络量化的方法和设备
CN107967515A (zh) * 2016-10-19 2018-04-27 三星电子株式会社 用于神经网络量化的方法和设备
WO2018140294A1 (en) * 2017-01-25 2018-08-02 Microsoft Technology Licensing, Llc Neural network based on fixed-point operations
CN107644252A (zh) * 2017-03-10 2018-01-30 南京大学 一种多机制混合的递归神经网络模型压缩方法
US20190050710A1 (en) * 2017-08-14 2019-02-14 Midea Group Co., Ltd. Adaptive bit-width reduction for neural networks
CN107644254A (zh) * 2017-09-09 2018-01-30 复旦大学 一种卷积神经网络权重参数量化训练方法及系统
CN107909147A (zh) * 2017-11-16 2018-04-13 深圳市华尊科技股份有限公司 一种数据处理方法及装置
CN108197707A (zh) * 2017-12-31 2018-06-22 厦门大学 基于全局误差重建的卷积神经网络的压缩方法
CN108648020A (zh) * 2018-05-15 2018-10-12 携程旅游信息技术(上海)有限公司 用户行为量化方法、系统、设备及存储介质
CN109190759A (zh) * 2018-08-01 2019-01-11 西安电子科技大学 一种基于{-1,+1}编码的神经网络模型压缩与加速方法
CN109409518A (zh) * 2018-10-11 2019-03-01 北京旷视科技有限公司 神经网络模型处理方法、装置及终端

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
P. WANG, ET AL.: "Two-Step Quantization for Low-bit Neural Networks", 2018 IEEE/CVF CONFERENCE ON COMPUTER VISION AND PATTERN RECOGNITION, pages 4376 - 4384 *
谢佳砼;: "基于二值的网络加速", 电子制作, no. 24, pages 34 - 37 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112232491A (zh) * 2020-10-29 2021-01-15 深兰人工智能(深圳)有限公司 基于卷积神经网络模型的特征提取方法和装置
CN112784990A (zh) * 2021-01-22 2021-05-11 支付宝(杭州)信息技术有限公司 一种成员推断模型的训练方法
CN112990457A (zh) * 2021-03-26 2021-06-18 开放智能机器(上海)有限公司 离线量化调优方法、装置、设备、介质及程序产品
CN112990457B (zh) * 2021-03-26 2024-05-03 开放智能机器(上海)有限公司 离线量化调优方法、装置、设备、介质及程序产品
CN113705317A (zh) * 2021-04-14 2021-11-26 腾讯科技(深圳)有限公司 图像处理模型训练方法、图像处理方法及相关设备
CN113705317B (zh) * 2021-04-14 2024-04-26 腾讯科技(深圳)有限公司 图像处理模型训练方法、图像处理方法及相关设备
WO2023024252A1 (zh) * 2021-08-24 2023-03-02 苏州浪潮智能科技有限公司 网络模型训练方法、装置、电子设备及可读存储介质
CN114676760A (zh) * 2022-03-10 2022-06-28 北京智源人工智能研究院 预训练模型推理处理方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN111723901B (zh) 2024-01-12

Similar Documents

Publication Publication Date Title
CN111723901B (zh) 神经网络模型的训练方法及装置
CN109754066B (zh) 用于生成定点型神经网络的方法和装置
EP3474194B1 (en) Method and apparatus with neural network parameter quantization
CN110799994B (zh) 神经网络的自适应位宽缩减
US20210004663A1 (en) Neural network device and method of quantizing parameters of neural network
EP3924894A1 (en) Differential bit width neural architecture search
US11314842B1 (en) Hardware implementation of mathematical functions
US11704556B2 (en) Optimization methods for quantization of neural network models
CN113826122A (zh) 人工神经网络的训练
WO2020001401A1 (zh) 深度神经网络中的网络层运算方法及装置
CN110874625A (zh) 一种深度神经网络量化方法及装置
CN113632106A (zh) 人工神经网络的混合精度训练
CN114239949A (zh) 一种基于双阶段注意力机制的网站访问量预测方法及系统
EP3924891A1 (en) Quality monitoring and hidden quantization in artificial neural network computations
CN112561050B (zh) 一种神经网络模型训练方法及装置
CN112446461A (zh) 一种神经网络模型训练方法及装置
JP7279225B2 (ja) 破滅的忘却の発生を抑えつつ、転移学習を行う方法、情報処理装置及びプログラム
CN114187194A (zh) 传感器感应图像降噪处理方法、系统、装置及存储介质
CN114372553A (zh) 一种神经网络的量化方法及装置
CN110852361B (zh) 基于改进深度神经网络的图像分类方法、装置与电子设备
CN113269313A (zh) 突触权重训练方法、电子设备和计算机可读介质
CN112633464A (zh) 用于识别图像的计算系统和方法
US11586895B1 (en) Recursive neural network using random access memory
US12003255B2 (en) Method and device for binary coding of signals in order to implement digital MAC operations with dynamic precision
CN117236900B (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