CN115019079B - 用于图像识别的分布式概略优化加速深度学习训练的方法 - Google Patents
用于图像识别的分布式概略优化加速深度学习训练的方法 Download PDFInfo
- Publication number
- CN115019079B CN115019079B CN202110239799.XA CN202110239799A CN115019079B CN 115019079 B CN115019079 B CN 115019079B CN 202110239799 A CN202110239799 A CN 202110239799A CN 115019079 B CN115019079 B CN 115019079B
- Authority
- CN
- China
- Prior art keywords
- optimization
- matrix
- distributed
- neural network
- pictures
- 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.)
- Active
Links
- 238000005457 optimization Methods 0.000 title claims abstract description 106
- 238000000034 method Methods 0.000 title claims abstract description 96
- 238000012549 training Methods 0.000 title claims abstract description 77
- 238000013135 deep learning Methods 0.000 title claims abstract description 17
- 239000011159 matrix material Substances 0.000 claims abstract description 79
- 238000013528 artificial neural network Methods 0.000 claims abstract description 75
- 238000004364 calculation method Methods 0.000 claims abstract description 66
- 239000013598 vector Substances 0.000 claims abstract description 53
- 230000001133 acceleration Effects 0.000 claims abstract description 11
- 238000003062 neural network model Methods 0.000 claims abstract description 8
- 230000006870 function Effects 0.000 claims description 35
- 238000012360 testing method Methods 0.000 claims description 4
- 238000012937 correction Methods 0.000 claims description 3
- 230000006798 recombination Effects 0.000 claims description 2
- 238000005215 recombination Methods 0.000 claims description 2
- 230000017105 transposition Effects 0.000 claims 1
- 230000000694 effects Effects 0.000 abstract description 6
- 238000013527 convolutional neural network Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 241000588653 Neisseria Species 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 241001212279 Neisseriales Species 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000011478 gradient descent method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
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
技术领域
本发明涉及图像识别技术中的深度神经网络训练方法,具体涉及一种在图像识别应用中采用分布式概略二阶优化加速深度神经网络训练的方法。
背景技术
深度神经网络是当前图像识别领域最重要的技术之一。一个深度神经网络在投入使用之前需要使用数据进行训练。通常来说,训练使用的图片数量越多,种类越完善,训练得到的深度神经网络的图像识别效果越好。然而,庞大的数据量也意味着训练需要消耗大量的资源,训练一个大型的网络往往需要几天甚至几周的时间。
深度神经网络实际上可以看作是有大量参数需要训练的函数,因而深度神经网络的训练可以看作是对函数参数的优化问题。在训练过程中,如果将所有参数的集合看作是一个向量,每一步的迭代实际上是为了得到一个方向,使得参数向量向这个方向进行优化。目前,神经网络的训练方法大致可以分为一阶优化算法和二阶优化算法。
一阶算法是深度神经网络训练过程中最常见也最通用的方法。通常,一阶算法仅仅利用深度神经网络作为函数的梯度信息(即一阶导数)进行训练,最为典型的是随机梯度下降法。但一阶优化算法的训练速度较慢,所需要的训练迭代步数较多,且训练过程对参数值敏感,大规模并行训练时泛化能力降低。
相比仅仅利用梯度信息进行训练的一阶算法,二阶算法不仅利用梯度信息,还利用函数的二阶导数信息,即多元函数的海瑟矩阵进行训练。使用二阶算法时,训练所需的迭代步数通常比一阶算法要少得多。然而,在深度神经网络训练中,参数规模极大,海瑟矩阵非常庞大且复杂,难以计算或存储,因而二阶算法要应用在深度神经网络训练中需要考虑如何构造海瑟矩阵的近似来降低计算和存储的复杂度。与此同时,由于海瑟矩阵的计算往往涉及到所有计算中的样本的梯度信息,因此对这一过程做分布式计算是非常困难的。
发明内容
本发明的目的是提供一种用于图像识别的分布式概略优化加速深度学习训练的方法,是一种能应用于图像识别的大规模深度神经网络训练中的二阶优化新方法,使得在深度神经网络训练时间减少的同时提升其训练得到的最终效果。
本发明的原理是:图像识别的大规模深度神经网络训练中,在计算用于近似海瑟矩阵的二阶矩阵时,采用块对角近似,并且进行分布式概略优化,即使用概略方法分布式地进行矩阵与向量乘积的隐式计算,从而大幅度减少计算量,缩短训练时间,提升二阶算法相比一阶算法的效果。
用以识别图像的深度神经网络需要经过训练才能应用。在卷积神经网络及其变种(如ResNet,VGGNet)中,图像被视为RGB三色的像素所对应的三个二维矩阵组成的张量。对于每一个二维矩阵,使用多个卷积核对图像进行处理。每个卷积核为一个由权重组成的小规模矩阵,其作用是对图像上的卷积核同等规模的小区域进行加权平均,得到这个小区域的特征。对每个小区域使用卷积核进行加权处理后即得到了提取特征后的输出图像,这一输出图像同样是由多个二维矩阵所组成的张量。在经过非线性化处理(ReLU操作)等操作后,输出图像将作为下一个卷积层的输入,并进行与上述同样的操作。在经过多个卷积层的处理后,输出图像将通过一个全连接层得到最终的输出向量,这一向量体现了图像属于各个标签的概率,并取其最大概率的标签作为识别结果。
一个未经训练的深度神经网络,最终得到的输出向量所体现的预测标签往往与图像的真实标签相差甚远,因此需要对深度神经网络中的各个参数进行调整,即深度神经网络的训练。本发明即对图像识别中使用卷积层为主的深度神经网络的训练过程提出了一种新的分布式概略优化加速深度学习训练的技术方案。
本发明提供的技术方案如下:
一种分布式概略优化加速深度学习训练的方法,用于训练图像识别的深度神经网络模型,设置多个计算节点用于分布式计算,各个计算节点并行地将图片依次传入采用所述分布式概略优化加速深度学习训练的方法训练好的神经网络中,得到每个图片最终预测的输出向量,即图片属于各标签的概率,由此实现图像识别;
包括如下步骤:
1)首先准备大量的已知其标签的图片。将这些图片分为多个少量图片构成的多个批次图片,分别进行神经网络模型训练任务。
对深度神经网络训练的一次输入图片称为一轮,这些图片被分为图片数量较少的几组(如64张图片称为1组),一组即称为一批次图片。一批次图片的输入可以是深度神经网络训练的最小单位。
在卷积神经网络及其变种(如ResNet,VGGNet)中,将图像作为RGB三色像素所对应的三个二维矩阵组成的张量,对于每一个二维矩阵,使用多个卷积核对图像进行处理。
2)设置多个计算节点的分布式计算***,利用分布式计算***进行神经网络的训练过程中,通过使用衡量预测的概率向量和真实的图像标签之间差距的损失函数对神经网络中的参数进行优化调整,从而得到神经网络的优化参数;
神经网络中的参数包括卷积层卷积核的权重值和全连接层的权重值。各个计算节点并行地将图片依次传入训练好的神经网络中,得到每个图片最终预测输出的概率向量。
将神经网络中的所有参数看作是一个向量,本发明采用分布式概略优化加速深度学习训练的方法,使得参数进行优化调整后,损失函数和变小。
对于上述优化参数的计算过程,本发明采用如下方法。
21)将深度神经网络中每一层的参数的优化计算表示为如下公式:
上述参数优化方向计算公式中,d为参数向量最终的优化方向,经过这一轮调整后,参数向量将沿d的方向做调整。U为图片梯度组成的梯度矩阵;U的每个列向量为每个图片的损失函数通过后向传播计算得到的关于这一层的参数的梯度;b为一个列向量;g是U中所有列向量的平均值,即所有图片的损失函数的平均梯度;λ为预先设定的权值,代表参数向量沿优化方向d所调整的幅度。也就是说,平均梯度方向和对各图片的损失函数的梯度方向的线性组合的修正项,这两者构成了最终的优化方向。
22)采用分布式概略优化加速深度学习训练的方法,减少优化过程的计算量;
由于U的规模非常大,因此在计算合适的b的时候,所有涉及到U的运算都需要消耗大量的计算资源。本发明采用分布式概略优化加速深度学习训练的方法减少优化过程的计算量,包括:
221)对于已有的U,使用分布式概略优化方法对U的列进行随机采样,即选取矩阵U的少数几列得到新的矩阵具体实施时为方便起见,选取列数为每个批次的样本个数。在计算过程中将U用/>代替,可以大大降低在计算过程中矩阵运算的计算开销。
222)采用概略方式计算矩阵U。
每个样本的梯度在每一个卷积层的梯度是由这一层的输入矩阵A和函数对这一层的输出的导数G计算得到的。由于这两者也可能是相当大的矩阵,因而可以采用概略办法,对矩阵A和导数矩阵G的列进行随机选取,组成新的列数更小的矩阵做代替,并进行后续计算。
23)采用分布式优化神经网络参数的计算过程;
在前述的分布式场景中,每个图片在神经网络中的计算过程是在各自的计算节点上同时进行的。因此构筑完整的U需要各个节点之间相互传递各自计算得到的梯度,所需要的传输量太大。因此本发明在前述概略优化的基础上进一步采用分布式优化神经网络参数的计算过程,包括两种分布式优化方法其中至少一种。
本发明提出的分布式优化方案包括如下两种不同方法:
231)单独优化再综合的方法:各个节点基于自己节点上的图片和其输出结果单独计算得到优化方向d,再将这些方向汇总后进行平均得到一个综合后的优化方向。
假设有二十个图片平均分布在十个节点上分别计算,每个节点有两个图片,则当每个节点都只有两个图片的情况下,按照上述过程进行单独计算得到十个优化方向,汇总后进行平均得到综合后的最终优化方向。相比于原本需要在各个节点同步全部二十个图片的损失函数的梯度而言,采用这种分布式计算的优化方法则省略了这一过程,大大降低了通信量。
232)采用块对角近似得到UTU的近似矩阵的方法;
当计算开销主要用于计算UTU这一矩阵乘法运算时,可以将UTU采用块对角近似得到UTU的近似矩阵。由于图片梯度矩阵U可以表示如下:
U=[U1,U2,...,Ui,...,UN]
其中,Ui为在不同节点上计算出的U的部分列向量;N为分布式节点的数量。那么UTU可以展开为
由于上述计算中Ui之间两两均需要相乘,因此需要在所有节点之间同步每个节点上所计算的部分列向量,这在通讯代价上的开销是巨大的。因此将UTU进行块对角近似,即使用组成的块对角矩阵来作为近似矩阵代替UTU。这样一来,由于近似矩阵的计算仅涉及Ui与自身的转置的相乘,计算的时候不需要事先与其他节点同步,仅需将计算结果汇总后重新组成UTU的近似矩阵并进行后续计算即可。
3)根据步骤2)优化参数的计算过程计算得到优化方向后,神经网络的参数向量即沿优化方向进行数值调整。
将所有批次的图片作为输入进行步骤2)的优化计算并调整神经网络的参数数值之后,神经网络识别图像的准确度相较前一轮会有所上升,并重新对上述批次的图片进行后续轮次的训练。每一轮训练后,需要可用另一组已知标签的图片来测试神经网络的图像识别的准确度;设置图像识别准确度阈值,若图像识别的准确度不小于设置阈值,则表示图像识别达标,则可停止训练,并将该深度神经网络投入到实际的应用之中。
与现有技术相比,本发明的有益效果是:
利用本发明的技术方案,可以大幅度减少计算量,大大提高深度神经网络的训练速度,缩短训练时间,提升二阶算法相比一阶算法的效果。在图像识别应用中,使用本发明的深度神经网络训练过程与使用一阶算法的相比,达到相同的效果所需的时间相比一阶算法减少了40%。
附图说明
图1为本发明基于深度神经网络对一批次图片进行训练的流程框图。
图2为本发明采用单独优化再综合的分布式优化训练方法的流程框图。
图3为采用块对角近似得到UTU的近似矩阵的分布式优化训练方法的流程框图。
具体实施方式
下面结合附图,通过实施例进一步描述本发明,但不以任何方式限制本发明的范围。
本发明提供一种分布式概略优化加速深度学习训练的方法,用于图像识别的深度神经网络的训练。首先需要准备大量的已知其标签的图片。将这些图片分为多个少量图片构成的批次后分别进行训练任务。
在有多个计算节点可用于计算的分布式场景中,一批次的图片会被尽可能均匀地分发到各个节点上。各个计算节点并行地将自己所属的图片依次传入神经网络中,并得到每个图片最终预测的输出向量。同上所述,这一向量对应于神经网络认定的该图片属于各个标签的概率。这一向量体现的预测标签与图像的真实标签结果并不一定相同,因此需要使用不同类型的损失函数衡量预测的概率向量和真实的图像标签之间的差距。
将一批次中分发在各个节点上的图片的损失函数值进行求和,即可得到一个连续的函数值用以衡量神经网络对这一批次图片的预测准确度,这一数值越大,则说明神经网络的预测准确度越低,反之,则预测准确度越高。
神经网络的训练过程即尽可能降低这一函数值,这需要对神经网络中的参数,尤其是卷积层的卷积核的权重值和全连接层的权重值进行调整。将神经网络中的所有参数看作是一个向量,我们需要得到一个优化方向,使得参数向量沿这一优化方向进行调整后,上述的损失函数和会变小。
对于上述优化方向的计算过程,本发明采用如下方法。
我们首先列出深度神经网络中每一层的参数的优化方向的计算公式,其结果如下:
上述参数优化方向计算公式中,U的每个列向量为每个图片的损失函数通过后向传播计算得到的关于这一层的参数的梯度,b为一个列向量,g是U中所有列向量的平均值,即所有图片的损失函数的平均梯度,λ为预先设定的权值。也就是说,平均梯度方向,和对各个图片的损失函数的梯度方向的线性组合的修正项,这两者组成了最终的优化方向。
由于U的规模非常大,因此在计算合适的b的时候,所有涉及到U的运算都需要消耗大量的计算资源。因此本方案提出对使用概略方法减少优化过程的计算量的方法,主要分为以下两种情况:
1)对于已有的U,使用概略方法对其的列进行随机采样,即选取矩阵U的少数几列得到新的矩阵在这种情况下在计算过程中将U用/>代替,可以大大降低在计算过程中矩阵运算的计算开销。
2)在计算矩阵U时采用概略方式进行计算。每个样本的梯度在每一个卷积层的梯度是由这一层的输入A和函数对这一层的输出的导数G计算得到的。由于这两者也可能是相当大的矩阵,因而可以采用与1)相同的办法,对两个矩阵的列进行随机采样,得到列数更小的近似矩阵并进行代替计算。
在前述的分布式场景中,每个图片在神经网络中的计算过程是在各自的计算节点上同时进行的。因此构筑完整的U需要各个节点之间相互传递各自计算得到的梯度,所需要的传输量太大。因此本发明在前述概略优化的基础上增添两种分布式优化方法进行参数优化:单独优化再综合的方法和采用块对角近似得到UTU的近似矩阵的方法。
本发明进一步采用分布式优化神经网络参数的计算过程包括两种分布式优化方法其中至少一种:
1)单独优化再综合的方法:各个节点基于自己节点上的图片和其输出结果单独计算得到优化方向d,再将这些方向汇总后进行平均得到一个综合后的优化方向。
举个例子,假设有二十个图片平均分布在十个节点上分别计算,每个节点有两个图片,则在这一分布式优化方案下,每个节点都当作只有两个图片的情况按照上述过程进行计算得到十个优化方向,汇总后进行平均得到最终的优化方向。相比于原本需要在各个节点同步全部二十个图片的损失函数的梯度而言,这种方案省略了这一过程,大大降低了通信量。
2)采用块对角近似得到UTU的近似矩阵的方法:在本方案中,计算开销主要用于计算UTU这一矩阵乘法运算,因而可以采用块对角近似得到UTU的近似矩阵。在原方案中,同步U的主要目的之一就是为了计算UTU。这一计算过程需要U的所有分量两两之间进行向量乘法,因而需要将各个图片的损失函数的梯度在节点间同步,并将UTU的计算任务重新分配到不同的节点上。而将UTU进行块对角近似,使用组成的块对角矩阵来代替,其中Ui为第i个节点上的所有图片的损失函数的梯度值。这样一来,近似计算UTU的过程就不需要事先在所有节点上同步所有梯度,而是各自在自己节点上计算块对角矩阵的一部分即可。
在计算得到优化方向后,神经网络的参数向量会沿这一优化方向进行数值调整。对于所有批次的图片进行上述的操作后,神经网络识别图像的准确度相较前一轮会有所上升,并重新对上述批次的图片进行第二轮的训练。经过多轮训练后,使用另一组已知标签的图片来测试神经网络的图像识别能力,若达标,则该神经网络将可以投入实践中。
单独优化再综合的分布式优化方法具体实施方式如下:
A.首先获取训练所用的多个图片样本,并将图片样本分配到各个计算节点上;
B.每个计算节点通过后向传播得到所属图片样本的梯度,以及该计算节点所有图片样本的平均梯度;
C.使用概略方法,在各自计算节点上用上述参数优化方向计算公式计算得到基于该计算节点的样本的优化方向;
D.同步所有计算节点的优化方向,取平均值作为最终优化方向;
E.使用最终优化方向对深度神经网络的参数进行优化调整。
采用块对角近似得到UTU的近似矩阵的分布式优化方案的具体实施方式如下:
A.首先获取训练所用的多个图片样本,并将图片分配到各个计算节点上;
B.每个计算节点通过后向传播得到所属图片的损失函数的梯度,以及该计算节点所有图片的损失函数的平均梯度;
C.对每个计算节点上的图片,使用其梯度组合成的矩阵(即每个节点上的Ui)计算得到UTU;
D.同步所有计算节点得到的UTU,并得到原对称对阵的块对角化近似,即
组成的块对角矩阵;
E.根据块对角化近似得到b,并计算得到最终优化方向d;
F.使用最终优化方向对深度神经网络的参数进行优化调整。
下面通过实施例对本发明做进一步说明:
对于一个卷积神经网络,每次做参数优化时有64个图片,同时有8个计算节点可以做并行计算。我们需要根据64个图片(即64个图片以及他们分别对应的标签)在这个卷积神经网络的输出,对这个网络的参数进行优化调整,使得网络的预测的标签对与64个图片的真实标签更加接近。
我们以这一卷积神经网络的某一个卷积层为例。每一个图片都可以通过后向传播得到这一层的卷积核的参数关于这一图片的梯度,也就是有64个梯度。在一阶优化算法中,这64个梯度向量的平均值,即平均梯度,就是参数的最终优化方向。在本发明中,也需要首先得到这一平均梯度,但需要进一步的调整。
上述所有图片梯度可以组成一个梯度矩阵U,后续需要使用U进行计算。在分布式计算中,图片被尽可能平均地分配到多个计算节点上,即每个节点有8个图片,并计算得到8个各个图片对应的梯度向量。按原本的方案,需要通过8个节点相互之间的传输,使得每个节点都得到64个梯度向量组成的梯度矩阵U,而这所需要的传输代价太大,因此需要采取本发明所描述的两种分布式方案。
采用单独优化再综合的分布式优化方法,具体是每个节点不同步梯度向量,而是在本地根据自己所拥有的8个梯度向量以及平均梯度计算,进行后续计算,得到优化方向d,如此,八个节点分别得到8个优化方向,将其平均后的向量即为最终对该卷积层的参数的优化方向。这一方案最终只需要对8个优化方向进行汇总,而不需要同步矩阵U。
采用块对角近似得到UTU的近似矩阵的分布式优化方法,是针对涉及U的后续计算进行近似处理。同步U的目的是为了计算UTU。这一步需要庞大的在计算资源和前文所述的传输资源上。因此,我们使用块对角近似的方法来得到一个UTU的近似矩阵。具体方法是,每个计算节点根据自己的8个梯度向量,计算得到一个局部的UTU,此时的U由8个向量组成。再同步每个节点计算的矩阵,得到由8个对角块组成的近似矩阵来代替UTU进行后续计算。
最后根据得到的最终优化方向对卷积神经网络的各个参数进行调整即可。
具体将所有批次的图片作为输入进行第二步的计算并调整神经网络的参数数值之后,神经网络识别图像的准确度相较前一轮会有所上升,并重新对上述批次的图片进行后续轮次的训练。每一轮训练后,另一组已知标签的图片来测试神经网络的图像识别的准确度;设置图像识别准确度阈值,若图像识别的准确度不小于设置阈值,则表示图像识别达标,则可停止训练,将该深度神经网络即可投入到实际的图像识别应用之中。
需要注意的是,公布实施例的目的在于帮助进一步理解本发明,但是本领域的技术人员可以理解:在不脱离本发明及所附权利要求的精神和范围内,各种替换和修改都是可能的。因此,本发明不应局限于实施例所公开的内容,本发明要求保护的范围以权利要求书界定的范围为准。
Claims (5)
1.一种用于图像识别的分布式概略优化加速深度学习训练的方法,设置多个计算节点用于分布式计算;在训练图像识别深度神经网络模型中的二阶矩阵计算时,采用块对角近似,并使用概略方法进行矩阵与向量乘积的分布式隐式计算;各个计算节点并行地将图片依次传入采用所述分布式概略优化加速深度学习训练的方法训练好的图像识别深度神经网络模型中,预测得到每个图片的输出向量,即图片属于各标签的概率,由此实现图像识别;
包括如下步骤:
1)首先准备已知标签的图片,并分为多个批次图片,作为输入图片分别进行神经网络模型训练任务;所述输入图片表示为RGB三色像素对应的三个二维矩阵组成的张量,使用神经网络模型多个卷积核对图像的每个二维矩阵进行处理;
2)设置包括多个计算节点的分布式计算***,利用分布式计算***进行神经网络的训练;通过损失函数对神经网络中的参数进行优化计算调整,从而得到神经网络的优化参数;
神经网络中的参数包括卷积层卷积核的权重值和全连接层的权重值;将神经网络中的所有参数视为一个向量;各个计算节点并行地将图片依次传入训练好的神经网络中,得到每个图片最终预测输出的概率向量;
优化参数的计算过程包括如下步骤:
21)将深度神经网络中每一层的参数的优化计算表示为:
其中,d为参数向量最终的优化方向,包括平均梯度方向和对各图片的损失函数的梯度方向的线性组合的修正项;U为图片梯度组成的梯度矩阵;U的每个列向量为每个图片的损失函数通过后向传播计算得到的层的参数的梯度;b为一个列向量;g是U中所有列向量的平均值,即所有图片的损失函数的平均梯度;λ为预先设定的权值,代表参数向量沿优化方向d所调整的幅度;
22)采用分布式概略优化加速深度学习训练的方计算得到列向量b,减少优化过程的计算量;包括:
221)对于已有的U,使用分布式概略优化方法对U的列进行随机采样,即选取矩阵U的少数几列得到新的矩阵在计算过程中用/>代替U,降低矩阵运算的计算开销;
222)采用概略方式计算矩阵U;
每个样本的梯度在每一个卷积层的梯度由该卷积层的输入矩阵A和函数对该卷积层的输出的导数矩阵G计算得到;
对输入矩阵A和导数矩阵G的列进行随机选取,组成新的列数更小的矩阵,分别代替输入矩阵A和导数矩阵G,并进行后续计算;
23)采用分布式优化神经网络参数的计算过程,包括单独优化再综合的分布式优化方法和/或采用块对角近似得到UTU的近似矩阵的分布式优化方法;
单独优化再综合的分布式优化方法是:各个节点基于自己节点上的图片和其输出结果单独计算得到优化方向,再将各优化方向汇总后进行平均得到综合后的一个优化方向;具体包括如下步骤:
A.首先获取用于训练的多个图片样本,并将图片样本分配到各个计算节点上;
B.每个计算节点通过后向传播得到图片样本的梯度,以及该计算节点所有图片样本的平均梯度;
C.使用概略方法,在各计算节点上通过计算参数优化方向得到基于该计算节点的样本的优化方向;
D.同步所有计算节点的优化方向,取平均值作为最终优化方向;
E.使用最终优化方向对深度神经网络的参数进行优化调整;
采用块对角近似得到UTU的近似矩阵的方法是:当计算UTU矩阵乘法运算时,将UTU采用块对角近似得到UTU的近似矩阵;
图片梯度矩阵U表示为:U=[U1,U2,…,Ui,…,UN];其中,Ui为在不同节点上计算出的U的部分列向量;N为分布式节点的数量;UTU展开为:
将UTU进行块对角近似,即使用组成的块对角矩阵作为近似矩阵代替UTU;
将UTU进行块对角近似,近似矩阵的计算仅涉及Ui与自身的转置的相乘,仅需将计算结果汇总后重新组成UTU的近似矩阵并进行后续计算即可,不需要事先与其他节点同步;
3)根据步骤2)优化参数的计算过程计算得到优化方向后,神经网络的参数向量即实现沿优化方向的数值调整。
2.如权利要求1所述分布式概略优化加速深度学习训练的方法,其特征是,进行图像识别时,将所有批次的图片作为输入,进行步骤2)的有优化计算并调整神经网络的参数数值之后,重新对上述批次的图片进行后续轮次的训练;每一轮训练后,通过测试神经网络的图像识别的准确度来确定是否停止训练。
3.如权利要求1所述分布式概略优化加速深度学习训练的方法,其特征是,每个批次图片包括64张。
4.如权利要求1所述分布式概略优化加速深度学习训练的方法,其特征是,步骤2)具体使用衡量预测的概率向量和真实的图像标签之间差距的损失函数。
5.如权利要求1所述分布式概略优化加速深度学习训练的方法,其特征是,步骤23)中,采用块对角近似得到UTU的近似矩阵的分布式优化方案的具体包括如下步骤:
A.首先获取训练所用的多个图片样本,并将图片分配到各个计算节点上;
B.每个计算节点通过后向传播得到图片的损失函数的梯度,以及该计算节点所有图片的损失函数的平均梯度;
C.对每个计算节点上的图片,使用其梯度组合成的矩阵即每个节点上的Ui计算得到UTU;
D.同步所有计算节点得到的UTU,并得到原对称对阵的块对角化近似,即采用组成的块对角矩阵;
E.根据块对角化近似得到b,并计算得到最终优化方向d;
F.使用最终优化方向对深度神经网络的参数进行优化调整。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110239799.XA CN115019079B (zh) | 2021-03-04 | 2021-03-04 | 用于图像识别的分布式概略优化加速深度学习训练的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110239799.XA CN115019079B (zh) | 2021-03-04 | 2021-03-04 | 用于图像识别的分布式概略优化加速深度学习训练的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115019079A CN115019079A (zh) | 2022-09-06 |
CN115019079B true CN115019079B (zh) | 2024-05-28 |
Family
ID=83064797
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110239799.XA Active CN115019079B (zh) | 2021-03-04 | 2021-03-04 | 用于图像识别的分布式概略优化加速深度学习训练的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115019079B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019199307A1 (en) * | 2018-04-12 | 2019-10-17 | Siemens Aktiengesellschaft | Second-order optimization methods for avoiding saddle points during the training of deep neural networks |
CN110349126A (zh) * | 2019-06-20 | 2019-10-18 | 武汉科技大学 | 一种基于卷积神经网络带标记的钢板表面缺陷检测方法 |
CN111160474A (zh) * | 2019-12-30 | 2020-05-15 | 合肥工业大学 | 一种基于深度课程学习的图像识别方法 |
CN111814963A (zh) * | 2020-07-17 | 2020-10-23 | 中国科学院微电子研究所 | 一种基于深度神经网络模型参数调制的图像识别方法 |
-
2021
- 2021-03-04 CN CN202110239799.XA patent/CN115019079B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019199307A1 (en) * | 2018-04-12 | 2019-10-17 | Siemens Aktiengesellschaft | Second-order optimization methods for avoiding saddle points during the training of deep neural networks |
CN110349126A (zh) * | 2019-06-20 | 2019-10-18 | 武汉科技大学 | 一种基于卷积神经网络带标记的钢板表面缺陷检测方法 |
CN111160474A (zh) * | 2019-12-30 | 2020-05-15 | 合肥工业大学 | 一种基于深度课程学习的图像识别方法 |
CN111814963A (zh) * | 2020-07-17 | 2020-10-23 | 中国科学院微电子研究所 | 一种基于深度神经网络模型参数调制的图像识别方法 |
Also Published As
Publication number | Publication date |
---|---|
CN115019079A (zh) | 2022-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112181666B (zh) | 一种基于边缘智能的设备评估和联邦学习重要性聚合方法 | |
CN107945204B (zh) | 一种基于生成对抗网络的像素级人像抠图方法 | |
CN112465111B (zh) | 一种基于知识蒸馏和对抗训练的三维体素图像分割方法 | |
CN109360178B (zh) | 基于融合图像的无参考立体图像质量评价方法 | |
CN110097178A (zh) | 一种基于熵注意的神经网络模型压缩与加速方法 | |
CN111242157A (zh) | 联合深度注意力特征和条件对抗的无监督域自适应方法 | |
CN112489164B (zh) | 基于改进深度可分离卷积神经网络的图像着色方法 | |
Zhou et al. | Online filter clustering and pruning for efficient convnets | |
CN113691594B (zh) | 一种基于二阶导数解决联邦学***衡问题的方法 | |
CN111738276A (zh) | 基于多核卷积神经网络的图像处理方法、装置及设备 | |
CN112116532B (zh) | 一种基于张量块循环展开的彩色图像补全方法 | |
CN110751599B (zh) | 一种基于截断核范数的视觉张量数据补全方法 | |
CN116363423A (zh) | 面向小样本学习的知识蒸馏方法、装置及存储介质 | |
CN114187261A (zh) | 一种基于多维注意力机制的无参考立体图像质量评价方法 | |
CN116205311A (zh) | 一种基于Shapley值的联邦学习方法 | |
CN116229323A (zh) | 一种基于改进的深度残差网络的人体行为识别方法 | |
CN113868523A (zh) | 推荐模型训练方法、电子设备及存储介质 | |
CN115019079B (zh) | 用于图像识别的分布式概略优化加速深度学习训练的方法 | |
CN110059658B (zh) | 一种基于三维卷积神经网络的遥感卫星影像多时相变化检测方法 | |
CN112528077A (zh) | 基于视频嵌入的视频人脸检索方法及*** | |
CN114764942A (zh) | 一种难正负样本在线挖掘方法和人脸识别方法 | |
CN113449631A (zh) | 图像分类方法及*** | |
CN112541469A (zh) | 基于自适应分类的人群计数方法及*** | |
CN113132482A (zh) | 一种基于强化学习的分布式消息***参数自适应优化方法 | |
CN114363951B (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 |