CN104899641A - 深度神经网络学习方法、处理器和深度神经网络学习系统 - Google Patents

深度神经网络学习方法、处理器和深度神经网络学习系统 Download PDF

Info

Publication number
CN104899641A
CN104899641A CN201510270301.0A CN201510270301A CN104899641A CN 104899641 A CN104899641 A CN 104899641A CN 201510270301 A CN201510270301 A CN 201510270301A CN 104899641 A CN104899641 A CN 104899641A
Authority
CN
China
Prior art keywords
processor
neural network
deep neural
layer
current layer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201510270301.0A
Other languages
English (en)
Other versions
CN104899641B (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.)
Hangzhou Netease Shuzhifan Technology Co ltd
Original Assignee
Hangzhou Langhe 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 Hangzhou Langhe Technology Co Ltd filed Critical Hangzhou Langhe Technology Co Ltd
Priority to CN201510270301.0A priority Critical patent/CN104899641B/zh
Publication of CN104899641A publication Critical patent/CN104899641A/zh
Application granted granted Critical
Publication of CN104899641B publication Critical patent/CN104899641B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Feedback Control In General (AREA)

Abstract

本发明的实施方式提供了一种深度神经网络学习方法。该方法包括:多个处理器并行地对分配至自身的数据从首层到末层逐层进行正向处理、并在正向处理结束时获得误差信息;多个处理器对误差信息从末层到首层逐层进行反向处理,其中,多个处理器中的每个处理器在其深度神经网络模型的当前层的反向处理产生参数修正量后,随即向其他处理器传递参数修正量。通过本发明上述实施方式的方法,减少了参数修正量传递所占用的时间,有效提高了深度神经网络模型训练的效率,尤其对于训练数据比较多、深度神经网络模型层数比较多的情况,这种方式可以大幅减少用时,有效节省模型训练的时间。此外,本发明的实施方式提供了一种处理器和深度神经网络学习系统。

Description

