CN113570054A - 神经网络模型的训练方法、装置、设备及存储介质 - Google Patents
神经网络模型的训练方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113570054A CN113570054A CN202010359887.9A CN202010359887A CN113570054A CN 113570054 A CN113570054 A CN 113570054A CN 202010359887 A CN202010359887 A CN 202010359887A CN 113570054 A CN113570054 A CN 113570054A
- Authority
- CN
- China
- Prior art keywords
- layer
- neural network
- network model
- current iteration
- back propagation
- 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
- 238000003062 neural network model Methods 0.000 title claims abstract description 255
- 238000012549 training Methods 0.000 title claims abstract description 156
- 238000000034 method Methods 0.000 title claims abstract description 134
- 238000012545 processing Methods 0.000 claims abstract description 77
- 230000015654 memory Effects 0.000 claims description 43
- 238000003672 processing method Methods 0.000 claims description 6
- 238000013528 artificial neural network Methods 0.000 abstract description 23
- 230000008569 process Effects 0.000 description 58
- 238000010606 normalization Methods 0.000 description 44
- 230000006870 function Effects 0.000 description 23
- 238000004891 communication Methods 0.000 description 20
- 238000010586 diagram Methods 0.000 description 16
- 238000004364 calculation method Methods 0.000 description 15
- 230000000644 propagated effect Effects 0.000 description 15
- 238000004590 computer program Methods 0.000 description 14
- 230000002441 reversible effect Effects 0.000 description 10
- 230000008859 change Effects 0.000 description 5
- 238000007781 pre-processing Methods 0.000 description 5
- 238000012886 linear function Methods 0.000 description 4
- 238000012935 Averaging Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction 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/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
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
技术领域
本申请涉及人工智能技术领域,尤其涉及神经网络模型的训练方法、装置、设备及存储介质。
背景技术
一般的神经网络模型是由几十层至上百层构成,其训练通过多轮迭代实现,直至神经网络模型收敛结束训练。在每一轮迭代中,包括前向传播、反向传播和参数更新,其中,前向传播是图像处理的过程,反向传播是基于网络损失计算梯度的过程,参数更新是根据反向传播过程计算的梯度进行参数更新的过程。在实际进行训练时,神经网络模型的多轮迭代训练过程需要耗费大量的时间和资源。
发明内容
本申请实施例公开了神经网络模型的技术方案。
第一方面,本申请实施例提供了一种神经网络模型的训练方法,包括在当前迭代中,通过所述神经网络模型对样本图像进行处理,得到网络损失;确定所述当前迭代的反向传播停止层;基于所述网络损失进行所述神经网络模型中多个网络层的参数更新,其中,所述神经网络模型中深度小于所述反向传播停止层的至少一个网络层的参数保持不变。
可以看到,本申请神经网络模型的训练过程中,在当前轮的迭代中,首先通过前向传播,对样本图像进行处理,得到网络损失(即损失函数),然后,确定当前轮的反向传播停止层,最后,基于网络损失对神经网络模型进行多个网络层的参数更新,对于深度小于反向传播停止层的网络层参数保持不变。通过本申请实施例,反向传播进行至反向传播停止层时停止,无需再继续向深度小于反向传播停止层的网络层进行梯度传播,对于深度小于反向传播停止层的网络层也无需进行参数更新,因此,在不影响训练得到的神经网络模型的性能的条件下,本申请减少了反向传播的层数,节省了计算资源,减少了神经网络模型的训练时间,提升训练效率。
基于第一方面,在可能的实施方式中,所述确定所述当前迭代的反向传播停止层,包括:根据所述当前迭代的轮数,确定所述反向传播停止层。
可以理解,神经网络模型是需要经过很多轮的迭代训练才最终收敛的,在每一轮的迭代训练中,可以根据当前迭代的轮数,确定反向传播停止层。
基于第一方面,在可能的实施方式中,所述根据所述当前迭代的轮数,确定所述反向传播停止层,包括:通过所述当前迭代的轮数对所述神经网络模型的总层数进行取余运算,得到所述反向传播停止层的层序号。
可以看到,在某一轮的迭代中,可以根据当前迭代的轮数对神经网络模型的总层数进行取余运算,确定反向传播停止层的层序号。例如,若当前迭代轮数为第69轮,神经网络模型的总层数为80层,则当前迭代的轮数对神经网络模型的总层数取余运算,所得结果为69,则反向传播停止层的层序号为69,即反向传播到第69层,比第69层小的网络层均不进行反向传播;若当前迭代轮数为第85轮,神经网络模型的总层数为80层,则当前迭代的轮数对神经网络模型的总层数取余运算,所得结果为5,则反向传播停止层的层序号为5,即反向传播到第5层,比第5层小的网络层均不进行反向传播。所以实施本申请实施例,减少了反向传播的层数,减少了计算量和反向传播的时间,从而节省了计算资源,也减少了神经网络模型的训练时间。
基于第一方面,在可能的实施方式中,所述确定所述当前迭代的反向传播停止层,包括:根据所述神经网络模型的至少一个网络层在所述当前迭代中的梯度与权重,和/或时钟数,确定所述当前迭代的反向传播停止层。
可以看到,神经网络模型包括数十层甚至上百层,神经网络模型的反向传播过程实质上是计算各网络层的梯度的过程,而参数更新过程是根据各网络层的梯度更新各网络层的权重的过程。因此,在神经网络模型的训练迭代过程中,可以根据神经网络模型的至少一个网络层在当前迭代中的梯度与权重,和/或时钟数,确定当前迭代的反向传播停止层。其中,神经网络模型的各网络层中的时钟数是预先设置。
基于第一方面,在可能的实施方式中,所述根据所述神经网络模型的至少一个网络层在所述当前迭代中的梯度与权重,和/或时钟数,确定所述当前迭代的反向传播停止层,包括:根据所述神经网络模型的至少一个网络层的时钟数,确定所述当前迭代的目标网络层;基于深度小于所述目标网络层的至少一个网络层在所述当前迭代中的梯度与权重,确定所述当前迭代的反向传播停止层。
可以看到,当神经网络模型的各网络层设置有时钟数时,确定当前迭代的反向传播停止层,首先,根据神经网络模型的各网络层的时钟数,确定当前迭代的目标网络层;对于深度大于目标网络层的网络层按照传统的神经网络模型训练方法直接进行反向传播,对于深度小于目标网络层的网络层,根据其梯度、权重以及当前迭代的轮数,确定当前迭代的反向传播停止层。
基于第一方面,在可能的实施方式中,所述根据所述神经网络模型的至少一个网络层的时钟数,确定所述当前迭代的目标网络层,包括:基于所述当前迭代的轮数以及所述神经网络模型中每个网络层的时钟数,确定所述当前迭代的目标网络层。
可以理解,可以根据当前迭代的轮数与预设置的各层的时钟数,确定当前迭代的目标网络层。例如,在一种实施例中,可以将当前迭代的轮数对各网络层的时钟数进行取模运算,取模运算结果为0的网络层作为预设目标网络层,其中预设目标网络层可能包含一个网络层,也可能包含多个网络层,再将预设目标网络层中的最小的网络层作为目标网络层。举例来说,当前迭代轮数对各网络层的时钟数进行取模运算,若取模运算结果为0的网络层包括第4层,第8层,第12层,则预设目标网络层包括第4层,第8层,第12层,然后取预设目标网络层中的最小的层为目标网络层,即第4层为目标网络层。
基于第一方面,在可能的实施方式中,所述方法还包括:若所述当前迭代中不存在所述目标网络层,根据所述神经网络模型中的至少一个网络层在所述当前迭代中的梯度与权重,确定所述当前迭代的反向传播停止层。
可以理解,在上述实施例中,若当前迭代轮数对各网络层的时钟数进行取模运算,若不存在取模运算结果为0的网络层,即取模运算结果均不为0,则不存在目标网络层。对于当前迭代中不存在目标网络层的情况,在当前迭代中,直接根据神经网络模型中的各网络层的梯度与权重,确定当前迭代的反向传播停止层。
基于第一方面,在可能的实施方式中,所述根据所述神经网络模型的至少一个网络层在所述当前迭代中的梯度与权重,和/或时钟数,确定所述当前迭代的反向传播停止层,包括:根据所述神经网络模型的至少一个网络层在所述当前迭代中的梯度与权重的比值以及预设阈值,确定所述当前迭代的反向传播停止层。
可以理解,对于神经网络模型的各网络层没有设置时钟数的情况,可以直接根据神经网络模型中的各网络层的梯度与权重的比值以及预设阈值,确定当前迭代的反向传播停止层。
基于第一方面,在可能的实施方式中,所述根据所述神经网络模型的至少一个网络层在所述当前迭代中的梯度与权重的比值以及预设阈值,确定所述当前迭代的反向传播停止层,包括:若所述神经网络模型的当前网络层中,所述梯度归一化值与权重归一化值的比值小于或等于预设阈值,确定所述当前网络层为所述反向传播停止层。
可以理解,在一种实施例中,在反向传播至某一网络层中,若神经网络模型的当前网络层中,梯度归一化值与权重归一化值的比值小于或等于预设阈值,确定当前网络层为反向传播停止层;若梯度归一化值与权重归一化值的比值大于预设阈值,则反向传播继续向下一层传播。其中,梯度归一化值为当前层的多个梯度的绝对值的平均值,权重归一化值为当前层的多个权重的绝对值的平均值。
基于第一方面,在可能的实施方式中,所述神经网络模型中的至少一个网络层的时钟数是基于第一策略和第二策略中的至少一种设置的;其中,所述第一策略包括:所述神经网络模型的层数越大,设置的时钟数越大,所述第二策略包括:对于所述神经网络模型中对于训练重要性较高的至少一个网络层,设置较小的时钟数。
可以理解,在可能的实施方式中,时钟数越小,迭代轮数对时钟数取模运算时,其结果为0的频率就越高,将较浅的网络层的时钟数设置的较小,这样反向传播时就容易到达该网络层,那么大于该网络层的较深的层也就会进行反向传播及参数更新,因此可以按照第一策略设置各网络层的时钟数;在神经网络模型中可能会存在某个或某些比较重要的层,对于这样的网络层,会设置一个较小的时钟数,这样迭代轮数对该较小的时钟数取模运算,结果为 0的次数会比较多,相对来说,比较容易达到,所以迭代次数会比较多,增加训练的准确性,使神经网络模型更早地趋于稳定。
基于第一方面,在可能的实施方式中,所述基于所述网络损失进行所述神经网络模型中多个网络层的参数更新,其中,深度小于所述反向传播停止层的至少一个网络层的参数保持不变,包括:基于所述网络损失进行反向传播,计算所述神经网络模型中多个网络层的梯度,直至到达所述反向传播停止层;基于所述多个网络层的梯度,对所述多个网络层进行参数更新,其中,深度小于所述反向传播停层的至少一个网络层的参数保持不变。
可以理解,在确定了反向传播停止层之后,即可进行反向传播,基于前向传播得出的网络损失进行反向传播,传播至反向传播停止层停止传播,反向传播过程实际上计算多个网络层的梯度的过程;在基于计算出多个网络层的梯度,对多个网络层进行参数更新,其中,只对深度大于反向传播停层的网络层进行参数更新,深度小于反向传播停层的网络层的参数不变。
基于第一方面,在可能的实施方式中,在进行所述当前迭代之前,还包括:对所述神经网络模型进行至少一轮迭代训练,其中,在所述至少一轮迭代训练过程中,对所述神经网络模型的所有网络层进行参数更新。
可以理解,在神经网络的训练过程中,并不是从第一轮迭代开始,就进行不完整的反向传播(不完整的反向传播,即每一轮迭代中,只对部分网络层进行反向传播,计算梯度)和参数更新,而是在训练的初始阶段,进行至少一轮完整的反向传播(完整的反向传播,即每一轮迭代中,对所有网络层进行反向传播,计算梯度)和参数更新,这样保证神经网模型的各个网络层都能得到训练。在实际训练中,对于不同的神经网络模型,可以根据实际情况设置完整的反正传播的轮数。
第二方面,本申请实施例提供了一种图像处理方法,包括:获取图像;将所述图像输入训练好的神经网络模型中进行处理,获得处理结果;其中,所述神经网络模型是通过第一方面或第一方面的任意实施方式所述的方法训练得到的。
可以看到,首先获取图像,然后将获取的图像输入训练好的神经网络模型中进行处理,即可得到处理结果。其中,神经网络模型是通过上述第一方面或第一方面的任一实施方式所描述的方法训练得到的。实施本申请实施例,缩短了神经网络模型的训练时间,将获取的图像直接输入训练好的神经网络模型中,能够得到所需要的处理结果,缩短了整个图像处理的时间。
第三方面,本申请实施例还提供了一种神经网络模型的训练装置,包括:
处理单元,用于在当前迭代中,通过所述神经网络模型对样本图像进行处理,得到网络损失;
确定单元,用于确定所述当前迭代的反向传播停止层;
更新单元,用于基于所述网络损失进行所述神经网络模型中多个网络层的参数更新,其中,所述神经网络模型中深度小于所述反向传播停止层的至少一个网络层的参数保持不变。
基于第三方面,在可能的实施方式中,所述确定单元具体用于:根据所述当前迭代的轮数,确定所述反向传播停止层。
基于第三方面,在可能的实施方式中,所述确定单元具体用于:通过所述当前迭代的轮数对所述神经网络模型的总层数进行取余运算,得到所述反向传播停止层的层序号。
基于第三方面,在可能的实施方式中,所述确定单元具体用于:根据所述神经网络模型的至少一个网络层在所述当前迭代中的梯度与权重,和/或时钟数,确定所述当前迭代的反向传播停止层。
基于第三方面,在可能的实施方式中,所述确定单元具体用于:根据所述神经网络模型的至少一个网络层的时钟数,确定所述当前迭代的目标网络层;基于深度小于所述目标网络层的至少一个网络层在所述当前迭代中的梯度与权重,确定所述当前迭代的反向传播停止层。
基于第三方面,在可能的实施方式中,所述确定单元具体用于:基于所述当前迭代的轮数以及所述神经网络模型中每个网络层的时钟数,确定所述当前迭代的目标网络层。
基于第三方面,在可能的实施方式中,所述确定单元具体用于:若所述当前迭代中不存在所述目标网络层,根据所述神经网络模型中的至少一个网络层在所述当前迭代中的梯度与权重,确定所述当前迭代的反向传播停止层。
基于第三方面,在可能的实施方式中,所述确定单元具体用于:根据所述神经网络模型的至少一个网络层在所述当前迭代中的梯度与权重的比值以及预设阈值,确定所述当前迭代的反向传播停止层。
基于第三方面,在可能的实施方式中,所述确定单元具体用于:若所述神经网络模型的当前网络层中,所述梯度归一化值与权重归一化值的比值小于或等于预设阈值,确定所述当前网络层为所述反向传播停止层,其中,梯度归一化值为当前网络层的多个梯度的绝对值的平均值,权重归一化值为当前网络层的多个权重的绝对值的平均值。
基于第三方面,在可能的实施方式中,所述神经网络模型中的至少一个网络层的时钟数是基于第一策略和第二策略中的至少一种设置的;其中,所述第一策略包括:网络层的层数越大,设置的时钟数越大,所述第二策略包括:对于所述神经网络模型中对于训练重要性较高的至少一个网络层,设置较小的时钟数。
基于第三方面,在可能的实施方式中,所述更新单元具体用于:基于所述网络损失进行反向传播,计算所述神经网络模型中多个网络层的梯度,直至到达所述反向传播停止层;基于所述多个网络层的梯度,对所述多个网络层进行参数更新,其中,深度小于所述反向传播停层的至少一个网络层的参数保持不变。
基于第三方面,在可能的实施方式中,所述装置还包括预处理单元,所述预处理单元用于:对所述神经网络模型进行至少一轮迭代训练,其中,在所述至少一轮迭代训练过程中,对所述神经网络模型的所有网络层进行参数更新。
上述第三方面的装置中的各个功能单元用于实现第一方面及第一方面的任一具体实施方式所描述的方法。
第四方面,本申请实施例提供了一种图像处理装置,包括:获取单元,用于获取图像;图像处理单元,用于将所述图像输入训练好的神经网络模型中进行处理,获取处理结果;所述神经网络模型是通过第一方面或第一方面的任意实施方式所述的方法训练得到的。
上述第四方面的装置中的各个功能单元用于执行第二方面或第二方面的任一可能实施方式中所述的方法。
第五方面,本申请实施例提供了一种神经网络模型的训练设备,包括存储器和处理器,所述存储器用于存储指令,所述处理器用于调用所述存储器中存储的指令,执行第一方面或第一方面的任一可能实施方式中所述的方法。
第六方面,本申请实施例提供了一种图像处理设备,包括存储器和处理器,所述存储器用于存储指令,所述处理器用于调用所述存储器中存储的指令,执行第二方面或第二方面的任一可能实施方式中所述的方法。
第七方面,本申请实施例提供了一种非易失性存储介质,用于存储程序指令,当该程序指令应用于神经网络模型的训练设备时,可用于实现第一方面或第一方面的任一可能实施方式中所述的方法。
第八方面,本申请实施例提供了一种计算机程序产品,该计算机程序产品包括程序指令,当该计算机程序产品被神经网络模型的训练设备执行时,该神经网络模型的训练设备执行前述第一方面所述方法。该计算机程序产品可以为一个软件安装包,在需要使用前述第一方面的任一种可能的设计提供的方法的情况下,可以下载该计算机程序产品并在神经网络模型的训练设备上执行该计算机程序产品,以实现第一方面或第一方面的任一可能实施方式中所述的方法。
第九方面,本申请实施例提供了一种非易失性存储介质,用于存储程序指令,当该程序指令应用于图像处理设备时,可用于实现第二方面或第二方面的任可能实施方式中所述的方法。
第十方面,本申请实施例提供了一种计算机程序产品,该计算机程序产品包括程序指令,当该计算机程序产品被图像处理设备执行时,该图像处理设备执行前述第二方面所述方法。该计算机程序产品可以为一个软件安装包,在需要使用前述第二方面的任一种可能的设计提供的方法的情况下,可以下载该计算机程序产品并在图像处理设备上执行该计算机程序产品,以实现第二方面或第二方面的任一可能实施方式中所述的方法。
可以看到,本申请实施例提供了神经网络模型的训练方法、装置、设备及存储介质,其中,神经网络模型的训练方法包括:先对神经网络模型进行至少一轮的迭代训练,在至少一轮的迭代训练中,对神经网络模型的所有网络层进行反向传播和参数更新;然后,在之后的每一轮迭代训练中,先通过前向传播对神经网络模型进行处理,得到网络损失,再确定当前迭代的反向传播停止层,基于网络损失对神经网络模型中多个网络层进行反向传播,直至反向传播停止层,再进行多个网络层的参数更新,其中,深度小于反向传播停止层的网络层的参数不进行参数不变,经过多轮的迭代训练,最终使得神经网络模型收敛,使得在不影响训练得到的神经网络模型的性能的条件下,通过对神经网络模型的部分网络层进行反向传播和参数更新,减少计算量,节省计算资源,从而缩短神经网络模型的训练时间,提升训练效率。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请提供的神经网络模型的训练过程中各层的梯度归一化值和权重归一化值的变化示意图;
图2为本申请实施例提供的一种神经网络模型的训练方法示意图;
图3为本申请实施例提供的又一种神经网络模型的训练方法示意图;
图4为本申请实施例提供的一种确定当前迭代训练的反向传播停止层的方法示意图;
图5为本申请实施例提供的一种神经网络模型的训练过程的示例流程示意图;
图6为本申请实施例提供的另一种确定当前迭代训练的反向传播停止层的方法示意图;
图7为本申请实施例提供的一种图像处理方法示意图;
图8为本申请实施例提供的一种神经网络模型的训练装置示意图;
图9为本申请实施例提供的一种神经网络模型的训练设备示意图;
图10为本申请实施例提供的一种图像处理装置示意图;
图11为本申请实施例提供的一种图像处理设备示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,在本申请实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
需要说明的是,当在本说明书和所附权利要求书中使用时,术语“包括”以及它们的任何变形,意图在于覆盖不排他的包含。例如包含了一系列单元/器件的系统、产品或者装置没有限定于已列出的单元/器件,而是可选地还包括没有列出的单元/器件,或者还可选地包括这些产品或者装置固有的其他单元/器件。
还应当理解,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”或“在…的情况下”。
神经网络训练过程需要经过前向传播、反向传播和参数的更新不断迭代等过程,直至收敛(可以根据损失函数的值是否不再下降或者趋于稳定来判断是否收敛),从而获得训练好的神经网络。前向传播是从神经网络层的第一层向最后一层传播的过程,是图像的处理过程,反向传播是从神经网络层的最后一层向第一层传播的过程。在反向传播的过程中,主要计算神经网络各层的梯度值,并根据各层中的梯度值进行参数(比如权重、偏置等)的更新,通过反向传播来更新神经网络中参数,使神经网络输出值不断接近目标值,这样,经过多次的迭代训练,最终使神经网络模型收敛。但是由于神经网络中参数的数量比较庞大,所以对于一般的神经网络,训练过程都需要花费很长的时间,尤其在大规模训练中,消耗的时间和资源更是巨大。
对经典神经网络模型深度残差网络ResNet50的训练过程进行分析,参考图1,图1中的 (1)为各层的梯度归一化值随迭代轮数的变化情况示意图,图1中的(2)为各层的权重归一化值随迭代轮数的变化情况示意图,通过各层的梯度归一化值和权重归一化值的变化情况,可以反映出训练过程中梯度和权重的变化趋势,分析可以发现:在训练过程中,随着迭代轮数的增加,梯度和权重均是逐渐减小,最后趋于稳定的,而且浅层的权重比深层的权重更早的趋于稳定。
基于上述的发现,本申请实施例提出了不进行完整的反向传播,而是在训练过程中,在一轮迭代中将反向传播停止在神经网络中的某一层,通过在不影响训练得到的神经网络模型的性能的条件下,在反向传播中减少传播的层数,来减少神经网络训练过程的计算量,从而减少整体训练时间,提升网络训练效率。
本申请实施例提供了一种神经网络模型的训练方法,其中,在某一迭代中进行不完整的反向传播,即反向传播停止在神经网络模型的中间某一层,本申请将神经网络模型中反向传播停止的层称为反向传播停止层。参考图2,该方法包括但不限于以下步骤:
S201、在当前迭代中,通过神经网络模型对样本图像进行处理,得到网络损失。
当前迭代可以是神经网络模型的多轮迭代训练过程中的第一轮迭代、某一次中间迭代或最后一次迭代。
在一种可能的实现方式中,在起始的至少一轮迭代训练中,是对神经网络模型的所有网络层进行反向传播和参数更新,以保证所有网络层都能够得到训练。在之后的训练中,在每一轮迭代时,首先通过神经网络模型对样本图像进行处理,得到网络损失,即从神经网络模型的第一层至最后一层进行前向传播;然后,将反向传播停止在某一层。
在又一种可能的实现方式中,从第一轮开始的每一轮迭代训练均是进行部分网络层的反向传播和参数更新,即在每一轮的迭代训练中,先通过神经网络模型对样本图像进行处理,得到网络损失,即从神经网络模型的第一层至最后一层进行前向传播;然后,将反向传播停止在某一层。
S202、确定当前迭代的反向传播停止层。
可以确定当前迭代的反向传播停止层,其中,该反向传播停止层决定了进行反向传播的截止条件。即,不完整的反向传播是从神经网络的最后一层传播至神经网络的停止层,其中停止层可以为神经网络的任意一层。
具体地,可以在进行当前迭代的整个反向传播之前,确定当前迭代的反向传播停止层。或者,可以逐层进行判断,即反向传播至某一网络层时,判断当前的网络层是否为当前迭代的反向传播停止层,等等,本公开实施例对确定反向传播停止层的时机不做限定。
S203、基于网络损失进行神经网络模型中多个网络层的参数更新,其中,神经网络模型中深度小于反向传播停止层的至少一个网络层的参数保持不变。
在确定了当前迭代的反向传播停止层之后,可以基于网络损失对神经网络模型进行梯度的反向传播,由神经网络模型的最后一层开始逐层传播,直到到达反向传播停止层,之后不再向深度更小的网络层进行梯度传播,这样,可以得到包括反向传播停止层在内的多个网络层的梯度值,例如,该多个网络层包括反向传播停止层及其后面(即深度较大)的至少一个网络层;然后,可以根据反向传播得到的多个网络层的梯度值,对该多个网络层进行参数更新,深度小于反向传播停止层的网络层没有进行反向传播,其参数也相应保持不变。
可以看到,本公开实施例提供的神经网络模型的训练方法,在神经网络模型的当前迭代训练中,首先,通过神经网络模型对样本图像进行处理,得到网络损失,然后确定当前迭代的反向传播停止层,最后,基于网络损失对神经网络模型的多个网络层进行反向传播,至反向传播停止层,再对这多个网络层进行参数更新。所以实施本申请实施例,通过减少反向传播的层数,减少了计算量,从而节省了计算资源,大大减少了神经网络模型的训练时间,提高了训练效率。
参考图3,图3为本申请实施例提供的一种神经网络模型的训练方法,该方法包括但不限于以下步骤:
S301、在当前迭代中,通过神经网络模型对样本图像进行处理,得到网络损失。
当前迭代可以是神经网络模型的多轮迭代训练过程中的第一轮迭代、某一次中间迭代或最后一次迭代。
在一种可能的实现方式中,自第一轮迭代训练开始,就进行不完整的反向传播。在又一种可能的实现方式中,在神经网络模型的训练过程中,刚开始迭代训练时,梯度变化比较大,每一层的梯度信息都比较重要,因此在刚开始训练的时候进行完整的反向传播,有利于保持训练得到的神经网络模型的性能。例如,自第1轮开始对神经网络模型进行m轮迭代训练,在迭代训练过程中,每一轮进行完整的前向传播和完整的反向传播,m为大于1的整数;在第m+i(i为正整数)轮开始至之后的迭代训练中,每一轮进行不完整的反向传播和参数更新。在之后的每一轮的迭代训练中,反向传播停止在中间某一层。需要说明的是,在上述可能的实现方式中,完整的反向传播的轮数m可根据实际情况进行设置。对于不同应用的神经网络模型,其层数不同,处理的数据量不同,则所设置的轮数m可以不同,可根据具体情况进行设置。
S302、基于当前迭代轮数对神经网络模型的总层数取余所得的结果,确定反向传播停止层。
例如,将当前迭代轮数对神经网络模型的总层数取余,所得取余结果即为本轮的反向传播停止层的层号。例如,神经网络模型的总层数为80层,m的值为40,在迭代轮数大于40 的情况下,若当前迭代轮数为第60轮,则本轮迭代的反向传播停止在第60层,若当前迭代轮数为第86轮,则本轮迭代的反向传播停止在第6层。再例如,通过对取余结果进行进一步处理,或者基于取余结果和其他因素,确定反向传播停止层。
S303、基于网络损失进行神经网络模型中多个网络层的参数更新,其中,神经网络模型中深度小于反向传播停止层的至少一个网络层的参数保持不变。
在确定了当前迭代的反向传播停止层后,即可基于网络损失对神经网络模型的多个网络层进行反向传播,从神经网络模型的最后一层传播至反向传播停止层停止,然后对这多个网络层进行参数更新,对于深度小于反向传播停止层的网络层不进行反向传播和参数更新。
在一些实施例中,需要经过多轮的迭代训练过程,才能使神经网络模型收敛,如果当前迭代为整个迭代训练过程的第一轮或者中间某一轮迭代,在之后的每一轮迭代过程中,都需要经过前向传播、部分反向传播和部分参数更新的过程。
为了更加清楚的理解本申请实施例的方案,下面通过举例对本申请实施例的方案进行描述。
举例来说,假设神经网络模型包括66个网络层,从第一轮至第m轮进行完整的反向传播,设置m为80,则在该神经网络模型的训练过程中,从第1轮至第80轮,对神经网络模型进行完整的前向传播和完整的反向传播;从第81轮开始,对神经网络模型进行完整的前向传播和不完整的反向传播,直至神经网络模型收敛;若当前迭代轮数为第88轮,则本轮迭代的反向传播停止在第22层,若当前迭代轮数为第120轮,则本轮反向传播停止在第54层。
又举例来说,假设神经网络模型包括66个网络层,从第一轮开始便进行不完整的反向传播,若当前迭代轮数为第5轮,则本轮迭代的反向传播停止在第5层,若当前迭代轮数为第 65轮,则本轮迭代的反向传播停止在第65层,若当前迭代轮数为第120轮,则本轮反向传播停止在第54层。
需要说明的是,本申请实施例中,可以设置神经网络模型的层数从序号0开始,即66层的神经网络模型编号可以为从0至65,若当前迭代轮数为第66轮,则本轮迭代的反向传播停止在第0层。
可以看到,在神经网络模型的训练过程中,减少了反向传播和参数更新的层数,对于那些没有进行反向传播的层,无需计算参数的梯度,也就意味着减少了训练过程中的计算量和计算时间,缩短了训练时间,同时也节约了计算资源,在大规模训练中,更是减少了不同显卡GPU上的梯度的通信时间,提高了训练速率;另外本实施例中,根据当前迭代的轮数确定反向传播停止层,方法简单,易于计算,适用于对神经网络模型精度要求不高的场合。
参考图4,图4为本申请实施例提供的一种确定当前迭代训练的反向传播停止层的方法,其中,对反向传播的截止进行逐层判断,该方法包括但不限于:
S401、计算当前网络层的梯度。
一般来说,反向传播是从神经网络模型的最后一层向第一层进行传播的。反向传播的过程就是计算神经网络模型各网络层的梯度的过程,当反向传播至当前网络层,计算当前网络层的梯度。
需要说明的是,本公开实施例中确定反向传播停止层是发生在反向传播的过程中的,即确定反向传播停止层与反向传播不是两个独立过程,而是在进行反向传播的同时,也在确定反向传播停止层。
需要说明的是,本申请实施例中,可以设置神经网络模型的层数从序号0开始,则反向传播就是从神经网络模型的最后一层向第0层进行传播的,这里的当前网络层可以是神经网络模型的最后一层,或中间某一层。
S402、根据当前网络层的梯度与权重,确定当前网络层是否为当前迭代的反向传播停止层。
计算出当前网络层的梯度之后,根据当前网络层的梯度与权重,确定当前网络层是否为反向传播停止层。
在一种可能的实现方式中,可以通过判断当前网络层的参数(例如梯度和权重,或其他类型的参数)是否满足设定条件,来确定当前网络层是否为反向传播停止层。
在一个可选例子中,根据当前网络层中的梯度与权重的比值以及预设阈值,确定当前网络层是否为反向传播停止层。例如,如果当前网络层中的梯度与权重的比值小于或等于预设阈值,则确定当前网络层为当前迭代的反向传播停止层,若该比值大于预设阈值,则反向传播继续向下一层传播。
如果当前网络层的梯度或权重的个数为多个,则可以对多个梯度或多个权重分别求比值,并将得到的多个比值进行平均处理、求最大值或进行其他类型的处理,得到最终的比值。或者,也可以从多个梯度或多个权重中选出目标梯度或目标权重,并基于选出的目标梯度或目标权重得到比值,本公开实施例对此不做限定。
在一个可选例子中,神经网络模型的网络层中包括多个权重,计算得出多个梯度,可以根据当前网络层中的梯度归一化值与权重归一化值的比值与预设阈值的关系,确定当前网络层是否为反向传播停止层,其中,梯度归一化值为当前网络层的多个梯度的绝对值的平均处理结果,权重归一化值为当前网络层的多个权重的绝对值的平均处理结果,这里的平均处理可以是算术平均、加权平均、或几何平均等等。例如,基于当前网络层的多个梯度和多个权重,计算当前网络层中的梯度归一化值和权重归一化值;计算当前网络层中的梯度归一化值与权重归一化值的比值;将该比值与预设阈值进行比较,若该比值小于或等于预设阈值,则确定当前网络层为当前迭代的反向传播停止层,若该比值大于预设阈值,则反向传播继续向下一层传播。
在一个可选例子中,也可以根据当前网络层中的梯度方差值与权重方差值的比值与预设阈值的关系,确定当前网络层是否为反向传播停止层。例如,基于当前网络层的多个梯度和多个权重,计算当前网络层中的梯度方差值和权重方差值;计算当前网络层中的梯度方差值与权重方差值的比值;将该比值与预设阈值进行比较,若该比值小于或等于预设阈值,则确定当前网络层为当前迭代的反向传播停止层,若该比值大于预设阈值,则反向传播继续向下一层传播。
在本公开实施例中,可以从神经网络模型的最后一层开始,针对每一个网络层执行S401 和S402的操作,直到找到当前迭代的反向传播停止层。
需要说明的是,预设阈值是预先设置的,每一轮迭代训练对应一个预设阈值,其中,不同轮的预设阈值可以相同,或者,不同轮的预设阈值可以不同。在一些可选实施例中,预设阈值是按照一定的策略进行调整的。例如,预设阈值的设置使得迭代的轮数越小,反向传播停止层的层序号越小,这样,能够提高训练得到的神经网络模型的性能。
在一种可能的实施方式中,可以设置预设阈值的调整频率,预设阈值的调整频率是指阈值每几轮调整一次或者每多长时间调整一次或者是按什么样的方式进行调整。例如,预设阈值可以每轮调整一次。
在一种可能的实施方式中,可以设置预设阈值的调整函数,调整函数不同,预设阈值的变化方式不同。在一个例子中,预设阈值随着迭代轮数的增大而增大,例如,预设阈值可以按照线性增长方式变化,也可以是指数增长方式变化,或者其他方式等变化,预设阈值可以通过线性函数或指数函数或其他函数等进行设置,例如,将预设阈值设置为某一函数的函数值,迭代轮数作为自变量,预设阈值随着迭代轮数的变化而变化。
可以看到,在每一轮迭代训练中,可以根据各网络层的梯度与权重,确定当前迭代的反向传播停止层,具体可以为:在反向传播至当前网络层时,计算当前网络层的梯度;根据当前网络层的梯度与权重的比值与预设阈值的关系,确定当前迭代的反向传播停止层:若当前网络层的梯度与权重的比值小于或等于预设阈值,确定当前网络层为反向传播停止层,若当前网络层的梯度与权重的比值大于预设阈值,反向传播继续向下一层传播;循环上述步骤,直至确定当前迭代的反向传播停止层。在反向传播过程中,梯度与权重的比值是不断变化的,根据计算出的各网络层的梯度与权重的比值,确定反向传播停止层,减小神经网络模型整体训练时间,提高训练效率,能够得到较精确的神经网络模型。
基于图4中确定当前迭代的反向传播停止层的方法,本申请实施例提供了神经网络模型训练过程的一个示例的流程示意图,参考图5。
神经网络模型是经过多轮的迭代训练,最终达到收敛的。在第一轮不完整反向传播的迭代中,预先设置有初始阈值,首先进行完整的前向传播,得到网络损失;然后进行反向传播,在反向传播中,计算各层的梯度norm值,根据各层的梯度norm值与权重norm值的比值与初始阈值的关系确定反向传播停止层,具体为:从最后一层开始,将最后一层的梯度norm值与权重norm值的比值与初始阈值进行比较,若大于初始阈值,则继续向下一层传播,直到传播到所在层的梯度norm值与权重norm值的比值小于或等于初始阈值,则反向传播在该层截止;最后根据反向传播过程中计算得到的梯度值对参数进行更新,完成第一轮的迭代;在第二轮迭代训练时,调整初始阈值,按照上述同样的方法进行完整的前向传播和不完整的反向传播,再次更新参数,完成第二轮迭代;依次类推进行迭代训练,直至神经网络模型收敛。
在有些情形下,仅仅利用上述中各个层的梯度归一化值与权重归一化值的比值与阈值的关系决定反向传播停止层,可能会出现在反向传播过程中,某一层的梯度norm值和权重norm 值的比值一直小于阈值,导致该层之前的层一直无法被更新,这种情况下可能会影响神经网络的收敛性。基于此,本申请实施例还提供了一种确定当前迭代训练的反向传播停止层的方法,参考图6所示,该方法包括但不限于:
S501、根据神经网络模型的各网络层的时钟数,确定当前迭代的目标网络层。
神经网络模型的一层或多层可以设置有相应的时钟数,根据神经网络模型的各网络层的时钟数,确定当前迭代的目标网络层。
在一种可能的实施方式中,通过当前迭代轮数对各网络层的时钟数进行取模运算,可以设置取模结果为0(也可以设置取模结果为其他数值)的网络层为候选目标层,然后从至少一个候选目标层中确定层序号最小的网络层为目标网络层。举例来说,在当前迭代过程中,当前迭代轮数对时钟数取模为0的层有第8层、第10层、第11层,即候选目标层为第8层、第10层、第11层,则确定层序号最小的网络层第8层为目标层。需要说明的是,也可以通过其他方式确定目标网络层,本申请对此不作具体限制。
可以基于各种策略进行网络层的时钟数的设置,在一些实施例中,神经网络模型中的时钟数是基于第一策略和第二策略中的至少一种设置的,其中,第一策略包括:网络层的层数越大,设置的时钟数越大。时钟数越小,迭代轮数对时钟数取模运算时,其结果为0的频率就越高,将较浅的网络层的时钟数设置的较小,这样反向传播时到达该网络层的频率高,那么大于该网络层的较深的层也就会进行反向传播及参数更新。第二策略包括:对于神经网络模型中训练重要性较高的至少一个网络层,设置较小的时钟数。在神经网络模型中可能会存在某个或某些比较重要的层,对于这样的网络层,会设置一个较小的时钟数,这样迭代轮数对该较小的时钟数取模运算,结果为0的次数会比较多,这样训练重要性较高的至少一个网络层进行反向传播的频率高,增加训练的准确性,使神经网络模型更早地趋于稳定。
在一种可能的实施方式中,时钟数可以通过函数进行设置。例如,通过线性函数或正比例函数设置时钟数,以网络层的层序号为线性函数或正比例函数的自变量,时钟数为线性函数或正比例函数的因变量(函数值),对神经网络的多个网络层进行时钟数设置。
在一种可能的实施方式中,时钟数可以是通过随机函数随机生成的。例如,设置随机函数根据上述第一策略或上述第二策略中的至少一种生成随机数。
需要说明的是,还可以通过其他方式设置一个或多个网络层的时钟数,例如,人为设置。本申请对时钟数的设置方式不作具体限定。
S502、基于深度小于目标网络层的至少一个网络层在当前迭代中的梯度与权重,确定当前迭代的反向传播停止层。
若当前迭代中存在目标网络层,则对于深度大于目标网络层的至少一个网络层直接进行反向传播,而且在反向传播过程中,只需计算至少一个网络层中的多个梯度值,无需计算梯度norm值、梯度norm值与权重norm值的比值,对于深度小于目标网络层的网络层,根据各层的梯度和权重,确定当前迭代的反向传播停止层。例如,若确定目标网络层为第8层,对于位于第8层之后的所有层(从第8层开始至最后一层)都进行反向传播,实际上,是从最后一层传播至第8层,这些网络层只需计算各层的各个梯度值,对于位于第8层之前的所有层,根据各层的梯度norm值与权重norm值的比值,确定当前迭代的反向传播停止层。
在一种可能的实施方式中,对于深度小于目标网络层的网络层来说,可以根据当前网络层中的梯度与权重的比值以及预设阈值,确定当前迭代的反向传播停止层。首先,计算出当前网络层的梯度,然后计算当前网络层中的梯度与权重的比值,再将该比值与预设阈值进行比较,若该比值小于或等于预设阈值,则确定当前网络层为当前迭代的反向传播停止层,若该比值大于预设阈值,则反向传播继续向下一层传播。再将下一层的梯度与权重的比值与预设阈值进行比较,根据比较结果确定是否为反向传播停止层,直至确定出反向传播停止层。
如果当前网络层的梯度或权重的个数为多个,则可以对多个梯度或多个权重分别求比值,并将得到的多个比值进行平均处理、求最大值或进行其他类型的处理,得到最终的比值。或者,也可以从多个梯度或多个权重中选出目标梯度或目标权重,并基于选出的目标梯度或目标权重得到比值,本公开实施例对此不做限定。
在一种更具体的可能的实施方式中,对于深度小于目标网络层的网络层来说,可以根据当前网络层中的梯度归一化值与权重归一化值的比值以及预设阈值,确定当前迭代的反向传播停止层。其中,梯度归一化值为当前网络层的多个梯度的绝对值的平均值,权重归一化值为当前网络层的多个权重的绝对值的平均处理结果,这里的平均处理可以是算术平均、加权平均、或几何平均等等。例如,基于当前网络层的多个梯度和多个权重,计算当前网络层中的梯度归一化值和权重归一化值;计算当前网络层中的梯度归一化值与权重归一化值的比值;将该比值与预设阈值进行比较,若该比值大于预设阈值,则反向传播继续向下一层传播,直到所在网络层的该比值小于或等于预设阈值,则确定所在网络层为当前迭代的反向传播停止层。
需要说明的是,对于深度小于目标网络层的网络层来说,还可以根据当前网络层中的梯度方差值与权重方差值的比值以及预设阈值,确定当前迭代的反向传播停止层,方法参考上述实施方式的描述,为了说明书的简洁,在此不再赘述。
还需要说明的是,上述实施方式中的预设阈值是变化,对于每一轮迭代来说,预设阈值可能是不同的,关于阈值的设置参考上述S402中关于预设阈值的描述,为了说明书的简洁,在此不再赘述。
S503、若当前迭代中不存在目标网络层,根据神经网络模型中的至少一个网络层在当前迭代中的梯度与权重,确定当前迭代的反向传播停止层。
若当前迭代中不存在目标网络层,也就是若不存在当前迭代轮数对时钟数取模结果为0 的层,即迭代轮数对各网络层的时钟数取模均不为0,则直接根据各网络层的梯度与权重,确定当前迭代的反向传播停止层。
如果当前网络层的梯度或权重的个数为多个,则可以对多个梯度或多个权重分别求比值,并将得到的多个比值进行平均处理、求最大值或进行其他类型的处理,得到最终的比值。或者,也可以从多个梯度或多个权重中选出目标梯度或目标权重,并基于选出的目标梯度或目标权重得到比值,本公开实施例对此不做限定。
在一种可能的实施方式中,可以根据各网络层的梯度norm值和权重norm值的比值与预设阈值的关系,确定当前迭代的反向传播停止层,具体方法参考S402中的描述,为了说明书的简洁,在此不再赘述。
在又一种可能的实施方式中,可以根据各网络层的梯度方差值和权重方差值的比值与预设阈值的关系,确定当前迭代的反向传播停止层,具体方法参考S402中的描述,为了说明书的简洁,在此不再赘述。
还需要说明的是,本申请实施例还提供了训练过程中的算法优化修正方法。1)在传统的神经网络训练中,在反向传播时,除了梯度影响权重的变化外,在有些应用的训练中,还有其他一些影响权重变化的因素,比如影响收敛速度的参数weightdecay和momentum,在本申请中,由于采用的不完整的反向传播形式,每一轮中有些层可能没有进行反向传播,没有梯度产生,所以本申请去除了weightdecay和momentum带来的权重的变化。2)在不完整的反向传播中,由于和正常的训练相比,减少了某些层参数的更新次数,在一定程度上会带来信息的丢失,从而会可能对精度产生影响,因此,我们可以通过增加训练的轮数来弥补对精度的影响,通过适当的增加训练的轮数,能够增加对模型的训练,有助于对弥补不完整的反向传播对精度带来的影响。
在大规模训练中,一般同时使用多个显卡处理器GPU来对数据进行处理,但是反向传播过程中,不同GPU上产生的所有梯度都需要进行通信,这仍会消耗大量的通信时间,因此减少需要通信的梯度数量会对大规模训练的通信时间带来显著提升。本申实施例是和其他通信方法正交的(互不影响的),利用不完整的反向传播,可以减少需要更新的梯度数量,再结合其他通信方案,能够有效的减少大规模训练的通信时间,提高大规模训练的加速比。
可以看到,本申请实施例中,在神经网络模型的每一层设置了时钟数,首先,根据神经网络模型的各网络层的时钟数,确定当前迭代的目标网络层;然后,对于深度大于目标网络层的网络层,直接进行反向传播,计算梯度,对于深度小于目标网络层的网络层,根据梯度和权重,确定当前迭代的反向传播停止层;若不存在目标网络层,则直接根据梯度和权重,确定当前迭代的反向传播停止层。先通过时钟数确定目标网络层,在通过预设阈值确定反向传播停止层,避免了上述方案中的缺陷,减少了神经网络模型的训练时间,节省了计算资源,能够得到精准的神经网络模型,本申请实施例中适用于任何神经网络模型的训练。
参考图7,图7为本申请实施例提供的一种图像处理方法,该方法包括但不限于:
S701、获取图像。
获取图像,本申请对图像的获取方式以及图像类型不限。例如,可以是摄像机采集的图像,也可以是通过移动设备拷贝的图像,或者通过其他方式获取的图像;可以是人脸图像,也可以是物品图像,也可以是植物图像,或者其他图像等等。
S702、将图像输入训练好的神经网络模型中进行处理,获得处理结果。
将图像输入神经网络模型中进行处理,获得处理结果,其中神经网络模型是预先训练好的。
在一种可能的实施方式中,神经网络模型训练过程可以为:从第一轮迭代训练开始,对神经网络模型进行不完整的反向传播,直至神经网络模型收敛。其中,每一轮迭代训练中,先通过神经网络模型对样本图像进行处理,得到网络损失;然后确定当前迭代的反向传播停止层;最后基于网络损失进行神经网络模型中多个网络层的反向传播、参数更新。
在一种可能的实施方式中,神经网络模型训练过程可以为:先进行至少一轮的迭代训练,其中,在至少一轮迭代训练过程中,对神经网络模型的所有网络层进行反向传播、参数更新。在之后的每一轮迭代训练中,通过前向传播对样本图像进行处理,得到网络损失,然后确定当前迭代的反向传播停止层,基于网络损失对神经网络模型中的多个网络层进行反向传播、参数更新。
其中,确定当前迭代的反向传播停止层的方法,可以为,根据所述当前迭代的轮数,确定所述反向传播停止层;也可以为,根据神经网络模型的至少一个网络层在当前迭代中的梯度与权重的比值以及预设阈值,确定当前迭代的反向传播停止层;也可以为,先根据神经网络模型的至少一个网络层的时钟数,确定当前迭代的目标网络层,再基于深度小于目标网络层的至少一个网络层在当前迭代中的梯度与权重,确定当前迭代的反向传播停止层。
可以看到,首先获取图像,然后利用训练好的神经网络模型对图像进行处理,获得处理结果。其中,神经网络模型在起初的迭代训练中,每一轮是对所有网络层进行反向传播和参数更新,以保证所有网络层都得到训练;在之后的多轮迭代训练中,每一轮迭代中,先通过前向传播对样本图像进行处理,得到网络损失,其次,确定当前迭代的反向传播停止层,然后,基于网络损失进行反向传播至停止层,最后,根据反向传播中计算得到的梯度,对神经网络模型中多个网络层进行参数更新至停止层,经过多轮如此的训练最终至神经网络收敛。所以实施本申请实施例,需要预先训练该神经网络模型,利用训练好的神经网络模型对图像进行处理,获得处理结果,通过减少神经网络模型的训练时间,从而缩短了图像处理的时间,在保证图像处理性能的情况下,提高图像处理效率。
参考图8,图8为本申请实施例提供的一种神经网络模型的训练装置60的示意图,该装置60包括:
处理单元601,用于在当前迭代中,通过神经网络模型对样本图像进行处理,得到网络损失;
确定单元602,用于确定当前迭代的反向传播停止层;
更新单元603,用于基于网络损失进行神经网络模型中多个网络层的参数更新,其中,神经网络模型中深度小于反向传播停止层的至少一个网络层的参数保持不变。
在一种具体实施例中,确定单元602用于根据当前迭代的轮数,确定停止层。
在一种具体实施例中,确定单元602具体用于通过当前迭代的轮数对神经网络模型的总层数进行取余运算,得到反向传播停止层的层序号。
在一种具体实施例中,确定单元602具体用于根据神经网络模型的至少一个网络层在当前迭代中的梯度与权重,和/或时钟数,确定当前迭代的反向传播停止层。
在一种具体实施例中,确定单元602具体用于根据神经网络模型的至少一个网络层的时钟数,确定当前迭代的目标网络层;基于深度小于目标网络层的至少一个网络层在当前迭代中的梯度与权重,确定当前迭代的反向传播停止层。
在一种具体实施例中,确定单元602具体用于基于当前迭代的轮数以及神经网络模型中每个网络层的时钟数,确定当前迭代的目标网络层。
在一种具体实施例中,确定单元602具体用于,若当前迭代中不存在目标网络层,根据神经网络模型中的至少一个网络层在当前迭代中的梯度与权重,确定当前迭代的反向传播停止层。
在一种具体实施例中,确定单元602具体用于根据神经网络模型的至少一个网络层在当前迭代中的梯度与权重的比值以及预设阈值,确定当前迭代的反向传播停止层。
在一种具体实施例中,确定单元602具体用于,若神经网络模型的当前网络层中,梯度归一化值与权重归一化值的比值小于或等于预设阈值,确定当前网络层为反向传播停止层,其中,梯度归一化值为当前网络层的多个梯度的绝对值的平均值,权重归一化值为当前网络层的多个权重的绝对值的平均值。
在一种具体实施例中,神经网络模型中的至少一个网络层的时钟数是基于第一策略和第二策略中的至少一种设置的;其中,第一策略包括:网络层的层数越大,设置的时钟数越大,第二策略包括:对于神经网络模型中对于训练重要性较高的至少一个网络层,设置较小的时钟数。
在一种具体实施例中,确定单元602具体用于,若不存在目标层,根据所在层的多个梯度与多个权重确定所在层是否为停止层。
在一种具体实施例中,确定单元602具体用于,根据所在层的梯度归一化值与权重归一化值确定所在层是否为停止层;其中,梯度归一化值是所在层的多个梯度的绝对值的平均值,权重归一化值是所在层的多个权重的绝对值的平均值。
在一种具体实施例中,根据第一预设策略对预设阈值进行调整,第一预设策略包括预设阈值的调整频率和/或预设阈值的调整函数。
在一种具体实施例中,调整频率为每迭代一轮调整一次。
在一种具体实施例中,调整函数为增函数,预设阈值为增函数的函数值;根据第一预设策略对预设阈值进行调整,包括:预设阈值随迭代轮数的增加逐渐增大。
在一种具体实施例中,更新单元603具体用于,基于网络损失进行反向传播,计算神经网络模型中多个网络层的梯度,直至到达反向传播停止层;基于多个网络层的梯度,对多个网络层进行参数更新,其中,深度小于反向传播停层的至少一个网络层的参数保持不变。
在一种具体实施例中,装置还包括预处理单元604,预处理单元604用于,在进行当前迭代之前,对神经网络模型进行至少一轮迭代训练,其中,在至少一轮迭代训练过程中,对神经网络模型的所有网络层进行参数更新。
上述装置60的各功能模块用于实现图2或图3或图4或图6实施例所描述的方法,具体内容可参考图2或图3或图4或图6实施例的相关内容中的描述,为了说明书的简洁,这里不再赘述。
参考图9,图9为本申请实施例提供的一种神经网络模型的训练设备700的示意图,至少包括:处理器710、通信接口720和存储器730,处理器710、通信接口720和存储器730 通过总线740进行耦合。其中,
处理器710通过调用存储器730中的程序代码,用于运行图8中的处理单元601、确定单元602、更新单元603、预处理单元604。在实际应用中,处理器710可以包括一个或者多个通用处理器,其中,通用处理器可以是能够处理电子指令的任何类型的设备,包括中央处理器(Central Processing Unit,CPU)、微处理器、微控制器、主处理器、控制器以及ASIC(Application Specific Integrated Circuit,专用集成电路)等等。处理器710读取存储器730 中存储的程序代码,与通信接口720配合执行本申请上述实施例中量化神经网络模型的训练方法的部分或者全部步骤。
通信接口720可以为有线接口(例如以太网接口),用于与其他计算节点或装置进行通信。当通信接口720为有线接口时,通信接口720可以采用TCP/IP之上的协议族,例如,RAAS 协议、远程函数调用(Remote Function Call,RFC)协议、简单对象访问协议(SimpleObject Access Protocol,SOAP)协议、简单网络管理协议(Simple Network ManagementProtocol, SNMP)协议、公共对象请求代理体系结构(Common Object Request BrokerArchitecture, CORBA)协议以及分布式协议等等。
存储器730可以存储有程序代码以及程序数据。其中,程序代码包括处理单元601的代码、确定单元602的代码、更新单元603的代码、预处理单元604的代码。程序数据包括:迭代轮数,梯度值,梯度归一化值,权重归一化值,阈值,时钟数等等。在实际应用中,存储器730可以包括易失性存储器(Volatile Memory),例如随机存取存储器(Random AccessMemory,RAM);存储器也可以包括非易失性存储器(Non-Volatile Memory),例如只读存储器(Read-Only Memory,ROM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,HDD)或固态硬盘(Solid-State Drive,SSD)存储器还可以包括上述种类的存储器的组合。
参考图10,图10为本申请实施例提供的一种图像处理装置80的示意图,该装置80包括:
获取单元801,用于获取图像,本申请对图像的获取方式以及图像类型不限,可以是摄像机采集的图像,也可以是通过移动设备拷贝的图像,或者通过其他方式获取的图像;可以是人脸图像,也可以是物品图像,也可以是植物图像,或者其他图像等等。
图像处理单元802,用于将图像输入训练好的神经网络模型中进行处理,获得处理结果。
在一种可能的实施方式中,神经网络模型训练过程可以为:从第一轮迭代训练开始,对神经网络模型进行不完整的反向传播,直至神经网络模型收敛。其中,每一轮迭代训练中,先通过神经网络模型对样本图像进行处理,得到网络损失;然后确定当前迭代的反向传播停止层;最后基于网络损失进行神经网络模型中多个网络层的反向传播、参数更新。
在一种可能的实施方式中,神经网络模型训练过程可以为:先进行至少一轮的迭代训练,其中,在至少一轮迭代训练过程中,对神经网络模型的所有网络层进行反向传播、参数更新。在之后的每一轮迭代训练中,通过前向传播对样本图像进行处理,得到网络损失,然后确定当前迭代的反向传播停止层,基于网络损失对神经网络模型中的多个网络层进行反向传播、参数更新。
其中,确定当前迭代的反向传播停止层的方法,可以为,根据所述当前迭代的轮数,确定所述反向传播停止层;也可以为,根据神经网络模型的至少一个网络层在当前迭代中的梯度与权重的比值以及预设阈值,确定当前迭代的反向传播停止层;也可以为,先根据神经网络模型的至少一个网络层的时钟数,确定当前迭代的目标网络层,再基于深度小于目标网络层的至少一个网络层在当前迭代中的梯度与权重,确定当前迭代的反向传播停止层。
上述装置80的各功能模块用于实现图7实施例所描述的方法,具体内容可参考图7实施例的相关内容中的描述,为了说明书的简洁,这里不再赘述。
参考图11,图11为本申请实施例提供的一种图像处理设备900的示意图,至少包括:处理器910、通信接口920和存储器930,处理器910、通信接口920和存储器930通过总线940进行耦合。其中,
处理器910通过调用存储器930中的程序代码,用于运行图10中的获取单元801、图像处理单元802。在实际应用中,处理器910可以包括一个或者多个通用处理器,其中,通用处理器可以是能够处理电子指令的任何类型的设备,包括中央处理器(CentralProcessing Unit, CPU)、微处理器、微控制器、主处理器、控制器以及ASIC(ApplicationSpecific Integrated Circuit,专用集成电路)等等。处理器910读取存储器930中存储的程序代码,与通信接口920配合执行本申请上述实施例中图像处理方法的部分或者全部步骤。
通信接口920可以为有线接口(例如以太网接口),用于与其他计算节点或装置进行通信。当通信接口920为有线接口时,通信接口920可以采用TCP/IP之上的协议族,例如,RAAS 协议、远程函数调用(Remote Function Call,RFC)协议、简单对象访问协议(SimpleObject Access Protocol,SOAP)协议、简单网络管理协议(Simple Network ManagementProtocol, SNMP)协议、公共对象请求代理体系结构(Common Object Request BrokerArchitecture, CORBA)协议以及分布式协议等等。
存储器930可以存储有程序代码以及程序数据。其中,程序代码包获取单元801的代码、图像处理单元802的代码。程序数据包括:图像,处理结果等等。在实际应用中,存储器930 可以包括易失性存储器(Volatile Memory),例如随机存取存储器(Random AccessMemory, RAM);存储器也可以包括非易失性存储器(Non-Volatile Memory),例如只读存储器 (Read-Only Memory,ROM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,HDD)或固态硬盘(Solid-State Drive,SSD)存储器还可以包括上述种类的存储器的组合。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,所述计算机程序被硬件(例如处理器等)执行,以实现本申请实施例中神经网络的训练装置执行的任意一种方法的部分或者全部步骤。
本申请实施例还提供一种计算机程序产品,当所述计算机程序产品被计算机读取并执行时,使得神经网络的训练装置执行本申请实施例中神经网络的训练方法的部分或全部步骤。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,所述计算机程序被硬件(例如处理器等)执行,以实现本申请实施例中图像处理装置执行的任意一种方法的部分或者全部步骤。
本申请实施例还提供一种计算机程序产品,当所述计算机程序产品被计算机读取并执行时,使得图像处理装置执行本申请实施例中图像处理方法的部分或全部步骤。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、存储盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态存储盘SolidState Disk,SSD)等。在所述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,也可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本申请实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (16)
1.一种神经网络模型的训练方法,其特征在于,包括:
在当前迭代中,通过所述神经网络模型对样本图像进行处理,得到网络损失;
确定所述当前迭代的反向传播停止层;
基于所述网络损失进行所述神经网络模型中多个网络层的参数更新,其中,所述神经网络模型中深度小于所述反向传播停止层的至少一个网络层的参数保持不变。
2.根据权利要求1所述的方法,其特征在于,所述确定所述当前迭代的反向传播停止层,包括:
根据所述当前迭代的轮数,确定所述反向传播停止层。
3.根据权利要求1所述的方法,其特征在于,所述确定所述当前迭代的反向传播停止层,包括:
根据所述神经网络模型的至少一个网络层在所述当前迭代中的梯度与权重,和/或时钟数,确定所述当前迭代的反向传播停止层。
4.根据权利要求3所述的方法,其特征在于,所述根据所述神经网络模型的至少一个网络层在所述当前迭代中的梯度与权重,和/或时钟数,确定所述当前迭代的反向传播停止层,包括:
根据所述神经网络模型的至少一个网络层的时钟数,确定所述当前迭代的目标网络层;
基于深度小于所述目标网络层的至少一个网络层在所述当前迭代中的梯度与权重,确定所述当前迭代的反向传播停止层。
5.根据权利要求4所述的方法,其特征在于,所述根据所述神经网络模型的至少一个网络层的时钟数,确定所述当前迭代的目标网络层,包括:
基于所述当前迭代的轮数以及所述神经网络模型中每个网络层的时钟数,确定所述当前迭代的目标网络层。
6.根据权利要求4或5所述的方法,其特征在于,所述方法还包括:
若所述当前迭代中不存在所述目标网络层,根据所述神经网络模型中的至少一个网络层在所述当前迭代中的梯度与权重,确定所述当前迭代的反向传播停止层。
7.根据权利要求3-6中任一项所述的方法,其特征在于,所述根据所述神经网络模型的至少一个网络层在所述当前迭代中的梯度与权重,和/或时钟数,确定所述当前迭代的反向传播停止层,包括:
根据所述神经网络模型的至少一个网络层在所述当前迭代中的梯度与权重的比值以及预设阈值,确定所述当前迭代的反向传播停止层。
8.根据权利要求3-7任一项所述的方法,其特征在于,所述神经网络模型中的至少一个网络层的时钟数是基于第一策略和第二策略中的至少一种设置的;其中,所述第一策略包括:网络层的层数越大,设置的时钟数越大,所述第二策略包括:对于所述神经网络模型中训练重要性较高的至少一个网络层,设置较小的时钟数。
9.根据权利要求1-8任一项所述的方法,其特征在于,所述基于所述网络损失进行所述神经网络模型中多个网络层的参数更新,其中,所述神经网络模型中深度小于所述反向传播停止层的至少一个网络层的参数保持不变,包括:
基于所述网络损失进行反向传播,得到所述神经网络模型中多个网络层的梯度,直至到达所述反向传播停止层;
基于所述多个网络层的梯度,对所述多个网络层进行参数更新,其中,所述神经网络模型中深度小于所述反向传播停层的至少一个网络层的参数保持不变。
10.根据权利要求1-9任一项所述的方法,其特征在于,在进行所述当前迭代之前,还包括:
对所述神经网络模型进行至少一轮迭代训练,其中,在所述至少一轮迭代训练过程中,对所述神经网络模型的所有网络层进行参数更新。
11.一种图像处理方法,其特征在于,包括:
获取图像;
将所述图像输入训练好的神经网络模型中进行处理,获得处理结果;其中,所述神经网络模型是通过权利要求1-10任一项所述的方法训练得到的。
12.一种神经网络模型的训练装置,其特征在于,包括:
处理单元,用于在当前迭代中,通过所述神经网络模型对样本图像进行处理,得到网络损失;
确定单元,用于确定所述当前迭代的反向传播停止层;
更新单元,用于基于所述网络损失进行所述神经网络模型中多个网络层的参数更新,其中,所述神经网络模型中深度小于所述反向传播停止层的至少一个网络层的参数保持不变。
13.一种图像处理装置,其特征在于,包括:
获取单元,用于获取图像;
图像处理单元,用于将所述图像输入训练好的神经网络模型中进行处理,获取处理结果;所述神经网络模型是通过权利要求1-10任一项所述的方法训练得到的。
14.一种神经网络模型的训练设备,其特征在于,所述设备包括存储器和处理器,所述存储器用于存储指令,所述处理器用于调用所述存储器中存储的指令,执行如权利要求1-10任一项所述的方法。
15.一种图像处理设备,其特征在于,所述设备包括存储器和处理器,所述存储器用于存储指令,所述处理器用于调用所述存储器中存储的指令,执行权利要求11所述的方法。
16.一种计算机可读存储介质,其特征在于,包括程序指令,当所述程序指令在计算机上运行时,使得计算机执行如权利要求1-11任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010359887.9A CN113570054A (zh) | 2020-04-29 | 2020-04-29 | 神经网络模型的训练方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010359887.9A CN113570054A (zh) | 2020-04-29 | 2020-04-29 | 神经网络模型的训练方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113570054A true CN113570054A (zh) | 2021-10-29 |
Family
ID=78158663
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010359887.9A Pending CN113570054A (zh) | 2020-04-29 | 2020-04-29 | 神经网络模型的训练方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113570054A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106384080A (zh) * | 2016-08-31 | 2017-02-08 | 广州精点计算机科技有限公司 | 一种基于卷积神经网络的表观年龄估计方法及装置 |
CN109146000A (zh) * | 2018-09-07 | 2019-01-04 | 电子科技大学 | 一种基于冰冻权值改进卷积神经网络的方法及装置 |
CN109359120A (zh) * | 2018-11-09 | 2019-02-19 | 阿里巴巴集团控股有限公司 | 一种模型训练中的数据更新方法、装置及设备 |
WO2019120019A1 (zh) * | 2017-12-20 | 2019-06-27 | Oppo广东移动通信有限公司 | 用户性别预测方法、装置、存储介质及电子设备 |
CN110186375A (zh) * | 2019-06-06 | 2019-08-30 | 西南交通大学 | 智能化高铁白车身焊接装配特征检测装置及检测方法 |
CN110427804A (zh) * | 2019-06-18 | 2019-11-08 | 中山大学 | 一种基于二次迁移学习的虹膜身份验证方法 |
CN110705689A (zh) * | 2019-09-11 | 2020-01-17 | 清华大学 | 可区分特征的持续学习方法及装置 |
-
2020
- 2020-04-29 CN CN202010359887.9A patent/CN113570054A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106384080A (zh) * | 2016-08-31 | 2017-02-08 | 广州精点计算机科技有限公司 | 一种基于卷积神经网络的表观年龄估计方法及装置 |
WO2019120019A1 (zh) * | 2017-12-20 | 2019-06-27 | Oppo广东移动通信有限公司 | 用户性别预测方法、装置、存储介质及电子设备 |
CN109146000A (zh) * | 2018-09-07 | 2019-01-04 | 电子科技大学 | 一种基于冰冻权值改进卷积神经网络的方法及装置 |
CN109359120A (zh) * | 2018-11-09 | 2019-02-19 | 阿里巴巴集团控股有限公司 | 一种模型训练中的数据更新方法、装置及设备 |
CN110186375A (zh) * | 2019-06-06 | 2019-08-30 | 西南交通大学 | 智能化高铁白车身焊接装配特征检测装置及检测方法 |
CN110427804A (zh) * | 2019-06-18 | 2019-11-08 | 中山大学 | 一种基于二次迁移学习的虹膜身份验证方法 |
CN110705689A (zh) * | 2019-09-11 | 2020-01-17 | 清华大学 | 可区分特征的持续学习方法及装置 |
Non-Patent Citations (1)
Title |
---|
丁红;吴德敏;荣杰;: "BP神经网络在柳江径流预测中的应用", 广西工学院学报, no. 03, 15 September 2013 (2013-09-15), pages 82 - 87 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110008952B (zh) | 一种目标识别方法及设备 | |
US20180211166A1 (en) | Distributed deep learning device and distributed deep learning system | |
CN108885787B (zh) | 训练图像修复模型的方法、图像修复方法、装置、介质及设备 | |
EP4248378A2 (en) | System and method of federated learning with diversified feedback | |
CN110020616B (zh) | 一种目标识别方法及设备 | |
CN113568727A (zh) | 一种基于深度强化学习的移动边缘计算任务分配方法 | |
CN114116705B (zh) | 联合学习中确定参与方贡献值的方法及装置 | |
JP2012208924A (ja) | 適応的重み付けを用いた様々な文書間類似度計算方法に基づいた文書比較方法および文書比較システム | |
CN111160531A (zh) | 神经网络模型的分布式训练方法、装置及电子设备 | |
CN113965313A (zh) | 基于同态加密的模型训练方法、装置、设备以及存储介质 | |
CN110517201B (zh) | 循环保边平滑滤波的方法、装置和电子设备 | |
CN109190757B (zh) | 任务处理方法、装置、设备及计算机可读存储介质 | |
CN109348260B (zh) | 一种直播间推荐方法、装置、设备及介质 | |
CN109388784A (zh) | 最小熵核密度估计器生成方法、装置和计算机可读存储介质 | |
CN113312239B (zh) | 一种数据检测方法、装置、电子设备及介质 | |
CN114742237A (zh) | 联邦学习模型聚合方法、装置、电子设备及可读存储介质 | |
CN114492794A (zh) | 用于处理数据的方法、装置、设备、介质和产品 | |
CN113570054A (zh) | 神经网络模型的训练方法、装置、设备及存储介质 | |
CN117351299A (zh) | 图像生成及模型训练方法、装置、设备和存储介质 | |
US20220405561A1 (en) | Electronic device and controlling method of electronic device | |
CN110781410A (zh) | 一种社群检测方法及装置 | |
CN115686821A (zh) | 一种边缘计算任务的卸载方法及装置 | |
CN114118358A (zh) | 图像处理方法、装置、电子设备、介质及程序产品 | |
WO2018198298A1 (ja) | パラメータ推定装置、パラメータ推定方法、及びコンピュータ読み取り可能な記録媒体 | |
CN110647805B (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 |