欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

在線學(xué)習(xí)算法的并行化的制作方法

文檔序號:6427789閱讀:153來源:國知局
專利名稱:在線學(xué)習(xí)算法的并行化的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及在線學(xué)習(xí)技術(shù),尤其涉及在線學(xué)習(xí)算法的并行化。
背景技術(shù)
在線學(xué)習(xí)算法是這樣一類算法,其使用直到當(dāng)前時(shí)刻的歷史數(shù)據(jù)來作出決定。在線學(xué)習(xí)算法也被稱為流算法。接著由每個機(jī)器應(yīng)用增量式訓(xùn)練以一次學(xué)習(xí)一個實(shí)例。當(dāng)新數(shù)據(jù)變得可用,算法不需要在全部數(shù)據(jù)上重新訓(xùn)練,因?yàn)樗鼈兝^續(xù)增量地改善現(xiàn)有模型。在線算法最近在批算法上獲得改善了的效率。新的更大的規(guī)模問題極大地增加了數(shù)據(jù)的量。因此,單機(jī)器方案在在線算法的有效并行(并且仍保持準(zhǔn)確性)方面不能夠提供令人滿意的性能。

發(fā)明內(nèi)容
本發(fā)明的各實(shí)施例由所附權(quán)利要求書來定義。提供本發(fā)明的各實(shí)施例的高層次概覽以便介紹將在以下具體實(shí)施方式
一節(jié)中進(jìn)一步描述的系統(tǒng)、方法和介質(zhì)的概述。本概述既不旨在標(biāo)識所要求保護(hù)的主題的關(guān)鍵特征或必要特征,也不旨在用于獨(dú)立地幫助確定所要求保護(hù)的主題的范圍。本發(fā)明的各實(shí)施例包括在根據(jù)本發(fā)明的各實(shí)施例的在線學(xué)習(xí)算法的并行化中使用的動態(tài)批策略。該動態(tài)批策略提供了以原始模型狀態(tài)和經(jīng)更新的模型狀態(tài)之間的閾值級別差異為基礎(chǔ)的、而非根據(jù)恒定或預(yù)定批大小的合并功能。因此,隨著節(jié)點(diǎn)的經(jīng)更新的模型狀態(tài)偏離原始模型狀態(tài),合并更頻繁地發(fā)生。如果節(jié)點(diǎn)的狀態(tài)不是顯著地不同于原始狀態(tài), 則所有節(jié)點(diǎn)與當(dāng)前狀態(tài)接近一致,并且合并是不必要的。一訓(xùn)練過程包括讀取一批傳入流數(shù)據(jù),從合作處理器檢索任何缺少的模型信任, 并且在該批傳入流數(shù)據(jù)上進(jìn)行學(xué)習(xí)。重復(fù)各讀取、檢索和學(xué)習(xí)步驟(包括更新局部貝葉斯參數(shù)),直到所測得的狀態(tài)差異超過設(shè)定的閾值級別。向相應(yīng)的多個處理器應(yīng)用模型更新。 處理器也可向另一處理器請求經(jīng)更新的部分模型狀態(tài),其中作出請求的處理器將所請求的部分模型狀態(tài)存儲在其模型容器中。本發(fā)明的其他實(shí)施例包括其上存儲有指令的計(jì)算機(jī)可讀機(jī)制,該指令在由計(jì)算設(shè)備執(zhí)行時(shí)執(zhí)行上述方法。


