1.一種用于在多個批量的訓(xùn)練樣例上訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò)的系統(tǒng),所述卷積神經(jīng)網(wǎng)絡(luò)具有多個層,所述多個層被布置成從最低到最高的序列,所述序列包括一個或多個卷積層,所述一個或多個卷積層后面跟隨有一個或多個全連接層,每個卷積層和每個全連接層包括相應(yīng)的多個節(jié)點,所述系統(tǒng)包括:
多個工作器,其中,每個工作器被配置成維護(hù)每個所述卷積層的相應(yīng)副本以及每個所述全連接層的相應(yīng)的不相交分區(qū),其中,卷積層的每個副本包括所述卷積層中的全部節(jié)點,其中,全連接層的每個不相交分區(qū)包括所述全連接層的一部分所述節(jié)點,并且其中,每個工作器被配置成執(zhí)行操作,所述操作包括:
接收指派給所述工作器的批量的訓(xùn)練樣例,其中,所述批量的訓(xùn)練樣例被指派為使得每個工作器接收所述多個批量中的相應(yīng)批量;
在指派給所述工作器的所述批量的訓(xùn)練樣例上,訓(xùn)練由所述工作器維護(hù)的所述卷積層副本;以及
在所述多個批量的訓(xùn)練樣例的每個上,訓(xùn)練由所述工作器維護(hù)的所述全連接層分區(qū)。
2.根據(jù)權(quán)利要求1所述的系統(tǒng),其中,在指派給所述工作器的所述批量的訓(xùn)練樣例上訓(xùn)練由所述工作器維護(hù)的所述卷積層副本包括:
通過由所述工作器維護(hù)的所述卷積層副本中的全部卷積層副本來處理所述批量的訓(xùn)練樣例,以針對被指派給所述工作器的所述批量中的每個訓(xùn)練樣例計算相應(yīng)的卷積激活;
針對被指派給所述工作器的所述批量中的每個所述訓(xùn)練樣例,獲得由所述工作器維護(hù)的最高全連接層副本的梯度數(shù)據(jù);以及
通過由所述工作器維護(hù)的剩余卷積層副本,來反向傳播所述最高全連接層副本梯度數(shù)據(jù)。
3.根據(jù)權(quán)利要求2所述的系統(tǒng),其中,在所述多個批量的訓(xùn)練樣例的每個上訓(xùn)練由所述工作器維護(hù)的所述全連接層分區(qū)包括:
針對所述多個批量中的全部批量中的每個所述訓(xùn)練樣例,獲得相應(yīng)的卷積數(shù)據(jù),針對每個所述訓(xùn)練樣例的所述卷積數(shù)據(jù)包括所述訓(xùn)練樣例的卷積激活;
通過由所述工作器維護(hù)的最低全連接層的分區(qū)來處理所述卷積數(shù)據(jù),以針對相對應(yīng)的訓(xùn)練樣例來生成自己的初始全連接層分區(qū)激活;
將所述自己的初始全連接層分區(qū)激活發(fā)送到所述多個工作器中的其它工作器;
從所述多個工作器中的其它工作器接收其它初始全連接層分區(qū)激活;
對于由所述工作器維護(hù)的每個其它全連接層分區(qū):
通過所述全連接層分區(qū)來處理由所述工作器維護(hù)的次最低全連接層分區(qū)的自己的分區(qū)激活數(shù)據(jù)和其它分區(qū)激活數(shù)據(jù),以生成所述全連接層分區(qū)的自己的分區(qū)激活數(shù)據(jù),
將所述全連接層分區(qū)的所述自己的分區(qū)激活數(shù)據(jù)發(fā)送到所述多個工作器中的其它工作器,以及
從所述多個工作器中的其它工作器接收所述全連接層分區(qū)的其它分區(qū)激活數(shù)據(jù);
接收每個所述訓(xùn)練樣例的自己的最高全連接層分區(qū)梯度數(shù)據(jù);
將所述自己的最高全連接層分區(qū)梯度數(shù)據(jù)發(fā)送到所述多個工作器中的其它工作器;
從所述多個工作器中的其它工作器接收其它最高全連接層分區(qū)梯度數(shù)據(jù);以及
對于由所述工作器維護(hù)的每個其它全連接層分區(qū):
通過所述全連接層部分來反向傳播由所述工作器維護(hù)的次最高全連接層分區(qū)的自己的分區(qū)梯度數(shù)據(jù)和其它分區(qū)梯度數(shù)據(jù),以生成所述全連接層分區(qū)的自己的梯度分區(qū)數(shù)據(jù),
將所述全連接層分區(qū)的所述自己的分區(qū)梯度數(shù)據(jù)發(fā)送到所述多個工作器中的其它工作器,以及
從所述多個工作器中的其它工作器接收所述全連接層分區(qū)的其它分區(qū)梯度數(shù)據(jù)。
4.根據(jù)權(quán)利要求3所述的系統(tǒng),其中,針對指派給所述工作器的所述批量中的每個所述訓(xùn)練樣例獲得由所述工作器維護(hù)的最高全連接層副本的梯度數(shù)據(jù)包括:
針對每個訓(xùn)練樣例,計算由所述工作器維護(hù)的一部分所述最高卷積層副本的自己的梯度數(shù)據(jù);
將自己的最高全連接層副本梯度部分?jǐn)?shù)據(jù)發(fā)送到所述多個工作器中的其它工作器;以及
從所述多個工作器中的其它工作器接收其它最高全連接層副本梯度部分。
5.根據(jù)權(quán)利要求4所述的系統(tǒng),其中,針對所述多個批量中的全部批量中的每個所述訓(xùn)練樣例獲得相應(yīng)的卷積數(shù)據(jù)包括:
將自己的卷積數(shù)據(jù)發(fā)送到所述多個工作器中的其它工作器,所述自己的卷積數(shù)據(jù)包括針對指派給所述工作器的訓(xùn)練樣例的相應(yīng)的卷積激活;以及
從所述多個工作器中的其它工作器接收其它卷積數(shù)據(jù),所述其它卷積數(shù)據(jù)包括指派給其它工作器的其它訓(xùn)練樣例的相應(yīng)的卷積激活。
6.根據(jù)權(quán)利要求5所述的系統(tǒng),其中,將自己的卷積數(shù)據(jù)發(fā)送到其它工作器包括:將指派給所述工作器的所述批量中的每個訓(xùn)練樣例的自己的卷積數(shù)據(jù)發(fā)送到所述多個工作器中的每個其它工作器,并且其中,接收其它卷積數(shù)據(jù)包括:接收所述多個批量中的每個其它批量中的每個其它訓(xùn)練樣例的其它卷積數(shù)據(jù)。
7.根據(jù)權(quán)利要求6所述的系統(tǒng),其中,將自己的最高全連接層副本梯度部分?jǐn)?shù)據(jù)發(fā)送到其它工作器包括:將所述多個批量中每個其它批量中的其它訓(xùn)練樣例的自己的最高全連接層副本梯度部分?jǐn)?shù)據(jù)發(fā)送到所述訓(xùn)練樣例被指派到的所述工作器,并且其中,從所述多個工作器中的其它工作器接收其它最高全連接層副本梯度部分?jǐn)?shù)據(jù)包括:從每個其它工作器接收在被指派給所述工作器的所述批量中的每個訓(xùn)練樣例的其它最高全連接層副本梯度部分?jǐn)?shù)據(jù)。
8.根據(jù)權(quán)利要求5所述的系統(tǒng),其中,將自己的卷積數(shù)據(jù)發(fā)送到其它工作器包括:將指派給所述工作器的所述批量中的每個訓(xùn)練樣例的自己的卷積數(shù)據(jù)發(fā)送到所述多個工作器中的每個其它工作器,并且其中,接收其它卷積數(shù)據(jù)包括:與處理所述自己的卷積數(shù)據(jù)并行地接收被指派給特定其它工作器的批量中的每個其它訓(xùn)練樣例的其它卷積數(shù)據(jù)。
9.根據(jù)權(quán)利要求8所述的系統(tǒng),其中,從所述多個工作器中的其它工作器接收其它最高全連接層副本梯度部分?jǐn)?shù)據(jù)包括:從每個其它工作器接收指派給所述工作器的所述批量中的每個訓(xùn)練樣例的其它最高全連接層副本梯度部分?jǐn)?shù)據(jù),并且其中,處理所述其它卷積數(shù)據(jù)包括:與接收所述其它最高全連接層副本梯度部分?jǐn)?shù)據(jù)并行地處理指派給所述特定其它工作器的所述批量中的每個其它訓(xùn)練樣例的所述其它卷積數(shù)據(jù)。
10.根據(jù)權(quán)利要求5所述的系統(tǒng),其中,將自己的卷積數(shù)據(jù)發(fā)送到其它工作器包括:將指派給所述工作器的所述批量中的預(yù)定數(shù)目的訓(xùn)練樣例的自己的卷積數(shù)據(jù)發(fā)送到所述多個工作器中的每個其它工作器,并且其中,接收其它卷積數(shù)據(jù)包括:接收所述多個批量中的每個其它批量中的所述預(yù)定數(shù)目的訓(xùn)練樣例的其它卷積數(shù)據(jù)。
11.根據(jù)權(quán)利要求10所述的系統(tǒng),其中,處理所述自己的卷積數(shù)據(jù)和所述其它卷積數(shù)據(jù)包括:與發(fā)送被指派給所述工作器的所述批量中的另一預(yù)定數(shù)目的訓(xùn)練樣例的自己的卷積數(shù)據(jù)并且接收所述多個批量中的每個其它批量中的另一預(yù)定數(shù)目的訓(xùn)練樣例的其它卷積數(shù)據(jù)并行地處理所述自己的卷積數(shù)據(jù)和所述其它卷積數(shù)據(jù)。
12.根據(jù)權(quán)利要求11所述的系統(tǒng),其中,將自己的最高全連接層副本梯度部分?jǐn)?shù)據(jù)發(fā)送到其它工作器包括:將所述多個批量中的每個其它批量中的所述預(yù)定數(shù)目的其它訓(xùn)練樣例的自己的最高全連接層副本梯度部分?jǐn)?shù)據(jù)發(fā)送到所述訓(xùn)練樣例被指派到的所述工作器,其中,從所述多個工作器中的其它工作器接收其它最高全連接層副本梯度部分?jǐn)?shù)據(jù)包括:從每個其它工作器接收所述預(yù)定數(shù)目的訓(xùn)練樣例的其它最高全連接層副本梯度部分?jǐn)?shù)據(jù),并且其中,處理所述自己的卷積數(shù)據(jù)和所述其它卷積數(shù)據(jù)包括:與發(fā)送所述預(yù)定數(shù)目的所述自己的最高全連接層副本梯度部分?jǐn)?shù)據(jù)和接收所述預(yù)定數(shù)目的所述其它最高全連接層副本梯度部分?jǐn)?shù)據(jù)并行地處理所述其它預(yù)定數(shù)目的訓(xùn)練樣例的所述自己的卷積數(shù)據(jù)和所述其它卷積數(shù)據(jù)。
13.根據(jù)權(quán)利要求3所述的系統(tǒng),所述操作還包括:
使用所述相對應(yīng)的梯度數(shù)據(jù)來更新所述卷積層副本和所述全連接層分區(qū)的權(quán)重。
14.一種用于在多個批量的訓(xùn)練樣例上訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò)的方法,所述卷積神經(jīng)網(wǎng)絡(luò)具有多個層,所述多個層被布置成從最低到最高的序列,所述序列包括一個或多個卷積層,所述一個或多個卷積層后面跟隨有一個或多個全連接層,每個卷積層和每個全連接層包括相應(yīng)的多個節(jié)點,所述方法包括:
由多個工作器中的每個工作器維護(hù)每個所述卷積層的相應(yīng)副本,其中,卷積層的每個副本包括所述卷積層中的全部節(jié)點;
由每個所述工作器維護(hù)每個所述全連接層的相應(yīng)的不相交分區(qū),其中,全連接層的每個不相交分區(qū)包括所述全連接層的一部分節(jié)點;
由每個所述工作器接收指派給所述工作器的批量的訓(xùn)練樣例,其中,所述批量的訓(xùn)練樣例被指派為使得每個工作器接收所述多個批量中的相應(yīng)的批量;
由每個所述工作器在指派給所述工作器的所述批量的訓(xùn)練樣例上訓(xùn)練由所述工作器維護(hù)的所述卷積層副本;以及
由每個所述工作器在所述多個批量的訓(xùn)練樣例的每個上訓(xùn)練由所述工作器維護(hù)的所述全連接層分區(qū)。
15.根據(jù)權(quán)利要求14所述的方法,其中,在指派給所述工作器的所述批量的訓(xùn)練樣例上訓(xùn)練由所述工作器維護(hù)的所述卷積層副本包括:
通過由所述工作器維護(hù)的所述卷積層副本中的全部卷積層副本來處理所述批量的訓(xùn)練樣例,以針對被指派給所述工作器的所述批量中的每個訓(xùn)練樣例計算相應(yīng)的卷積激活;
針對被指派給所述工作器的所述批量中的每個所述訓(xùn)練樣例,獲得由所述工作器維護(hù)的最高全連接層副本的梯度數(shù)據(jù);以及
通過由所述工作器維護(hù)的剩余卷積層副本,來反向傳播所述最高全連接層副本梯度數(shù)據(jù)。
16.根據(jù)權(quán)利要求15所述的方法,其中,在所述多個批量的訓(xùn)練樣例的每個上訓(xùn)練由所述工作器維護(hù)的所述全連接層分區(qū)包括:
針對所述多個批量中的全部批量中的每個所述訓(xùn)練樣例,獲得相應(yīng)的卷積數(shù)據(jù),針對每個所述訓(xùn)練樣例的所述卷積數(shù)據(jù)包括所述訓(xùn)練樣例的卷積激活;
通過由所述工作器維護(hù)的最低全連接層的分區(qū)來處理所述卷積數(shù)據(jù),以針對相對應(yīng)的訓(xùn)練樣例來生成自己的初始全連接層分區(qū)激活;
將所述自己的初始全連接層分區(qū)激活發(fā)送到所述多個工作器中的其它工作器;
從所述多個工作器中的其它工作器接收其它初始全連接層分區(qū)激活;
對于由所述工作器維護(hù)的每個其它全連接層分區(qū):
通過所述全連接層分區(qū)來處理由所述工作器維護(hù)的次最低全連接層分區(qū)的自己的分區(qū)激活數(shù)據(jù)和其它分區(qū)激活數(shù)據(jù),以生成所述全連接層分區(qū)的自己的分區(qū)激活數(shù)據(jù),
將所述全連接層分區(qū)的所述自己的分區(qū)激活數(shù)據(jù)發(fā)送到所述多個工作器中的其它工作器,以及
從所述多個工作器中的其它工作器接收所述全連接層分區(qū)的其它分區(qū)激活數(shù)據(jù);
接收每個所述訓(xùn)練樣例的自己的最高全連接層分區(qū)梯度數(shù)據(jù);
將所述自己的最高全連接層分區(qū)梯度數(shù)據(jù)發(fā)送到所述多個工作器中的其它工作器;
從所述多個工作器中的其它工作器接收其它最高全連接層分區(qū)梯度數(shù)據(jù);以及
對于由所述工作器維護(hù)的每個其它全連接層分區(qū):
通過所述全連接層部分,來反向傳播由所述工作器維護(hù)的次最高全連接層分區(qū)的自己的分區(qū)梯度數(shù)據(jù)和其它分區(qū)梯度數(shù)據(jù),以生成所述全連接層分區(qū)的自己的梯度分區(qū)數(shù)據(jù),
將所述全連接層分區(qū)的所述自己的分區(qū)梯度數(shù)據(jù)發(fā)送到所述多個工作器中的其它工作器,以及
從所述多個工作器中的其它工作器接收所述全連接層分區(qū)的其它分區(qū)梯度數(shù)據(jù)。
17.根據(jù)權(quán)利要求16所述的方法,其中,針對指派給所述工作器的所述批量中的每個所述訓(xùn)練樣例獲得由所述工作器維護(hù)的最高全連接層副本的梯度數(shù)據(jù)包括:
針對每個訓(xùn)練樣例,計算由所述工作器維護(hù)的一部分所述最高卷積層副本的自己的梯度數(shù)據(jù);
將自己的最高全連接層副本梯度部分?jǐn)?shù)據(jù)發(fā)送到所述多個工作器中的其它工作器;以及
從所述多個工作器中的其它工作器接收其它最高全連接層副本梯度部分。
18.根據(jù)權(quán)利要求17所述的方法,其中,針對所述多個批量中的全部批量中的每個所述訓(xùn)練樣例獲得相應(yīng)的卷積數(shù)據(jù)包括:
將自己的卷積數(shù)據(jù)發(fā)送到所述多個工作器中的其它工作器,所述自己的卷積數(shù)據(jù)包括針對指派給所述工作器的訓(xùn)練樣例的相應(yīng)的卷積激活;以及
從所述多個工作器中的其它工作器接收其它卷積數(shù)據(jù),所述其它卷積數(shù)據(jù)包括指派給其它工作器的其它訓(xùn)練樣例的相應(yīng)的卷積激活。
19.根據(jù)權(quán)利要求16所述的方法,還包括:
由每個所述工作器使用所述相對應(yīng)的梯度數(shù)據(jù)來更新由所述工作器維護(hù)的所述卷積層副本的權(quán)重以及由所述工作器維護(hù)的所述全連接層分區(qū)的權(quán)重。
20.編碼有指令的一個或多個計算機(jī)存儲介質(zhì),所述指令當(dāng)由一個或多個計算機(jī)執(zhí)行時,使所述一個或多個計算機(jī)執(zhí)行用于在多個批量的訓(xùn)練樣例上訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò)的操作,所述卷積神經(jīng)網(wǎng)絡(luò)具有多個層,所述多個層被布置成從最低到最高的序列,所述序列包括一個或多個卷積層,所述一個或多個卷積層后面跟隨有一個或多個全連接層,每個卷積層和每個全連接層包括相應(yīng)的多個節(jié)點,所述操作包括:
由多個工作器中的每個工作器維護(hù)每個所述卷積層的相應(yīng)副本,其中,卷積層的每個副本包括所述卷積層中的全部節(jié)點;
由每個所述工作器維護(hù)每個所述全連接層的相應(yīng)的不相交分區(qū),其中,全連接層的每個不相交分區(qū)包括所述全連接層的一部分節(jié)點;
由每個所述工作器接收指派給所述工作器的批量的訓(xùn)練樣例,其中,所述批量的訓(xùn)練樣例被指派為使得每個工作器接收到所述多個批量中的相應(yīng)的批量;
由每個所述工作器在指派給所述工作器的所述批量的訓(xùn)練樣例上訓(xùn)練由所述工作器維護(hù)的所述卷積層副本;以及
由每個所述工作器在所述多個批量的訓(xùn)練樣例的每個上訓(xùn)練由所述工作器維護(hù)的所述全連接層分區(qū)。