深度神经网络学习方法、处理器和深度神经网络学习系统
技术领域
本发明的实施方式涉及神经网络领域,更具体地,本发明的实施方式涉及一种深度神经网络学习方法、处理器和深度神经网络学习系统。
背景技术
本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
深度神经网络学习作为机器学习研究中的一个新的领域,它通过模仿人脑的机制来解释数据,是一种通过建立和模拟人脑进行分析学习的智能模型。
如图1所示为深度神经网络模型示意图,一般训练数据会被依次送入该模型进行训练。然而,当待训练数据较多时,如果采用单一的处理器进行训练则需要很长的训练时间,因此一般会将待训练数据分成两份或两份以上,采用两个或者两个以上处理器并行训练的方式以提高训练的效率。
在具体实现的过程中,在反向处理时,为了实现模型参数的更新,每个处理器都需要获取一份完整的训练数据所对应的参数修正量(即,不仅需要自身得到的参数修正量,还需要获取其他并行处理的处理器得到的参数修正量),才能实现对模型参数的更新。为此,现有的处理方式是在反向处理完成后,增加一个参数修正量的传输过程,从而使得每个处理器都可以获得一份完整的训练数据所对应的参数修正量以实现模型参数的更新。
然而,因为这个参数修正量的传输过程的加入使得模型训练的时间被延长,训练效率也相应降低,这显然与最初并行处理以提高训练效率的目的是相悖的。
发明内容
由于在并行进行深度神经网络学习的过程中,需要增加参数修正量的传递过程,占用了一定的时间,从而无法有效提高深度神经网络学习的效率,在现有技术中,也无法很好地缩短参数修正量传递所占用的时间,这事非常令人烦恼的过程。
为此,非常需要一种改进的深度神经网络的学习方法,以有效缩短参数修正量传递所占用的时间,提高神经网络学习的效率。
在本上下文中,本发明实施方式期望提供一种深度神经网络学习方法、处理器和深度神经网络学习系统。
在本发明实施方式的第一方面中,提供了一种深度神经网络学习方法,例如,可以包括:多个处理器并行地对分配至自身的数据,在深度神经网络模型的多个层上从首层到末层逐层进行正向处理、并在正向处理结束时获得误差信息;所述多个处理器对所述误差信息从所述末层到所述首层逐层进行反向处理,其中,所述多个处理器中的每个处理器在其深度神经网络模型的当前层的反向处理产生参数修正量后,随即向其他处理器传递所述参数修正量。
在本发明实施方式的第二方面中,提供了一种处理器,例如,可以包括:正向处理单元,用于对分配至自身的数据,在深度神经网络模型的多个层上从首层到末层逐层进行正向处理、并在正向处理结束时获得误差信息;反向处理单元,用于对所述误差信息从所述末层到所述首层逐层进行反向处理,其中,在深度神经网络模型的当前层的反向处理产生参数修正量后,随即向并行运算的其他处理器传递所述参数修正量。
在本发明实施方式的第三方面中,提供了一种深度神经网络学习系统,例如,可以包括:并行运算的多个上述的处理器。
通过本发明上述实施方式的深度神经网络学习方法、处理器和深度神经网络学习系统,减少了参数修正量传递所需的时间,有效提高了深度神经网络模型训练的效率,尤其对于训练数据比较多、深度神经网络模型层数比较多的情况,这种方式可以大幅减少用时,有效节省模型训练的时间。
附图说明
通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:
图1示意性地示出了根据本发明实施方式的深度神经网络模型示意图;
图2示意性地示出了现有技术中深度神经网络模型的训练流程示意图;
图3示意性地示出了根据本发明实施方式的应用场景;
图4示意性地示出了根据本发明实施方式的服务器的设备结构示意图;
图5示意性地示出了根据本发明实施方式的处理器的设备结构示意图;
图6示意性地示出了根据本发明实施方式的一种深度神经网络学习方法的交互示意图;
图7示意性地示出了根据本发明实施方式的另一种深度神经网络学习方法的交互示意图;
图8示意性地示出了现有的反向处理的逻辑流程示意图;
图9示意性地示出了根据本发明实施方式的反向处理的逻辑流程示意图;
图10示意性地示出了根据本发明实施方式的深度神经网络学习方法的流程示意图。
在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本申请公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
本领域技术技术人员知道,本发明的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本申请公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
根据本发明的实施方式,提出了一种深度神经网络学习方法、处理器和深度神经网络学习系统。
在本文中,需要理解的是,所涉及的术语中:
1、深度神经网络模型中的层:指代深度神经网络模型不同层的节点之间的线性层和非线性层,这里的线性层和非线性层是在不同层的节点之间,对数据进行映射、运算的处理层,其中线性层对输入数据进行的处理包括权重矩阵处理,还可以包括偏置向量处理等,非线性层则包括sigmoid层、softmax层、relu层等类型。
2、参数修正量:在深度神经网络模型训练的反向处理过程中,所产生的用于更新深度神经网络模型参数的修正量,主要包括权重矩阵修正量和偏置向量修正量。在进行模型参数的更新时,对反向处理过程产生的所述参数修正量进行处理,并根据处理结果对模型参数进行更新。其中,权重矩阵修正量用于更新线性层中的权重矩阵的参数,而偏置向量修正量用于更新线性层中偏置向量的参数。
线性层中权重矩阵和偏置向量对不同层节点之间的数值映射处理方式是现有技术,不再赘述。
此外,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。
发明概述
为了对本发明进行更为清楚的描述,下面将对现有的深度神经网络学习方法进行具体说明。常规上,数据被依次送入深度神经网络进行学习,每一批数据的计算是通过一个深度神经网络模型在处理器上完成的,其中该处理器可以是图形处理器(GPU),例如,对如图1所示为深度神经网络模型进行训练主要是按照以下三个步骤执行的:
步骤1:数据从首层到末层逐层进行正向处理、并在正向处理结束时获得误差信息;
步骤2:将误差信息从末层到首层逐层进行反向处理;
步骤3:通过在反向处理过程中得到的参数修正量对模型中需要进行参数更新的层进行参数更新。
具体的,在实现的过程中,在上述步骤3参数更新的过程并非对深度神经网络模型中的每个层都是必须的,一般仅模型中的线性层可能需要进行参数更新,非线性层一般是不需要进行参数更新的。为了使得描述更为清楚简单,在下文的文字描述以及附图所示意性的内容中,所涉及的深度神经网络模型中的层指代的都是模型中需要进行参数更新的层,对于不需要进行参数更新的层,将不再赘述。
由于在大数据时代,数据非常多,如果仅通过一个处理器,将这些数据分批依次送入深度神经网络进行学习,则训练过程需要很长的时间(设置可能一次训练好几个月),为了缩短模型的训练时间,提出了可以使用多个处理器来共同进行数据计算以实现快速的模型训练。以2个处理器为例进行说明:
把每一批数据分成2份,将这2份数据同时送给2个处理器,每个处理器上仍旧按照上述的三个步骤执行,因为这两个处理器是相互独立的计算单元,因此它们各自的计算是可以同时进行的。对每一批数据而言,2个处理器上的步骤1和步骤2是可以同时进行的,这样相对于每一个处理器而言,完成步骤1和步骤2所需的时间与原本的仅通过一个处理器进行处理的情况相比,缩短了一半。
然而在执行上述步骤3通过在反向处理过程中得到的参数修正量对模型的参数进行更新的过程中,所需要的参数修正量是整份数据对应的参数修正量,而当采用两个处理器进行处理的时候,每个处理器上仅有半份数据的参数修正量,是不完整的,对于每个处理器而言,需要获得对方的参数修正量后,才能进行步骤3的参数更新。为了实现上述目的,当前所采用的处理流程如图2所示,即在步骤2执行完之后,增加步骤2.5:两个处理器相互之间传递参数修正量,从而使得每个处理器都可以获得一份完整的参数修正量,然后再并行地执行步骤3。
下面来分析一下采用如图2所示的传统的多处理器的方法的加速性能,假设对一批数据而言,在1块处理器上上完成步骤1、步骤2各是100ms,完成步骤3是50ms,然而值得注意的是,这些时间数据一般需要根据数据的大小、所使用的处理器的性能、模型的复杂度等来衡量,此处所列举的时间数据仅是举例而言,并不构成具体限定。以上面所列举的时间,完成一批数据的计算总时间就是250ms,如果采用2个处理器来计算,由于每个处理器上仅有一半的数据,因此步骤1和步骤2仅需要一半的时间,步骤3虽然是并行执行的,但是更新所用的时间是不变的,还是50ms,3个步骤加在一起就是150ms。
但是在并行执行的过程中增加了一个步骤2.5,步骤2.5是传输数据,传输速度受总线带宽的约束,比较慢,假设步骤2.5消耗的时间也是50ms,那么按照图2所示的方法完成一批数据的处理所需的时间就是:150ms+50ms=200ms,而前面已经描述过通过单一处理器处理所需的完成时间大概为250ms,那么加速比为:
250ms/200ms=1.25
也就是说,采用两个处理器对一批数据进行处理,相较于仅采用一个处理器进行处理,时间上节约了25%。
发明人考虑到因为步骤2.5参数修正量的传递的存在,影响了整个算法执行的速度,延长了整个算法执行的时间。
为此,本发明提供了一种深度神经网络学习方法。网络学习的过程可以是:多个处理器并行地对分配至自身的数据,在深度神经网络模型的多个层上从首层到末层逐层进行正向处理、并在正向处理结束时获得误差信息;所述多个处理器对所述误差信息从所述末层到所述首层逐层进行反向处理,其中,所述多个处理器中的每个处理器在其深度神经网络模型的当前层的反向处理产生参数修正量后,随即向其他处理器传递所述参数修正量。因为数据处理是通过处理器完成的,而数据传递是通过总线完成的,两者可以同步执行,因此,在得到当前层的参数修正量后,可以随即将其传递给其他处理器,而无需等到获取其他层的参数修正量再一起传递,从而有效节省了算法所需的时间。
在介绍了本发明的基本原理之后,下面具体介绍本发明的各种非限制性实施方式。
应用场景总览
首先参考图3,服务器100可以是一般的具备数据分发功能的务器,处理器200(处理器1、2…N)可以是具备数据处理功能的处理器,例如:图形处理器GPU,处理器之间通过总线连接,服务器100与处理器200之间通过网络通信技术进行通信连接。
利用本发明实施例提供的深度神经网络学习方法,当有一批需要进行训练的数据后,服务器100将其按照处理器200的个数均分为N份,N为大于等于2的正整数;然后将其分配至这N个处理器进行深度神经网络模型的训练,在训练的过程中,各个处理器200在反向处理的过程中,获取当前层的参数修正量后,先根据输入至当前层的误差信息计算当前层的参数修正量,然后再随即将参数修正量传递给其他的处理器100,这样在完成整个反向处理过程中,大部分的参数修正量都已经传递完毕,从而可以减少参数修正量传递所占用的时间。
各个处理器200在获得所有其他并行运算的处理器的当前层的参数修正量后,结合其自身的当前层的参数修正量,就可以进行模型当前层参数的更新操作。
示例性设备
下面结合图3的应用场景,参考图4和5对本发明示例性实施方式的服务器100、处理器200进行介绍。
需要注意的是,上述应用场景仅是为了便于理解本发明的精神和原理而示出,本发明的实施方式在此方面不受任何限制。相反。本发明的实施方式可以应用于适用的任何场景。
例如,参见图4,为本发明实施例提供的服务器100的设备结构示意图。如图所示,服务器100可以包括:数据接收模块101、数据分发模块102。
参见图5,为本发明实施例提供的处理器200的设备结构示意图。如图所示,处理器200可以包括:正向处理单元201、反向处理单元202。此外,处理器200还可以包括:更新单元203。
参考图4和图5,当服务器中的数据接收模块101接收到一批数据后,将数据分为N份(N与处理器的个数相等),然后通过数据分发模块102将这N份数据分发至N个处理器进行处理,这N个处理器并行地对这批数据进行处理,具体的,正向处理单元201可以对分配至自身的数据,在深度神经网络模型的多个层上从首层到末层逐层进行正向处理,例如一共有7个需要进行模型参数更新的线性层。这里需要说明的是,深度神经网络模型中除了包括线性层,还包括非线性层,由于非线性层一般不需要更新模型参数,故这里仅以线性层的处理为例介绍本发明的发明点,但在实际的使用中,本发明的深度神经网络是包括非线性层的。正向处理单元201从第1层到第7层逐层进行正向处理;在正向处理结束后,将所述数据的处理结果和预设的标准值作比较,得到误差信息;然后,反向处理单元202可以对所述误差信息从所述末层到所述首层逐层进行反向处理,即,从第7层至第1层进行反向处理,在进行反向处理的过程中便会产生参数修正量,为了使得缩短整个算法的时间,在得到当前层的参数修正量后,就随即将其传递到其他处理器,从而使得每个处理器都可以得到并行运算的其他处理器该层的参数修正量。例如,如图6所示,在处理器200得到了第7层的参数修正量后,就随即向并行运算的其他处理器200传递参数修正量,同时进行第6层的误差信息的处理,在处理器200得到了第6层的参数修正量后,如果第7层的参数修正量已经传输完毕,则立即向其他处理器传输第6层的参数修正量,依次类推,直至完成所有层的误差信息处理和参数修正量传输。
下面以两个处理器200为例来分析上述处理方式的效率,对各个处理器而言,如前所述步骤1所需要的时间为50ms,步骤2在执行的过程中,步骤3已经开始执行了,当步骤2从末层到首层逐层进行反向处理至最后一层时,除了最后一层的参数修正量之外的其它层的参数修正量都已经相互传递完毕。假定每层的参数修正量所需的传输时间是相同的,那么步骤2.5需要单独占用的时间是100ms的七分之一,也就是15ms左右。步骤3仍旧需要50ms,那么总的计算时间为:50ms+50ms+15ms+50ms=175ms,而前面已经描述过通过单一处理器处理所需的完成时间大概为250ms,那么加速比为:
250/175=1.428
也就是说,通过本例所提供的方法,如果采用两个处理器并行处理,可以节省40%多的时间,比传统的方法要快很多。
如前所述,步骤3通过在反向处理过程中得到的参数修正量对模型当前层的参数进行更新,具体可以是在产生参数修正量的各层的参数修正量都交换完成后,再统一进行上述各层的模型参数的更新。在本发明中,考虑到各层的参数更新都是独立的,相互之间没有什么影响,只要当前层获取了当前层全部的参数修正量就可以进行当前层的参数更新,因此,具体的执行流程可以如图7所示,即,在获取了当前层所有其他处理器的当前层参数修正量后,可以结合本处理器自身的当前层参数修正量,直接进行该层模型参数的更新,而无需等到其他层的参数修正量都传递完毕。也就是说,更新单元203可以在获得所有其他处理器传递的当前层的参数修正量后,结合自身的当前层参数修正量,随即更新自身的深度神经网络模型当前层的参数,这样可以缩短步骤3需要单独占用的时间,从而使得整个方案可以缩短的时间要大于40%。
在上述实施例中,是以深度神经网络模型的需要进行模型参数的层的层数为7层为例进行说明的,其实对于本申请所提供的方法,深度神经网络模型的层数越多,那么所节省的时间的比例也就越高。对于处于大数据时代的现在,神经网络模型的层数在不断增加,有些已经达到几十层,对于这种层数比较多的深度神经网络模型,本例中所提供的处理方法优势将更为明显。
此外,本发明还提供了一种优选的参数修正量的传输方式,针对当前层的参数修正量的传递过程,进行进一步优化,具体的,以参数修正量包括△w(权重矩阵修正量)和△b(偏置向量修正量)为例,如图8所示,每一层的正常反向处理流程包括以下三个步骤:
步骤1:反向处理单元202进行误差信息的处理与传递,
步骤2:反向处理单元202根据输入至当前层的误差信息计算参数修正量,例如,可以是△w(权重矩阵修正量)和△b(偏置向量修正量),然而值得注意的是,△w和△b是两个独立的部分,且△w和△b只是作为参数修正量的两种类型,还可以有其它的数据参数修正量,只要是在深度神经网络模型训练的反向处理过程中产生的能够用于调整模型参数的数据都可以作为参数修正量的一部分;
步骤3:处理器200交换参数修正量。
上述步骤1和步骤2中的处理误差信息、计算参数修正量等大多都是一些矩阵乘法和矩阵加法的运算,需要耗费比较多的时间,由反向传播算法可知,反向处理过程中,传递给下一层的误差信息的计算可以在计算完参数修正量之后执行。具体的,即,对于每层而言,先根据输入至当前层的误差信息计算得到当前层的参数修正量,然后再计算传递给下一层的误差信息。因此可以如图9所示,先根据输入至当前层的误差信息计算△w,随即相互传递△w参数,再计算△b,随即传递△b参数传递给下一层的误差信息的计算可以最后进行。即,参数修正量可以包括多个相互独立的部分,反向处理单元针对当前层,逐一计算参数修正量的各个相互独立的部分,并在完成每个部分的计算后随即向其他处理器传递该部分。
通过这种方式就将参数修正量的传递过程提前了几个矩阵相乘的时间,因此传递效率更高。然而,值得注意的是图8和图9中的计算过程和传递过程,虽然在流程图上是按照上述方式串行执行的,但是在实际执行的过程中,因为计算过程是处理器实现的,而传递过程是通过总线进行的,因此计算过程(计算△w、计算△b、计算传递给下一层的误差信息)和传递过程(传递误差、△w、△b)在时序上是并行进行的。
通过本发明上述实施方式的服务器和处理器进行深度神经网络学习的方式,减少了参数修正量传递所需的时间,有效提高了深度神经网络模型训练的效率,尤其对于训练数据比较多、层数比较多的深度神经网络模型的训练,这种方式可以大幅减少用时,有效节省模型训练的时间。
示例性方法
在介绍了本发明示例性实施方式的方法之后,接下来,参考图10对本发明示例性实施方式的深度神经网络学习方法进行介绍。
图10为本发明实施例提供的深度神经网络学习方法的方法流程图。下面参照该图对深度神经网络学习方法的流程进行描述,在本例中,有N个处理器并行执行,如图10所示,包括以下步骤:
步骤1001:服务器将获取的一批训练数据分为N份。可选地,可以是均分,也可以按照处理器的性能划分;
步骤1002:将划分得到的N份数据分配至N个处理器;
步骤1003:这N个处理器并行地对分配至自身的数据,在深度神经网络模型的多个层上从首层到末层逐层进行正向处理、并在正向处理结束时获得误差信息;
步骤1004:对误差信息从末层到首层逐层进行反向处理,其中,这N个处理器中的每个处理器在其深度神经网络模型的当前层的反向处理产生参数修正量后,随即向其他处理器传递参数修正量。其中,参数修正量可以包括多个相互独立的部分,可选地,每个处理器针对当前层,逐一计算参数修正量的各个相互独立的部分,并在完成每个部分的计算后随即向其他处理器传递该部分,这些相互独立的部分可以包括但不限于:权重矩阵修正量和偏置向量修正量。
步骤1005:每个处理器在获得除自身之外的所有其他处理器传递的当前层的参数修正量后,结合其自身的当前层的参数修正量,更新自身的深度神经网络模型当前层的参数。可选地,处理器可以是在获取当前层的所有参数修正量后,随即更新模型参数,也可以是在所有层的参数修正量都传输完毕后,再更新模型参数。
通过本发明上述实施方式的深度神经网络学习方法,减少了参数修正量传递所需的时间,有效提高了深度神经网络模型训练的效率,尤其对于训练数据比较多、层数比较多的深度神经网络模型的训练,这种方式可以大幅减少用时,有效节省模型训练的时间。
应当注意,尽管在上文详细描述中提及了服务器、处理器,一级若干的子单元,但是这种划分仅仅并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多装置的特征和功能可以在一个装置中具体化。反之,上文描述的一个装置的特征和功能可以进一步划分为由多个装置来具体化。
此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
虽然已经参考若干具体实施方式描述了本发明的精神和原理,但是应该理解,本发明并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。

