CN111461340B - 权重矩阵的更新方法、装置及电子设备 - Google Patents
权重矩阵的更新方法、装置及电子设备 Download PDFInfo
- Publication number
- CN111461340B CN111461340B CN202010162140.4A CN202010162140A CN111461340B CN 111461340 B CN111461340 B CN 111461340B CN 202010162140 A CN202010162140 A CN 202010162140A CN 111461340 B CN111461340 B CN 111461340B
- Authority
- CN
- China
- Prior art keywords
- cache
- weight matrix
- updating
- deep learning
- gradient
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Mathematical Optimization (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Medical Informatics (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Machine Translation (AREA)
Abstract
本申请提出一种权重矩阵的更新方法、装置及电子设备,属于深度学习技术领域。其中,该方法包括:获取深度学习模型中序列节点的序列长度T,其中,T为正整数;在进行第i序列节点学习时,获取第i序列节点对应的输入误差,其中,i为小于或等于T的正整数;将输入误差存储至缓存;判断缓存是否已存满;如果缓存已存满,则根据缓存中存储的各输入误差计算权重矩阵的梯度;根据权重矩阵的梯度,更新深度学习模型对应的权重矩阵。由此,通过这种权重矩阵的更新方法,不仅可以高效利用存储空间,极大释放硬件性能,而且提高了模型的计算速度。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及深度学习技术领域,提出一种权重矩阵的更新方法、装置及电子设备。
背景技术
深度学习计算框架在实际的模型训练过程中,需要一定的存储空间对模型训练过程中产生的中间数据进行存储。而模型训练过程中的存储空间开销与计算速度之间相互关联。
相关技术中,在时序计算模型中,通常在每个时刻均计算模型的权重矩阵梯度,以对模型对应的权重矩阵进行更新,从而不仅无法充分利用存储空间,而且降低了模型的计算速度。
发明内容
本申请提出的权重矩阵的更新方法、装置及电子设备,用于解决相关技术中,在时序计算模型中,通常在每个时刻均计算模型的权重矩阵梯度,以对模型对应的权重矩阵进行更新,从而不仅无法充分利用存储空间,而且降低了模型的计算速度的问题。
本申请一方面实施例提出的权重矩阵的更新方法,包括:获取深度学习模型中序列节点的序列长度T,其中,T为正整数;在进行第i序列节点学习时,获取所述第i序列节点对应的输入误差,其中,i为小于或等于T的正整数;将所述输入误差存储至缓存;判断所述缓存是否已存满;如果所述缓存已存满,则根据所述缓存中存储的各输入误差计算权重矩阵的梯度;以及根据所述权重矩阵的梯度,更新所述深度学习模型对应的权重矩阵。
本申请另一方面实施例提出的权重矩阵的更新装置,包括:第一获取模块,用于获取深度学习模型中序列节点的序列长度T,其中,T为正整数;第二获取模块,用于在进行第i序列节点学习时,获取所述第i序列节点对应的输入误差,其中,i为小于或等于T的正整数;存储模块,用于将所述输入误差存储至缓存;第一判断模块,用于判断所述缓存是否已存满;第一计算模块,用于如果所述缓存已存满,则根据所述缓存中存储的各输入误差计算权重矩阵的梯度;以及第一更新模块,用于根据所述权重矩阵的梯度,更新所述深度学习模型对应的权重矩阵。
本申请再一方面实施例提出的电子设备,其包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如前所述的权重矩阵的更新方法。
本申请又一方面实施例提出的存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行如前所述的权重矩阵的更新方法。
上述申请中的任一个实施例具有如下优点或有益效果:通过预设一定长度的缓存用于存储模型的计算误差,并在缓存存满时再根据缓存中存储的误差计算权重矩阵的梯度,从而通过缓存机制,不仅可以高效利用存储空间,极大释放硬件性能,而且提高了模型的计算速度。因为采用了通过获取深度学习模型中序列节点的序列长度T,并在进行第i序列节点学习时,获取第i序列节点对应的输入误差,之后将输入误差存储至缓存,进而在缓存已存满时,根据缓存中存储的各输入误差计算权重矩阵的梯度,以根据权重矩阵的梯度,更新深度学习模型对应的权重矩阵的技术手段,所以克服了模型训练过程中不仅无法充分利用存储空间,而且降低了模型的计算速度的问题,进而达到了高效利用存储空间,极大释放硬件性能,提高模型计算速度的技术效果。
上述可选方式所具有的其他效果将在下文中结合具体实施例加以说明。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1为本申请实施例所提供的一种权重矩阵的更新方法的流程示意图;
图2为一种时序计算模型的示意图;
图3为本申请实施例所提供的另一种权重矩阵的更新方法的流程示意图;
图4为本申请实施例提供的一种权重矩阵的更新装置的结构示意图;
图5为本申请实施例提供的电子设备的结构示意图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
本申请实施例针对相关技术中,在时序计算模型中,通常在每个时刻均计算模型的权重矩阵梯度,以对模型对应的权重矩阵进行更新,从而不仅无法充分利用存储空间,而且降低了模型的计算速度的问题,提出一种权重矩阵的更新方法。
下面参考附图对本申请提供的权重矩阵的更新方法、装置、电子设备及存储介质进行详细描述。
图1为本申请实施例所提供的一种权重矩阵的更新方法的流程示意图。
如图1所示,该权重矩阵的更新方法,包括以下步骤:
步骤101,获取深度学习模型中序列节点的序列长度T,其中,T为正整数。
其中,深度学习模型,可以为时序计算模型。
在本申请实施例中,本申请实施例的权重矩阵的更新方法,可以应用于时序计算模型中,以平衡模型训练过程中的存储空间开销和计算速度。如图2所示,为一种时序计算模型的示意图,x为输入层,h为隐状态层,y为输出层,时序计算模型的隐状态层为包括多个序列节点的时间序列,可以利用深度学习模型对应的权重矩阵w对每个时刻通过输入层输入的数据进行处理,以确定每个时刻对应的输出值。
作为一种可能的实现方式,本申请实施例的权重矩阵的更新方法可以首先获取深度学习模型的各项性能参数,如深度学习模型中隐状态层对应的序列长度T等。
步骤102,在进行第i序列节点学习时,获取第i序列节点对应的输入误差,其中,i为小于或等于T的正整数。
其中,第i序列节点对应的输入误差,是指深度学习模型在训练过程中,通过损失函数确定的第i个序列节点的预测结果与输入数据的实际标注结果之间的错误差值。
在本申请实施例中,在深度学习模型训练过程中,可以根据每次预测过程中每个序列节点对应的输入误差,对深度学习模型对应的权重矩阵进行更新,以使深度学习模型在下一轮的预测结果更加接近实际标注结果。因此,在深度学习模型为时序计算模型时,可以在每轮预测过程中,获取每个序列节点对应的输入误差。
具体的,在进行第i个序列节点学习时,可以根据预设的损失函数、第i个序列节点的输出值及第i个序列节点的输入数据对应的实际标注结果,确定第i个序列节点对应的输入误差。
需要说明的是,实际使用时,确定序列节点对应的输入误差所利用的损失函数,可以根据实际需要预设,本申请实施例对此不做限定。比如,损失函数可以为均方误差函数或交叉熵误差函数。
步骤103,将输入误差存储至缓存。
其中,缓存的长度可以大于或等于1,且小于或等于T。
需要说明的是,缓存的长度是指缓存中包括的缓存单元的数量。其中,每个缓存单元可以用于存储一个序列节点对应的输入误差。比如,若序列节点对应的输入误差为1×10的矩阵,矩阵中的每个元素需要占用一个字节进行存储,则每个缓存单元的大小为10字节,可用于存储1×10的矩阵。
在本申请实施例中,可以预设用于存储各序列节点对应的输入误差的缓存,以在每轮预测过程中,将获取的每个序列节点对应的输入误差存储在缓存中,从而无需每个时刻均对序列节点对应的输入误差进行计算,提高了模型训练的计算速度。
步骤104,判断缓存是否已存满。
步骤105,如果缓存已存满,则根据缓存中存储的各输入误差计算权重矩阵的梯度。
在本申请实施例中,由于缓存的长度可以是大于或等于1,且小于或等于序列长度T的,因此缓存的长度可能小于序列长度T,从而缓存可能只能用于存储部分序列节点对应的输入误差。因此,在第i个序列节点学习完毕,并将第i个序列节点对应的输入误差存储至缓存之后,可以判断缓存是否已存满,以保证后续序列节点对应输入误差可以正常存储至缓存中。
具体的,若确定缓存未存满,则可以确定后续序列节点对应的输入误差还可以正常存储至缓存中,从而可以继续进行下一序列节点的学习;若确定缓存已存满,则可以确定后续序列节点对应的输入误差已无法正常存储至缓存中,从而可以根据缓存中已存储的各输入误差,确定权重矩阵的梯度。
进一步的,在根据缓存中存储的各输入误差确定出权重矩阵的梯度之后,即可以将缓存清空。即在本申请实施例一种可能的实现形式中,上述步骤105之后,还可以包括:
将缓存清空。
在本申请实施例中,根据缓存中存储的各输入误差确定出权重矩阵的梯度之后,则在后续计算过程中不再需要缓存中已存储的各输入误差,从而可以将缓存清空,以将在后续序列节点学习完成后,将后续各序列节点对应的输入误差存储至缓存中。
步骤106,根据权重矩阵的梯度,更新深度学习模型对应的权重矩阵。
在本申请实施例中,可以在每个序列节点均学习完成之后,采用梯度下降算法,更新深度学习模型对应的权重矩阵。
具体的,可以在每个序列节点均学习完成后,将缓存每次存满时与所有序列节点均学习完成时,确定的各权重矩阵的梯度进行累加,并采用梯度下降算法根据累加后的权重矩阵的梯度,更新深度学习模型对应的权重矩阵,以利用更新后的权重矩阵进行深度学习模型的下一轮学习过程。
根据本申请实施例的技术方案,通过获取深度学习模型中序列节点的序列长度T,并在进行第i序列节点学习时,获取第i序列节点对应的输入误差,之后将输入误差存储至缓存,进而在缓存已存满时,根据缓存中存储的各输入误差计算权重矩阵的梯度,以根据权重矩阵的梯度,更新深度学习模型对应的权重矩阵。由此,通过预设一定长度的缓存用于存储模型的计算误差,并在缓存存满时再根据缓存中存储的误差计算权重矩阵的梯度,从而通过缓存机制,不仅可以高效利用存储空间,极大释放硬件性能,而且提高了模型的计算速度。
在本申请一种可能的实现形式中,缓存的长度可以根据硬件性能、深度学习模型的参数等信息确定,以实现模型训练时的存储空间开销和计算速度的最优化。
下面结合图3,对本申请实施例提供的权重矩阵的更新方法进行进一步说明。
图3为本申请实施例所提供的另一种权重矩阵的更新方法的流程示意图。
如图3所示,该权重矩阵的更新方法,包括以下步骤:
步骤201,获取深度学习模型中序列节点的序列长度T,其中,T为正整数。
步骤202,在进行第i序列节点学习时,获取第i序列节点对应的输入误差,其中,i为小于或等于T的正整数。
上述步骤201-202的具体实现过程及原理,可以参照上述实施例的详细描述,此处不再赘述。
步骤203,将输入误差存储至缓存,其中,缓存的长度根据深度学习模型的参数设定。
在本申请实施例中,可以通过可调节的缓存机制,允许用户根据深度学习模型的参数,对深度学习模型训练过程中使用的缓存长度进行设定,以使深度学习模型在训练过程中不仅可以充分利用存储空间,而且可以最大程度提高模型训练的计算速度。
具体的,若进行深度学习模型训练所用设备的硬件性能不高,存储空间有限,或者根据深度学习模型的参数确定模型训练的其他计算过程需要较大的存储空间,则可以将缓存长度确定为较小的值,以通过时间换空间;若进行深度学习模型训练所用设备的硬件性能较高,存储空间较大,或者根据深度学习模型的参数确定模型训练的其他计算过程不需要较大的存储空间,则可以将缓存长度确定为较大的值,以通过空间换时间,最大程度上提高模型训练的计算速度。比如,可以将缓存长度确定为序列长度T,则在一轮预测过程中,只需要计算一次权重矩阵的梯度,从而大大降低了权重矩阵梯度的计算频率,提高了模型训练的效率。
需要说明的是,实际使用时,可以根据具体的应用场景自行设定或动态调整缓存长度,本申请实施例对此不做限定。
步骤204,判断缓存是否已存满,若是,则执行步骤206;否则,执行步骤205。
上述步骤204的具体实现过程及原理,可以参照上述实施例的详细描述,此处不再赘述。
步骤205,判断序列节点是否均已学习完毕,若是,则执行步骤206;否则,执行步骤208。
在本申请实施例中,由于缓存长度可以是大于或等于1,且小于或等于序列长度T的,因此序列长度T可能不是缓存长度的整数倍,从而在所有序列节点均已学习完毕后,缓存可能并未存满;然而,在所有序列节点均已学习完毕后需要根据缓存中存储的各输入误差,再次计算权重矩阵的梯度。也就是说,计算权重矩阵的梯度的次数为大于或等于T/K的最小整数,其中,K为缓存长度。
举例来说,序列长度为10,缓存长度为4,则在将第10个序列节点对应的输入误差存储至缓存之后,可以确定缓存并未存满且序列节点均已学习完毕,则可以根据缓存中存储的第9个序列节点对应的输入误差与第10个序列节点对应的输入误差,计算权重矩阵的梯度。
步骤206,根据缓存中存储的各输入误差计算权重矩阵的梯度。
步骤207,根据权重矩阵的梯度,更新深度学习模型对应的权重矩阵。
上述步骤206-207的具体实现过程及原理,可以参照上述实施例的详细描述,此处不再赘述。
步骤208,进行第i+1序列节点的学习,并返回执行步骤203。
在本申请实施例中,若确定缓存未存满且序列节点未学习完成,则可以继续进行第i+1节点的学习,并重复执行步骤203-207。
根据本申请实施例的技术方案,通过获取深度学习模型中序列节点的序列长度T,并在进行第i序列节点学习时,获取第i序列节点对应的输入误差,之后将输入误差存储至缓存,其中,缓存的长度根据深度学习模型的参数设定,进而在缓存已存满或序列节点均已学习完毕时,根据缓存中存储的各输入误差计算权重矩阵的梯度,以根据权重矩阵的梯度,更新深度学习模型对应的权重矩阵。由此,通过根据深度学习模型的参数确定缓存长度,并在缓存存满时再根据缓存中存储的误差计算权重矩阵的梯度,从而通过可调节的缓存机制,不仅可以高效利用存储空间,提高模型训练的计算速度,而且可以极大释放硬件性能,达到存储空间开销和计算速度的最优化。
为了实现上述实施例,本申请还提出一种权重矩阵的更新装置。
图4为本申请实施例提供的一种权重矩阵的更新装置的结构示意图。
如图4所示,该权重矩阵的更新装置30,包括:
第一获取模块31,用于获取深度学习模型中序列节点的序列长度T,其中,T为正整数;
第二获取模块32,用于在进行第i序列节点学习时,获取第i序列节点对应的输入误差,其中,i为小于或等于T的正整数;
存储模块33,用于将输入误差存储至缓存;
第一判断模块34,用于判断缓存是否已存满;
第一计算模块35,用于如果缓存已存满,则根据缓存中存储的各输入误差计算权重矩阵的梯度;以及
第一更新模块36,用于根据权重矩阵的梯度,更新深度学习模型对应的权重矩阵。
在实际使用时,本申请实施例提供的权重矩阵的更新装置,可以被配置在任意电子设备中,以执行前述权重矩阵的更新方法。
根据本申请实施例的技术方案,通过获取深度学习模型中序列节点的序列长度T,并在进行第i序列节点学习时,获取第i序列节点对应的输入误差,之后将输入误差存储至缓存,进而在缓存已存满时,根据缓存中存储的各输入误差计算权重矩阵的梯度,以根据权重矩阵的梯度,更新深度学习模型对应的权重矩阵。由此,通过预设一定长度的缓存用于存储模型的计算误差,并在缓存存满时再根据缓存中存储的误差计算权重矩阵的梯度,从而通过缓存机制,不仅可以高效利用存储空间,极大释放硬件性能,而且提高了模型的计算速度。
在本申请一种可能的实现形式中,上述权重矩阵的更新装置30,还包括:
第二判断模块,用于如果缓存未存满,则判断序列节点是否均已学习完毕;
第二计算模块,用于如果序列节点均已学习完毕,则根据缓存中存储的各输入误差计算权重矩阵的梯度;以及
第二更新模块,用于根据权重矩阵梯度,更新深度学习模型对应的权重矩阵。
进一步的,在本申请另一种可能的实现形式中,上述缓存的长度根据深度学习模型的参数设定。
进一步的,在本申请再一种可能的实现形式中,上述缓存的长度大于或等于1,且小于或等于T。
进一步的,在本申请又一种可能的实现形式中,上述权重矩阵的更新装置30,还包括:
清空模块,用于将缓存清空。
进一步的,在本申请又一种可能的实现形式中,上述深度学习模型为时序计算模型。
需要说明的是,前述对图1、图3所示的权重矩阵的更新方法实施例的解释说明也适用于该实施例的权重矩阵的更新装置30,此处不再赘述。
根据本申请实施例的技术方案,通过获取深度学习模型中序列节点的序列长度T,并在进行第i序列节点学习时,获取第i序列节点对应的输入误差,之后将输入误差存储至缓存,其中,缓存的长度根据深度学习模型的参数设定,进而在缓存已存满或序列节点均已学习完毕时,根据缓存中存储的各输入误差计算权重矩阵的梯度,以根据权重矩阵的梯度,更新深度学习模型对应的权重矩阵。由此,通过根据深度学习模型的参数确定缓存长度,并在缓存存满时再根据缓存中存储的误差计算权重矩阵的梯度,从而通过可调节的缓存机制,不仅可以高效利用存储空间,提高模型训练的计算速度,而且可以极大释放硬件性能,达到存储空间开销和计算速度的最优化。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
如图5所示,是根据本申请实施例的权重矩阵的更新方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图5所示,该电子设备包括:一个或多个处理器401、存储器402,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个电子设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图5中以一个处理器401为例。
存储器402即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的权重矩阵的更新方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的权重矩阵的更新方法。
存储器402作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的权重矩阵的更新方法对应的程序指令/模块(例如,附图4所示的第一获取模块31、第二获取模块32、存储模块33、第一判断模块34、第一计算模块35及第一更新模块36)。处理器401通过运行存储在存储器402中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的权重矩阵的更新方法。
存储器402可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据权重矩阵的更新方法的电子设备的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器402可选包括相对于处理器401远程设置的存储器,这些远程存储器可以通过网络连接至权重矩阵的更新方法的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
权重矩阵的更新方法的电子设备还可以包括:输入装置403和输出装置404。处理器401、存储器402、输入装置403和输出装置404可以通过总线或者其他方式连接,图5中以通过总线连接为例。
输入装置403可接收输入的数字或字符信息,以及产生与权重矩阵的更新方法的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置404可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
根据本申请实施例的技术方案,通过获取深度学习模型中序列节点的序列长度T,并在进行第i序列节点学习时,获取第i序列节点对应的输入误差,之后将输入误差存储至缓存,其中,缓存的长度根据深度学习模型的参数设定,进而在缓存已存满或序列节点均已学习完毕时,根据缓存中存储的各输入误差计算权重矩阵的梯度,以根据权重矩阵的梯度,更新深度学习模型对应的权重矩阵。由此,通过根据深度学习模型的参数确定缓存长度,并在缓存存满时再根据缓存中存储的误差计算权重矩阵的梯度,从而通过可调节的缓存机制,不仅可以高效利用存储空间,提高模型训练的计算速度,而且可以极大释放硬件性能,达到存储空间开销和计算速度的最优化。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。
Claims (12)
1.一种权重矩阵的更新方法,其特征在于,包括:
获取深度学习模型中序列节点的序列长度T,其中,T为正整数;
在进行第i序列节点学习时,获取所述第i序列节点对应的输入误差,其中,i为小于或等于T的正整数;
将所述输入误差存储至缓存,所述缓存的长度大于或等于1,且小于或等于T,所述缓存的长度是指缓存中包括的缓存单元的数量,其中,每个缓存单元用于存储一个序列节点对应的输入误差;
判断所述缓存是否已存满;
如果所述缓存已存满,则根据所述缓存中存储的各输入误差计算权重矩阵的梯度;以及
根据所述权重矩阵的梯度,更新所述深度学习模型对应的权重矩阵。
2.如权利要求1所述的权重矩阵的更新方法,其特征在于,所述判断所述缓存是否已存满之后,还包括:
如果所述缓存未存满,则判断所述序列节点是否均已学习完毕;
如果所述序列节点均已学习完毕,则根据所述缓存中存储的各输入误差计算权重矩阵的梯度;以及
根据所述权重矩阵的梯度,更新所述深度学习模型对应的权重矩阵。
3.如权利要求1所述的权重矩阵的更新方法,其特征在于,所述缓存的长度根据所述深度学习模型的参数设定。
4.如权利要求1-3任一所述的权重矩阵的更新方法,其特征在于,在所述根据所述缓存中存储的各输入误差计算权重矩阵的梯度之后,还包括:
将所述缓存清空。
5.如权利要求1-3任一所述的权重矩阵的更新方法,其特征在于,所述深度学习模型为时序计算模型。
6.一种权重矩阵的更新装置,其特征在于,包括:
第一获取模块,用于获取深度学习模型中序列节点的序列长度T,其中,T为正整数;
第二获取模块,用于在进行第i序列节点学习时,获取所述第i序列节点对应的输入误差,其中,i为小于或等于T的正整数;
存储模块,用于将所述输入误差存储至缓存,所述缓存的长度大于或等于1,且小于或等于T,所述缓存的长度是指缓存中包括的缓存单元的数量,其中,每个缓存单元用于存储一个序列节点对应的输入误差;
第一判断模块,用于判断所述缓存是否已存满;
第一计算模块,用于如果所述缓存已存满,则根据所述缓存中存储的各输入误差计算权重矩阵的梯度;以及
第一更新模块,用于根据所述权重矩阵的梯度,更新所述深度学习模型对应的权重矩阵。
7.如权利要求6所述的权重矩阵的更新装置,其特征在于,还包括:
第二判断模块,用于如果所述缓存未存满,则判断所述序列节点是否均已学习完毕;
第二计算模块,用于如果所述序列节点均已学习完毕,则根据所述缓存中存储的各输入误差计算权重矩阵的梯度;以及
第二更新模块,用于根据所述权重矩阵梯度,更新所述深度学习模型对应的权重矩阵。
8.如权利要求6所述的权重矩阵的更新装置,其特征在于,所述缓存的长度根据所述深度学习模型的参数设定。
9.如权利要求6-8任一所述的权重矩阵的更新装置,其特征在于,还包括:
清空模块,用于将所述缓存清空。
10.如权利要求6-8任一所述的权重矩阵的更新装置,其特征在于,所述深度学习模型为时序计算模型。
11.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-5中任一项所述的方法。
12.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1-5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010162140.4A CN111461340B (zh) | 2020-03-10 | 2020-03-10 | 权重矩阵的更新方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010162140.4A CN111461340B (zh) | 2020-03-10 | 2020-03-10 | 权重矩阵的更新方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111461340A CN111461340A (zh) | 2020-07-28 |
CN111461340B true CN111461340B (zh) | 2023-03-31 |
Family
ID=71681825
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010162140.4A Active CN111461340B (zh) | 2020-03-10 | 2020-03-10 | 权重矩阵的更新方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111461340B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113254215B (zh) * | 2021-06-16 | 2021-10-15 | 腾讯科技(深圳)有限公司 | 数据处理方法和装置、存储介质及电子设备 |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105760965A (zh) * | 2016-03-15 | 2016-07-13 | 北京百度网讯科技有限公司 | 预估模型参数的训练方法、服务质量预估方法及对应装置 |
CN107316078A (zh) * | 2016-04-27 | 2017-11-03 | 北京中科寒武纪科技有限公司 | 用于执行人工神经网络自学习运算的装置和方法 |
CN107836000A (zh) * | 2015-07-07 | 2018-03-23 | 触摸式有限公司 | 用于语言建模和预测的改进的人工神经网络 |
CN108053029A (zh) * | 2017-12-27 | 2018-05-18 | 宁波山丘电子科技有限公司 | 一种基于存储阵列的神经网络的训练方法 |
CN108921893A (zh) * | 2018-04-24 | 2018-11-30 | 华南理工大学 | 一种基于在线深度学习slam的图像云计算方法及系统 |
CN109146070A (zh) * | 2017-06-16 | 2019-01-04 | 华为技术有限公司 | 一种支撑基于rram的神经网路训练的外围电路及系统 |
CN109754060A (zh) * | 2017-11-06 | 2019-05-14 | 阿里巴巴集团控股有限公司 | 一种神经网络机器学习模型的训练方法及装置 |
CN110033081A (zh) * | 2019-03-08 | 2019-07-19 | 华为技术有限公司 | 一种确定学习率的方法和装置 |
CN110135573A (zh) * | 2018-02-02 | 2019-08-16 | 阿里巴巴集团控股有限公司 | 一种深度学习模型的训练方法、计算设备以及系统 |
CN110276096A (zh) * | 2019-05-08 | 2019-09-24 | 北京百度网讯科技有限公司 | 提高深度学习模型预测能力的方法、电子设备和存储介质 |
CN110470259A (zh) * | 2019-07-09 | 2019-11-19 | 西安工程大学 | 基于lstm的滑坡位移动态预测方法 |
CN110471820A (zh) * | 2019-08-05 | 2019-11-19 | 南开大学 | 一种基于循环神经网络的云存储系统磁盘故障预测方法 |
CN110543939A (zh) * | 2019-06-12 | 2019-12-06 | 电子科技大学 | 一种基于fpga的卷积神经网络后向训练的硬件加速实现架构 |
CN110737669A (zh) * | 2019-10-18 | 2020-01-31 | 北京百度网讯科技有限公司 | 数据存储方法、装置、设备及存储介质 |
CN110799995A (zh) * | 2017-06-29 | 2020-02-14 | 首选网络株式会社 | 数据识别器训练方法、数据识别器训练装置、程序及训练方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150324690A1 (en) * | 2014-05-08 | 2015-11-12 | Microsoft Corporation | Deep Learning Training System |
US11100388B2 (en) * | 2016-11-22 | 2021-08-24 | International Business Machines Corporation | Learning apparatus and method for learning a model corresponding to real number time-series input data |
US20190095794A1 (en) * | 2017-09-26 | 2019-03-28 | Intel Corporation | Methods and apparatus for training a neural network |
-
2020
- 2020-03-10 CN CN202010162140.4A patent/CN111461340B/zh active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107836000A (zh) * | 2015-07-07 | 2018-03-23 | 触摸式有限公司 | 用于语言建模和预测的改进的人工神经网络 |
CN105760965A (zh) * | 2016-03-15 | 2016-07-13 | 北京百度网讯科技有限公司 | 预估模型参数的训练方法、服务质量预估方法及对应装置 |
CN107316078A (zh) * | 2016-04-27 | 2017-11-03 | 北京中科寒武纪科技有限公司 | 用于执行人工神经网络自学习运算的装置和方法 |
CN109146070A (zh) * | 2017-06-16 | 2019-01-04 | 华为技术有限公司 | 一种支撑基于rram的神经网路训练的外围电路及系统 |
CN110799995A (zh) * | 2017-06-29 | 2020-02-14 | 首选网络株式会社 | 数据识别器训练方法、数据识别器训练装置、程序及训练方法 |
CN109754060A (zh) * | 2017-11-06 | 2019-05-14 | 阿里巴巴集团控股有限公司 | 一种神经网络机器学习模型的训练方法及装置 |
CN108053029A (zh) * | 2017-12-27 | 2018-05-18 | 宁波山丘电子科技有限公司 | 一种基于存储阵列的神经网络的训练方法 |
CN110135573A (zh) * | 2018-02-02 | 2019-08-16 | 阿里巴巴集团控股有限公司 | 一种深度学习模型的训练方法、计算设备以及系统 |
CN108921893A (zh) * | 2018-04-24 | 2018-11-30 | 华南理工大学 | 一种基于在线深度学习slam的图像云计算方法及系统 |
CN110033081A (zh) * | 2019-03-08 | 2019-07-19 | 华为技术有限公司 | 一种确定学习率的方法和装置 |
CN110276096A (zh) * | 2019-05-08 | 2019-09-24 | 北京百度网讯科技有限公司 | 提高深度学习模型预测能力的方法、电子设备和存储介质 |
CN110543939A (zh) * | 2019-06-12 | 2019-12-06 | 电子科技大学 | 一种基于fpga的卷积神经网络后向训练的硬件加速实现架构 |
CN110470259A (zh) * | 2019-07-09 | 2019-11-19 | 西安工程大学 | 基于lstm的滑坡位移动态预测方法 |
CN110471820A (zh) * | 2019-08-05 | 2019-11-19 | 南开大学 | 一种基于循环神经网络的云存储系统磁盘故障预测方法 |
CN110737669A (zh) * | 2019-10-18 | 2020-01-31 | 北京百度网讯科技有限公司 | 数据存储方法、装置、设备及存储介质 |
Non-Patent Citations (3)
Title |
---|
Zhan Shi等.Applying Deep Learning to the Cache Replacement Problem.《MICRO-52》.2019,第1-14页. * |
张冬明.面向媒体应用的高能效神经网络可重构阵列结构与系统调度.《中国优秀硕士学位论文全文数据库 信息科技辑》.2018,(第(2018)04期),I140-64. * |
胡飞等.基于忆阻器交叉阵列的卷积神经网络电路设计.《计算机研究与发展》.2018,第55卷(第5期),第1097-1107页. * |
Also Published As
Publication number | Publication date |
---|---|
CN111461340A (zh) | 2020-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102592550B1 (ko) | 모델 파라미터를 업데이트하는 방법 및 장치 | |
CN111753997B (zh) | 分布式训练方法、系统、设备及存储介质 | |
CN111242306B (zh) | 量子主成分分析的方法、装置、电子设备以及计算机可读存储介质 | |
CN111046257B (zh) | 一种会话推荐方法、装置以及电子设备 | |
CN111598247B (zh) | 量子吉布斯态生成方法、装置及电子设备 | |
CN110852379B (zh) | 用于目标物体识别的训练样本生成方法及装置 | |
CN110569972A (zh) | 超网络的搜索空间构建方法、装置以及电子设备 | |
CN112560499B (zh) | 语义表示模型的预训练方法、装置、电子设备及存储介质 | |
CN111738419A (zh) | 神经网络模型的量化方法和装置 | |
CN111325332B (zh) | 卷积神经网络的处理方法和装置 | |
CN110766089A (zh) | 超网络的模型结构采样方法、装置以及电子设备 | |
CN111461340B (zh) | 权重矩阵的更新方法、装置及电子设备 | |
CN110569973A (zh) | 网络结构的搜索方法、装置以及电子设备 | |
CN111709514A (zh) | 神经网络模型的处理方法和装置 | |
CN112529189A (zh) | 模型压缩方法、装置、电子设备及存储介质 | |
CN111694648A (zh) | 一种任务调度方法、装置以及电子设备 | |
CN111539225B (zh) | 语义理解框架结构的搜索方法和装置 | |
CN111865683A (zh) | 虚拟网关版本灰度发布方法、装置、设备以及存储介质 | |
CN112734454A (zh) | 一种用户信息确定方法、装置、电子设备和存储介质 | |
CN115145730B (zh) | 运行监测方法、装置、电子设备和存储介质 | |
CN112925482B (zh) | 数据处理方法、装置、系统、电子设备和计算机存储介质 | |
US11792407B2 (en) | Method and device for coding video using optimal video frame structure, and storage medium | |
CN111090673B (zh) | 缓存单元的查找方法及相关设备 | |
CN111126596B (zh) | 神经网络训练中的信息处理方法、设备与存储介质 | |
CN111368198A (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 |