【技术实现步骤摘要】
【国外来华专利技术】
技术介绍
本说明书涉及使卷积神经网络的训练并行化。卷积神经网络通常包括两种类型的神经网络层:卷积神经网络层和全连接神经网络层。卷积神经网络层具有稀疏连接性,其中卷积层中的每个节点从仅次最低神经网络层中的节点的子集接收输入。一些卷积神经网络层具有与该层中的其它节点共享权重的节点。然而,全连接层中的节点从次最低神经网络层中的每个节点接收输入。
技术实现思路
一般而言,本说明书描述用于在多个批量的训练样例上训练卷积神经网络(CNN)的技术。CNN由多个工作器(worker)训练。每个工作器被配置成维护CNN的卷积层中的每个卷积层的相应的副本以及CNN的全连接层中的每个全连接层的相应的不相交分区。卷积层的每个副本包括卷积层中的节点中的全部,并且全连接层的每个不相交分区包括全连接层的节点的一部分。每个工作器在指派给该工作器的批量的训练样例上训练由该工作器维护的卷积层副本,同时在多个批量的训练样例中的全部训练样例上训练由该工作器维护的全连接层分区。能够实现本说明书中所描述的主题的特定实施例以便实现以下优点中的一个或多个。通过在卷积神经网络的训练期间与全连接层不同地使卷积层并行化,能够通过利用两种类型的层的不同结构来高效地且迅速地训练网络。附加地,通过使中间通信与训练交叠,例如,通过与工作器处理其它训练样例的数据并行地从一个工作器向另一工作器发送激活数据、与工作器处理其它训练样例的数据并行地从一个工作器向另一工作器发送梯度数据或两者,能够减少训练时间并且能够减轻由于数据在训练卷积神经网络的工作器之间的传输而导致的训练延迟。在下面在附图和描述中阐述本说明书的主题的一个或多个实施例 ...
【技术保护点】
一种用于在多个批量的训练样例上训练卷积神经网络的系统,所述卷积神经网络具有多个层,所述多个层被布置成从最低到最高的序列,所述序列包括一个或多个卷积层,所述一个或多个卷积层后面跟随有一个或多个全连接层,每个卷积层和每个全连接层包括相应的多个节点,所述系统包括:多个工作器,其中,每个工作器被配置成维护每个所述卷积层的相应副本以及每个所述全连接层的相应的不相交分区,其中,卷积层的每个副本包括所述卷积层中的全部节点,其中,全连接层的每个不相交分区包括所述全连接层的一部分所述节点,并且其中,每个工作器被配置成执行操作,所述操作包括:接收指派给所述工作器的批量的训练样例,其中,所述批量的训练样例被指派为使得每个工作器接收所述多个批量中的相应批量;在指派给所述工作器的所述批量的训练样例上,训练由所述工作器维护的所述卷积层副本;以及在所述多个批量的训练样例的每个上,训练由所述工作器维护的所述全连接层分区。
【技术特征摘要】
【国外来华专利技术】2014.04.11 US 61/978,7341.一种用于在多个批量的训练样例上训练卷积神经网络的系统,所述卷积神经网络具有多个层,所述多个层被布置成从最低到最高的序列,所述序列包括一个或多个卷积层,所述一个或多个卷积层后面跟随有一个或多个全连接层,每个卷积层和每个全连接层包括相应的多个节点,所述系统包括:多个工作器,其中,每个工作器被配置成维护每个所述卷积层的相应副本以及每个所述全连接层的相应的不相交分区,其中,卷积层的每个副本包括所述卷积层中的全部节点,其中,全连接层的每个不相交分区包括所述全连接层的一部分所述节点,并且其中,每个工作器被配置成执行操作,所述操作包括:接收指派给所述工作器的批量的训练样例,其中,所述批量的训练样例被指派为使得每个工作器接收所述多个批量中的相应批量;在指派给所述工作器的所述批量的训练样例上,训练由所述工作器维护的所述卷积层副本;以及在所述多个批量的训练样例的每个上,训练由所述工作器维护的所述全连接层分区。2.根据权利要求1所述的系统,其中,在指派给所述工作器的所述批量的训练样例上训练由所述工作器维护的所述卷积层副本包括:通过由所述工作器维护的所述卷积层副本中的全部卷积层副本来处理所述批量的训练样例,以针对被指派给所述工作器的所述批量中的每个训练样例计算相应的卷积激活;针对被指派给所述工作器的所述批量中的每个所述训练样例,获得由所述工作器维护的最高全连接层副本的梯度数据;以及通过由所述工作器维护的剩余卷积层副本,来反向传播所述最高全连接层副本梯度数据。3.根据权利要求2所述的系统,其中,在所述多个批量的训练样例的每个上训练由所述工作器维护的所述全连接层分区包括:针对所述多个批量中的全部批量中的每个所述训练样例,获得相应的卷积数据,针对每个所述训练样例的所述卷积数据包括所述训练样例的卷积激活;通过由所述工作器维护的最低全连接层的分区来处理所述卷积数据,以针对相对应的训练样例来生成自己的初始全连接层分区激活;将所述自己的初始全连接层分区激活发送到所述多个工作器中的其它工作器;从所述多个工作器中的其它工作器接收其它初始全连接层分区激活;对于由所述工作器维护的每个其它全连接层分区:通过所述全连接层分区来处理由所述工作器维护的次最低全连接层分区的自己的分区激活数据和其它分区激活数据,以生成所述全连接层分区的自己的分区激活数据,将所述全连接层分区的所述自己的分区激活数据发送到所述多个工作器中的其它工作器,以及从所述多个工作器中的其它工作器接收所述全连接层分区的其它分区激活数据;接收每个所述训练样例的自己的最高全连接层分区梯度数据;将所述自己的最高全连接层分区梯度数据发送到所述多个工作器中的其它工作器;从所述多个工作器中的其它工作器接收其它最高全连接层分区梯度数据;以及对于由所述工作器维护的每个其它全连接层分区:通过所述全连接层部分来反向传播由所述工作器维护的次最高全连接层分区的自己的分区梯度数据和其它分区梯度数据,以生成所述全连接层分区的自己的梯度分区数据,将所述全连接层分区的所述自己的分区梯度数据发送到所述多个工作器中的其它工作器,以及从所述多个工作器中的其它工作器接收所述全连接层分区的其它分区梯度数据。4.根据权利要求3所述的系统,其中,针对指派给所述工作器的所述批量中的每个所述训练样例获得由所述工作器维护的最高全连接层副本的梯度数据包括:针对每个训练样例,计算由所述工作器维护的一部分所述最高卷积层副本的自己的梯度数据;将自己的最高全连接层副本梯度部分数据发送到所述多个工作器中的其它工作器;以及从所述多个工作器中的其它工作器接收其它最高全连接层副本梯度部分。5.根据权利要求4所述的系统,其中,针对所述多个批量中的全部批量中的每个所述训练样例获得相应的卷积数据包括:将自己的卷积数据发送到所述多个工作器中的其它工作器,所述自己的卷积数据包括针对指派给所述工作器的训练样例的相应的卷积激活;以及从所述多个工作器中的其它工作器接收其它卷积数据,所述其它卷积数据包括指派给其它工作器的其它训练样例的相应的卷积激活。6.根据权利要求5所述的系统,其中,将自己的卷积数据发送到其它工作器包括:将指派给所述工作器的所述批量中的每个训练样例的自己的卷积数据发送到所述多个工作器中的每个其它工作器,并且其中,接收其它卷积数据包括:接收所述多个批量中的每个其它批量中的每个其它训练样例的其它卷积数据。7.根据权利要求6所述的系统,其中,将自己的最高全连接层副本梯度部分数据发送到其它工作器包括:将所述多个批量中每个其它批量中的其它训练样例的自己的最高全连接层副本梯度部分数据发送到所述训练样例被指派到的所述工作器,并且其中,从所述多个工作器中的其它工作器接收其它最高全连接层副本梯度部分数据包括:从每个其它工作器接收在被指派给所述工作器的所述批量中的每个训练样例的其它最高全连接层副本梯度部分数据。8.根据权利要求5所述的系统,其中,将自己的卷积数据发送到其它工作器包括:将指派给所述工作器的所述批量中的每个训练样例的自己的卷积数据发送到所述多个工作器中的每个其它工作器,并且其中,接收其它卷积数据包括:与处理所述自己的卷积数据并行地接收被指派给特定其它工作器的批量中的每个其它训练样例的其它卷积数据。9.根据权利要求8所述的系统,其中,从所述多个工作器中的其它工作器接收其它最高全连接层副本梯度部分数据包括:从每个其它工作器接收指派给所述工作器的所述批量中的每个训练样例的其它最高全连接层副本梯度部分数据,并且其中,处理所述其它卷积数据包括:与接收所述其它最高全连接层副本梯度部分数据并行地处理指派给所述特定其它工作器的所述批量中的每个其它训练样例的所述其它卷积数据。10.根据权利要求5所述的系统,其中,将自己的卷积数据发送到其它工作器包括:将指派给所述工作器的所述批量中的预定数目的训练样例的自己的卷积数据发送到所述多个工作器中的每个其它工作器,并且其中,接收其它卷积数据包括:接收所述多个批量中的每个其它批量中的所述预定数目的训练样例的其它卷积数据。11.根据权利要求10所述的系统,其中,处理所述自己的卷积数据和所述其它卷积数据包括:与发送被指派给所述工作器的所述批量中的另一预定数目的训练样例的自己的卷积数据并且接收所述多个批量中的每个其它批量中的...
【专利技术属性】
技术研发人员:亚历山大·克里热夫斯基,
申请(专利权)人:谷歌公司,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。