Claims (10)

1.一种深度神经网络学习方法,包括:
多个处理器并行地对分配至自身的数据,在深度神经网络模型的多个层上从首层到末层逐层进行正向处理、并在正向处理结束时获得误差信息;
所述多个处理器对所述误差信息从所述末层到所述首层逐层进行反向处理,其中,所述多个处理器中的每个处理器在其深度神经网络模型的当前层的反向处理产生参数修正量后,随即向其他处理器传递所述参数修正量。
2.根据权利要求1所述的方法,还包括:
所述多个处理器中的每个处理器在获得所述多个处理器中除自身之外的所有其他处理器传递的当前层的参数修正量后,结合自身的当前层的参数修正量,更新自身的所述深度神经网络模型当前层的参数。
3.根据权利要求1所述的方法,其中,所述多个处理器对所述数据从所述末层到所述首层逐层进行反向处理,包括:
所述多个处理器针对当前层先根据输入至当前层的误差信息计算所述参数修正量,然后再计算传递给下一层的误差信息。
4.根据权利要求3所述的方法,其中,所述参数修正量包括多个相互独立的部分,并且
所述多个处理器针对当前层先根据输入至当前层的误差信息计算所述参数修正量,包括:
所述多个处理器中的每个处理器针对当前层,根据输入至当前层的误差信息,逐一计算所述参数修正量的各个相互独立的部分,并在完成每个所述部分的计算后随即向其他处理器传递该部分。
5.根据权利要求4所述的方法,其中,所述多个相互独立的部分包括权重矩阵修正量和偏置向量修正量。
6.一种处理器,包括:
正向处理单元,用于对分配至该处理器自身的数据,在深度神经网络模型的多个层上从首层到末层逐层进行正向处理、并在正向处理结束时获得误差信息;
反向处理单元,用于对所述误差信息从所述末层到所述首层逐层进行反向处理,其中,在深度神经网络模型的当前层的反向处理产生参数修正量后,随即向并行运算的其他处理器传递所述参数修正量。
7.根据权利要求6所述的处理器,还包括:
更新单元,用于在获得所有并行运算的其他处理器传递的当前层的参数修正量后,随即结合该处理器自身的当前层的参数修正量,更新自身的所述深度神经网络模型当前层的参数。
8.根据权利要求6所述的处理器,其中,所述反向处理单元具体用于针对当前层先根据输入至当前层的误差信息计算所述参数修正量,然后再计算传递给下一层的误差信息。
9.根据权利要求8所述的处理器,其中,所述参数修正量包括多个相互独立的部分,并且所述反向处理单元针对当前层,根据输入至当前层的误差信息,逐一计算所述参数修正量的各个相互独立的部分,并在完成每个所述部分的计算后随即向其他处理器传递该部分。
10.一种深度神经网络学习系统,包括:并行运算的多个如权利要求6至9中任一项所述的处理器。
CN201510270301.0A 2015-05-25 2015-05-25 深度神经网络学习方法、处理器和深度神经网络学习系统 Active CN104899641B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510270301.0A CN104899641B (zh) 2015-05-25 2015-05-25 深度神经网络学习方法、处理器和深度神经网络学习系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510270301.0A CN104899641B (zh) 2015-05-25 2015-05-25 深度神经网络学习方法、处理器和深度神经网络学习系统