以下將參考附圖詳細(xì)描述本發(fā)明的說明性實(shí)施例,附圖通過引用結(jié)合于此,并且其中圖1是示出根據(jù)本發(fā)明的各實(shí)施例使用的示例性計(jì)算機(jī)操作環(huán)境的框圖;圖2是樣本級策略的圖示;圖3是批級策略的圖示;圖4是微型批策略的圖示;
圖5是根據(jù)本發(fā)明的各實(shí)施例使用的并行化系統(tǒng)的圖示;圖6是根據(jù)本發(fā)明的各實(shí)施例使用的并行化系統(tǒng)的流程圖;圖7是根據(jù)本發(fā)明的各實(shí)施例使用的動態(tài)地并行地更新多個處理器的計(jì)算機(jī)實(shí)現(xiàn)的方法的流程圖;以及圖8是在并行化學(xué)習(xí)系統(tǒng)中分配模型的計(jì)算機(jī)實(shí)現(xiàn)的方法的流程圖。
具體實(shí)施例方式本發(fā)明的各實(shí)施例提供了用于動態(tài)地并行更新多個處理器的系統(tǒng)、方法和計(jì)算機(jī)可讀存儲介質(zhì)。該具體實(shí)施方式
和所附權(quán)利要求書滿足適用的法定要求。此處可使用術(shù)語“步驟”、“塊”等來意味所采用的方法的不同動作,但是這些術(shù)語不應(yīng)被解釋為暗示任何特定次序,除非明確地描述了各單獨(dú)步驟、框等的次序。同樣,此處可使用術(shù)語“模塊”等來意味所采用的系統(tǒng)的不同組件,但是這些術(shù)語不應(yīng)被解釋為暗示任何特定次序,除非明確地描述了各單獨(dú)模塊等的次序。貫穿本發(fā)明的不同實(shí)施例的描述,使用若干縮寫和簡寫符號來幫助理解關(guān)于相關(guān)聯(lián)的系統(tǒng)、方法和計(jì)算機(jī)可讀介質(zhì)的特定概念。這些縮寫和簡寫符號旨在幫助提供一種傳達(dá)此處所表達(dá)的觀念的容易方法,并且不意味著限制本發(fā)明的任何實(shí)施例的范圍。本發(fā)明的各實(shí)施例包括,但不限于,方法、系統(tǒng)以及具體化在一個或多個計(jì)算機(jī)可讀介質(zhì)上的計(jì)算機(jī)可執(zhí)行指令集。計(jì)算機(jī)可讀介質(zhì)包括易失性和非易失性介質(zhì)、可移動和不可移動介質(zhì)、以及可由數(shù)據(jù)庫和各種其它網(wǎng)絡(luò)設(shè)備讀取的介質(zhì)。作為示例而非局限,計(jì)算機(jī)可讀存儲介質(zhì)包括以用于存儲信息的任何方法或技術(shù)實(shí)現(xiàn)的介質(zhì)。存儲的信息的示例包括計(jì)算機(jī)可使用的指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊,及其他數(shù)據(jù)表示形式。介質(zhì)示例包括,但不限于,信息傳送介質(zhì)、隨機(jī)存取存儲器(RAM)、只讀存儲器(ROM)、電可擦除可編程只讀存儲器 (EEPROM)、閃存或其他存儲器技術(shù)、緊致盤只讀存儲器(⑶-ROM)、數(shù)字多功能盤(DVD)、全息介質(zhì)或其他光盤存儲、磁帶盒、磁帶、磁盤存儲以及其他磁存儲設(shè)備。這些介質(zhì)示例可被配置成暫時(shí)地、臨時(shí)地或永久地存儲數(shù)據(jù)。計(jì)算機(jī)可讀介質(zhì)包括唯一地存在于一個處理系統(tǒng)上或分布在對該計(jì)算系統(tǒng)為本地或遠(yuǎn)程的多個互連的處理系統(tǒng)之間的協(xié)作或互連的計(jì)算機(jī)可讀介質(zhì)。本發(fā)明的各實(shí)施例可以在計(jì)算機(jī)代碼或機(jī)器可使用指令的一般上下文中描述,機(jī)器可使用指令包括由計(jì)算系統(tǒng)或其它一個或多個機(jī)器執(zhí)行的諸如程序模塊等的計(jì)算機(jī)可執(zhí)行指令。一般而言,包括例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等的程序模塊指的是可執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定數(shù)據(jù)類型的代碼。此處所描述的各實(shí)施例可以使用各種系統(tǒng)配置來實(shí)現(xiàn),包括手持式設(shè)備、消費(fèi)電子產(chǎn)品、通用計(jì)算機(jī)、更專用計(jì)算設(shè)備等。此處所描述的各實(shí)施例還可以使用通過通信網(wǎng)絡(luò)或因特網(wǎng)鏈接的遠(yuǎn)程處理設(shè)備來在分布式計(jì)算環(huán)境中實(shí)現(xiàn)。在某些實(shí)施例中,描述了一種動態(tài)地并行地更新多個處理器的計(jì)算機(jī)實(shí)現(xiàn)的方法。模型狀態(tài)根據(jù)劃分方案被劃分成部分模型。原始部分模型狀態(tài)的本地副本被接收到多個處理器的每一個中。根據(jù)傳入數(shù)據(jù)流的部分分布模型,在多個處理器之間劃分所述傳入數(shù)據(jù)流。多個處理器中的每一個根據(jù)屬性來串行地處理經(jīng)劃分的傳入流數(shù)據(jù)以達(dá)到多個當(dāng)前部分模型狀態(tài)。根據(jù)散度函數(shù),為多個處理器中的每一個串行地確定原始部分模型狀態(tài)與其相應(yīng)的當(dāng)前部分模型狀態(tài)之間的差異。根據(jù)各屬性,為多個處理器中的每一個合并所確定的超過閾值級別的差異。合并的超過閾值級別的差異與原始部分模型狀態(tài)組合以獲得經(jīng)更新的全局模型狀態(tài)。在另一實(shí)施例中,一個或多個計(jì)算機(jī)可讀存儲介質(zhì)上包含有計(jì)算機(jī)可讀指令,這些指令在由計(jì)算設(shè)備執(zhí)行時(shí)執(zhí)行上述動態(tài)地并行更新多個處理器的方法。在某些實(shí)施例中,描述了一種在并行化學(xué)習(xí)系統(tǒng)中分配模型的計(jì)算機(jī)實(shí)現(xiàn)的方法。根據(jù)均勻分布散列函數(shù)的輸出,將原始模型狀態(tài)的多個分區(qū)分配給相應(yīng)的多個節(jié)點(diǎn)。 所分配的多個分區(qū)被加載到多個節(jié)點(diǎn)的每一個的相應(yīng)的模型容器中。多個節(jié)點(diǎn)中的每一個根據(jù)經(jīng)劃分的經(jīng)解析印象流來單獨(dú)訓(xùn)練以獲得多個經(jīng)劃分的當(dāng)前模型狀態(tài)。在根據(jù)多個節(jié)點(diǎn)的每一個的屬性訓(xùn)練之后,合并所計(jì)算的經(jīng)劃分的原始模型狀態(tài)和對應(yīng)的經(jīng)劃分的當(dāng)前模型狀態(tài)之間的差異。合并的所計(jì)算的差異被組合到原始模型狀態(tài)以獲得經(jīng)更新的模型狀態(tài)。在另一實(shí)施例中,一個或多個計(jì)算機(jī)可讀存儲介質(zhì)上包含有計(jì)算機(jī)可讀指令,這些指令在由計(jì)算設(shè)備執(zhí)行時(shí)執(zhí)行上述在并行化學(xué)習(xí)系統(tǒng)中分配模型的方法。在又一些實(shí)施例中,描述了一種動態(tài)地更新多個處理器的計(jì)算機(jī)實(shí)現(xiàn)的方法。根據(jù)均勻分布散列函數(shù)的輸出,將原始模型狀態(tài)的多個分區(qū)分配給相應(yīng)的多個節(jié)點(diǎn)。所分配的多個經(jīng)劃分的原始模型狀態(tài)被加載到多個節(jié)點(diǎn)的每一個中的相應(yīng)的模型容器中。多個節(jié)點(diǎn)中的每一個根據(jù)屬性來在相應(yīng)的一批經(jīng)劃分的印象流上訓(xùn)練以獲得多個分區(qū)當(dāng)前模型狀態(tài)。對多個節(jié)點(diǎn)的每一個,確定經(jīng)劃分的原始模型狀態(tài)和相應(yīng)的經(jīng)劃分的當(dāng)前模型狀態(tài)之間的差異。根據(jù)各屬性,為多個節(jié)點(diǎn)中的每一個合并所確定的超過閾值級別的差異。合并的超過閾值級別的差異與經(jīng)劃分的原始模型狀態(tài)進(jìn)行組合以獲得經(jīng)更新的全局模型狀態(tài)。在另一實(shí)施例中,一個或多個計(jì)算機(jī)可讀存儲介質(zhì)上包含有計(jì)算機(jī)可讀指令,這些指令在由計(jì)算設(shè)備執(zhí)行時(shí)執(zhí)行上述動態(tài)地更新多個處理器的方法。在簡要描述了此處的各實(shí)施例的概覽后,以下描述一示例性計(jì)算設(shè)備。最初參考圖1,示出了用于實(shí)現(xiàn)本發(fā)明的各實(shí)施例的示例性操作環(huán)境,并將其概括指定為計(jì)算設(shè)備 100。計(jì)算設(shè)備100只是合適的計(jì)算系統(tǒng)的一個示例,并且不旨在對本發(fā)明的各實(shí)施例的使用范圍或功能提出任何限制。也不應(yīng)該將計(jì)算設(shè)備100解釋為對所示出的任一組件或其組合有任何依賴性或要求。在一個實(shí)施例中,計(jì)算設(shè)備100是常規(guī)計(jì)算機(jī)(例如,個人計(jì)算機(jī)或膝上型計(jì)算機(jī))。本發(fā)明的各實(shí)施例還適用于多個互連的計(jì)算設(shè)備,如計(jì)算設(shè)備100。計(jì)算設(shè)備100包括直接或間接耦合以下設(shè)備的總線110 存儲器112、一個或多個處理器114、一個或多個呈現(xiàn)組件116、輸入/輸出(I/O)端口 118、輸入/輸出組件120、和說明性電源122??偩€110表示一個或多個總線可以為何物(諸如地址總線、數(shù)據(jù)總線或其組合)。盡管為了清楚起見用線條示出了圖1的各框,但是在現(xiàn)實(shí)中,各組件的劃界并不是那樣清楚,并且按比喻的說法,更精確而言這些線條將是灰色的和模糊的。例如,可以將諸如顯示設(shè)備等的呈現(xiàn)組件116認(rèn)為是I/O組件120。同樣,處理器114具有存儲器112。本領(lǐng)域的技術(shù)人員可以理解,這是本領(lǐng)域的特性,并且如上所述,圖1的圖示只是例示可結(jié)合本發(fā)明的一個或多個實(shí)施例來使用的示例性計(jì)算設(shè)備。諸如“工作站”、“服務(wù)器”、“膝上型計(jì)算機(jī)”、“手持式設(shè)備”等分類之間沒有區(qū)別,它們?nèi)慷急徽J(rèn)為是在圖1的范圍之內(nèi)并且被稱為“計(jì)算設(shè)備”或“計(jì)算系統(tǒng)”。計(jì)算設(shè)備100可包括各種計(jì)算機(jī)可讀介質(zhì)。作為示例而非局限,計(jì)算機(jī)可讀介質(zhì)可包括RAM、R0M、EEPR0M、閃存或其他存儲器技術(shù)、CDR0M、DVD或其他光學(xué)或全息介質(zhì)、磁帶盒、磁帶、磁盤存儲或其他磁存儲設(shè)備、或可被配置成存儲與此處所描述的各實(shí)施例相關(guān)的數(shù)據(jù)和/或執(zhí)行的類似的有形介質(zhì)。存儲器112包括易失性和/或非易失性存儲器形式的計(jì)算機(jī)存儲介質(zhì)。存儲器 112可以是可移動的、不可移動的或其組合。示例性硬件設(shè)備包括固態(tài)存儲器、硬盤驅(qū)動器、 高速緩存、光盤驅(qū)動器等。計(jì)算設(shè)備100包括從諸如存儲器112或I/O組件120等各種實(shí)體讀取數(shù)據(jù)的一個或多個處理器114。呈現(xiàn)組件116向用戶或其它設(shè)備呈現(xiàn)數(shù)據(jù)指示。示例性呈現(xiàn)組件116包括顯示設(shè)備、揚(yáng)聲器設(shè)備、打印設(shè)備、振動設(shè)備等等。I/O端口 118將計(jì)算設(shè)備100邏輯上耦合至包括I/O組件120的其它設(shè)備,其中某些設(shè)備可以是內(nèi)置的。說明性I/O組件120包括話筒、操縱桿、游戲手柄、圓盤式衛(wèi)星天線、 掃描儀、打印機(jī)、無線設(shè)備等等。以上描述的與計(jì)算設(shè)備100有關(guān)的組件也可被包括在無線設(shè)備中。如此處所描述的無線設(shè)備指的是任何類型的無線電話、手持式設(shè)備、個人數(shù)字助理(PDA) ,BlackBerry 、 智能電話、數(shù)碼相機(jī)、或可無線地通信的其他移動設(shè)備(除了膝上型計(jì)算機(jī)之外)。本領(lǐng)域的技術(shù)人員可以理解,無線設(shè)備也包括執(zhí)行各種功能的處理器和計(jì)算機(jī)存儲介質(zhì)。此處所描述的各實(shí)施例適用于計(jì)算設(shè)備和無線設(shè)備兩者。在各實(shí)施例中,計(jì)算設(shè)備也可以指運(yùn)行其圖像由無線設(shè)備中的照相機(jī)來捕捉的應(yīng)用程序的設(shè)備。上述計(jì)算系統(tǒng)被配置成供上文中概括描述并在下文中更詳細(xì)描述的若干計(jì)算機(jī)實(shí)現(xiàn)的方法、系統(tǒng)和介質(zhì)來使用。本發(fā)明的各實(shí)施例提供了在線學(xué)習(xí)算法的并行化的計(jì)算機(jī)實(shí)現(xiàn)的方法、系統(tǒng)和介質(zhì)。在線學(xué)習(xí)算法的并行化將機(jī)器增量式訓(xùn)練的概念并行地應(yīng)用于多個訓(xùn)練機(jī)器。每一訓(xùn)練機(jī)器處理獨(dú)立于經(jīng)劃分的原始模型狀態(tài)的、所分配的量的流數(shù)據(jù),以形成經(jīng)劃分的當(dāng)前模型狀態(tài)。所有訓(xùn)練機(jī)器用組合的經(jīng)劃分的當(dāng)前模型狀態(tài)的各個結(jié)果來同步,以獲得經(jīng)更新的全局模型狀態(tài)。在線學(xué)習(xí)算法利用各種策略來處理某一固定數(shù)量的實(shí)例,并組合來自多個訓(xùn)練機(jī)器的結(jié)果。圖2中示出了樣本級策略。所處理的信息與原始模型狀態(tài)的合并在每一實(shí)例之后發(fā)生。該策略將產(chǎn)生非常準(zhǔn)確的結(jié)果,但是如果有大量信息需要處理則是低效的,因?yàn)橥ㄐ藕屯介_銷將非常大。圖3中示出了批級策略。所處理的信息與原始模型狀態(tài)的合并在處理了所有實(shí)例之后發(fā)生。該策略在有大量實(shí)例要處理的情況下將具有有限的準(zhǔn)確度,但卻是非常高效的,因?yàn)楹喜⒅钡教幚砹怂行畔⒅蟛虐l(fā)生。圖4示出了微型批策略。所處理的信息與原始模型狀態(tài)的合并在每一組實(shí)例之后發(fā)生。微型批策略試圖平衡樣本級和批級策略。然而,微型批策略使用了預(yù)定的恒定大小的批,且因此在提供既高效又準(zhǔn)確的結(jié)果方面也是有限的。圖5示出了供根據(jù)本發(fā)明的各實(shí)施例的在線學(xué)習(xí)算法的動態(tài)批策略使用的并行化系統(tǒng)。該動態(tài)批策略提供了以原始模型狀態(tài)和當(dāng)前模型狀態(tài)之間的閾值級別差異為基礎(chǔ)的、而非根據(jù)一組恒定或預(yù)定準(zhǔn)則的合并功能。該并行化系統(tǒng)中的多個節(jié)點(diǎn)根據(jù)部分分布模型來劃分。根據(jù)本發(fā)明的一個實(shí)施例,該部分分布模型利用均勻分布的散列函數(shù)。為便于解釋,圖5僅示出了兩個訓(xùn)練節(jié)點(diǎn)。然而,可并行使用若干節(jié)點(diǎn)并且這被認(rèn)為是在本發(fā)明的范圍之內(nèi)。每一節(jié)點(diǎn)將原始模型狀態(tài)的一個分區(qū)加載到其模型容器中。向第一節(jié)點(diǎn)510分配原始模型狀態(tài)的一個分區(qū),該分區(qū)被加載到第一節(jié)點(diǎn)510的模型容器中。 同樣,向第二節(jié)點(diǎn)520分配原始模型狀態(tài)的一個不同分區(qū),該不同分區(qū)被加載到第二節(jié)點(diǎn) 520的模型容器中。向每一節(jié)點(diǎn)分配數(shù)據(jù)印象或傳入數(shù)據(jù)流的一個經(jīng)劃分的批,其中數(shù)據(jù)印象或傳入數(shù)據(jù)流根據(jù)均勻分布的散列函數(shù)來劃分。用于原始模型狀態(tài)的劃分的均勻分布的散列函數(shù)可以不同于用于數(shù)據(jù)印象流的劃分的均勻分布的散列函數(shù)。打開分配給第一節(jié)點(diǎn)510的該批經(jīng)解析的印象流530。打開分配給第一節(jié)點(diǎn)520的該批經(jīng)解析的印象流M0。 第一節(jié)點(diǎn)510和第二節(jié)點(diǎn)520根據(jù)屬性550獨(dú)立地在它們相應(yīng)的所分配的那批印象上進(jìn)行訓(xùn)練。來自第一節(jié)點(diǎn)510的屬性550中的某一些可以與來自第二節(jié)點(diǎn)520的屬性550中的某一些相同。在第一節(jié)點(diǎn)510在一批印象530上訓(xùn)練之后,根據(jù)散度函數(shù),計(jì)算每一屬性550的經(jīng)劃分的原始模型狀態(tài)與當(dāng)前模型狀態(tài)560的第一分區(qū)之間的差異。散度函數(shù)將在此處更詳細(xì)地描述。當(dāng)所計(jì)算的差異低于一設(shè)定的閾值級別時(shí),假定對于該特定屬性陽0的經(jīng)劃分的原始模型狀態(tài)和經(jīng)劃分的當(dāng)前模型狀態(tài)560之間的差異是可忽略的,并且經(jīng)劃分的當(dāng)前模型狀態(tài)560基本上未從經(jīng)劃分的原始模型狀態(tài)改變。此時(shí),讀取另一批經(jīng)解析的印象流530,并且該新一批的訓(xùn)練在第一節(jié)點(diǎn)510上發(fā)生。然后對每一屬性550計(jì)算經(jīng)劃分的原始模型狀態(tài)和當(dāng)前模型狀態(tài)560的第二分區(qū)之間的差異。如果該計(jì)算的差異仍低于該設(shè)定的閾值級別,則重復(fù)該過程,直到經(jīng)劃分的原始模型狀態(tài)和經(jīng)劃分的當(dāng)前模型狀態(tài)560之間的差異超過該設(shè)定的閾值級別。當(dāng)經(jīng)劃分的原始模型狀態(tài)和經(jīng)劃分的當(dāng)前模型狀態(tài)560 之間的差異超過該設(shè)定的閾值級別時(shí),則將第一節(jié)點(diǎn)510的所計(jì)算的狀態(tài)改變應(yīng)用于第一節(jié)點(diǎn)510的該分區(qū)。該相同的過程在第二節(jié)點(diǎn)520上獨(dú)立運(yùn)行,以獲得每一屬性550的經(jīng)劃分的當(dāng)前模型狀態(tài)570,直到第二節(jié)點(diǎn)520的經(jīng)劃分的原始模型狀態(tài)和經(jīng)劃分的當(dāng)前模型狀態(tài)570之間的差異超過設(shè)定的閾值級別。將第二節(jié)點(diǎn)520的所計(jì)算的超過設(shè)定的閾值級別的狀態(tài)改變應(yīng)用于第二節(jié)點(diǎn)520的該分區(qū)。根據(jù)每一屬性550組合第一節(jié)點(diǎn)510和第二節(jié)點(diǎn)520的這些所計(jì)算的超過設(shè)定的閾值級別的狀態(tài)差異,如合并增量580所例示的。從合并所計(jì)算的差異中得到經(jīng)更新的全局狀態(tài)590。刪除每一節(jié)點(diǎn)的本地高速緩存數(shù)據(jù),并且用新的經(jīng)劃分的局部模型狀態(tài)來更新每一節(jié)點(diǎn),該狀態(tài)被加載到其相應(yīng)的模型容器中。圖6是表示使用圖5所示的并行化系統(tǒng)來動態(tài)地并行更新多個處理器的方法的流程圖。該流程圖將只針對一個節(jié)點(diǎn)來描述,但是如上所述,完整的并行化系統(tǒng)將包含至少兩個節(jié)點(diǎn)并且可包含若干節(jié)點(diǎn)。在步驟610,將信息加載到節(jié)點(diǎn)中。該信息可包括分區(qū)號、并行化模型狀態(tài)的位置、對該特定節(jié)點(diǎn)的經(jīng)解析的印象的位置、以及用于該訓(xùn)練模型的批大小。 在步驟615,將經(jīng)劃分的原始模型狀態(tài)加載到節(jié)點(diǎn)中。訓(xùn)練迭代在步驟620開始。在步驟 625,從數(shù)據(jù)印象流中加載該特定節(jié)點(diǎn)的一批經(jīng)劃分的印象。該節(jié)點(diǎn)將確定當(dāng)前在其高速緩存中存在哪些必要的模型信任,以及其高速緩存中缺少且因此將需要從合作節(jié)點(diǎn)中檢索哪些信任。然后在步驟630,從一個或多個合作節(jié)點(diǎn)檢索缺少的信任。然后在步驟635,在該批修訂的印象上運(yùn)行訓(xùn)練。如上參考圖5所述,節(jié)點(diǎn)根據(jù)屬性在其相應(yīng)的一批所分配的印象上訓(xùn)練,然后在判定640中測量經(jīng)劃分的原始模型狀態(tài)和經(jīng)劃分的當(dāng)前模型狀態(tài)之間的狀態(tài)差異以確定是否需要合并。如果所計(jì)算的差異低于設(shè)定的閾值級別,則不需要合并,并且從步驟625開始重復(fù)該過程,直到經(jīng)劃分的原始模型狀態(tài)和經(jīng)劃分的當(dāng)前模型狀態(tài)之間的閾值級別差異超過該閾值級別。一旦測得了閾值級別差異,則需要合并。如果從合作節(jié)點(diǎn)檢索了任何信任或者從主題節(jié)點(diǎn)檢索了來自其他合作節(jié)點(diǎn)的任何信任,則在步驟645相應(yīng)地發(fā)送模型更新消息。在步驟650,該節(jié)點(diǎn)根據(jù)所接收到的任何更新消息以及從合并中所計(jì)算的狀態(tài)更新來更新其模型。在更新了節(jié)點(diǎn)并且達(dá)到了經(jīng)更新的全局狀態(tài)之后,則可在步驟655清除節(jié)點(diǎn)的高速緩存。經(jīng)更新的全局狀態(tài)現(xiàn)在變?yōu)樾碌脑既譅顟B(tài),其可在節(jié)點(diǎn)之間劃分以再次在步驟620開始該過程。一個或多個計(jì)算機(jī)可讀存儲介質(zhì)上包含有計(jì)算機(jī)可讀指令,這些指令在由計(jì)算設(shè)備執(zhí)行時(shí)執(zhí)行上述動態(tài)地并行更新多個處理器的方法?,F(xiàn)在將參考圖7的流程圖來描述動態(tài)地并行更新多個處理器的計(jì)算機(jī)實(shí)現(xiàn)的方法。該方法包括在本發(fā)明的一個實(shí)施例中在并行化學(xué)習(xí)系統(tǒng)中分配模型。在步驟710,當(dāng)多個處理器將在共享任務(wù)上并行工作時(shí),使用部分分布模型來在多個處理器之間劃分模型狀態(tài)。根據(jù)本發(fā)明的一個實(shí)施例,該部分分布模型利用均勻分布的散列函數(shù)。在步驟720, 還在多個處理器之間劃分原始模型狀態(tài),其中每一處理器接收該原始模型狀態(tài)的其本地副本。根據(jù)本發(fā)明的一個實(shí)施例,該經(jīng)劃分的原始模型狀態(tài)可利用均勻分布的散列函數(shù)。在步驟730,多個處理器將處理在線流數(shù)據(jù)或印象,這些數(shù)據(jù)或印象根據(jù)其部分分布模型在處理器之間劃分。每一處理器具有一模型容器,其包含各自的部分原始模型狀態(tài)、本地高速緩存以及其相應(yīng)的部分當(dāng)前模型狀態(tài)。在步驟740,每一處理器串行地處理傳入部分流數(shù)據(jù)。 該獨(dú)立處理得到對于每一處理器的部分當(dāng)前模型狀態(tài)。然后在步驟750,根據(jù)散度函數(shù)對每一處理器計(jì)算部分原始模型狀態(tài)和部分當(dāng)前模型狀態(tài)之間的差異。散度函數(shù)可包括平方絕對值散度、增量Kullkick-LeibleHKL)散度或后驗(yàn)KL散度中的一個。增量KL散度比較自從上一次訓(xùn)練更新以來預(yù)測事件的概率受到訓(xùn)練多少影響。換言之,預(yù)測是在每一訓(xùn)練實(shí)例之前和之后作出的,并且計(jì)算兩次預(yù)測之間的KL散度。增量KL散度測量從一數(shù)據(jù)點(diǎn)之前的預(yù)測到該數(shù)據(jù)點(diǎn)之后的預(yù)測的散度。后驗(yàn)KL散度測量從部分原始模型狀態(tài)到部分當(dāng)前模型狀態(tài)的權(quán)重分布之間的差異。在步驟760,對每一屬性,將所計(jì)算的超過設(shè)定的閾值級別的差異與來自其他處理器的所計(jì)算的超過該設(shè)定的閾值級別的差異合并。在本發(fā)明的一具體實(shí)施例中,該合并步驟包括讀取一批傳入流數(shù)據(jù)、從其他合作處理器檢索任何缺少的模型信任、以及在該批傳入流數(shù)據(jù)上訓(xùn)練。重復(fù)各讀取、檢索和訓(xùn)練步驟,直到所測得的狀態(tài)差異超過該設(shè)定的閾值級別。向相應(yīng)的多個處理器應(yīng)用模型更新。處理器也可向另一處理器請求經(jīng)更新的部分模型狀態(tài),其中作出請求的處理器將所請求的部分模型狀態(tài)存儲在其模型容器中。然后在步驟770,將合并的差異與原始模型狀態(tài)組合以獲得經(jīng)更新的全局狀態(tài)。該經(jīng)更新的全局狀態(tài)變?yōu)樾碌脑既譅顟B(tài),其中該新的原始全局狀態(tài)如上所述地在處理器之間劃分,然后輸入到相應(yīng)處理器中。一個或多個計(jì)算機(jī)可讀存儲介質(zhì)上包含有計(jì)算機(jī)可讀指令,這些指令在由計(jì)算設(shè)備執(zhí)行時(shí)執(zhí)行上述動態(tài)地并行更新多個處理器的方法?,F(xiàn)在將參考圖8的流程圖來描述動態(tài)地更新多個處理器的計(jì)算機(jī)實(shí)現(xiàn)的方法。在步驟810,將原始模型狀態(tài)的多個分區(qū)分配給相應(yīng)的多個節(jié)點(diǎn)。分區(qū)可以根據(jù)均勻分布的散列函數(shù)的輸出來分配。然后在步驟820,將所分配的分區(qū)加載到每一節(jié)點(diǎn)相應(yīng)的模型容器中。第一模型容器中的某些所分配的分區(qū)可以與第二模型容器中某些所分配的分區(qū)部分重疊。原始模型狀態(tài)分區(qū)也可以根據(jù)來自第二節(jié)點(diǎn)的請求從第一節(jié)點(diǎn)的模型容器加載到第二節(jié)點(diǎn)的本地高速緩存中。然后在步驟830,根據(jù)其經(jīng)劃分的經(jīng)解析的印象流來訓(xùn)練各單獨(dú)節(jié)點(diǎn)以獲得每一節(jié)點(diǎn)的經(jīng)劃分的當(dāng)前模型狀態(tài)。諸如唯一印象標(biāo)識符、特征值或兩個或更多串接值等一組元組可被加入到經(jīng)劃分的當(dāng)前模型狀態(tài)。如上所述,根據(jù)所存在的各單獨(dú)屬性來計(jì)算每一部分原始模型狀態(tài)和經(jīng)更新的部分模型狀態(tài)之間的差異。如果該狀態(tài)差異超過一設(shè)定的閾值級別,則在步驟840,對每一單獨(dú)的屬性合并所有節(jié)點(diǎn)的狀態(tài)差異。這些合并的差異包括一批動態(tài)的超過閾值級別的所計(jì)算的差異。該動態(tài)批基于一個或多個可變條件,如印象計(jì)數(shù),或基于改變的信任的計(jì)數(shù)。然后在步驟850,將合并的差異與原始模型狀態(tài)組合以獲得經(jīng)更新的全局模型狀態(tài)。經(jīng)更新的全局模型狀態(tài)然后變?yōu)橛糜谟?jì)算第二動態(tài)批的新的初始模型狀態(tài)。一個或多個計(jì)算機(jī)可讀存儲介質(zhì)上包含有計(jì)算機(jī)可讀指令,這些指令在由計(jì)算設(shè)備執(zhí)行時(shí)執(zhí)行上述動態(tài)地更新多個處理器的方法。包括以上針對動態(tài)地并行更新多個處理器的計(jì)算機(jī)實(shí)現(xiàn)的方法以及在并行化學(xué)習(xí)系統(tǒng)中分配模型的計(jì)算機(jī)實(shí)現(xiàn)的方法所描述的部分或全部特征的組合的計(jì)算機(jī)實(shí)現(xiàn)的方法被認(rèn)為是在本發(fā)明的范圍之內(nèi)。其上包含有當(dāng)由計(jì)算設(shè)備執(zhí)行時(shí)執(zhí)行上述部分或全部組合方法步驟的計(jì)算機(jī)可讀指令的一個或多個計(jì)算機(jī)可讀存儲介質(zhì)也被認(rèn)為是在本發(fā)明的范圍之內(nèi)。所描繪的各組件以及未示出的實(shí)施例的許多不同的安排都是可能的,而不背離本發(fā)明的精神和范圍。已帶著說明而非限制的意圖描述了本發(fā)明的各實(shí)施例??梢岳斫猓承┨卣骱妥咏M合是有用的,并且可以在不參考其他特征和子組合的情況下使用,它們都在權(quán)利要求書的范圍內(nèi)。并非各種圖形中所列出的所有步驟都需要按所描述的特定的順序執(zhí)行。
權(quán)利要求
1.一種使用具有處理器、存儲器和數(shù)據(jù)存儲子系統(tǒng)的計(jì)算系統(tǒng)來動態(tài)地并行地更新多個處理器的計(jì)算機(jī)實(shí)現(xiàn)的方法,所述計(jì)算機(jī)實(shí)現(xiàn)的方法包括根據(jù)部分分布方案將模型狀態(tài)劃分為多個部分模型(710); 將部分原始模型狀態(tài)的本地副本接收到多個處理器的每一個中(720); 根據(jù)傳入流數(shù)據(jù)的部分分布模型,在多個處理器之間劃分所述傳入流數(shù)據(jù)(730); 由多個處理器中的每一個根據(jù)屬性來串行地處理經(jīng)劃分的傳入流數(shù)據(jù),以達(dá)到多個部分當(dāng)前模型狀態(tài)(740);根據(jù)散度函數(shù),為多個處理器中的每一個串行地確定部分原始模型狀態(tài)與相應(yīng)的部分當(dāng)前模型狀態(tài)之間的差異(750);根據(jù)各屬性,合并多個處理器中的每一個所確定的超過閾值級別的差異(760);以及將所合并的超過閾值級別的差異與部分原始模型狀態(tài)進(jìn)行組合,以獲得經(jīng)更新的全局模型狀態(tài)(770)。
2.如權(quán)利要求1所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其特征在于,根據(jù)部分分布模型劃分多個處理器(710)利用均勻分布散列函數(shù)。
3.如權(quán)利要求1所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其特征在于,所述多個處理器的每一個包括模型容器,所述模型容器包含其相應(yīng)的部分原始模型狀態(tài)、本地高速緩存,其相應(yīng)的部分當(dāng)前模型狀態(tài)(560)。
4.如權(quán)利要求3所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其特征在于,還包括從另一處理器請求經(jīng)更新的部分模型狀態(tài)(570),并將其存儲在請求處理器的模型容器中。
5.如權(quán)利要求1所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其特征在于,還包括 根據(jù)所述部分分布模型,劃分經(jīng)更新的全局狀態(tài)(590);以及將經(jīng)劃分的經(jīng)更新的全局狀態(tài)(590)輸入到相應(yīng)的多個處理器中。
6.如權(quán)利要求1所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其特征在于,所述合并包括 讀取一批傳入流數(shù)據(jù)(625);從合作處理器中檢索任何缺少的模型信任(630);在該批傳入流數(shù)據(jù)上進(jìn)行訓(xùn)練(635);重復(fù)所述讀取、檢索和訓(xùn)練,直到需要合并(640);將經(jīng)更新的全局狀態(tài)應(yīng)用到相應(yīng)的多個處理器中(650);以及復(fù)位每個本地高速緩存以同步所述多個處理器的每一個(655)。
7.一種使用具有處理器、存儲器和數(shù)據(jù)存儲子系統(tǒng)的計(jì)算系統(tǒng)來在并行化學(xué)習(xí)系統(tǒng)中分配模型的計(jì)算機(jī)實(shí)現(xiàn)的方法,所述計(jì)算機(jī)實(shí)現(xiàn)的方法包括根據(jù)均勻分布散列函數(shù)的輸出,將原始模型狀態(tài)的多個分區(qū)分配給相應(yīng)的多個節(jié)點(diǎn) (810);將所分配的多個分區(qū)加載到所述多個節(jié)點(diǎn)的每一個的相應(yīng)的多個模型容器中(820); 根據(jù)經(jīng)劃分的經(jīng)解析印象流單獨(dú)訓(xùn)練多個節(jié)點(diǎn)中的每一個,以獲得多個經(jīng)劃分的當(dāng)前模型狀態(tài)(830);在根據(jù)所述多個節(jié)點(diǎn)的每一個的屬性進(jìn)行訓(xùn)練之后,合并所計(jì)算的經(jīng)劃分的原始模型狀態(tài)和對應(yīng)的經(jīng)劃分的當(dāng)前模型狀態(tài)之間的差異(840);以及經(jīng)合并的所計(jì)算的差異被組合到經(jīng)劃分的原始模型狀態(tài)以獲得經(jīng)更新的全局模型狀態(tài)(850)。
8.如權(quán)利要求7所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其特征在于,還包括根據(jù)來自所述多個節(jié)點(diǎn)中的第二節(jié)點(diǎn)(520)的請求,將原始模型狀態(tài)分區(qū)從多個節(jié)點(diǎn)中的第一節(jié)點(diǎn)(510)的模型容器加載到所述第二節(jié)點(diǎn)的本地高速緩存中。
9.如權(quán)利要求7所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其特征在于,合并所計(jì)算的差異(580)利用增量Kullkick-Leibler散度,為所述多個節(jié)點(diǎn)的每一個測量從一數(shù)據(jù)點(diǎn)之前的預(yù)測到該數(shù)據(jù)點(diǎn)之后的預(yù)測的散度。
10.如權(quán)利要求7所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其特征在于,合并所計(jì)算的差異(580)利用后驗(yàn)Kullkick-Leibler散度,為所述多個節(jié)點(diǎn)的每一個測量從經(jīng)劃分的原始模型狀態(tài) (530)到經(jīng)劃分的當(dāng)前模型狀態(tài)(560)的權(quán)重分布之間的差異。
11.如權(quán)利要求7所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其特征在于,經(jīng)合并的所計(jì)算的差異 (580)包括超過閾值水平的第一動態(tài)批的所計(jì)算的差異。
12.如權(quán)利要求11所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其特征在于,經(jīng)更新的全局模型狀態(tài) (590)包括用于計(jì)算第二動態(tài)批的初始全局模型狀態(tài)。
13.如權(quán)利要求7所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其特征在于,第一模型容器中的所分配的多個分區(qū)(560)的某些與第二模型容器中所分配的多個分區(qū)(570)的某些重疊。
14.如權(quán)利要求7所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其特征在于,一組元組可被加入到所述多個經(jīng)劃分的當(dāng)前模型狀態(tài)(560)的每一個。
全文摘要
本發(fā)明揭示了在線學(xué)習(xí)算法的并行化。提供了用于在在線學(xué)習(xí)算法的并行化中使用的動態(tài)批策略的方法、系統(tǒng),和媒介。該動態(tài)批策略提供了以原始模型狀態(tài)和經(jīng)更新的模型狀態(tài)之間的閾值級別差異為基礎(chǔ)的、而非根據(jù)恒定或預(yù)定批大小的合并功能。該合并過程包括讀取一批傳入流數(shù)據(jù),從合作處理器檢索任何缺少的模型信任,并且在該批傳入流數(shù)據(jù)上進(jìn)行訓(xùn)練。重復(fù)各讀取、檢索和訓(xùn)練步驟,直到所測得的狀態(tài)差異超過設(shè)定的閾值級別。根據(jù)各屬性,為多個處理器中的每一個合并所測得的超過閾值級別的差異。合并的超過閾值級別的差異與原始部分模型狀態(tài)組合以獲得經(jīng)更新的全局模型狀態(tài)。
文檔編號G06F15/18GK102298569SQ201110184798
公開日2011年12月28日 申請日期2011年6月23日 優(yōu)先權(quán)日2010年6月24日
發(fā)明者J·Q·坎德拉, J·S·杜恩, O·伊薩科夫, R·赫布里希, T·B·埃倫, T·I·博徹特, T·K·H·格雷佩爾, 陳偉柱 申請人:微軟公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
新干县| 治县。| 增城市| 侯马市| 黄陵县| 东乡县| 汉寿县| 建宁县| 舞阳县| 自贡市| 达日县| 于田县| 独山县| 鲁甸县| 新沂市| 晋州市| 红原县| 济阳县| 嵊泗县| 普兰店市| 定南县| 三江| 勃利县| 甘谷县| 绥宁县| 玉田县| 高唐县| 丹棱县| 株洲市| 汝南县| 昭苏县| 铜山县| 双辽市| 南通市| 保定市| 登封市| 定结县| 芮城县| 湟中县| 晋江市| 义马市|