Publications (2)

Publication Number Publication Date
CN104899641A true CN104899641A (zh) 2015-09-09
CN104899641B CN104899641B (zh) 2018-07-13

Family

ID=54032294

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510270301.0A Active CN104899641B (zh) 2015-05-25 2015-05-25 深度神经网络学习方法、处理器和深度神经网络学习系统

Country Status (1)

Country Link
CN (1) CN104899641B (zh)

Cited By (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105976027A (zh) * 2016-04-29 2016-09-28 北京比特大陆科技有限公司 数据处理方法和装置、芯片
WO2017124641A1 (zh) * 2016-01-20 2017-07-27 北京中科寒武纪科技有限公司 用于执行人工神经网络反向训练的装置和方法
CN107229966A (zh) * 2016-03-25 2017-10-03 阿里巴巴集团控股有限公司 一种模型数据更新方法、装置及系统
CN107292385A (zh) * 2016-03-31 2017-10-24 阿里巴巴集团控股有限公司 一种类Alexnet网络的模型训练方法和装置
WO2018099085A1 (zh) * 2016-11-29 2018-06-07 华为技术有限公司 一种神经网络模型的训练方法、装置及芯片
WO2018107934A1 (zh) * 2016-12-14 2018-06-21 腾讯科技(深圳)有限公司 数据处理方法、装置及电子设备
CN109460826A (zh) * 2018-10-31 2019-03-12 北京字节跳动网络技术有限公司 用于分发数据的方法、装置和模型更新系统
CN109670579A (zh) * 2018-12-14 2019-04-23 北京字节跳动网络技术有限公司 模型生成方法和装置
US10387298B2 (en) 2017-04-04 2019-08-20 Hailo Technologies Ltd Artificial neural network incorporating emphasis and focus techniques
CN110163231A (zh) * 2018-02-14 2019-08-23 倍加科技股份有限公司 建立数据识别模型的方法、计算机系统及记录介质
US10474586B2 (en) 2016-08-26 2019-11-12 Cambricon Technologies Corporation Limited TLB device supporting multiple data streams and updating method for TLB module
CN110580523A (zh) * 2018-06-07 2019-12-17 清华大学 一种模拟神经网络处理器的误差校准方法及装置
WO2019237357A1 (zh) * 2018-06-15 2019-12-19 华为技术有限公司 一种神经网络模型权重参数的确定方法及设备
WO2020041934A1 (zh) * 2018-08-27 2020-03-05 华为技术有限公司 一种数据处理设备以及一种数据处理方法
CN111710009A (zh) * 2020-05-29 2020-09-25 北京百度网讯科技有限公司 人流密度的生成方法、装置、电子设备以及存储介质
WO2020220191A1 (en) * 2019-04-29 2020-11-05 Huawei Technologies Co., Ltd. Method and apparatus for training and applying a neural network
WO2021068243A1 (en) * 2019-10-12 2021-04-15 Baidu.Com Times Technology (Beijing) Co., Ltd. Method and system for accelerating ai training with advanced interconnect technologies
CN113168396A (zh) * 2018-11-05 2021-07-23 国际商业机器公司 深度学习中的大模型支持
US11221929B1 (en) 2020-09-29 2022-01-11 Hailo Technologies Ltd. Data stream fault detection mechanism in an artificial neural network processor
US11237894B1 (en) 2020-09-29 2022-02-01 Hailo Technologies Ltd. Layer control unit instruction addressing safety mechanism in an artificial neural network processor
US11238334B2 (en) 2017-04-04 2022-02-01 Hailo Technologies Ltd. System and method of input alignment for efficient vector operations in an artificial neural network
US11263077B1 (en) 2020-09-29 2022-03-01 Hailo Technologies Ltd. Neural network intermediate results safety mechanism in an artificial neural network processor
US11397579B2 (en) 2018-02-13 2022-07-26 Shanghai Cambricon Information Technology Co., Ltd Computing device and method
US11437032B2 (en) 2017-09-29 2022-09-06 Shanghai Cambricon Information Technology Co., Ltd Image processing apparatus and method
US11442785B2 (en) 2018-05-18 2022-09-13 Shanghai Cambricon Information Technology Co., Ltd Computation method and product thereof
US11513586B2 (en) 2018-02-14 2022-11-29 Shanghai Cambricon Information Technology Co., Ltd Control device, method and equipment for processor
US11544059B2 (en) 2018-12-28 2023-01-03 Cambricon (Xi'an) Semiconductor Co., Ltd. Signal processing device, signal processing method and related products
US11544545B2 (en) 2017-04-04 2023-01-03 Hailo Technologies Ltd. Structured activation based sparsity in an artificial neural network
US11551028B2 (en) 2017-04-04 2023-01-10 Hailo Technologies Ltd. Structured weight based sparsity in an artificial neural network
CN115687233A (zh) * 2021-07-29 2023-02-03 腾讯科技(深圳)有限公司 通信方法、装置、设备及计算机可读存储介质
US11609760B2 (en) 2018-02-13 2023-03-21 Shanghai Cambricon Information Technology Co., Ltd Computing device and method
US11615297B2 (en) 2017-04-04 2023-03-28 Hailo Technologies Ltd. Structured weight based sparsity in an artificial neural network compiler
US11630666B2 (en) 2018-02-13 2023-04-18 Shanghai Cambricon Information Technology Co., Ltd Computing device and method
US11676029B2 (en) 2019-06-12 2023-06-13 Shanghai Cambricon Information Technology Co., Ltd Neural network quantization parameter determination method and related products
US11675676B2 (en) 2019-06-12 2023-06-13 Shanghai Cambricon Information Technology Co., Ltd Neural network quantization parameter determination method and related products
US11703939B2 (en) 2018-09-28 2023-07-18 Shanghai Cambricon Information Technology Co., Ltd Signal processing device and related products
US11762690B2 (en) 2019-04-18 2023-09-19 Cambricon Technologies Corporation Limited Data processing method and related products
US11789847B2 (en) 2018-06-27 2023-10-17 Shanghai Cambricon Information Technology Co., Ltd On-chip code breakpoint debugging method, on-chip processor, and chip breakpoint debugging system
US11811421B2 (en) 2020-09-29 2023-11-07 Hailo Technologies Ltd. Weights safety mechanism in an artificial neural network processor
US11847554B2 (en) 2019-04-18 2023-12-19 Cambricon Technologies Corporation Limited Data processing method and related products
US11874900B2 (en) 2020-09-29 2024-01-16 Hailo Technologies Ltd. Cluster interlayer safety mechanism in an artificial neural network processor
US11966583B2 (en) 2018-08-28 2024-04-23 Cambricon Technologies Corporation Limited Data pre-processing method and device, and related computer device and storage medium
US12001955B2 (en) 2019-08-23 2024-06-04 Anhui Cambricon Information Technology Co., Ltd. Data processing method, device, computer equipment and storage medium
US12112257B2 (en) 2019-08-27 2024-10-08 Anhui Cambricon Information Technology Co., Ltd. Data processing method, device, computer equipment and storage medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103150596A (zh) * 2013-02-22 2013-06-12 百度在线网络技术(北京)有限公司 一种反向传播神经网络dnn的训练系统
CN103996069A (zh) * 2013-02-20 2014-08-20 百度在线网络技术(北京)有限公司 一种基于多gpu的bpnn训练方法和装置
CN104035751A (zh) * 2014-06-20 2014-09-10 深圳市腾讯计算机系统有限公司 基于多图形处理器的数据并行处理方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103996069A (zh) * 2013-02-20 2014-08-20 百度在线网络技术(北京)有限公司 一种基于多gpu的bpnn训练方法和装置
CN103150596A (zh) * 2013-02-22 2013-06-12 百度在线网络技术(北京)有限公司 一种反向传播神经网络dnn的训练系统
CN104035751A (zh) * 2014-06-20 2014-09-10 深圳市腾讯计算机系统有限公司 基于多图形处理器的数据并行处理方法及装置

Cited By (74)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017124641A1 (zh) * 2016-01-20 2017-07-27 北京中科寒武纪科技有限公司 用于执行人工神经网络反向训练的装置和方法
CN107229966A (zh) * 2016-03-25 2017-10-03 阿里巴巴集团控股有限公司 一种模型数据更新方法、装置及系统
CN107292385A (zh) * 2016-03-31 2017-10-24 阿里巴巴集团控股有限公司 一种类Alexnet网络的模型训练方法和装置
CN105976027A (zh) * 2016-04-29 2016-09-28 北京比特大陆科技有限公司 数据处理方法和装置、芯片
US10474586B2 (en) 2016-08-26 2019-11-12 Cambricon Technologies Corporation Limited TLB device supporting multiple data streams and updating method for TLB module
WO2018099085A1 (zh) * 2016-11-29 2018-06-07 华为技术有限公司 一种神经网络模型的训练方法、装置及芯片
WO2018107934A1 (zh) * 2016-12-14 2018-06-21 腾讯科技(深圳)有限公司 数据处理方法、装置及电子设备
CN108229687A (zh) * 2016-12-14 2018-06-29 腾讯科技(深圳)有限公司 数据处理方法、数据处理装置及电子设备
CN108229687B (zh) * 2016-12-14 2021-08-24 腾讯科技(深圳)有限公司 数据处理方法、数据处理装置及电子设备
US10943324B2 (en) 2016-12-14 2021-03-09 Tencent Technology (Shenzhen) Company Limited Data processing method, apparatus, and electronic device
US11551028B2 (en) 2017-04-04 2023-01-10 Hailo Technologies Ltd. Structured weight based sparsity in an artificial neural network
US10387298B2 (en) 2017-04-04 2019-08-20 Hailo Technologies Ltd Artificial neural network incorporating emphasis and focus techniques
US11238331B2 (en) 2017-04-04 2022-02-01 Hailo Technologies Ltd. System and method for augmenting an existing artificial neural network
US11544545B2 (en) 2017-04-04 2023-01-03 Hailo Technologies Ltd. Structured activation based sparsity in an artificial neural network
US11514291B2 (en) 2017-04-04 2022-11-29 Hailo Technologies Ltd. Neural network processing element incorporating compute and local memory elements
US11461614B2 (en) 2017-04-04 2022-10-04 Hailo Technologies Ltd. Data driven quantization optimization of weights and input data in an artificial neural network
US11461615B2 (en) 2017-04-04 2022-10-04 Hailo Technologies Ltd. System and method of memory access of multi-dimensional data
US11615297B2 (en) 2017-04-04 2023-03-28 Hailo Technologies Ltd. Structured weight based sparsity in an artificial neural network compiler
US11238334B2 (en) 2017-04-04 2022-02-01 Hailo Technologies Ltd. System and method of input alignment for efficient vector operations in an artificial neural network
US11354563B2 (en) 2017-04-04 2022-06-07 Hallo Technologies Ltd. Configurable and programmable sliding window based memory access in a neural network processor
US11675693B2 (en) 2017-04-04 2023-06-13 Hailo Technologies Ltd. Neural network processor incorporating inter-device connectivity
US11263512B2 (en) 2017-04-04 2022-03-01 Hailo Technologies Ltd. Neural network processor incorporating separate control and data fabric
US11216717B2 (en) 2017-04-04 2022-01-04 Hailo Technologies Ltd. Neural network processor incorporating multi-level hierarchical aggregated computing and memory elements
US11437032B2 (en) 2017-09-29 2022-09-06 Shanghai Cambricon Information Technology Co., Ltd Image processing apparatus and method
US11704125B2 (en) 2018-02-13 2023-07-18 Cambricon (Xi'an) Semiconductor Co., Ltd. Computing device and method
US11630666B2 (en) 2018-02-13 2023-04-18 Shanghai Cambricon Information Technology Co., Ltd Computing device and method
US12073215B2 (en) 2018-02-13 2024-08-27 Shanghai Cambricon Information Technology Co., Ltd Computing device with a conversion unit to convert data values between various sizes of fixed-point and floating-point data
US11740898B2 (en) 2018-02-13 2023-08-29 Shanghai Cambricon Information Technology Co., Ltd Computing device and method
US11720357B2 (en) 2018-02-13 2023-08-08 Shanghai Cambricon Information Technology Co., Ltd Computing device and method
US11709672B2 (en) 2018-02-13 2023-07-25 Shanghai Cambricon Information Technology Co., Ltd Computing device and method
US11397579B2 (en) 2018-02-13 2022-07-26 Shanghai Cambricon Information Technology Co., Ltd Computing device and method
US11663002B2 (en) 2018-02-13 2023-05-30 Shanghai Cambricon Information Technology Co., Ltd Computing device and method
US11620130B2 (en) 2018-02-13 2023-04-04 Shanghai Cambricon Information Technology Co., Ltd Computing device and method
US11609760B2 (en) 2018-02-13 2023-03-21 Shanghai Cambricon Information Technology Co., Ltd Computing device and method
US11507370B2 (en) 2018-02-13 2022-11-22 Cambricon (Xi'an) Semiconductor Co., Ltd. Method and device for dynamically adjusting decimal point positions in neural network computations
CN110163231B (zh) * 2018-02-14 2024-05-14 倍加科技股份有限公司 建立影像数据识别模型的方法、计算机系统及记录介质
US11513586B2 (en) 2018-02-14 2022-11-29 Shanghai Cambricon Information Technology Co., Ltd Control device, method and equipment for processor
CN110163231A (zh) * 2018-02-14 2019-08-23 倍加科技股份有限公司 建立数据识别模型的方法、计算机系统及记录介质
US11442786B2 (en) 2018-05-18 2022-09-13 Shanghai Cambricon Information Technology Co., Ltd Computation method and product thereof
US11442785B2 (en) 2018-05-18 2022-09-13 Shanghai Cambricon Information Technology Co., Ltd Computation method and product thereof
CN110580523A (zh) * 2018-06-07 2019-12-17 清华大学 一种模拟神经网络处理器的误差校准方法及装置
CN110580523B (zh) * 2018-06-07 2022-08-02 清华大学 一种模拟神经网络处理器的误差校准方法及装置
WO2019237357A1 (zh) * 2018-06-15 2019-12-19 华为技术有限公司 一种神经网络模型权重参数的确定方法及设备
US11789847B2 (en) 2018-06-27 2023-10-17 Shanghai Cambricon Information Technology Co., Ltd On-chip code breakpoint debugging method, on-chip processor, and chip breakpoint debugging system
WO2020041934A1 (zh) * 2018-08-27 2020-03-05 华为技术有限公司 一种数据处理设备以及一种数据处理方法
US11966583B2 (en) 2018-08-28 2024-04-23 Cambricon Technologies Corporation Limited Data pre-processing method and device, and related computer device and storage medium
US11703939B2 (en) 2018-09-28 2023-07-18 Shanghai Cambricon Information Technology Co., Ltd Signal processing device and related products
CN109460826A (zh) * 2018-10-31 2019-03-12 北京字节跳动网络技术有限公司 用于分发数据的方法、装置和模型更新系统
US11526759B2 (en) 2018-11-05 2022-12-13 International Business Machines Corporation Large model support in deep learning
US11915147B2 (en) 2018-11-05 2024-02-27 International Business Machines Corporation Large model support in deep learning
CN113168396A (zh) * 2018-11-05 2021-07-23 国际商业机器公司 深度学习中的大模型支持
CN109670579A (zh) * 2018-12-14 2019-04-23 北京字节跳动网络技术有限公司 模型生成方法和装置
US11544059B2 (en) 2018-12-28 2023-01-03 Cambricon (Xi'an) Semiconductor Co., Ltd. Signal processing device, signal processing method and related products
US11847554B2 (en) 2019-04-18 2023-12-19 Cambricon Technologies Corporation Limited Data processing method and related products
US11934940B2 (en) 2019-04-18 2024-03-19 Cambricon Technologies Corporation Limited AI processor simulation
US11762690B2 (en) 2019-04-18 2023-09-19 Cambricon Technologies Corporation Limited Data processing method and related products
WO2020220191A1 (en) * 2019-04-29 2020-11-05 Huawei Technologies Co., Ltd. Method and apparatus for training and applying a neural network
CN113508401A (zh) * 2019-04-29 2021-10-15 华为技术有限公司 用于训练和应用神经网络的方法和装置
US11676028B2 (en) 2019-06-12 2023-06-13 Shanghai Cambricon Information Technology Co., Ltd Neural network quantization parameter determination method and related products
US11675676B2 (en) 2019-06-12 2023-06-13 Shanghai Cambricon Information Technology Co., Ltd Neural network quantization parameter determination method and related products
US11676029B2 (en) 2019-06-12 2023-06-13 Shanghai Cambricon Information Technology Co., Ltd Neural network quantization parameter determination method and related products
US12093148B2 (en) 2019-06-12 2024-09-17 Shanghai Cambricon Information Technology Co., Ltd Neural network quantization parameter determination method and related products
US12001955B2 (en) 2019-08-23 2024-06-04 Anhui Cambricon Information Technology Co., Ltd. Data processing method, device, computer equipment and storage medium
US12112257B2 (en) 2019-08-27 2024-10-08 Anhui Cambricon Information Technology Co., Ltd. Data processing method, device, computer equipment and storage medium
US11544067B2 (en) 2019-10-12 2023-01-03 Baidu Usa Llc Accelerating AI training by an all-reduce process with compression over a distributed system
WO2021068243A1 (en) * 2019-10-12 2021-04-15 Baidu.Com Times Technology (Beijing) Co., Ltd. Method and system for accelerating ai training with advanced interconnect technologies
CN111710009A (zh) * 2020-05-29 2020-09-25 北京百度网讯科技有限公司 人流密度的生成方法、装置、电子设备以及存储介质
US11263077B1 (en) 2020-09-29 2022-03-01 Hailo Technologies Ltd. Neural network intermediate results safety mechanism in an artificial neural network processor
US11874900B2 (en) 2020-09-29 2024-01-16 Hailo Technologies Ltd. Cluster interlayer safety mechanism in an artificial neural network processor
US11221929B1 (en) 2020-09-29 2022-01-11 Hailo Technologies Ltd. Data stream fault detection mechanism in an artificial neural network processor
US11237894B1 (en) 2020-09-29 2022-02-01 Hailo Technologies Ltd. Layer control unit instruction addressing safety mechanism in an artificial neural network processor
US11811421B2 (en) 2020-09-29 2023-11-07 Hailo Technologies Ltd. Weights safety mechanism in an artificial neural network processor
CN115687233A (zh) * 2021-07-29 2023-02-03 腾讯科技(深圳)有限公司 通信方法、装置、设备及计算机可读存储介质
CN115687233B (zh) * 2021-07-29 2024-08-02 腾讯科技(深圳)有限公司 通信方法、装置、设备及计算机可读存储介质

Also Published As

Publication number Publication date
CN104899641B (zh) 2018-07-13

Similar Documents

Publication Publication Date Title
CN104899641A (zh) 深度神经网络学习方法、处理器和深度神经网络学习系统
CN110929886B (zh) 模型训练、预测方法及其系统
US10713568B2 (en) Apparatus and method for executing reversal training of artificial neural network
CN107341541A (zh) 一种用于执行全连接层神经网络训练的装置和方法
CN107229966B (zh) 一种模型数据更新方法、装置及系统
CN113469355B (zh) 分布式系统中的多模型训练管道
US12008468B2 (en) Distributed deep learning system using a communication network for stochastic gradient descent calculations
CN113110590B (zh) 一种多机分布式协同仿真控制平台及控制方法
US20210357816A1 (en) System with hybrid communication strategy for large-scale distributed deep learning
CN106778015A (zh) 一种基于云平台中fpga异构加速基因计算方法
Pan et al. Numerical P systems with production thresholds
CN109559360A (zh) 一种pet图像重建方法、装置和计算设备
Aman et al. Spiking neural P systems with astrocytes producing calcium
CN113033825A (zh) 一种隐私保护的模型训练方法、系统及装置
CN113033806A (zh) 一种训练深度强化学习模型的方法、装置以及调度方法
CN106169961A (zh) 基于人工智能的神经网络的网络参数处理方法及装置
EP3886001A1 (en) Pipelined pointwise convolution using per-channel convolution operations
Kuriyama et al. Real-time simulation of a cerebellar scaffold model on graphics processing units
Silva et al. Mapping a logical representation of TSP to quantum annealing
CN114281955A (zh) 对话处理方法、装置、设备及存储介质
CN110377769B (zh) 基于图数据结构的建模平台系统、方法、服务器及介质
Du Nguyen et al. Accelerating complex brain-model simulations on GPU platforms
CN110796245B (zh) 卷积神经网络模型的计算方法及装置
CN111722937B (zh) 深度学习权重更新方法、装置
CN117540783B (zh) 仿真脑活动数据的生成方法、装置、电子装置和存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: 310052 Room 301, Building No. 599, Changhe Street Network Business Road, Binjiang District, Hangzhou City, Zhejiang Province

Patentee after: Hangzhou NetEase Shuzhifan Technology Co.,Ltd.

Address before: 310052 Room 301, Building No. 599, Changhe Street Network Business Road, Binjiang District, Hangzhou City, Zhejiang Province

Patentee before: HANGZHOU LANGHE TECHNOLOGY Ltd.

CP01 Change in the name or title of a patent holder