本申請(qǐng)要求于2014年5月12日提交且題為“DISTRIBUTED MODEL LEARNING(分布式模型學(xué)習(xí))”的美國(guó)臨時(shí)專(zhuān)利申請(qǐng)No.61/992,166的權(quán)益,其公開(kāi)內(nèi)容通過(guò)援引全部明確納入于此。
背景
領(lǐng)域
本公開(kāi)的某些方面一般涉及神經(jīng)系統(tǒng)工程,并且尤其涉及用于分布式模型學(xué)習(xí)的系統(tǒng)和方法。
背景技術(shù):
可包括一群互連的人工神經(jīng)元(即,神經(jīng)元模型)的人工神經(jīng)網(wǎng)絡(luò)是一種計(jì)算設(shè)備或者表示將由計(jì)算設(shè)備執(zhí)行的方法。人工神經(jīng)網(wǎng)絡(luò)可具有生物學(xué)神經(jīng)網(wǎng)絡(luò)中的對(duì)應(yīng)的結(jié)構(gòu)和/或功能。然而,人工神經(jīng)網(wǎng)絡(luò)可為其中傳統(tǒng)計(jì)算技術(shù)是麻煩的、不切實(shí)際的、或不勝任的某些應(yīng)用提供創(chuàng)新且有用的計(jì)算技術(shù)。由于人工神經(jīng)網(wǎng)絡(luò)能從觀察中推斷出功能,因此這樣的網(wǎng)絡(luò)在因任務(wù)或數(shù)據(jù)的復(fù)雜度使得通過(guò)常規(guī)技術(shù)來(lái)設(shè)計(jì)該功能較為麻煩的應(yīng)用中是特別有用的。
概述
在本公開(kāi)的一個(gè)方面,公開(kāi)了一種學(xué)習(xí)模型的方法。該方法包括接收來(lái)自一個(gè)或多個(gè)用戶的模型更新。該方法還包括基于前一模型和模型更新來(lái)計(jì)算經(jīng)更新的模型。該方法進(jìn)一步包括基于經(jīng)更新的模型向(諸)用戶傳送與經(jīng)更新的模型的子集相關(guān)的數(shù)據(jù)。
在本公開(kāi)的另一方面,給出了一種用于學(xué)習(xí)模型的裝置。該裝置包括存儲(chǔ)器以及耦合至該存儲(chǔ)器的一個(gè)或多個(gè)處理器。(諸)處理器被配置成接收來(lái)自一個(gè)或多個(gè)用戶的模型更新。該處理器還被配置成基于前一模型和模型更新來(lái)計(jì)算經(jīng)更新的模型。該處理器被進(jìn)一步配置成基于經(jīng)更新的模型向(諸)用戶傳送與經(jīng)更新的模型的子集相關(guān)的數(shù)據(jù)。
在本公開(kāi)的又一方面,給出了一種用于學(xué)習(xí)模型的裝備。該裝備包括用于接收來(lái)自一個(gè)或多個(gè)用戶的模型更新的裝置。該裝備還包括用于基于前一模型和模型更新來(lái)計(jì)算經(jīng)更新的模型的裝置。該裝備進(jìn)一步包括用于基于經(jīng)更新的模型向(諸)用戶傳送與經(jīng)更新的模型的子集相關(guān)的數(shù)據(jù)的裝置。
在本公開(kāi)的又一方面,給出了一種用于學(xué)習(xí)模型的計(jì)算機(jī)程序產(chǎn)品。該計(jì)算機(jī)程序產(chǎn)品包括其上編碼有程序代碼的非瞬態(tài)計(jì)算機(jī)可讀介質(zhì)。該程序代碼包括用于接收來(lái)自一個(gè)或多個(gè)用戶的模型更新的程序代碼。該程序代碼還包括用于基于前一模型和模型更新來(lái)計(jì)算經(jīng)更新的模型的程序代碼。該程序代碼進(jìn)一步包括用于基于經(jīng)更新的模型向(諸)用戶傳送與經(jīng)更新的模型的子集相關(guān)的數(shù)據(jù)的程序代碼。
在本公開(kāi)的一個(gè)方面,給出了一種學(xué)習(xí)模型的方法。該方法包括基于共享的推斷模型接收來(lái)自服務(wù)器的數(shù)據(jù)。該方法還包括基于該模型計(jì)算推斷。該方法進(jìn)一步包括基于該推斷計(jì)算一個(gè)或多個(gè)模型參數(shù)更新。此外,該方法包括基于模型參數(shù)更新向服務(wù)器傳送數(shù)據(jù)。
在本公開(kāi)的另一方面,公開(kāi)了一種用于學(xué)習(xí)模型的裝置。該裝置包括存儲(chǔ)器以及耦合至該存儲(chǔ)器的一個(gè)或多個(gè)處理器。該處理器被配置成基于共享的推斷模型接收來(lái)自服務(wù)器的數(shù)據(jù)。該處理器還被配置成基于該模型計(jì)算推斷。該處理器被進(jìn)一步配置成基于該推斷計(jì)算一個(gè)或多個(gè)模型參數(shù)更新。此外,該處理器被配置成基于模型參數(shù)更新向服務(wù)器傳送數(shù)據(jù)。
在本公開(kāi)的又一方面,公開(kāi)了一種用于學(xué)習(xí)模型的裝備。該裝備包括用于基于共享的推斷模型接收來(lái)自服務(wù)器的數(shù)據(jù)的裝置。該裝備還包括用于基于該模型計(jì)算推斷的裝置。該裝備進(jìn)一步包括用于基于該推斷計(jì)算一個(gè)或多個(gè)模型參數(shù)更新的裝置。此外,該裝備包括用于基于模型參數(shù)更新向服務(wù)器傳送數(shù)據(jù)的裝置。
在本公開(kāi)的又一方面,給出了一種用于學(xué)習(xí)模型的計(jì)算機(jī)程序產(chǎn)品。該計(jì)算機(jī)程序產(chǎn)品包括其上編碼有程序代碼的非瞬態(tài)計(jì)算機(jī)可讀介質(zhì)。該程序代碼包括用于基于共享的推斷模型接收來(lái)自服務(wù)器的數(shù)據(jù)的程序代碼。該程序代碼還包括用于基于該模型計(jì)算推斷的程序代碼。該程序代碼進(jìn)一步包括用于基于該推斷計(jì)算一個(gè)或多個(gè)模型參數(shù)更新的程序代碼。此外,該程序代碼包括用于基于模型參數(shù)更新向服務(wù)器傳送數(shù)據(jù)的程序代碼。
這已較寬泛地勾勒出本公開(kāi)的特征和技術(shù)優(yōu)勢(shì)以便下面的詳細(xì)描述可以被更好地理解。本公開(kāi)的附加特征和優(yōu)點(diǎn)將在下文描述。本領(lǐng)域技術(shù)人員應(yīng)該領(lǐng)會(huì),本公開(kāi)可容易地被用作修改或設(shè)計(jì)用于實(shí)施與本公開(kāi)相同的目的的其他結(jié)構(gòu)的基礎(chǔ)。本領(lǐng)域技術(shù)人員還應(yīng)認(rèn)識(shí)到,這樣的等效構(gòu)造并不脫離所附權(quán)利要求中所闡述的本公開(kāi)的教導(dǎo)。被認(rèn)為是本公開(kāi)的特性的新穎特征在其組織和操作方法兩方面連同進(jìn)一步的目的和優(yōu)點(diǎn)在結(jié)合附圖來(lái)考慮以下描述時(shí)將被更好地理解。然而,要清楚理解的是,提供每一幅附圖均僅用于解說(shuō)和描述目的,且無(wú)意作為對(duì)本公開(kāi)的限定的定義。
附圖簡(jiǎn)述
在結(jié)合附圖理解下面闡述的詳細(xì)描述時(shí),本公開(kāi)的特征、本質(zhì)和優(yōu)點(diǎn)將變得更加明顯,在附圖中,相同附圖標(biāo)記始終作相應(yīng)標(biāo)識(shí)。
圖1解說(shuō)了根據(jù)本公開(kāi)的某些方面的示例神經(jīng)元網(wǎng)絡(luò)。
圖2解說(shuō)了根據(jù)本公開(kāi)的某些方面的計(jì)算網(wǎng)絡(luò)(神經(jīng)系統(tǒng)或神經(jīng)網(wǎng)絡(luò))的處理單元(神經(jīng)元)的示例。
圖3解說(shuō)了根據(jù)本公開(kāi)的某些方面的尖峰定時(shí)依賴可塑性(STDP)曲線的示例。
圖4解說(shuō)了根據(jù)本公開(kāi)的某些方面的用于定義神經(jīng)元模型的行為的正態(tài)相和負(fù)態(tài)相的示例。
圖5解說(shuō)了根據(jù)本公開(kāi)的某些方面的使用通用處理器來(lái)設(shè)計(jì)神經(jīng)網(wǎng)絡(luò)的示例實(shí)現(xiàn)。
圖6解說(shuō)了根據(jù)本公開(kāi)的某些方面的設(shè)計(jì)其中存儲(chǔ)器可以與個(gè)體分布式處理單元對(duì)接的神經(jīng)網(wǎng)絡(luò)的示例實(shí)現(xiàn)。
圖7解說(shuō)了根據(jù)本公開(kāi)的某些方面的基于分布式存儲(chǔ)器和分布式處理單元來(lái)設(shè)計(jì)神經(jīng)網(wǎng)絡(luò)的示例實(shí)現(xiàn)。
圖8解說(shuō)了根據(jù)本公開(kāi)的某些方面的神經(jīng)網(wǎng)絡(luò)的示例實(shí)現(xiàn)。
圖9是解說(shuō)根據(jù)本公開(kāi)的各方面的用于學(xué)習(xí)模型的示例性數(shù)據(jù)流的框圖。
圖10是解說(shuō)根據(jù)本公開(kāi)的各方面的用于分類(lèi)器的示例性架構(gòu)的框圖。
圖11是解說(shuō)根據(jù)本公開(kāi)的各方面的用于學(xué)習(xí)模型的示例性數(shù)據(jù)流的框圖。
圖12是解說(shuō)根據(jù)本公開(kāi)的各方面的用于生成分類(lèi)器的示例性數(shù)據(jù)流的流程圖。
圖13解說(shuō)了根據(jù)本公開(kāi)的各方面的用于學(xué)習(xí)模型的方法。
圖14解說(shuō)了根據(jù)本公開(kāi)的各方面的用于學(xué)習(xí)模型的方法。
圖15解說(shuō)了根據(jù)本公開(kāi)的各方面的用于生成分類(lèi)器模型的方法。
圖16解說(shuō)了根據(jù)本公開(kāi)的各方面的用于生成分類(lèi)器模型的方法。
圖17解說(shuō)了根據(jù)本公開(kāi)的各方面的用于生成分類(lèi)器模型的方法。
詳細(xì)描述
以下結(jié)合附圖闡述的詳細(xì)描述旨在作為各種配置的描述,而無(wú)意表示可實(shí)踐本文中所描述的概念的僅有的配置。本詳細(xì)描述包括具體細(xì)節(jié)以便提供對(duì)各種概念的透徹理解。然而,對(duì)于本領(lǐng)域技術(shù)人員將顯而易見(jiàn)的是,沒(méi)有這些具體細(xì)節(jié)也可實(shí)踐這些概念。在一些實(shí)例中,以框圖形式示出眾所周知的結(jié)構(gòu)和組件以避免湮沒(méi)此類(lèi)概念。
基于本教導(dǎo),本領(lǐng)域技術(shù)人員應(yīng)領(lǐng)會(huì),本公開(kāi)的范圍旨在覆蓋本公開(kāi)的任何方面,不論其是與本公開(kāi)的任何其他方面相獨(dú)立地還是組合地實(shí)現(xiàn)的。例如,可以使用所闡述的任何數(shù)目的方面來(lái)實(shí)現(xiàn)裝置或?qū)嵺`方法。另外,本公開(kāi)的范圍旨在覆蓋使用作為所闡述的本公開(kāi)的各個(gè)方面的補(bǔ)充或者與之不同的其他結(jié)構(gòu)、功能性、或者結(jié)構(gòu)及功能性來(lái)實(shí)踐的此類(lèi)裝置或方法。應(yīng)當(dāng)理解,所披露的本公開(kāi)的任何方面可由權(quán)利要求的一個(gè)或多個(gè)元素來(lái)實(shí)施。
措辭“示例性”在本文中用于表示“用作示例、實(shí)例或解說(shuō)”。本文中描述為“示例性”的任何方面不必被解釋為優(yōu)于或勝過(guò)其他方面。
盡管本文描述了特定方面,但這些方面的眾多變體和置換落在本公開(kāi)的范圍之內(nèi)。雖然提到了優(yōu)選方面的一些益處和優(yōu)點(diǎn),但本公開(kāi)的范圍并非旨在被限定于特定益處、用途或目標(biāo)。相反,本公開(kāi)的各方面旨在能寬泛地應(yīng)用于不同的技術(shù)、系統(tǒng)配置、網(wǎng)絡(luò)和協(xié)議,其中一些作為示例在附圖以及以下對(duì)優(yōu)選方面的描述中解說(shuō)。詳細(xì)描述和附圖僅僅解說(shuō)本公開(kāi)而非限定本公開(kāi),本公開(kāi)的范圍由所附權(quán)利要求及其等效技術(shù)方案來(lái)定義。
示例神經(jīng)系統(tǒng)、訓(xùn)練及操作
圖1解說(shuō)了根據(jù)本公開(kāi)的某些方面的具有多級(jí)神經(jīng)元的示例人工神經(jīng)系統(tǒng)100。神經(jīng)系統(tǒng)100可具有神經(jīng)元級(jí)102,該神經(jīng)元級(jí)102通過(guò)突觸連接網(wǎng)絡(luò)104(即,前饋連接)來(lái)連接到另一神經(jīng)元級(jí)106。為簡(jiǎn)單起見(jiàn),圖1中僅解說(shuō)了兩級(jí)神經(jīng)元,盡管神經(jīng)系統(tǒng)中可存在更少或更多級(jí)神經(jīng)元。應(yīng)注意,一些神經(jīng)元可通過(guò)側(cè)向連接來(lái)連接至同層中的其他神經(jīng)元。此外,一些神經(jīng)元可通過(guò)反饋連接來(lái)后向連接至先前層中的神經(jīng)元。
如圖1所解說(shuō)的,級(jí)102中的每一個(gè)神經(jīng)元可以接收可由前級(jí)的神經(jīng)元(未在圖1中示出)生成的輸入信號(hào)108。信號(hào)108可表示級(jí)102的神經(jīng)元的輸入電流。該電流可在神經(jīng)元膜上累積以對(duì)膜電位進(jìn)行充電。當(dāng)膜電位達(dá)到其閾值時(shí),該神經(jīng)元可激發(fā)并生成輸出尖峰,該輸出尖峰將被傳遞到下一級(jí)神經(jīng)元(例如,級(jí)106)。在一些建模辦法中,神經(jīng)元可以連續(xù)地向下一級(jí)神經(jīng)元傳遞信號(hào)。該信號(hào)通常是膜電位的函數(shù)。此類(lèi)行為可在硬件和/或軟件(包括模擬和數(shù)字實(shí)現(xiàn),諸如以下所述那些實(shí)現(xiàn))中進(jìn)行仿真或模擬。
在生物學(xué)神經(jīng)元中,在神經(jīng)元激發(fā)時(shí)生成的輸出尖峰被稱為動(dòng)作電位。該電信號(hào)是相對(duì)迅速、瞬態(tài)的神經(jīng)脈沖,其具有約為100mV的振幅和約為1ms的歷時(shí)。在具有一系列連通的神經(jīng)元(例如,尖峰從圖1中的一級(jí)神經(jīng)元傳遞至另一級(jí)神經(jīng)元)的神經(jīng)系統(tǒng)的特定實(shí)施例中,每個(gè)動(dòng)作電位都具有基本上相同的振幅和歷時(shí),并且因此該信號(hào)中的信息可僅由尖峰的頻率和數(shù)目、或尖峰的時(shí)間來(lái)表示,而不由振幅來(lái)表示。動(dòng)作電位所攜帶的信息可由尖峰、發(fā)放了尖峰的神經(jīng)元、以及該尖峰相對(duì)于一個(gè)或數(shù)個(gè)其他尖峰的時(shí)間來(lái)確定。尖峰的重要性可由向各神經(jīng)元之間的連接所應(yīng)用的權(quán)重來(lái)確定,如以下所解釋的。
尖峰從一級(jí)神經(jīng)元向另一級(jí)神經(jīng)元的傳遞可通過(guò)突觸連接(或簡(jiǎn)稱“突觸”)網(wǎng)絡(luò)104來(lái)達(dá)成,如圖1中所解說(shuō)的。相對(duì)于突觸104,級(jí)102的神經(jīng)元可被視為突觸前神經(jīng)元,而級(jí)106的神經(jīng)元可被視為突觸后神經(jīng)元。突觸104可接收來(lái)自級(jí)102的神經(jīng)元的輸出信號(hào)(即,尖峰),并根據(jù)可調(diào)節(jié)突觸權(quán)重來(lái)按比例縮放那些信號(hào),其中P是級(jí)102的神經(jīng)元與級(jí)106的神經(jīng)元之間的突觸連接的總數(shù),并且i是神經(jīng)元級(jí)的指示符。在圖1的示例中,i表示神經(jīng)元級(jí)102并且i+1表示神經(jīng)元級(jí)106。此外,經(jīng)按比例縮放的信號(hào)可被組合以作為級(jí)106中每個(gè)神經(jīng)元的輸入信號(hào)。級(jí)106中的每個(gè)神經(jīng)元可基于對(duì)應(yīng)的組合輸入信號(hào)來(lái)生成輸出尖峰110。可使用另一突觸連接網(wǎng)絡(luò)(圖1中未示出)將這些輸出尖峰110傳遞到另一級(jí)神經(jīng)元。
生物學(xué)突觸可以仲裁突觸后神經(jīng)元中的興奮性或抑制性(超極化)動(dòng)作,并且還可用于放大神經(jīng)元信號(hào)。興奮性信號(hào)使膜電位去極化(即,相對(duì)于靜息電位增大膜電位)。如果在某個(gè)時(shí)間段內(nèi)接收到足夠的興奮性信號(hào)以使膜電位去極化到高于閾值,則在突觸后神經(jīng)元中發(fā)生動(dòng)作電位。相反,抑制性信號(hào)一般使膜電位超極化(即,降低膜電位)。抑制性信號(hào)如果足夠強(qiáng)則可抵消掉興奮性信號(hào)之和并阻止膜電位到達(dá)閾值。除了抵消掉突觸興奮以外,突觸抑制還可對(duì)自發(fā)活躍神經(jīng)元施加強(qiáng)力的控制。自發(fā)活躍神經(jīng)元是指在沒(méi)有進(jìn)一步輸入的情況下(例如,由于其動(dòng)態(tài)或反饋而)發(fā)放尖峰的神經(jīng)元。通過(guò)壓制這些神經(jīng)元中的動(dòng)作電位的自發(fā)生成,突觸抑制可對(duì)神經(jīng)元中的激發(fā)模式進(jìn)行定形,這一般被稱為雕刻。取決于期望的行為,各種突觸104可充當(dāng)興奮性或抑制性突觸的任何組合。
神經(jīng)系統(tǒng)100可由通用處理器、數(shù)字信號(hào)處理器(DSP)、專(zhuān)用集成電路(ASIC)、現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA)或其他可編程邏輯器件(PLD)、分立的門(mén)或晶體管邏輯、分立的硬件組件、由處理器執(zhí)行的軟件模塊、或其任何組合來(lái)仿真。神經(jīng)系統(tǒng)100可用在大范圍的應(yīng)用中,諸如圖像和模式識(shí)別、機(jī)器學(xué)習(xí)、電機(jī)控制、及類(lèi)似應(yīng)用等。神經(jīng)系統(tǒng)100中的每一神經(jīng)元可被實(shí)現(xiàn)為神經(jīng)元電路。被充電至發(fā)起輸出尖峰的閾值的神經(jīng)元膜可被實(shí)現(xiàn)為例如對(duì)流經(jīng)其的電流進(jìn)行積分的電容器。
在一方面,電容器作為神經(jīng)元電路的電流積分器件可被除去,并且可使用較小的憶阻器元件來(lái)替代它。這種辦法可應(yīng)用于神經(jīng)元電路中,以及其中大容量電容器被用作電流積分器的各種其他應(yīng)用中。另外,每個(gè)突觸104可基于憶阻器元件來(lái)實(shí)現(xiàn),其中突觸權(quán)重變化可與憶阻器電阻的變化有關(guān)。使用納米特征尺寸的憶阻器,可顯著地減小神經(jīng)元電路和突觸的面積,這可使得實(shí)現(xiàn)大規(guī)模神經(jīng)系統(tǒng)硬件實(shí)現(xiàn)更為切實(shí)可行。
對(duì)神經(jīng)系統(tǒng)100進(jìn)行仿真的神經(jīng)處理器的功能性可取決于突觸連接的權(quán)重,這些權(quán)重可控制神經(jīng)元之間的連接的強(qiáng)度。突觸權(quán)重可存儲(chǔ)在非易失性存儲(chǔ)器中以在掉電之后保留該處理器的功能性。在一方面,突觸權(quán)重存儲(chǔ)器可實(shí)現(xiàn)在與主神經(jīng)處理器芯片分開(kāi)的外部芯片上。突觸權(quán)重存儲(chǔ)器可與神經(jīng)處理器芯片分開(kāi)地封裝成可更換的存儲(chǔ)卡。這可向神經(jīng)處理器提供多種多樣的功能性,其中特定功能性可基于當(dāng)前附連至神經(jīng)處理器的存儲(chǔ)卡中所存儲(chǔ)的突觸權(quán)重。
圖2解說(shuō)了根據(jù)本公開(kāi)的某些方面的計(jì)算網(wǎng)絡(luò)(例如,神經(jīng)系統(tǒng)或神經(jīng)網(wǎng)絡(luò))的處理單元(例如,神經(jīng)元或神經(jīng)元電路)202的示例性示圖200。例如,神經(jīng)元202可對(duì)應(yīng)于來(lái)自圖1的級(jí)102和106的任何神經(jīng)元。神經(jīng)元202可接收多個(gè)輸入信號(hào)2041-204N,這些輸入信號(hào)可以是該神經(jīng)系統(tǒng)外部的信號(hào)、或是由同一神經(jīng)系統(tǒng)的其他神經(jīng)元所生成的信號(hào)、或這兩者。輸入信號(hào)可以是電流、電導(dǎo)、電壓、實(shí)數(shù)值的和/或復(fù)數(shù)值的。輸入信號(hào)可包括具有定點(diǎn)或浮點(diǎn)表示的數(shù)值??赏ㄟ^(guò)突觸連接將這些輸入信號(hào)遞送到神經(jīng)元202,突觸連接根據(jù)可調(diào)節(jié)突觸權(quán)重2061-206N(W1-WN)對(duì)這些信號(hào)進(jìn)行按比例縮放,其中N可以是神經(jīng)元202的輸入連接總數(shù)。
神經(jīng)元202可組合這些經(jīng)按比例縮放的輸入信號(hào),并且使用組合的經(jīng)按比例縮放的輸入來(lái)生成輸出信號(hào)208(即,信號(hào)Y)。輸出信號(hào)208可以是電流、電導(dǎo)、電壓、實(shí)數(shù)值的和/或復(fù)數(shù)值的。輸出信號(hào)可以是具有定點(diǎn)或浮點(diǎn)表示的數(shù)值。隨后該輸出信號(hào)208可作為輸入信號(hào)傳遞至同一神經(jīng)系統(tǒng)的其他神經(jīng)元、或作為輸入信號(hào)傳遞至同一神經(jīng)元202、或作為該神經(jīng)系統(tǒng)的輸出來(lái)傳遞。
處理單元(神經(jīng)元)202可由電路來(lái)仿真,并且其輸入和輸出連接可由具有突觸電路的電連接來(lái)仿真。處理單元202及其輸入和輸出連接也可由軟件代碼來(lái)仿真。處理單元202還可由電路來(lái)仿真,而其輸入和輸出連接可由軟件代碼來(lái)仿真。在一方面,計(jì)算網(wǎng)絡(luò)中的處理單元202可以是模擬電路。在另一方面,處理單元202可以是數(shù)字電路。在又一方面,處理單元202可以是具有模擬和數(shù)字組件兩者的混合信號(hào)電路。計(jì)算網(wǎng)絡(luò)可包括任何前述形式的處理單元。使用這樣的處理單元的計(jì)算網(wǎng)絡(luò)(神經(jīng)系統(tǒng)或神經(jīng)網(wǎng)絡(luò))可用在大范圍的應(yīng)用中,諸如圖像和模式識(shí)別、機(jī)器學(xué)習(xí)、電機(jī)控制、及類(lèi)似應(yīng)用等。
在神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過(guò)程期間,突觸權(quán)重(例如,來(lái)自圖1的權(quán)重和/或來(lái)自圖2的權(quán)重2061-206N)可用隨機(jī)值來(lái)初始化并根據(jù)學(xué)習(xí)規(guī)則而被增大或減小。本領(lǐng)域技術(shù)人員將領(lǐng)會(huì),學(xué)習(xí)規(guī)則的示例包括但不限于尖峰定時(shí)依賴可塑性(STDP)學(xué)習(xí)規(guī)則、Hebb規(guī)則、Oja規(guī)則、Bienenstock-Copper-Munro(BCM)規(guī)則等。在一些方面,這些權(quán)重可穩(wěn)定或收斂至兩個(gè)值(即,權(quán)重的雙峰分布)之一。該效應(yīng)可被用于減少每個(gè)突觸權(quán)重的位數(shù)、提高從/向存儲(chǔ)突觸權(quán)重的存儲(chǔ)器讀取和寫(xiě)入的速度、以及降低突觸存儲(chǔ)器的功率和/或處理器消耗。
突觸類(lèi)型
在神經(jīng)網(wǎng)絡(luò)的硬件和軟件模型中,突觸相關(guān)功能的處理可基于突觸類(lèi)型。突觸類(lèi)型可以是非可塑突觸(權(quán)重和延遲沒(méi)有改變)、可塑突觸(權(quán)重可改變)、結(jié)構(gòu)化延遲可塑突觸(權(quán)重和延遲可改變)、全可塑突觸(權(quán)重、延遲和連通性可改變)、以及基于此的變型(例如,延遲可改變,但在權(quán)重或連通性方面沒(méi)有改變)。多種類(lèi)型的優(yōu)點(diǎn)在于處理可以被細(xì)分。例如,非可塑突觸不會(huì)使用待執(zhí)行的可塑性功能(或等待此類(lèi)功能完成)。類(lèi)似地,延遲和權(quán)重可塑性可被細(xì)分成可一起或分開(kāi)地、順序地或并行地運(yùn)作的操作。不同類(lèi)型的突觸對(duì)于適用的每一種不同的可塑性類(lèi)型可具有不同的查找表或公式以及參數(shù)。因此,這些方法將針對(duì)該突觸的類(lèi)型來(lái)訪問(wèn)相關(guān)的表、公式或參數(shù)。
還進(jìn)一步牽涉到以下事實(shí):尖峰定時(shí)依賴型結(jié)構(gòu)化可塑性可獨(dú)立于突觸可塑性地來(lái)執(zhí)行。結(jié)構(gòu)化可塑性即使在權(quán)重幅值沒(méi)有改變的情況下(例如,如果權(quán)重已達(dá)最小或最大值、或者其由于某種其他原因而不被改變)也可被執(zhí)行,因?yàn)榻Y(jié)構(gòu)化可塑性(即,延遲改變的量)可以是pre-post(前-后)尖峰時(shí)間差的直接函數(shù)。替換地,結(jié)構(gòu)化可塑性可被設(shè)為權(quán)重變化量的函數(shù)或者可基于與權(quán)重或權(quán)重變化的界限有關(guān)的條件來(lái)設(shè)置。例如,突觸延遲可僅在權(quán)重變化發(fā)生時(shí)或者在權(quán)重到達(dá)0的情況下才改變,但在這些權(quán)重為最大值時(shí)則不改變。然而,具有獨(dú)立函數(shù)以使得這些過(guò)程能被并行化從而減少存儲(chǔ)器訪問(wèn)的次數(shù)和交疊可能是有利的。
突觸可塑性的確定
神經(jīng)元可塑性(或簡(jiǎn)稱“可塑性”)是大腦中的神經(jīng)元和神經(jīng)網(wǎng)絡(luò)響應(yīng)于新的信息、感官刺激、發(fā)展、損壞、或機(jī)能障礙而改變其突觸連接和行為的能力??伤苄詫?duì)于生物學(xué)中的學(xué)習(xí)和記憶、以及對(duì)于計(jì)算神經(jīng)元科學(xué)和神經(jīng)網(wǎng)絡(luò)是重要的。已經(jīng)研究了各種形式的可塑性,諸如突觸可塑性(例如,根據(jù)Hebbian理論)、尖峰定時(shí)依賴可塑性(STDP)、非突觸可塑性、活躍性依賴可塑性、結(jié)構(gòu)化可塑性和自穩(wěn)態(tài)可塑性。
STDP是調(diào)節(jié)神經(jīng)元之間的突觸連接的強(qiáng)度的學(xué)習(xí)過(guò)程。連接強(qiáng)度是基于特定神經(jīng)元的輸出與收到輸入尖峰(即,動(dòng)作電位)的相對(duì)定時(shí)來(lái)調(diào)節(jié)的。在STDP過(guò)程下,如果至某個(gè)神經(jīng)元的輸入尖峰平均而言傾向于緊挨在該神經(jīng)元的輸出尖峰之前發(fā)生,則可發(fā)生長(zhǎng)期增強(qiáng)(LTP)。于是使得該特定輸入在一定程度上更強(qiáng)。另一方面,如果輸入尖峰平均而言傾向于緊接在輸出尖峰之后發(fā)生,則可發(fā)生長(zhǎng)期抑壓(LTD)。于是使得該特定輸入在一定程度上更弱,并由此得名“尖峰定時(shí)依賴可塑性”。因此,使得可能是突觸后神經(jīng)元興奮原因的輸入甚至在將來(lái)作出貢獻(xiàn)的可能性更大,而使得不是突觸后尖峰的原因的輸入在將來(lái)作出貢獻(xiàn)的可能性更小。該過(guò)程繼續(xù),直至初始連接集合的子集保留,而所有其他連接的影響減小至無(wú)關(guān)緊要的水平。
由于神經(jīng)元一般在其許多輸入都在一短時(shí)段內(nèi)發(fā)生(即,累積性足以引起輸出)時(shí)產(chǎn)生輸出尖峰,因此通常保留下來(lái)的輸入子集包括傾向于在時(shí)間上相關(guān)的那些輸入。另外,由于在輸出尖峰之前發(fā)生的輸入被加強(qiáng),因此提供對(duì)相關(guān)性的最早充分累積性指示的那些輸入將最終變成至該神經(jīng)元的最后輸入。
STDP學(xué)習(xí)規(guī)則可因變于突觸前神經(jīng)元的尖峰時(shí)間tpre與突觸后神經(jīng)元的尖峰時(shí)間tpost之間的時(shí)間差(即,t=tpost-tpre)來(lái)有效地適配將該突觸前神經(jīng)元連接到該突觸后神經(jīng)元的突觸的突觸權(quán)重。STDP的典型公式化是若該時(shí)間差為正(突觸前神經(jīng)元在突觸后神經(jīng)元之前激發(fā))則增大突觸權(quán)重(即,增強(qiáng)該突觸),以及若該時(shí)間差為負(fù)(突觸后神經(jīng)元在突觸前神經(jīng)元之前激發(fā))則減小突觸權(quán)重(即,抑壓該突觸)。
在STDP過(guò)程中,突觸權(quán)重隨時(shí)間推移的改變可通常使用指數(shù)式衰退來(lái)達(dá)成,如由下式給出的:
其中k+和分別是針對(duì)正和負(fù)時(shí)間差的時(shí)間常數(shù),a+和a-是對(duì)應(yīng)的比例縮放幅值,并且μ是可應(yīng)用于正時(shí)間差和/或負(fù)時(shí)間差的偏移。
圖3解說(shuō)了根據(jù)STDP,突觸權(quán)重作為突觸前(presynaptic)和突觸后(postsynaptic)尖峰的相對(duì)定時(shí)的函數(shù)而改變的示例性示圖300。如果突觸前神經(jīng)元在突觸后神經(jīng)元之前激發(fā),則對(duì)應(yīng)的突觸權(quán)重可被增大,如曲線圖300的部分302中所解說(shuō)的。該權(quán)重增大可被稱為該突觸的LTP。從曲線圖部分302可觀察到,LTP的量可因變于突觸前和突觸后尖峰時(shí)間之差而大致呈指數(shù)式地下降。相反的激發(fā)次序可減小突觸權(quán)重,如曲線圖300的部分304中所解說(shuō)的,從而導(dǎo)致該突觸的LTD。
如圖3中的曲線圖300中所解說(shuō)的,可向STDP曲線圖的LTP(因果性)部分302應(yīng)用負(fù)偏移μ。x軸的交越點(diǎn)306(y=0)可被配置成與最大時(shí)間滯后重合以考慮到來(lái)自層i-1的各因果性輸入的相關(guān)性。在基于幀的輸入(即,呈特定歷時(shí)的包括尖峰或脈沖的幀的形式的輸入)的情形中,可計(jì)算偏移值μ以反映幀邊界。該幀中的第一輸入尖峰(脈沖)可被視為要么如直接由突觸后電位所建模地隨時(shí)間衰退,要么在對(duì)神經(jīng)狀態(tài)的影響的意義上隨時(shí)間衰退。如果該幀中的第二輸入尖峰(脈沖)被視為與特定時(shí)間幀相關(guān)或有關(guān),則該幀之前和之后的有關(guān)時(shí)間可通過(guò)使STDP曲線的一個(gè)或多個(gè)部分偏移以使得這些有關(guān)時(shí)間中的值可以不同(例如,對(duì)于大于一個(gè)幀為負(fù),而對(duì)于小于一個(gè)幀為正)來(lái)在該時(shí)間幀邊界處被分開(kāi)并在可塑性意義上被不同地對(duì)待。例如,負(fù)偏移μ可被設(shè)為偏移LTP以使得曲線實(shí)際上在大于幀時(shí)間的pre-post時(shí)間處變得低于零并且它由此為L(zhǎng)TD而非LTP的一部分。
神經(jīng)元模型及操作
存在一些用于設(shè)計(jì)有用的尖峰發(fā)放神經(jīng)元模型的一般原理。良好的神經(jīng)元模型在以下兩個(gè)計(jì)算態(tài)相(regime)方面可具有豐富的潛在行為:重合性檢測(cè)和功能性計(jì)算。此外,良好的神經(jīng)元模型應(yīng)當(dāng)具有允許時(shí)間編碼的兩個(gè)要素:輸入的抵達(dá)時(shí)間影響輸出時(shí)間,以及重合性檢測(cè)能具有窄時(shí)間窗。最后,為了在計(jì)算上是有吸引力的,良好的神經(jīng)元模型在連續(xù)時(shí)間上可具有閉合形式解,并且具有穩(wěn)定的行為,包括在靠近吸引子和鞍點(diǎn)之處。換言之,有用的神經(jīng)元模型是可實(shí)踐且可被用于建模豐富的、現(xiàn)實(shí)的且生物學(xué)一致的行為并且可被用于對(duì)神經(jīng)電路進(jìn)行工程設(shè)計(jì)和反向工程兩者的神經(jīng)元模型。
神經(jīng)元模型可取決于事件,諸如輸入抵達(dá)、輸出尖峰或其他事件,無(wú)論這些事件是內(nèi)部的還是外部的。為了達(dá)成豐富的行為庫(kù),能展現(xiàn)復(fù)雜行為的狀態(tài)機(jī)可能是期望的。如果事件本身的發(fā)生在撇開(kāi)輸入貢獻(xiàn)(若有)的情況下能影響狀態(tài)機(jī)并約束該事件之后的動(dòng)態(tài),則該系統(tǒng)的將來(lái)狀態(tài)并非僅是狀態(tài)和輸入的函數(shù),而是狀態(tài)、事件和輸入的函數(shù)。
在一方面,神經(jīng)元n可被建模為尖峰帶漏泄積分激發(fā)神經(jīng)元,其膜電壓vn(t)由以下動(dòng)態(tài)來(lái)支配:
其中α和β是參數(shù),wm,n是將突觸前神經(jīng)元m連接至突觸后神經(jīng)元n的突觸的突觸權(quán)重,以及ym(t)是神經(jīng)元m的尖峰發(fā)放輸出,其可根據(jù)Δtm,n被延遲達(dá)樹(shù)突或軸突延遲才抵達(dá)神經(jīng)元n的胞體。
應(yīng)注意,從建立了對(duì)突觸后神經(jīng)元的充分輸入的時(shí)間直至該突觸后神經(jīng)元實(shí)際上激發(fā)的時(shí)間存在延遲。在動(dòng)態(tài)尖峰發(fā)放神經(jīng)元模型(諸如Izhikevich簡(jiǎn)單模型)中,如果在去極化閾值vt與峰值尖峰電壓vpeak之間有差量,則可引發(fā)時(shí)間延遲。例如,在該簡(jiǎn)單模型中,神經(jīng)元胞體動(dòng)態(tài)可由關(guān)于電壓和恢復(fù)的微分方程對(duì)來(lái)支配,即:
其中v是膜電位,u是膜恢復(fù)變量,k是描述膜電位v的時(shí)間尺度的參數(shù),a是描述恢復(fù)變量u的時(shí)間尺度的參數(shù),b是描述恢復(fù)變量u對(duì)膜電位v的閾下波動(dòng)的敏感度的參數(shù),vr是膜靜息電位,I是突觸電流,以及C是膜的電容。根據(jù)該模型,神經(jīng)元被定義為在v>vpeak時(shí)發(fā)放尖峰。
Hunzinger Cold模型
Hunzinger Cold神經(jīng)元模型是能再現(xiàn)豐富多樣的各種神經(jīng)行為的最小雙態(tài)相尖峰發(fā)放線性動(dòng)態(tài)模型。該模型的一維或二維線性動(dòng)態(tài)可具有兩個(gè)態(tài)相,其中時(shí)間常數(shù)(以及耦合)可取決于態(tài)相。在閾下態(tài)相中,時(shí)間常數(shù)(按照慣例為負(fù))表示漏泄通道動(dòng)態(tài),其一般作用于以生物學(xué)一致的線性方式使細(xì)胞返回到靜息。閾上態(tài)相中的時(shí)間常數(shù)(按照慣例為正)反映抗漏泄通道動(dòng)態(tài),其一般驅(qū)動(dòng)細(xì)胞發(fā)放尖峰,而同時(shí)在尖峰生成中引發(fā)等待時(shí)間。
如圖4中所解說(shuō)的,該模型400的動(dòng)態(tài)可被劃分成兩個(gè)(或更多個(gè))態(tài)相。這些態(tài)相可被稱為負(fù)態(tài)相402(也可互換地稱為帶漏泄積分激發(fā)(LIF)態(tài)相,勿與LIF神經(jīng)元模型混淆)以及正態(tài)相404(也可互換地稱為抗漏泄積分激發(fā)(ALIF)態(tài)相,勿與ALIF神經(jīng)元模型混淆)。在負(fù)態(tài)相402中,狀態(tài)在將來(lái)事件的時(shí)間趨向于靜息(v-)。在該負(fù)態(tài)相中,該模型一般展現(xiàn)出時(shí)間輸入檢測(cè)性質(zhì)及其他閾下行為。在正態(tài)相404中,狀態(tài)趨向于尖峰發(fā)放事件(vs)。在該正態(tài)相中,該模型展現(xiàn)出計(jì)算性質(zhì),諸如取決于后續(xù)輸入事件而引發(fā)發(fā)放尖峰的等待時(shí)間。在事件方面對(duì)動(dòng)態(tài)進(jìn)行公式化以及將動(dòng)態(tài)分成這兩個(gè)態(tài)相是該模型的基礎(chǔ)特性。
線性雙態(tài)相二維動(dòng)態(tài)(對(duì)于狀態(tài)v和u)可按照慣例定義為:
其中qρ和r是用于耦合的線性變換變量。
符號(hào)ρ在本文中用于標(biāo)示動(dòng)態(tài)態(tài)相,在討論或表達(dá)具體態(tài)相的關(guān)系時(shí),按照慣例對(duì)于負(fù)態(tài)相和正態(tài)相分別用符號(hào)“-”或“+”來(lái)替換符號(hào)ρ。
模型狀態(tài)由膜電位(電壓)v和恢復(fù)電流u來(lái)定義。在基本形式中,態(tài)相在本質(zhì)上是由模型狀態(tài)來(lái)決定的。該精確和通用的定義存在一些細(xì)微卻重要的方面,但目前考慮該模型在電壓v高于閾值(v+)的情況下處于正態(tài)相404中,否則處于負(fù)態(tài)相402中。
態(tài)相相關(guān)時(shí)間常數(shù)包括負(fù)態(tài)相時(shí)間常數(shù)τ-和正態(tài)相時(shí)間常數(shù)τ+?;謴?fù)電流時(shí)間常數(shù)τu通常是與態(tài)相無(wú)關(guān)的。出于方便起見(jiàn),負(fù)態(tài)相時(shí)間常數(shù)τ-通常被指定為反映衰退的負(fù)量,從而用于電壓演變的相同表達(dá)式可用于正態(tài)相,在正態(tài)相中指數(shù)和τ+將一般為正,正如τu那樣。
這兩個(gè)狀態(tài)元素的動(dòng)態(tài)可在發(fā)生事件之際通過(guò)使?fàn)顟B(tài)偏離其零傾線(null-cline)的變換來(lái)耦合,其中變換變量為:
qρ=-τρβu-vρ (7)
r=δ(v+ε) (8)
其中δ、ε、β和v-、v+是參數(shù)。vρ的兩個(gè)值是這兩個(gè)態(tài)相的參考電壓的基數(shù)。參數(shù)v-是負(fù)態(tài)相的基電壓,并且膜電位在負(fù)態(tài)相中一般將朝向v-衰退。參數(shù)v+是正態(tài)相的基電壓,并且膜電位在正態(tài)相中一般將趨向于背離v+。
v和u的零傾線分別由變換變量qρ和r的負(fù)數(shù)給出。參數(shù)δ是控制u零傾線的斜率的比例縮放因子。參數(shù)ε通常被設(shè)為等于-v-。參數(shù)β是控制這兩個(gè)態(tài)相中的v零傾線的斜率的電阻值。τρ時(shí)間常數(shù)參數(shù)不僅控制指數(shù)式衰退,還單獨(dú)地控制每個(gè)態(tài)相中的零傾線斜率。
該模型可被定義為在電壓v達(dá)到值vS時(shí)發(fā)放尖峰。隨后,狀態(tài)可在發(fā)生復(fù)位事件(其可以與尖峰事件完全相同)之際被復(fù)位:
u=u+Δu (10)
其中和Δu是參數(shù)。復(fù)位電壓通常被設(shè)為v-。
依照瞬時(shí)耦合的原理,閉合形式解不僅對(duì)于狀態(tài)是可能的(且具有單個(gè)指數(shù)項(xiàng)),而且對(duì)于到達(dá)特定狀態(tài)的時(shí)間也是可能的。閉合形式狀態(tài)解為:
因此,模型狀態(tài)可僅在發(fā)生事件之際被更新,諸如在輸入(突觸前尖峰)或輸出(突觸后尖峰)之際被更新。還可在任何特定時(shí)間(無(wú)論是否有輸入或輸出)執(zhí)行操作。
而且,依照瞬時(shí)耦合原理,突觸后尖峰的時(shí)間可被預(yù)計(jì),因此到達(dá)特定狀態(tài)的時(shí)間可提前被確定而無(wú)需迭代技術(shù)或數(shù)值方法(例如,歐拉數(shù)值方法)。給定了先前電壓狀態(tài)v0,直至到達(dá)電壓狀態(tài)vf之前的時(shí)間延遲由下式給出:
如果尖峰被定義為發(fā)生在電壓狀態(tài)v到達(dá)vS的時(shí)間,則從電壓處于給定狀態(tài)v的時(shí)間起測(cè)量的直至發(fā)生尖峰前的時(shí)間量或即相對(duì)延遲的閉合形式解為:
其中通常被設(shè)為參數(shù)v+,但其他變型可以是可能的。
模型動(dòng)態(tài)的以上定義取決于該模型是在正態(tài)相還是負(fù)態(tài)相中。如所提及的,耦合和態(tài)相ρ可基于事件來(lái)計(jì)算。出于狀態(tài)傳播的目的,態(tài)相和耦合(變換)變量可基于在上一(先前)事件的時(shí)間的狀態(tài)來(lái)定義。出于隨后預(yù)計(jì)尖峰輸出時(shí)間的目的,態(tài)相和耦合變量可基于在下一(當(dāng)前)事件的時(shí)間的狀態(tài)來(lái)定義。
存在對(duì)該Cold模型、以及在時(shí)間上執(zhí)行模擬、仿真、或建模的若干可能實(shí)現(xiàn)。這包括例如事件-更新、步階-事件更新、以及步階-更新模式。事件更新是其中基于事件或“事件更新”(在特定時(shí)刻)來(lái)更新?tīng)顟B(tài)的更新。步階更新是以間隔(例如,1ms)來(lái)更新模型的更新。這不一定利用迭代方法或數(shù)值方法。通過(guò)僅在事件發(fā)生于步階處或步階間的情況下才更新模型或即通過(guò)“步階-事件更新”,基于事件的實(shí)現(xiàn)以有限的時(shí)間分辨率在基于步階的模擬器中實(shí)現(xiàn)也是可能的。
盡管本公開(kāi)已描述了尖峰發(fā)放神經(jīng)元、神經(jīng)元模型和網(wǎng)絡(luò)的各個(gè)示例,但本公開(kāi)并不如此受限。確切而言,非尖峰發(fā)放神經(jīng)元和網(wǎng)絡(luò)也可被用來(lái)實(shí)現(xiàn)本公開(kāi)的某些方面。
分布式模型學(xué)習(xí)和共用特征上的定制分類(lèi)器
本公開(kāi)的各方面涉及用于以分布式松散協(xié)調(diào)的方式持續(xù)學(xué)習(xí)模型、同時(shí)設(shè)備也使用該模型的過(guò)程。在一個(gè)示例性方面,深度神經(jīng)網(wǎng)絡(luò)(DNN)可被用于移動(dòng)設(shè)備上的圖像的對(duì)象識(shí)別,其中移動(dòng)設(shè)備將信息發(fā)送回中央服務(wù)器以繼續(xù)完善模型。為了易于解釋?zhuān)纠詳?shù)據(jù)流和其它描述被應(yīng)用于圖像和對(duì)象識(shí)別。然而,本公開(kāi)并不如此限定,而是任何傳感形態(tài)都可替換或附加地被利用。
本公開(kāi)的進(jìn)一步方面涉及生成分類(lèi)器模型。該分類(lèi)器模型可在共用特征集上被定制。在一個(gè)示例性方面,中央服務(wù)器可被配置成接收來(lái)自一個(gè)或多個(gè)用戶設(shè)備的標(biāo)記示例全集。用戶設(shè)備可包括個(gè)人計(jì)算機(jī)(PC)、電視機(jī)、視頻游戲系統(tǒng)、移動(dòng)設(shè)備(諸如膝上型設(shè)備、平板PC、智能電話或其它便攜式電子設(shè)備)。
服務(wù)器可被配置有與數(shù)據(jù)集相關(guān)的統(tǒng)計(jì)特征集。在一些方面,該數(shù)據(jù)集可以例如對(duì)應(yīng)于特定傳感形態(tài)(圖像、聲音、取向、位置等)。服務(wù)器可以基于所接收到的標(biāo)記示例全集和統(tǒng)計(jì)特征集來(lái)生成分類(lèi)器。
圖5解說(shuō)了根據(jù)本公開(kāi)的某些方面的使用通用處理器502的前述學(xué)習(xí)模型、生成分類(lèi)器模型、和/或更新分類(lèi)器集合的示例實(shí)現(xiàn)500。與計(jì)算網(wǎng)絡(luò)(神經(jīng)網(wǎng)絡(luò))相關(guān)聯(lián)的變量(神經(jīng)信號(hào))、突觸權(quán)重、系統(tǒng)參數(shù),延遲,頻率槽信息參數(shù)更新,離群者信息,模型更新,特征信息,示例和/或標(biāo)記信息可被存儲(chǔ)在存儲(chǔ)器塊504中,而在通用處理器502處執(zhí)行的指令可從程序存儲(chǔ)器506加載。在本公開(kāi)的一方面,被加載到通用處理器502中的指令可包括用于以下操作的代碼:接收來(lái)自一個(gè)或多個(gè)用戶的模型更新,基于前一模型和模型更新來(lái)計(jì)算經(jīng)更新的模型,和/或基于經(jīng)更新的模型向一個(gè)或多個(gè)用戶傳送與經(jīng)更新的模型相關(guān)的數(shù)據(jù)。
在本公開(kāi)的另一方面,被加載到通用處理器502中的指令可包括用于以下操作的代碼:基于共享的推斷模型接收來(lái)自服務(wù)器的數(shù)據(jù),基于接收到的數(shù)據(jù)來(lái)生成包括一個(gè)或多個(gè)模型參數(shù)的模型,基于該模型計(jì)算推斷,基于該推斷來(lái)計(jì)算一個(gè)或多個(gè)模型參數(shù)更新,和/或基于模型參數(shù)更新向服務(wù)器傳送數(shù)據(jù)。
在本公開(kāi)的又一方面,被加載到通用處理器502中的指令可包括用于以下操作的代碼:向第一數(shù)據(jù)集應(yīng)用第一分類(lèi)器集合,和/或基于第一分類(lèi)器集合的輸出或者第一分類(lèi)器集合的應(yīng)用的性能測(cè)量中的一者或多者向遠(yuǎn)程設(shè)備請(qǐng)求分類(lèi)器更新。
在本公開(kāi)的又一方面,被加載到通用處理器502中的指令可包括用于以下操作的代碼:向多個(gè)用戶分發(fā)共用特征模型,在共用特征模型的頂部訓(xùn)練多個(gè)分類(lèi)器,和/或?qū)⒍鄠€(gè)分類(lèi)器中的第一分類(lèi)器分發(fā)給多個(gè)用戶中的第一用戶并且將多個(gè)分類(lèi)器中的第二分類(lèi)器分發(fā)給多個(gè)用戶中的第二用戶。
圖6解說(shuō)了根據(jù)本公開(kāi)的某些方面的前述學(xué)習(xí)模型和/或生成分類(lèi)器模型的示例實(shí)現(xiàn)600,其中存儲(chǔ)器602可以經(jīng)由互連網(wǎng)絡(luò)604與計(jì)算網(wǎng)絡(luò)(神經(jīng)網(wǎng)絡(luò))的個(gè)體(分布式)處理單元(神經(jīng)處理器)606對(duì)接。與計(jì)算網(wǎng)絡(luò)(神經(jīng)網(wǎng)絡(luò))相關(guān)聯(lián)的變量(神經(jīng)信號(hào))、突觸權(quán)重、系統(tǒng)參數(shù),延遲,頻率槽信息參數(shù)更新,離群者信息,模型更新,特征信息、示例和/或標(biāo)記信息可被存儲(chǔ)在存儲(chǔ)器602中,并且可從存儲(chǔ)器602經(jīng)由互連網(wǎng)絡(luò)604的連接被加載到每個(gè)處理單元(神經(jīng)處理器)606中。在本公開(kāi)的一方面,處理單元606可被配置成接收來(lái)自一個(gè)或多個(gè)用戶的模型更新,基于前一模型和模型更新來(lái)計(jì)算經(jīng)更新的模型,和/或基于經(jīng)更新的模型向一個(gè)或多個(gè)用戶傳送與經(jīng)更新的模型相關(guān)的數(shù)據(jù)。
在本公開(kāi)的另一方面,處理單元606可被配置成基于共享的推斷模型接收來(lái)自服務(wù)器的數(shù)據(jù),基于接收到的數(shù)據(jù)來(lái)生成包括一個(gè)或多個(gè)模型參數(shù)的模型,基于該模型計(jì)算推斷,基于該推斷來(lái)計(jì)算一個(gè)或多個(gè)模型參數(shù)更新,和/或基于模型參數(shù)更新向服務(wù)器傳送數(shù)據(jù)。
在本公開(kāi)的又一方面,處理單元606可被配置成向第一數(shù)據(jù)集應(yīng)用第一分類(lèi)器集合,和/或基于第一分類(lèi)器集合的輸出或者第一分類(lèi)器集合的應(yīng)用的性能測(cè)量中的一者或多者向遠(yuǎn)程設(shè)備請(qǐng)求分類(lèi)器更新。
在本公開(kāi)的又一方面,處理單元606可被配置成向多個(gè)用戶分發(fā)共用特征模型,在共用特征模型的頂部訓(xùn)練多個(gè)分類(lèi)器,和/或?qū)⒍鄠€(gè)分類(lèi)器中的第一分類(lèi)器分發(fā)給多個(gè)用戶中的第一用戶并且將多個(gè)分類(lèi)器中的第二分類(lèi)器分發(fā)給多個(gè)用戶中的第二用戶。
圖7解說(shuō)了前述學(xué)習(xí)模型和/或生成分類(lèi)器模型的示例實(shí)現(xiàn)700。如圖7中所解說(shuō)的,一個(gè)存儲(chǔ)器組702可與計(jì)算網(wǎng)絡(luò)(神經(jīng)網(wǎng)絡(luò))的一個(gè)處理單元704直接對(duì)接。每一個(gè)存儲(chǔ)器組702可存儲(chǔ)與對(duì)應(yīng)的處理單元(神經(jīng)處理器)704相關(guān)聯(lián)的變量(神經(jīng)信號(hào))、突觸權(quán)重、和/或系統(tǒng)參數(shù),延遲,頻率槽信息參數(shù)更新,離群者信息,模型更新,特征信息,示例和/或標(biāo)記信息。在本公開(kāi)的一方面,處理單元704可被配置成接收來(lái)自一個(gè)或多個(gè)用戶的模型更新,基于前一模型和模型更新來(lái)計(jì)算經(jīng)更新的模型,和/或基于經(jīng)更新的模型向一個(gè)或多個(gè)用戶傳送與經(jīng)更新的模型相關(guān)的數(shù)據(jù)。
在本公開(kāi)的進(jìn)一步方面,處理單元704可被配置成基于共享的推斷模型接收來(lái)自服務(wù)器的數(shù)據(jù),基于接收到的數(shù)據(jù)來(lái)生成包括一個(gè)或多個(gè)模型參數(shù)的模型,基于該模型計(jì)算推斷,基于該推斷來(lái)計(jì)算一個(gè)或多個(gè)模型參數(shù)更新,和/或基于模型參數(shù)更新向服務(wù)器傳送數(shù)據(jù)。
在本公開(kāi)的又一方面,處理單元704可被配置成向第一數(shù)據(jù)集應(yīng)用第一分類(lèi)器集合,和/或基于第一分類(lèi)器集合的輸出或者第一分類(lèi)器集合的應(yīng)用的性能測(cè)量中的一者或多者向遠(yuǎn)程設(shè)備請(qǐng)求分類(lèi)器更新。
在本公開(kāi)的又一方面,處理單元704可被配置成向多個(gè)用戶分發(fā)共用特征模型,在共用特征模型的頂部訓(xùn)練多個(gè)分類(lèi)器,和/或?qū)⒍鄠€(gè)分類(lèi)器中的第一分類(lèi)器分發(fā)給多個(gè)用戶中的第一用戶并且將多個(gè)分類(lèi)器中的第二分類(lèi)器分發(fā)給多個(gè)用戶中的第二用戶。
圖8解說(shuō)了根據(jù)本公開(kāi)的某些方面的神經(jīng)網(wǎng)絡(luò)800的示例實(shí)現(xiàn)。如圖8中所解說(shuō)的,神經(jīng)網(wǎng)絡(luò)800可具有多個(gè)局部處理單元802,它們可執(zhí)行本文所描述的方法的各種操作。每個(gè)局部處理單元802可包括存儲(chǔ)該神經(jīng)網(wǎng)絡(luò)的參數(shù)的局部狀態(tài)存儲(chǔ)器804和局部參數(shù)存儲(chǔ)器806。另外,局部處理單元802可具有用于存儲(chǔ)局部模型程序的局部(神經(jīng)元)模型程序(LMP)存儲(chǔ)器808、用于存儲(chǔ)局部學(xué)習(xí)程序的局部學(xué)習(xí)程序(LLP)存儲(chǔ)器810、以及局部連接存儲(chǔ)器812。此外,如圖8中所解說(shuō)的,每個(gè)局部處理單元802可與用于提供針對(duì)該局部處理單元的各局部存儲(chǔ)器的配置的配置處理器單元814對(duì)接,并且與提供各局部處理單元802之間的路由的路由連接處理單元816對(duì)接。
在一種配置中,神經(jīng)元模型被配置成用于接收來(lái)自一個(gè)或多個(gè)用戶的模型更新,基于前一模型和模型更新來(lái)計(jì)算經(jīng)更新的模型,和/或基于經(jīng)更新的模型向一個(gè)或多個(gè)用戶傳送與經(jīng)更新的模型相關(guān)的數(shù)據(jù)。神經(jīng)元模型包括接收裝置、計(jì)算裝置、和傳送裝置。在一個(gè)方面,接收裝置、計(jì)算裝置、和/或傳送裝置可以是被配置成執(zhí)行所敘述的功能的通用處理器502、程序存儲(chǔ)器506、存儲(chǔ)器塊504、存儲(chǔ)器602、互連網(wǎng)絡(luò)604、處理單元606、處理單元704、局部處理單元802、和/或路由連接處理單元816。
在另一配置中,神經(jīng)元模型被配置成用于基于共享的推斷模型接收來(lái)自服務(wù)器的數(shù)據(jù),基于該模型計(jì)算推斷,基于該推斷來(lái)計(jì)算一個(gè)或多個(gè)模型參數(shù)更新,和/或基于模型參數(shù)更新向服務(wù)器傳送數(shù)據(jù)。神經(jīng)元模型包括接收裝置、計(jì)算裝置、和傳送裝置。在一個(gè)方面,接收裝置、用于計(jì)算推斷的裝置、用于計(jì)算模型參數(shù)更新的裝置、和/或傳送裝置可以是被配置成執(zhí)行所敘述的功能的通用處理器502、程序存儲(chǔ)器506、存儲(chǔ)器塊504、存儲(chǔ)器602、互連網(wǎng)絡(luò)604、處理單元606、處理單元704、局部處理單元802、和/或路由連接處理單元816。
在又一配置中,神經(jīng)元模型被配置成用于向第一數(shù)據(jù)集應(yīng)用第一分類(lèi)器集合,和/或基于第一分類(lèi)器集合的輸出或者第一分類(lèi)器集合的應(yīng)用的性能測(cè)量中的一者或多者向遠(yuǎn)程設(shè)備請(qǐng)求分類(lèi)器更新。神經(jīng)元模型包括應(yīng)用裝置和請(qǐng)求裝置。在一個(gè)方面,應(yīng)用裝置和/或請(qǐng)求裝置可以是被配置成執(zhí)行所敘述的功能的通用處理器502、程序存儲(chǔ)器506、存儲(chǔ)器塊504、存儲(chǔ)器602、互連網(wǎng)絡(luò)604、處理單元606、處理單元704、局部處理單元802、和/或路由連接處理單元816。
在又一配置中,神經(jīng)元模型被配置成用于向各用戶分發(fā)共用特征模型,在共用特征模型的頂部訓(xùn)練各分類(lèi)器,和/或?qū)⑦@些分類(lèi)器中的第一分類(lèi)器分發(fā)給第一用戶并且將第二分類(lèi)器分發(fā)給第二用戶。該神經(jīng)元模型包括:用于分發(fā)共用特征模型的裝置,訓(xùn)練裝置,以及用于將多個(gè)分類(lèi)器中的第一分類(lèi)器分發(fā)給第一用戶并且將第二分類(lèi)器分發(fā)給多個(gè)用戶中的第二用戶的裝置(“用于分發(fā)分類(lèi)器的裝置”)。在一個(gè)方面,用于分發(fā)共用特征模型的裝置、訓(xùn)練裝置和/或用于分發(fā)分類(lèi)器的裝置可以是被配置成執(zhí)行所敘述的功能的通用處理器502、程序存儲(chǔ)器506、存儲(chǔ)器塊504、存儲(chǔ)器602、互連網(wǎng)絡(luò)604、處理單元606、處理單元704、局部處理單元802、和/或路由連接處理單元816。
在進(jìn)一步配置中,神經(jīng)元模型被配置成用于從第一指定用戶向第一標(biāo)記示例全集應(yīng)用共用特征圖集合以學(xué)習(xí)第一分類(lèi)器模型,從第二指定用戶向第二標(biāo)記示例全集應(yīng)用該共用特征圖集合以學(xué)習(xí)第二分類(lèi)器模型,和/或分發(fā)分類(lèi)器模型。該神經(jīng)元模型包括:用于從第一指定用戶向第一標(biāo)記示例全集應(yīng)用共用特征圖集合以學(xué)習(xí)第一分類(lèi)器模型的裝置,用于從第二指定用戶向第二標(biāo)記示例全集應(yīng)用該共用特征圖集合以學(xué)習(xí)第二分類(lèi)器模型的裝置,以及分發(fā)裝置。在一個(gè)方面,用于從第一指定用戶向第一標(biāo)記示例全集應(yīng)用共用特征圖集合以學(xué)習(xí)第一分類(lèi)器模型的裝置、用于從第二指定用戶向第二標(biāo)記示例全集應(yīng)用共用特征圖集合以學(xué)習(xí)第二分類(lèi)器模型的裝置、和/或分發(fā)裝置可以是被配置成執(zhí)行所敘述的功能的通用處理器502、程序存儲(chǔ)器506、存儲(chǔ)器塊504、存儲(chǔ)器602、互連網(wǎng)絡(luò)604、處理單元606、處理單元704、局部處理單元802、和/或路由連接處理單元816。
在另一配置中,前述裝置可以是被配置成執(zhí)行由前述裝置所敘述的功能的任何模塊或任何裝置。
根據(jù)本公開(kāi)的某些方面,每個(gè)局部處理單元802可被配置成基于神經(jīng)網(wǎng)絡(luò)的一個(gè)或多個(gè)期望功能特征來(lái)確定神經(jīng)網(wǎng)絡(luò)的參數(shù),以及隨著所確定的參數(shù)被進(jìn)一步適配、調(diào)諧和更新來(lái)使這一個(gè)或多個(gè)功能特征朝著期望的功能特征發(fā)展。
圖9是解說(shuō)根據(jù)本公開(kāi)的各方面的用于學(xué)習(xí)模型的示例性數(shù)據(jù)流900的框圖。參照?qǐng)D9,在框902,可訓(xùn)練神經(jīng)網(wǎng)絡(luò)以學(xué)習(xí)具有初始權(quán)重W0的模型。在一些方面,神經(jīng)網(wǎng)絡(luò)可被訓(xùn)練成學(xué)習(xí)用于訓(xùn)練圖像集合上的對(duì)象識(shí)別的模型。神經(jīng)網(wǎng)絡(luò)例如可以包括深度神經(jīng)網(wǎng)絡(luò)(DNN)。DNN是具有多個(gè)隱藏層的神經(jīng)網(wǎng)絡(luò)。
在框904,可將初始模型權(quán)重(也被稱為“模型”)W0推出或分發(fā)給用戶(例如,移動(dòng)設(shè)備(諸如智能電話)、或其它設(shè)備)或其它實(shí)體。在一些方面,模型可被廣泛地分發(fā)(例如,億或十億數(shù)量級(jí)的設(shè)備)。
在框906和908,每個(gè)移動(dòng)設(shè)備可使用模型W0來(lái)執(zhí)行特定任務(wù)。例如,在一些示例中,模型W0可提供對(duì)移動(dòng)設(shè)備上的數(shù)據(jù)的分類(lèi)。例如,模型W0可以標(biāo)識(shí)和/或標(biāo)記用于設(shè)備用戶的照片中的對(duì)象。在一些方面,該對(duì)象可以是使用模型W0來(lái)自動(dòng)標(biāo)識(shí)或標(biāo)記的。另外,每個(gè)移動(dòng)設(shè)備可以在拍攝照片時(shí)學(xué)習(xí)模型參數(shù)更新,或者在一些情形中,在預(yù)覽照片時(shí),移動(dòng)設(shè)備i還可計(jì)算和累積模型參數(shù)更新ΔW0,i。在一些方面,設(shè)備i可以僅使用分布式模型W0的參數(shù)(例如,權(quán)重)來(lái)進(jìn)行推斷,并且可以不在本地應(yīng)用其更新。
參數(shù)更新ΔW0,i可按數(shù)種方式來(lái)計(jì)算。例如,參數(shù)更新ΔW0,i可以例如通過(guò)提示用戶進(jìn)行標(biāo)記、并且使用反向傳播或以模型中的一層作為目標(biāo)達(dá)一時(shí)段、并且基于自動(dòng)編碼器目標(biāo)函數(shù)計(jì)算該層的權(quán)重梯度來(lái)計(jì)算。當(dāng)然,也可使用其它類(lèi)型的目標(biāo)函數(shù)。例如,在一些方面,還可使用稀疏自動(dòng)編碼器、收縮自動(dòng)編碼器、降噪自動(dòng)編碼器目標(biāo)函數(shù)以及類(lèi)似目標(biāo)函數(shù)。此類(lèi)目標(biāo)函數(shù)可用正則化懲罰來(lái)最小化重構(gòu)。參數(shù)更新還可使用無(wú)監(jiān)督蘇醒-休眠過(guò)程或其它更新技術(shù)來(lái)計(jì)算。
在框910,移動(dòng)設(shè)備(例如,智能電話)可發(fā)送它們的模型權(quán)重更新ΔW0,i以供經(jīng)由中央服務(wù)器/中樞收集。在一些方面,該模型權(quán)重更新可按周期性基礎(chǔ)(諸如,每天、每周或每月)發(fā)送給中央服務(wù)器。當(dāng)然,這僅是示例性的并且不是限定性的。例如,在一些方面,移動(dòng)設(shè)備可以響應(yīng)于來(lái)自服務(wù)器的請(qǐng)求(例如,服務(wù)器可輪詢更新)而發(fā)送回更新。在另一示例中,移動(dòng)設(shè)備可以響應(yīng)于服務(wù)器請(qǐng)求或者結(jié)合周期性調(diào)度的更新來(lái)發(fā)送更新。在又一示例中,這些更新可以是基于訓(xùn)練示例的累積(例如,自最后提供的更新以來(lái)拍攝一段時(shí)間的照片或者自最后提供的更新以來(lái)拍攝數(shù)個(gè)照片)而被發(fā)送回的。
在框912,中央服務(wù)器/中樞可進(jìn)而基于從移動(dòng)設(shè)備接收到的模型權(quán)重更新ΔW0,i來(lái)計(jì)算新模型W1。
在一些方面,可在框914經(jīng)由驗(yàn)證過(guò)程來(lái)驗(yàn)證新模型。在框916,可向移動(dòng)設(shè)備用戶推出或分發(fā)新模型W1。在框918和920,每個(gè)移動(dòng)設(shè)備可使用模型W1來(lái)執(zhí)行特定任務(wù)。隨后,該過(guò)程可被重復(fù)以進(jìn)一步更新模型。
計(jì)算模型更新
經(jīng)更新的模型可用各種方式來(lái)計(jì)算。例如,在一些方面,經(jīng)更新的模型可如下計(jì)算:
其中n是用戶更新的數(shù)目,并且η是學(xué)習(xí)參數(shù)。
在一些方面,權(quán)重更新可以是預(yù)歸一化的。例如,權(quán)重更新可通過(guò)在發(fā)送回權(quán)重更新之前學(xué)習(xí)的數(shù)個(gè)照片來(lái)預(yù)歸一化(劃分)。這可提供模型權(quán)重的直接平均。
在一些方面,這些更新也可以被加權(quán)。在一個(gè)示例中,權(quán)重更新可因變于pi被加權(quán),pi為用來(lái)計(jì)算ΔW0,i的圖像數(shù)目。由此,例如,來(lái)自拍攝數(shù)百?gòu)堈掌挠脩舻臋?quán)重更新可具有比來(lái)自僅拍攝一張照片的用戶的權(quán)重更新更大的影響。相應(yīng)地,在該修改下,經(jīng)更新的模型可被計(jì)算為:
在經(jīng)加權(quán)的更新的情形中,可能期望防范用戶的過(guò)加權(quán)。也就是說(shuō),可能期望防范例如拍攝不感興趣的照片(例如,眾多白墻的照片)的用戶、來(lái)自個(gè)體用戶的過(guò)表示、以及嘗試故意使模型降級(jí)的攻擊者。一種辦法將是在運(yùn)行權(quán)重更新之前將照片的數(shù)目pi設(shè)上限或限定到1≤pi≤pmax,或者等同地,pi←min(pi,pmax)。在該情形中,可使用來(lái)自多個(gè)用戶(例如,所有用戶或者其部分,諸如同等群)的權(quán)重更新的聚集或較大數(shù)目的權(quán)重更新來(lái)達(dá)到平均并且防范來(lái)自攻擊者的權(quán)重更新。進(jìn)一步,具有較大元素值的權(quán)重更新ΔWk,i可以被過(guò)濾掉或歸一化。
模型驗(yàn)證
由于推出或分發(fā)給用戶的模型除學(xué)習(xí)新模型更新之外還可支持活躍推斷,因此驗(yàn)證經(jīng)更新的模型會(huì)是有益的。例如,在一些方面,模型性能可被驗(yàn)證以確保新學(xué)習(xí)的權(quán)重不會(huì)使推斷性能過(guò)度降級(jí)。另一方面,在推斷性能被過(guò)度降級(jí)時(shí),可發(fā)起糾正動(dòng)作。
在一些方面,可對(duì)驗(yàn)證數(shù)據(jù)集測(cè)量經(jīng)更新的模型性能。在一個(gè)示例中,可通過(guò)計(jì)算對(duì)象識(shí)別的準(zhǔn)確度或F-score(F分?jǐn)?shù))來(lái)測(cè)量經(jīng)更新的模型性能。在該示例中,經(jīng)更新的模型可以僅在驗(yàn)證性能未降低達(dá)大于預(yù)定量(例如,所定義的百分比或固定差值)的情況下被分發(fā)或推出。如果性能確實(shí)降低達(dá)大于目標(biāo)量,則可實(shí)現(xiàn)糾正測(cè)量。例如,在一些方面,模型更新可被無(wú)視達(dá)一時(shí)段(例如,達(dá)該輪),通知可被發(fā)送給用戶(例如,以重置它們的△權(quán)重和/或使用當(dāng)前模型或前一模型)。
在一些方面,例如,如以下所述的離群者檢測(cè)器可標(biāo)識(shí)用戶的權(quán)重中要移除/忽略的子集。經(jīng)更新的模型隨后可基于剩余的權(quán)重來(lái)重新計(jì)算。經(jīng)更新的模型還可遭受重新測(cè)試和驗(yàn)證過(guò)程。如果該模型仍不滿足目標(biāo)度量,則可使用附加或更多限制性離群者過(guò)濾器。
在一些方面,可使用梯度方向上的線搜索。例如,這可通過(guò)使用不同學(xué)習(xí)速率來(lái)計(jì)算若干潛在的經(jīng)更新模型并且使用具有最佳驗(yàn)證性能的模型、具有滿足目標(biāo)驗(yàn)證性能閾值的最大學(xué)習(xí)速率的模型、或者因變于驗(yàn)證性能結(jié)果來(lái)選擇的模型來(lái)完成。
新的或者經(jīng)更新的模型還可包括使用前一模型來(lái)推斷和使用新模型來(lái)計(jì)算權(quán)重更新的指示。這可允許學(xué)習(xí)以在將降低模型性能而不影響推斷性能的方向上探索數(shù)個(gè)步驟。
在其它方面,用戶設(shè)備可維持兩個(gè)模型(例如,W0和W1)。例如,用戶設(shè)備可維持一個(gè)模型(例如,W0)以及來(lái)自服務(wù)器的對(duì)應(yīng)于模型更新(例如,W1)的△。由于兩個(gè)模型可能在歐幾里得距離上靠近,因此設(shè)備可使用比在存儲(chǔ)兩個(gè)分開(kāi)的模型中使用的存儲(chǔ)器少的存儲(chǔ)器來(lái)維持兩個(gè)模型。在該辦法中,在數(shù)個(gè)步驟之后,如果模型性能改進(jìn)到新的較佳性能點(diǎn),則在使用該新模型的指示下該模型被推出。如果模型性能并未改進(jìn),則可采用一個(gè)或多個(gè)糾正動(dòng)作(例如,上述的糾正動(dòng)作)。
另外,可執(zhí)行對(duì)驗(yàn)證數(shù)據(jù)集的完整性檢查以確保驗(yàn)證數(shù)據(jù)集沒(méi)有變舊(例如,丟失正在驅(qū)動(dòng)特征學(xué)習(xí)和在恰當(dāng)?shù)那闆r下更新驗(yàn)證數(shù)據(jù)集的新對(duì)象(諸如新電話、汽車(chē)等))。
離群者檢測(cè)
在一些配置中,可以可任選地包括離群者檢測(cè)器過(guò)濾器以檢測(cè)具有指示問(wèn)題或潛在攻擊的重復(fù)權(quán)重更新的個(gè)體權(quán)重更新或用戶/設(shè)備。離群者過(guò)濾器可對(duì)照權(quán)重更新的集群來(lái)測(cè)試權(quán)重更新。例如,可計(jì)算給定權(quán)重值的更新的分布。如果權(quán)重更新超過(guò)標(biāo)準(zhǔn)偏差的目標(biāo)數(shù)目,則其可被標(biāo)識(shí)為離群者。
類(lèi)似地,當(dāng)使用以上所引述的線搜索時(shí),梯度矢量方向應(yīng)當(dāng)指向本地最小值。如果用戶梯度的內(nèi)積和集群平均梯度低于閾值,則它可被標(biāo)記為離群者。如果梯度的幅度或梯度的元素超過(guò)集群的標(biāo)準(zhǔn)偏差的數(shù)目,則其也可被標(biāo)記為離群者。可使用其他統(tǒng)計(jì)測(cè)試。另外,集群和分布可以包括或不包括作為離群者的測(cè)試下梯度的情況下來(lái)計(jì)算。
如果給定梯度更新被注釋為離群者,則它可對(duì)于當(dāng)前一輪的權(quán)重更新不被考慮或者可被給予更新中的較小加權(quán)。如果用戶被標(biāo)記為重復(fù)地提供離群者權(quán)重更新,則這些更新可被標(biāo)記以供進(jìn)一步研究或者用戶可被永久地標(biāo)記為可能有意或無(wú)意地攻擊模型準(zhǔn)確度的用戶。在一些方面,被標(biāo)記(flagged)的用戶可使它們的權(quán)重更新以比未被標(biāo)記(non-flagged)的用戶小的貢獻(xiàn)被添加,例如,經(jīng)更新的模型可被計(jì)算為:
其中γ<1以針對(duì)被標(biāo)記的用戶提供較小的貢獻(xiàn)。替換地,這些權(quán)重可以從更新中排除(例如,γ=0)。
相反,離群者檢測(cè)器可輔助基于更新穎的圖像和/或包含更新穎特征的圖像來(lái)確定更新。離群者檢測(cè)器還可輔助標(biāo)識(shí)提供此類(lèi)新穎圖像的用戶。進(jìn)一步,在標(biāo)識(shí)新穎圖像和/或用戶時(shí),離群者標(biāo)識(shí)符可降低那些圖像、用戶和/或特征的權(quán)重。
架構(gòu)更新
經(jīng)更新的模型可包括架構(gòu)更新。由于模型可被用于在學(xué)習(xí)繼續(xù)時(shí)進(jìn)行任務(wù)推斷,因此初始模型容量基于初始訓(xùn)練數(shù)據(jù)和設(shè)備特性來(lái)調(diào)整大小以使得訓(xùn)練數(shù)據(jù)不被過(guò)擬合會(huì)是有益的。然而,隨著分布式學(xué)習(xí)進(jìn)行,性能可受到模型容量的限制。同時(shí),在模型學(xué)習(xí)時(shí),最低層可開(kāi)始收斂到它們能學(xué)習(xí)的事物(例如,第一層中的Gabor型邊緣檢測(cè)器)。那些層中的附加訓(xùn)練可具有受限潛力。作為應(yīng)對(duì),模型可生長(zhǎng)和/或收縮。
在一種辦法中,可以監(jiān)視計(jì)算和驗(yàn)證階段期間的模型性能以確定對(duì)于當(dāng)前模型容量是否存在收斂。收斂度量包括跟蹤驗(yàn)證集上的模型性能以確定該性能是否已飽和達(dá)目標(biāo)數(shù)目的歷元,或者查看權(quán)重更新的特征(諸如權(quán)重更新的幅度、大于閾值的元素?cái)?shù)目的稀疏性、和/或梯度方向的相干性)。訓(xùn)練歷元和/或訓(xùn)練示例的數(shù)目也可被用來(lái)確定模型生長(zhǎng)和/或收縮是否將是有益的。
例如,如果指示模型生長(zhǎng),則一個(gè)或多個(gè)現(xiàn)有層中的神經(jīng)元數(shù)目可被增大,或者一個(gè)或多個(gè)附加層可被添加到模型。新神經(jīng)元和/或級(jí)可按若干方式之一添加。
在一種辦法中,所添加的架構(gòu)(例如,神經(jīng)元和/或?qū)?可被添加以使得不具有即時(shí)影響。例如,對(duì)層中新節(jié)點(diǎn)的權(quán)重可被配置有零(0)值和/或新層可被配置有形成恒等函數(shù)的一組權(quán)重。接著,將開(kāi)始后續(xù)學(xué)習(xí)歷元以學(xué)習(xí)經(jīng)完善的權(quán)重。
在另一辦法中,可按上述辦法添加新層,并且隨后可在中央數(shù)據(jù)訓(xùn)練集上實(shí)現(xiàn)訓(xùn)練(監(jiān)督和/或未監(jiān)督訓(xùn)練)以獲得更佳的初始權(quán)重集。
盡管以上辦法允許生長(zhǎng)模型,但相同的指示可被用來(lái)使模型的易塑/可學(xué)習(xí)部分收縮。例如,底層可被凍結(jié),從而權(quán)重更新僅針對(duì)較高層來(lái)計(jì)算和傳送。
分類(lèi)器-特征學(xué)習(xí)器拆分
圖10是解說(shuō)根據(jù)本公開(kāi)的各方面的用于分類(lèi)器的示例性架構(gòu)1000的框圖。構(gòu)造分類(lèi)器中的一個(gè)挑戰(zhàn)在于如何添加或減去類(lèi)別標(biāo)記,或者甚至構(gòu)建更復(fù)雜的推斷引擎而無(wú)需從最開(kāi)始開(kāi)啟學(xué)習(xí)。一個(gè)觀察在于諸如深度神經(jīng)網(wǎng)絡(luò)之類(lèi)的模型可被視為較低層中的學(xué)習(xí)特征以及較高層中的那些特征上的推斷引擎。進(jìn)一步,特征學(xué)習(xí)可大部分獲益于大量的訓(xùn)練示例,而推斷引擎可在它正使用高質(zhì)量特征的情況下使用少很多的示例來(lái)學(xué)習(xí)。使用該觀察,分布式學(xué)習(xí)可學(xué)習(xí)關(guān)于特征的模型更新(諸如權(quán)重)并且使用圖10中所示的中央數(shù)據(jù)集在頂層中每次從最開(kāi)始重新訓(xùn)練分類(lèi)器。
作為示例,在用于圖10的分類(lèi)器的示例性架構(gòu)1000中,設(shè)備提供輸入數(shù)據(jù)1002(例如,可拍攝照片或提供其它傳感輸入數(shù)據(jù))。模型權(quán)重更新可以基于輸入數(shù)據(jù)1002來(lái)計(jì)算以提供分布式學(xué)習(xí)的特征1004作為DNN的特征層。設(shè)備隨后可向中央學(xué)習(xí)的推斷引擎1006發(fā)送權(quán)重更新(周期性或以其它方式),并且該特征模型可以基于這些權(quán)重更新而被更新,如先前所描述的。隨后,特征模型權(quán)重可以是固定的并且可使用中央標(biāo)記的數(shù)據(jù)集1008在特征的頂部訓(xùn)練新圖像分類(lèi)器。結(jié)果所得的模型隨后可被分發(fā)或推出給設(shè)備以用于改進(jìn)的對(duì)象識(shí)別能力和進(jìn)一步的特征模型學(xué)習(xí)。
作為這個(gè)的擴(kuò)展,中央學(xué)習(xí)的推斷引擎1006可添加、減去、組合對(duì)象標(biāo)記,擴(kuò)展到標(biāo)記多個(gè)對(duì)象,或者利用持續(xù)學(xué)習(xí)的特征提供其它改進(jìn)。添加、減去或組合對(duì)象標(biāo)記可通過(guò)恰適地修改被用來(lái)在特征頂部學(xué)習(xí)推斷引擎的數(shù)據(jù)集(諸如修改用于現(xiàn)有圖像的標(biāo)記和/或添加/移除圖像)來(lái)完成。
類(lèi)似地,由于推斷引擎1006被構(gòu)建在分布式學(xué)習(xí)的特征1004的頂部,因此可使用新的推斷過(guò)程、架構(gòu)或辦法。例如,新的推斷過(guò)程可包括標(biāo)記修改,諸如針對(duì)每個(gè)圖像提供多個(gè)標(biāo)記,而非針對(duì)每個(gè)圖像提供單個(gè)標(biāo)記。在另一示例中,可通過(guò)從人工神經(jīng)網(wǎng)絡(luò)(ANN)辦法切換到尖峰發(fā)放神經(jīng)網(wǎng)絡(luò)辦法、支持矢量機(jī)器(SVM)辦法或其它辦法來(lái)修改推斷引擎架構(gòu)。
另外,通過(guò)中央地學(xué)習(xí)推斷引擎,可針對(duì)不同使用情形、設(shè)備或應(yīng)用通過(guò)使用不同訓(xùn)練數(shù)據(jù)集在相同特征集上訓(xùn)練不同的推斷引擎來(lái)學(xué)習(xí)不同的推斷引擎。
作為又一擴(kuò)展,代替凍結(jié)特征權(quán)重并且僅訓(xùn)練推斷引擎,特征權(quán)重還可從在一個(gè)或多個(gè)訓(xùn)練數(shù)據(jù)集上學(xué)習(xí)以計(jì)算可被分發(fā)給用戶和/或設(shè)備的結(jié)果所得的模型來(lái)得到進(jìn)一步完善。相反,推斷引擎可按與特征相同的分布式方式來(lái)學(xué)習(xí)。
在一種配置中,在用戶糾正來(lái)自推斷引擎的一個(gè)或多個(gè)模型標(biāo)記時(shí),分布式學(xué)習(xí)可能很大程度上未被監(jiān)督而僅有偶然監(jiān)督輸入。在該配置中,不止一個(gè)學(xué)習(xí)過(guò)程可被用來(lái)計(jì)算模型權(quán)重更新。同樣,在該配置中,使用特征/推斷學(xué)習(xí)概念拆分的分布式學(xué)習(xí)可使用用戶標(biāo)記來(lái)本地地更新推斷引擎,從而用戶更快地看到模型改進(jìn)。
另外,出于隱私、選擇退出和/或帶寬目的,在一些方面,用戶圖像可以不被提供給中央服務(wù)器。在該情形中,圖像可帶有本地標(biāo)記地被高速緩存在用戶的設(shè)備中,從而當(dāng)在用戶設(shè)備處接收到新模型時(shí),推斷引擎可通過(guò)基于本地存儲(chǔ)的圖像和標(biāo)記更新權(quán)重來(lái)自動(dòng)地完善。這可允許用戶具有在模型繼續(xù)以分布式方式學(xué)習(xí)的同時(shí)基于標(biāo)記糾正來(lái)保持更新的推斷引擎。
圖11是解說(shuō)根據(jù)本公開(kāi)的各方面的用于學(xué)習(xí)模型的示例性數(shù)據(jù)流1100的框圖。參照?qǐng)D11,在框1102,可在中央數(shù)據(jù)集上訓(xùn)練初始模型W0。在框1104,可將初始模型W0推出或分發(fā)例如給用戶1和用戶2。當(dāng)然,這僅僅是示例性的,并且模型可被分發(fā)給任何數(shù)目的用戶、用戶群或其它實(shí)體。
初始模型W0可被用于在每個(gè)用戶設(shè)備處識(shí)別和學(xué)習(xí)模型(1106,1108)。然而,所學(xué)習(xí)的權(quán)重更新可被異步地提供給中央服務(wù)器。也就是說(shuō),每個(gè)用戶可異步地向中央服務(wù)器發(fā)送權(quán)重更新(1106和1108)。當(dāng)中央服務(wù)器接收到單個(gè)模型更新(例如,在框1110來(lái)自用戶1或者在框1116來(lái)自用戶2)時(shí),或者可能是在一時(shí)間段上來(lái)自用戶子集的模型更新集合,服務(wù)器可計(jì)算新的模型并將其分發(fā)或推出給用戶(1112,1118)。
在一些方面,新模型更新可以僅被發(fā)送給提供更新的用戶子集。也就是說(shuō),這些更新可以是差分分布的。例如,在框1110,中央服務(wù)器收集來(lái)自用戶1的權(quán)重更新并且進(jìn)而計(jì)算新模型W1。在框1112,中央服務(wù)器可僅向用戶1推出或分發(fā)W1。該更新可被表達(dá)為:
其中該求和是在該子集的一個(gè)或多個(gè)用戶上。在框1114,新模型W1可被用于用戶1設(shè)備處的識(shí)別和學(xué)習(xí)。
在框1108,中央服務(wù)器可接收來(lái)自另一用戶(例如,來(lái)自用戶2)或用戶子集的模型更新集合并且計(jì)算另一新模型更新(1116)。該模型更新可如下應(yīng)用于正在進(jìn)行的模型:
即使這些更新是在較舊的模型(諸如W0)上計(jì)算的。在框1118,可將新模型W2分發(fā)給其它用戶(例如,用戶2)或用戶群。在框1120,新模型W2可被用于用戶2設(shè)備處的識(shí)別和學(xué)習(xí)。
在一些方面,在模型更新(例如,W1或W2)被接收到時(shí),它們可被標(biāo)記或以其它方式配置有關(guān)于它們是基于哪個(gè)模型的指示。如果在自初始模型(例如,W0)的閾值數(shù)目的更新之后接收到更新,則此類(lèi)更新可因陳舊而被丟棄。
在異步更新情形中,異步更新時(shí)間可以基于若干因素。在一個(gè)示例中,更新可針對(duì)不同用戶子集被規(guī)劃在不同時(shí)間以幫助使服務(wù)器和網(wǎng)絡(luò)資源負(fù)載平衡。在第二示例中,更新可以在某個(gè)設(shè)備本地度量被滿足(諸如,所計(jì)算的目標(biāo)數(shù)目的本地模型更新(例如,目標(biāo)數(shù)目的照片))、或者從設(shè)備回到中央服務(wù)器的高帶寬信道的突然可用性之后發(fā)送。
在一些方面,所學(xué)習(xí)的權(quán)重更新可按在每次學(xué)習(xí)計(jì)算(例如,照片)之后應(yīng)用更新的在線方式或者使用在目標(biāo)數(shù)目的學(xué)習(xí)計(jì)算(例如,照片)之后應(yīng)用更新的最小批量過(guò)程來(lái)本地地應(yīng)用。例如,用戶可發(fā)送回自最后一次從中央服務(wù)器接收到的模型以來(lái)總共累積的權(quán)重更新。該辦法可允許用戶本地地改進(jìn)它們的模型并且以降級(jí)的中間性能為風(fēng)險(xiǎn)更快地探索更大的模型空間,因?yàn)橥茢嗍窃谖唇?jīng)驗(yàn)證的模型上執(zhí)行的。
性能降級(jí)的風(fēng)險(xiǎn)可以通過(guò)本地地維持兩個(gè)模型(例如,一個(gè)用于報(bào)告推斷值,并且一個(gè)用于學(xué)習(xí)更大的模型空間)來(lái)降低。當(dāng)然,所維持的模型數(shù)目?jī)H僅是示例性的,并且可根據(jù)資源可用性來(lái)維持任何數(shù)目的模型。這可通過(guò)維持模型W和正在進(jìn)行的更新ΔW、并且使用W來(lái)推斷且使用W+ηΔW來(lái)進(jìn)行模型學(xué)習(xí)來(lái)完成。
在這些模型探索情形中,中央服務(wù)器可如在先前描述的方法中那樣應(yīng)用模型更新。在一些方面,中央服務(wù)器可對(duì)照驗(yàn)證集來(lái)測(cè)試不同的更新以確定哪一個(gè)更新提供較佳的模型更新。
傳送模型參數(shù)
與分布式模型學(xué)習(xí)相關(guān)聯(lián)的一個(gè)挑戰(zhàn)在于高容量模型的模型大小可能相對(duì)較大,因此推出模型和取回學(xué)習(xí)到的模型參數(shù)的簡(jiǎn)單辦法可消耗非常多的帶寬。另外,對(duì)于中央服務(wù)器,從大量數(shù)目的設(shè)備(例如,成億或十億的設(shè)備)接收模型更新可產(chǎn)生非常大的要維護(hù)的流。存在可被用來(lái)減小帶寬和設(shè)備處的存儲(chǔ)器利用率的若干方法。
從設(shè)備到中央服務(wù)器
第一種辦法是對(duì)每個(gè)用戶(設(shè)備)向中央服務(wù)區(qū)發(fā)送的ΔW進(jìn)行子采樣。如果模型具有大量(例如,數(shù)百萬(wàn)或數(shù)十億)的權(quán)重參數(shù),則ΔW矢量具有那么多元素。不是使數(shù)百萬(wàn)或數(shù)十億的設(shè)備中的每一個(gè)設(shè)備向中央服務(wù)器發(fā)送完整的權(quán)重矢量,而是每個(gè)用戶(設(shè)備)可發(fā)送元素的子集(例如,元素的隨機(jī)子集)。由于每個(gè)ΔW元素通常被計(jì)算以使誤差函數(shù)最小化,因此每個(gè)元素更新單獨(dú)地應(yīng)當(dāng)在良好的方向上。由于存在大量的設(shè)備,因此如果所有用戶發(fā)送全部它們的更新、而不是使用合適的統(tǒng)計(jì)平均,則帶寬可能不是高效利用的。在一個(gè)方面,服務(wù)器可在模型被推出給用戶(設(shè)備)時(shí)為要發(fā)送回的數(shù)個(gè)參數(shù)發(fā)送參數(shù)np。本地用戶設(shè)備可隨機(jī)地選擇ΔW矢量中的對(duì)應(yīng)數(shù)目的元素位置以發(fā)送給中央服務(wù)器。如此,在每次學(xué)習(xí)更新之際,本地設(shè)備可以僅計(jì)算被用來(lái)計(jì)算目標(biāo)ΔW元素的中間值。進(jìn)一步,本地用戶設(shè)備隨后可以隨時(shí)間推移僅跟蹤ΔW的np個(gè)元素。設(shè)備可以在恰當(dāng)?shù)臅r(shí)間向中央服務(wù)器發(fā)送那些np個(gè)元素。
在下一迭代期間,可實(shí)現(xiàn)其它選項(xiàng)。例如,在一種配置中,該設(shè)備可保持相同的元素位置集合或者可重新生成新的隨機(jī)元素位置。另外,由中央服務(wù)器推出的參數(shù)np的值可隨時(shí)間推移而改變例如以計(jì)及增多數(shù)目的設(shè)備、改變的模型大小、增大的帶寬以及其它因素。
在另一配置中,中央服務(wù)器可接收來(lái)自設(shè)備的所有或一些參數(shù)并且可對(duì)用來(lái)更新模型的ΔW進(jìn)行子采樣。這可被完成以控制中央服務(wù)器中針對(duì)每個(gè)更新執(zhí)行的計(jì)算量。在一些方面,中央服務(wù)器還可使用來(lái)自所有被接收到的更新的ΔW的隨機(jī)子集。在其他方面,中央服務(wù)器可丟棄所接收到的一些更新。
從中央服務(wù)器到設(shè)備
向設(shè)備分發(fā)或推出模型更新還可消耗大量的帶寬。存在可被實(shí)現(xiàn)以降低帶寬的若干辦法。
一種辦法是向用戶廣播或多播權(quán)重更新,因?yàn)樵撃P褪撬杏脩艄灿玫?。例如,在一種配置中,權(quán)重更新可在開(kāi)銷(xiāo)信道(諸如,蜂窩短消息服務(wù)(SMS)信道)、廣播信道或開(kāi)銷(xiāo)位置中分發(fā)。
另一辦法是使用基于先前模型權(quán)重值的算法來(lái)壓縮模型權(quán)重更新。例如,對(duì)于模型Wk+1,中央服務(wù)器可以計(jì)算Wk+1-Wk并且隨后對(duì)結(jié)果所得的矢量使用標(biāo)準(zhǔn)壓縮過(guò)程,這應(yīng)當(dāng)具有用于發(fā)送模型更新的較小值。當(dāng)用戶(設(shè)備)接收到更新時(shí),設(shè)備可對(duì)其解壓縮并且將其添加到先前模型。替換地,霍夫曼壓縮可以基于所估計(jì)的概率p(Wk+1|Wk)來(lái)使用。
另外,如果在權(quán)重更新中存在相關(guān)(諸如可發(fā)生于使用動(dòng)量的DNN中),則服務(wù)器可如下計(jì)算權(quán)重更新的雙倍差值:
(Wk+1-Wk)-(Wk-Wk-1) (20)
雙倍差值可被壓縮并發(fā)送以用于模型更新。在一些方面,基于概率的壓縮可被使用p(Wk+1|Wk,Wk-1)。
在又一辦法中,中央服務(wù)器可指示給定模型層或權(quán)重集合以供用戶設(shè)備集中于(例如,更新)當(dāng)前迭代。在該情形中,服務(wù)器可指示作為當(dāng)前模型更新迭代的目標(biāo)的權(quán)重集合。該設(shè)備可跟蹤僅與目標(biāo)權(quán)重集合相關(guān)的權(quán)重更新。與以上類(lèi)似,設(shè)備可進(jìn)一步選擇該目標(biāo)權(quán)重集合的隨機(jī)子集。設(shè)備可在迭代結(jié)束時(shí)向中央服務(wù)器發(fā)送它們的模型權(quán)重更新。服務(wù)器可進(jìn)而計(jì)算用于該權(quán)重集合的經(jīng)更新模型并且僅發(fā)出這些經(jīng)更新的權(quán)重以用于下一次模型更新。在一些方面,隨時(shí)間推移的迭代可以不同權(quán)重集為目標(biāo)以用于學(xué)習(xí)。
作為以上辦法的擴(kuò)展,中央服務(wù)器在一些方面可以指導(dǎo)不同用戶子集以不同層或權(quán)重子集為目標(biāo)以用于迭代。中央服務(wù)器還可使用驗(yàn)證檢查階段來(lái)檢查哪個(gè)層或模型子集對(duì)性能具有最大影響并且僅推出那些更新。
共用特征上的定制分類(lèi)器
本公開(kāi)的各方面進(jìn)一步涉及共用特征功能上的定制分類(lèi)器。假定用戶想要通過(guò)野生蘑菇的外觀來(lái)標(biāo)識(shí)這些蘑菇,并且用戶愿意為該能力進(jìn)行支付。一個(gè)或多個(gè)蘑菇專(zhuān)家以他們的工作可得到報(bào)酬的方式將他們的知識(shí)傳遞給用戶和其它蘑菇搜尋人的高效方式是什么?除了蘑菇之外,可獲益于專(zhuān)家標(biāo)記的對(duì)象類(lèi)別的其它示例包括汽車(chē)、動(dòng)物、美術(shù)作品、醫(yī)療診斷圖像,等等。
根據(jù)本公開(kāi)的各方面,公開(kāi)了利用機(jī)器學(xué)習(xí)的能力的分類(lèi)器。一組實(shí)體(例如,指定的用戶或?qū)<?可向中央服務(wù)器或“模型商店”提供標(biāo)記示例的全集。該中央服務(wù)器還可包括與特定傳感形態(tài)(或形態(tài)組合)相關(guān)的統(tǒng)計(jì)特征集。這些特征可按非監(jiān)督方式來(lái)學(xué)習(xí)。服務(wù)器可使用學(xué)習(xí)到的特征和專(zhuān)家提供的標(biāo)記示例集合來(lái)計(jì)算分類(lèi)器。服務(wù)器可將所計(jì)算的分類(lèi)器的參數(shù)分發(fā)給設(shè)備,這將允許用戶計(jì)算他們?cè)庥龅降娜魏螌?duì)象的類(lèi)別。
存儲(chǔ)分類(lèi)器的參數(shù)所消耗的存儲(chǔ)器將通常為比完整訓(xùn)練全集小許多的數(shù)量級(jí)。該客戶端-服務(wù)器架構(gòu)還可允許在兩個(gè)訓(xùn)練全集的級(jí)聯(lián)上訓(xùn)練單個(gè)分類(lèi)器的可能性,從而賦予用戶合并來(lái)自相異或交疊領(lǐng)域的多個(gè)專(zhuān)家的分類(lèi)知識(shí)的能力。
可在服務(wù)器側(cè)上和在用戶的設(shè)備側(cè)上均提供基礎(chǔ)設(shè)施以確保設(shè)備擁有恰適的特征集、存儲(chǔ)分類(lèi)器參數(shù)的能力、以及部署這些參數(shù)來(lái)實(shí)現(xiàn)正確的分類(lèi)的能力。相應(yīng)地,在本公開(kāi)的一方面,公開(kāi)了用于在潛在非常大數(shù)目的用戶之間共享一個(gè)或多個(gè)指定用戶或?qū)<业姆诸?lèi)專(zhuān)業(yè)知識(shí)的過(guò)程。一個(gè)或多個(gè)用戶可能希望使用移動(dòng)設(shè)備來(lái)收集傳感數(shù)據(jù)并且在一些情形中,將這些數(shù)據(jù)分類(lèi)成有意義的標(biāo)記(例如,使用相機(jī)查看蘑菇以便標(biāo)識(shí)蘑菇類(lèi)型)?!皩?zhuān)業(yè)知識(shí)”(其可以是標(biāo)記數(shù)據(jù)全集的形式)可被提供給一個(gè)或多個(gè)服務(wù)器,其可將標(biāo)記數(shù)據(jù)全集與先前學(xué)習(xí)的特征集相組合以在那些特征上計(jì)算分類(lèi)器。服務(wù)器隨后可以將分類(lèi)器分發(fā)給任何感興趣的用戶的設(shè)備。可能存在比服務(wù)器更多的用戶。
圖12是解說(shuō)根據(jù)本公開(kāi)的各方面的用于生成分類(lèi)器的示例性數(shù)據(jù)流1200的流程圖。參照?qǐng)D12,在框1102,服務(wù)器可將特征集F分發(fā)給一個(gè)或多個(gè)用戶。
在一些方面,用戶可各自具有用于從輸入數(shù)據(jù)計(jì)算相同特征的機(jī)構(gòu)。確保所有用戶共享相同輸入特征的一種方式將是使服務(wù)器將這些特征連同版本號(hào)推送或分發(fā)給所有用戶。例如,具有一個(gè)或多個(gè)層的人工神經(jīng)網(wǎng)絡(luò)(ANN)可計(jì)算這些特征,并且由此服務(wù)器可通過(guò)向所有用戶發(fā)送該ANN的組合權(quán)重來(lái)執(zhí)行數(shù)據(jù)流的該部分。這些特征還可使用分布式非監(jiān)督學(xué)習(xí)來(lái)集體地學(xué)習(xí)。
實(shí)體、專(zhuān)家或有興趣將分類(lèi)器提供給一組用戶的其它指定用戶可向服務(wù)器提供標(biāo)記數(shù)據(jù)。該標(biāo)記數(shù)據(jù)全集可保持可用于服務(wù)器,從而它能在輸入特征已改變的情況下重新訓(xùn)練分類(lèi)器。在框1204,例如,專(zhuān)家可向服務(wù)器發(fā)送標(biāo)記示例全集,包括數(shù)據(jù)D和標(biāo)記L的E。例如,標(biāo)記示例全集可以是圖像集(以及關(guān)于每個(gè)圖像唯一的標(biāo)記集)的形式。
在框1206,服務(wù)器可構(gòu)建或?qū)W習(xí)分類(lèi)器,該分類(lèi)器學(xué)習(xí)示例全集E中的每個(gè)標(biāo)記數(shù)據(jù)Di與其對(duì)應(yīng)專(zhuān)家提供的標(biāo)記Li之間的映射。存在可能的分類(lèi)器和學(xué)習(xí)方法的許多選擇。例如,在一個(gè)方面,ANN可被用于分類(lèi)器并且訓(xùn)練可使用反向傳播來(lái)進(jìn)行。
在一些方面,還可構(gòu)建組合多個(gè)專(zhuān)家的訓(xùn)練集中所包含的知識(shí)的分類(lèi)器(例如,能標(biāo)識(shí)圖像中的蘑菇和蝴蝶兩者的分類(lèi)器)。該組合的分類(lèi)器可以例如通過(guò)使用兩個(gè)訓(xùn)練全集的混合執(zhí)行訓(xùn)練來(lái)構(gòu)建。
在附加方面,分類(lèi)器參數(shù)可包括架構(gòu)參數(shù)(例如,在ANN情形中是層中單元的數(shù)目)。這在所建議或指示的給定全集的復(fù)雜度使用具有較高容量的分類(lèi)器以及由此給定層中的更多單元的情況下是有用的。
在一個(gè)方面,該訓(xùn)練可涉及在固定特征F(d)的頂部訓(xùn)練分類(lèi)器,或者它可涉及細(xì)調(diào)特征,例如藉由通過(guò)特征層以及頂部分類(lèi)層的反向傳播。在另一方面,來(lái)自固定特征F(d)和/或經(jīng)更新F(d)的△權(quán)重可被發(fā)出給用戶設(shè)備。在另一方面,該訓(xùn)練可包括在相同的共享特征F(d)的頂部針對(duì)兩個(gè)專(zhuān)家訓(xùn)練集訓(xùn)練兩個(gè)分開(kāi)的分類(lèi)器。
另外,分類(lèi)器還可按分層級(jí)方式來(lái)配置或組織,以使得分類(lèi)器具有頂部或一般等級(jí)分類(lèi)器以及更具體分類(lèi)器。例如,頂部等級(jí)分類(lèi)器可將圖像分類(lèi)為汽車(chē),而更具體分類(lèi)器可對(duì)汽車(chē)的類(lèi)型進(jìn)行分類(lèi)(例如,小轎車(chē)、運(yùn)動(dòng)型多用途汽車(chē)、跑車(chē),等等)。還可提供多層具體分類(lèi)器。例如,一個(gè)具體層可將圖像分類(lèi)為1958年款法拉利GT California Spyder。
在一些方面,分類(lèi)器可被應(yīng)用于數(shù)據(jù)集并被配置成執(zhí)行頂部等級(jí)分類(lèi)?;陧敳康燃?jí)分類(lèi),分類(lèi)器可向服務(wù)器請(qǐng)求一個(gè)或多個(gè)附加分類(lèi)器。一旦接收到一個(gè)或多個(gè)附加分類(lèi)器,就可執(zhí)行相對(duì)于數(shù)據(jù)集更具體的分類(lèi)。
在框1208,用戶可經(jīng)由服務(wù)器從中央選擇集(例如,“模型商店”)選擇知識(shí)或分類(lèi)器的主體。用戶可向服務(wù)器指示關(guān)于它想要下載哪個(gè)分類(lèi)器的選擇。例如,這可以采取顯示可用于下載的所有分類(lèi)器的在線商店的形式。除分類(lèi)器之外,該商店可以給予用戶下載用于計(jì)算分類(lèi)器的低等級(jí)特征的選項(xiàng)(例如,在蘑菇分類(lèi)器的情形中,用戶可首先下載用于自然圖像的低等級(jí)視覺(jué)特征集)。用戶還可指定要作為組合分類(lèi)器來(lái)下載的多個(gè)分類(lèi)器。
進(jìn)一步,用戶可在分類(lèi)器分層結(jié)構(gòu)中指定所期望的層。例如,用戶可能想要用以對(duì)水果(諸如,蘋(píng)果)進(jìn)行分類(lèi)的一般分類(lèi)器、或者可在各類(lèi)型的蘋(píng)果之間進(jìn)一步區(qū)分(例如,Granny Smith(青蘋(píng)果)、Pink Lady(粉紅佳人)、紅富士、嘎拉等)的更具體的分類(lèi)器。
在框1210,服務(wù)器可按照描述分類(lèi)器C的參數(shù)的形式向用戶提供所請(qǐng)求的知識(shí)。一旦用戶已指定要構(gòu)建和/或下載的一個(gè)或多個(gè)分類(lèi)器,服務(wù)器就可將該分類(lèi)器的參數(shù)分發(fā)或推送給用戶的設(shè)備。在基于ANN的分類(lèi)器的情形中,這些參數(shù)可以例如包括連接權(quán)重和偏置項(xiàng)。
在一些實(shí)例中,服務(wù)器可自動(dòng)地向用戶推送特定分類(lèi)器的參數(shù)或者分類(lèi)器分層結(jié)構(gòu)中的一層。這可以例如基于經(jīng)由用戶提供的傳感信息(例如,用戶具有跑車(chē)的眾多圖像——可提供更具體的分類(lèi)器以使得用戶能夠進(jìn)一步對(duì)捕捉的跑車(chē)圖像分類(lèi))。
在框1212,用戶可收集數(shù)據(jù)d(例如,使用她的智能手機(jī)拍攝蘑菇的照片)。例如,d的特征F(d)可使用先前提供的特征集F來(lái)本地地計(jì)算。分類(lèi)器C可被應(yīng)用于這些特征以計(jì)算對(duì)于未知刺激所估計(jì)的專(zhuān)家的標(biāo)記(例如,蘑菇的類(lèi)型)。
一旦裝備有特征集F和下載的分類(lèi)器C,用戶就可收集數(shù)據(jù)集d(例如,蘑菇的圖像),提取其特征F(d),并且將這些饋送給分類(lèi)器以獲取分類(lèi)C(F(d))。分類(lèi)器在這些特征上的輸出可代表專(zhuān)家對(duì)該觀察的類(lèi)別的意見(jiàn),其與專(zhuān)家先前提供的標(biāo)記全集E是一致的。根據(jù)本公開(kāi)的各方面,許多分類(lèi)器(例如,相對(duì)淺的ANN)可相對(duì)較快地計(jì)算。這意味著分類(lèi)可在捕捉到數(shù)據(jù)之際立即進(jìn)行并且可作為數(shù)據(jù)捕捉過(guò)程的一部分立即呈現(xiàn)給用戶。例如,用戶的智能相機(jī)取景器可實(shí)時(shí)地在圖像自身頂部顯示蘑菇的所估計(jì)類(lèi)型。
替換地,如果分類(lèi)器很復(fù)雜,則用戶的數(shù)據(jù)d的分類(lèi)可通過(guò)首先在設(shè)備上計(jì)算特征F(d)并且將那些特征發(fā)送給服務(wù)器來(lái)回到服務(wù)器上執(zhí)行。服務(wù)器隨后可計(jì)算分類(lèi)C(F(d))并且將結(jié)果發(fā)送回用戶的設(shè)備。
用戶反饋
當(dāng)用戶能夠在他們的設(shè)備上分類(lèi)數(shù)據(jù)時(shí),他們可以可任選地希望提供與系統(tǒng)相關(guān)的反饋。此類(lèi)反饋例如可以采取以下形式:
類(lèi)型1:新標(biāo)記,如果用戶相信分類(lèi)器針對(duì)給定輸入已生成了不正確的標(biāo)記并且知曉正確標(biāo)記應(yīng)當(dāng)是什么;
類(lèi)型2:“錯(cuò)誤標(biāo)記”消息,如果用戶相信分類(lèi)器針對(duì)給定輸入已生成了不正確的標(biāo)記并且不知曉正確標(biāo)記應(yīng)當(dāng)是什么;或者
類(lèi)型3:加載不同分類(lèi)器的請(qǐng)求,如果基于分類(lèi)器的初始結(jié)果,用戶想要對(duì)相同數(shù)據(jù)應(yīng)用更專(zhuān)門(mén)的分類(lèi)器。
該反饋可被提供給用戶的設(shè)備、服務(wù)器、專(zhuān)家或指定用戶、或者用戶群或其它實(shí)體。在一些方面,類(lèi)型1反饋可被用來(lái)構(gòu)建私有分類(lèi)器。例如,私有分類(lèi)器可從專(zhuān)家提供的分類(lèi)器推導(dǎo),其中用戶可提供附加標(biāo)記的示例。類(lèi)型2反饋可以孤立地使用,或者優(yōu)選地與來(lái)自其它用戶的反饋相結(jié)合以通過(guò)提供負(fù)面標(biāo)記的示例來(lái)重新訓(xùn)練分類(lèi)器。
類(lèi)型3反饋可被用來(lái)構(gòu)建對(duì)象類(lèi)別到其它分類(lèi)器之間的關(guān)聯(lián)的數(shù)據(jù)庫(kù)。例如,使用用于廣泛對(duì)象分類(lèi)的分類(lèi)器的某人可對(duì)蘋(píng)果取像、接收標(biāo)記“蘋(píng)果”、并且隨后切換到用于蘋(píng)果的更具體分類(lèi)器以便確定蘋(píng)果的具體品種。該動(dòng)作可按反饋的形式來(lái)捕捉,從而提供標(biāo)記“蘋(píng)果”的其它分類(lèi)器也可自動(dòng)地向用戶提供切換到相同的具體蘋(píng)果分類(lèi)器的選項(xiàng)。通過(guò)累積此類(lèi)類(lèi)型3反饋,系統(tǒng)可對(duì)多個(gè)分類(lèi)器排序或?qū)⑵浣M織成分類(lèi)器分層結(jié)構(gòu)并且以上下文相關(guān)的方式提供到更具體的分類(lèi)器的自動(dòng)切換。從一個(gè)分類(lèi)器切換到更具體的分類(lèi)器的決定可以自動(dòng)化并且例如基于用戶在特定對(duì)象上停留多久,或者在單個(gè)圖像中存在類(lèi)別的多少個(gè)實(shí)例(如果在圖像中存在許多“蘋(píng)果”,例如蘋(píng)果的更具體分類(lèi)器可以是有用的)。
模型商店
用于這些分類(lèi)器的前端清算地點(diǎn)和專(zhuān)家模型可以是模型商店。模型商店可允許某些用戶(例如,專(zhuān)家)上傳他們的標(biāo)記數(shù)據(jù)集并且為使用他們的數(shù)據(jù)集構(gòu)建的分類(lèi)器設(shè)置價(jià)格。模型商店還可允許用戶使用上述用于訓(xùn)練模型和重用共享特征的效率的后端過(guò)程來(lái)購(gòu)買(mǎi)模型。
模型商店中的定價(jià)可允許針對(duì)每個(gè)專(zhuān)家標(biāo)記的數(shù)據(jù)集的一次性定價(jià),或者可允許組合定價(jià)。組合定價(jià)的示例可包括給定特征集上的第一分類(lèi)器的較高價(jià)格以及使用相同特征集構(gòu)建的后續(xù)分類(lèi)器上的降低的價(jià)格。替換地,組合定價(jià)可包括第一蘑菇分類(lèi)器上的給定價(jià)格以及來(lái)自其它專(zhuān)家的用于后續(xù)蘑菇分類(lèi)器的折扣定價(jià)。
后端可計(jì)算一些聯(lián)合性能分?jǐn)?shù)以用于添加附加專(zhuān)家標(biāo)記的數(shù)據(jù)的增量改進(jìn),從而幫助確定增量?jī)r(jià)格。模型商店還可顯示度量以幫助用戶選擇要購(gòu)買(mǎi)哪些專(zhuān)家數(shù)據(jù)集,諸如,分類(lèi)準(zhǔn)確度、標(biāo)記圖像的數(shù)目等等。
模型商店還可允許用戶上傳例如來(lái)自在他們的電話上捕捉的幾個(gè)蘑菇圖像的特征F(d)以評(píng)估哪個(gè)蘑菇分類(lèi)器最適合于他們的數(shù)據(jù)。在來(lái)自用戶的采樣圖像上達(dá)成最高分類(lèi)準(zhǔn)確度的模型將是要購(gòu)買(mǎi)的那個(gè)模型。
其它示例性使用情形
在一些方面,用戶可從“應(yīng)用商店”或其它應(yīng)用銷(xiāo)售點(diǎn)購(gòu)買(mǎi)與共用特征集相結(jié)合工作的特定分類(lèi)器。
在一個(gè)方面,水果和蔬菜的粗略分類(lèi)器可將正被用戶的設(shè)備感測(cè)到的對(duì)象標(biāo)識(shí)為蘋(píng)果。進(jìn)一步,通過(guò)停留或懸停在該對(duì)象上,分類(lèi)器可下載蘋(píng)果的更具體分類(lèi)器(例如,對(duì)照相同共用特征功能來(lái)訓(xùn)練)以告訴用戶他們正在查看Granny Smith蘋(píng)果。在一些方面,分類(lèi)器可標(biāo)識(shí)可進(jìn)一步將對(duì)象分類(lèi)的一個(gè)或多個(gè)其它分類(lèi)器。
在另一方面,關(guān)于訓(xùn)練知曉許多的用戶可以購(gòu)買(mǎi)專(zhuān)家的訓(xùn)練分類(lèi)器并且使用他們自己的知識(shí)將其增強(qiáng)。
在又一方面,行進(jìn)至達(dá)沃斯穿戴式谷歌眼鏡的用戶可創(chuàng)建定制分類(lèi)器,其將兩個(gè)專(zhuān)家分類(lèi)器—名人的臉部和臉頰—合并成一個(gè)組合標(biāo)記器以用于題頭顯示。
在又一方面,危險(xiǎn)位置中裝備有相機(jī)或其它傳感器的一群機(jī)器人可使用他們的相機(jī)(或其它傳感器)和非監(jiān)督學(xué)習(xí)來(lái)發(fā)現(xiàn)用于表示他們環(huán)境中的質(zhì)地(砂礫、草地、泥濘、碎石)的良好視覺(jué)特征。另外,使用加速計(jì)和里程計(jì),幾個(gè)偵察機(jī)器人可基于機(jī)器人是否能在該類(lèi)型的地形上作出向前行進(jìn)來(lái)向不同質(zhì)地指派“可通過(guò)”和“不可通過(guò)”的標(biāo)記。機(jī)器人還可在這些特征上學(xué)習(xí)定制分類(lèi)器。定制分類(lèi)器隨后可與該群的其余機(jī)器人共享。
盡管本公開(kāi)的各方面已描述了尖峰發(fā)放神經(jīng)元和尖峰發(fā)放神經(jīng)元模型,但這僅僅是示例性的并且非尖峰發(fā)放神經(jīng)元和神經(jīng)元模型也可被使用。此外,本文所公開(kāi)的概念和技術(shù)可被用于尖峰發(fā)放和非尖峰發(fā)放分布式學(xué)習(xí)。
圖13解說(shuō)了根據(jù)本公開(kāi)的各方面的用于學(xué)習(xí)模型的方法1300。在框1302,該過(guò)程接收來(lái)自一個(gè)或多個(gè)用戶的一個(gè)或多個(gè)模型更新。在框1304,該過(guò)程基于前一模型和模型更新來(lái)計(jì)算經(jīng)更新的模型。此外,在框1306,該過(guò)程基于經(jīng)更新的模型向一個(gè)或多個(gè)用戶傳送與經(jīng)更新的模型的子集相關(guān)的數(shù)據(jù)。
在一些方面,可基于性能度量和/或模型容量對(duì)經(jīng)更新的模型進(jìn)行驗(yàn)證。
在一些方面,可基于以模型更新的比較性分析為基礎(chǔ)檢測(cè)離群者來(lái)計(jì)算經(jīng)更新的模型。
在一些方面,經(jīng)更新的模型可包括模型架構(gòu)和/或?qū)W習(xí)速率的改變。該架構(gòu)和/或?qū)W習(xí)速率是基于對(duì)照驗(yàn)證數(shù)據(jù)的模型性能和/或權(quán)重更新的稀疏性來(lái)確定的。
在一些方面,該子集可以僅包括模型的新訓(xùn)練的層。在一些方面,該子集可包括模型的隨機(jī)子集。
圖14解說(shuō)了根據(jù)本公開(kāi)的各方面的用于學(xué)習(xí)模型的方法1400。在框1402,該過(guò)程基于共享的推斷模型接收來(lái)自服務(wù)器的數(shù)據(jù)。在框1404,該過(guò)程基于接收到的數(shù)據(jù)來(lái)生成包括一個(gè)或多個(gè)模型參數(shù)的模型。在框1406,該過(guò)程基于該模型計(jì)算推斷。在框1408,該過(guò)程基于該推斷計(jì)算一個(gè)或多個(gè)模型參數(shù)更新。此外,在框1410,該過(guò)程基于模型參數(shù)更新向服務(wù)器傳送數(shù)據(jù)。
在一些方面,該過(guò)程進(jìn)一步包括使用本地高速緩存的訓(xùn)練示例來(lái)訓(xùn)練分類(lèi)器。
在一些方面,該數(shù)據(jù)可以基于當(dāng)前模型更新與前一模型更新之間的差異來(lái)傳送。例如,該差異可被壓縮或者被用于動(dòng)量模型。
在一些方面,計(jì)算模型參數(shù)更新和/或基于模型參數(shù)更新傳送數(shù)據(jù)包括選擇要計(jì)算和/或發(fā)送的模型參數(shù)的隨機(jī)子集。
圖15解說(shuō)了根據(jù)本公開(kāi)的各方面的用于更新分類(lèi)器集合的方法1500。在框1502,該過(guò)程向第一數(shù)據(jù)集應(yīng)用第一分類(lèi)器集合。該數(shù)據(jù)可包括傳感器數(shù)據(jù)或存儲(chǔ)在用戶設(shè)備上的其它數(shù)據(jù)。此外,在框1504,該過(guò)程基于第一分類(lèi)器集合的輸出和/或第一分類(lèi)器集合的應(yīng)用的性能測(cè)量向遠(yuǎn)程設(shè)備請(qǐng)求分類(lèi)器更新。
在一些方面,該請(qǐng)求可以基于上下文信息。該上下文信息可以例如包括用戶輸入信息、給定時(shí)間段(例如,一天、一周、一個(gè)月等)的觀察數(shù)目、位置、活動(dòng)性、加速計(jì)、剩余電池壽命(例如,如果電池壽命較低,則可指示較低復(fù)雜度的分類(lèi)器)。在附加方面,該請(qǐng)求可以基于計(jì)算負(fù)荷。例如,在計(jì)算負(fù)荷較高(例如,高于預(yù)定閾值)的情況下,可指示較低復(fù)雜度的分類(lèi)器。另一方面,在計(jì)算負(fù)荷較低(例如,低于預(yù)定閾值)的情況下,可使用較高復(fù)雜度的分類(lèi)器。
在一些方面,性能測(cè)量可包括分類(lèi)器的準(zhǔn)確度或置信度、多個(gè)分類(lèi)器的協(xié)定的指示、分類(lèi)器的計(jì)算速度,等等。
圖16解說(shuō)了根據(jù)本公開(kāi)的各方面的用于生成分類(lèi)器模型的方法1600。在框1602,該過(guò)程向各用戶分發(fā)共用特征模型。在框1604,該過(guò)程在共用特征模型的頂部訓(xùn)練分類(lèi)器。此外,在框1606,該過(guò)程向第一用戶分發(fā)第一分類(lèi)器并向第二用戶分發(fā)第二分類(lèi)器。
在一些方面,可在從實(shí)體獲取的標(biāo)記數(shù)據(jù)集上訓(xùn)練一個(gè)或多個(gè)分類(lèi)器。實(shí)體可包括用戶、特定指定用戶或其它實(shí)體??上蛟趶膶?shí)體獲取的標(biāo)記數(shù)據(jù)集上訓(xùn)練的每一個(gè)分類(lèi)器提供度量。該度量可以例如包括關(guān)于分類(lèi)準(zhǔn)確度或標(biāo)記圖像數(shù)目的信息。
在一些方面,該過(guò)程接收從遠(yuǎn)程設(shè)備上的數(shù)據(jù)計(jì)算的一個(gè)或多個(gè)特征。另外,該過(guò)程基于該一個(gè)或多個(gè)特征來(lái)確定用于對(duì)遠(yuǎn)程設(shè)備上的數(shù)據(jù)進(jìn)行分類(lèi)的一個(gè)或多個(gè)分類(lèi)器。進(jìn)而,該過(guò)程向遠(yuǎn)程設(shè)備分發(fā)一個(gè)或多個(gè)分類(lèi)器的指示。
在一些方面,該過(guò)程接收從遠(yuǎn)程設(shè)備上的數(shù)據(jù)計(jì)算的特征。該過(guò)程還基于所接收到的特征計(jì)算分類(lèi)。進(jìn)一步,該過(guò)程向遠(yuǎn)程設(shè)備傳送該分類(lèi)。
在一些方面,該過(guò)程將第一分類(lèi)器和第二分類(lèi)器相組合以生成組合分類(lèi)器。組合分類(lèi)器可被配置成對(duì)與一個(gè)或多個(gè)標(biāo)記數(shù)據(jù)集相關(guān)聯(lián)的類(lèi)別作出分類(lèi)。該過(guò)程還向一個(gè)或多個(gè)用戶分發(fā)組合分類(lèi)器。
圖17解說(shuō)了根據(jù)本公開(kāi)的各方面的用于生成分類(lèi)器模型的方法1700。在框1702,該過(guò)程從第一指定用戶向第一標(biāo)記示例全集應(yīng)用共用特征圖集合以學(xué)習(xí)第一分類(lèi)器模型。在框1704,該過(guò)程從第二指定用戶向第二標(biāo)記示例全集應(yīng)用該共用特征圖集合以學(xué)習(xí)第二分類(lèi)器模型。此外,在框1706,該過(guò)程向一個(gè)或多個(gè)用戶分發(fā)包括第一分類(lèi)器模型和第二分類(lèi)器模型的分類(lèi)器模型。
在一些方面,可以生成組合分類(lèi)器。組合分類(lèi)器可以基于標(biāo)記示例全集、附加標(biāo)記示例全集并且使用第一共用特征功能集合和第二共用特征功能集合來(lái)生成。如此,組合分類(lèi)器可被配置成對(duì)與一個(gè)或多個(gè)標(biāo)記數(shù)據(jù)示例全集和附加全集相關(guān)聯(lián)的類(lèi)別作出分類(lèi)。
以上所描述的方法的各種操作可由能夠執(zhí)行相應(yīng)功能的任何合適的裝置來(lái)執(zhí)行。這些裝置可包括各種硬件和/或軟件組件和/或模塊,包括但不限于電路、專(zhuān)用集成電路(ASIC)、或處理器。一般而言,在附圖中有解說(shuō)的操作的場(chǎng)合,那些操作可具有帶相似編號(hào)的相應(yīng)配對(duì)裝置加功能組件。
如本文所使用的,術(shù)語(yǔ)“確定”涵蓋各種各樣的動(dòng)作。例如,“確定”可包括演算、計(jì)算、處理、推導(dǎo)、研究、查找(例如,在表、數(shù)據(jù)庫(kù)或其他數(shù)據(jù)結(jié)構(gòu)中查找)、探知及諸如此類(lèi)。另外,“確定”可包括接收(例如接收信息)、訪問(wèn)(例如訪問(wèn)存儲(chǔ)器中的數(shù)據(jù))、及類(lèi)似動(dòng)作。而且,“確定”可包括解析、選擇、選取、確立及類(lèi)似動(dòng)作。
如本文所使用的,引述一列項(xiàng)目中的“至少一個(gè)”的短語(yǔ)是指這些項(xiàng)目的任何組合,包括單個(gè)成員。作為示例,“a、b或c中的至少一個(gè)”旨在涵蓋:a、b、c、a-b、a-c、b-c、以及a-b-c。
結(jié)合本公開(kāi)所描述的各種解說(shuō)性邏輯框、模塊、以及電路可用設(shè)計(jì)成執(zhí)行本文所描述功能的通用處理器、數(shù)字信號(hào)處理器(DSP)、專(zhuān)用集成電路(ASIC)、現(xiàn)場(chǎng)可編程門(mén)陣列信號(hào)(FPGA)或其他可編程邏輯器件(PLD)、分立的門(mén)或晶體管邏輯、分立的硬件組件或其任何組合來(lái)實(shí)現(xiàn)或執(zhí)行。通用處理器可以是微處理器,但在替換方案中,處理器可以是任何市售的處理器、控制器、微控制器、或狀態(tài)機(jī)。處理器還可以被實(shí)現(xiàn)為計(jì)算設(shè)備的組合,例如DSP與微處理器的組合、多個(gè)微處理器、與DSP核心協(xié)同的一個(gè)或多個(gè)微處理器、或任何其它此類(lèi)配置。
結(jié)合本公開(kāi)所描述的方法或算法的步驟可直接在硬件中、在由處理器執(zhí)行的軟件模塊中、或在這兩者的組合中體現(xiàn)。軟件模塊可駐留在本領(lǐng)域所知的任何形式的存儲(chǔ)介質(zhì)中??墒褂玫拇鎯?chǔ)介質(zhì)的一些示例包括隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、閃存、可擦除可編程只讀存儲(chǔ)器(EPROM)、電可擦除可編程只讀存儲(chǔ)器(EEPROM)、寄存器、硬盤(pán)、可移動(dòng)盤(pán)、CD-ROM,等等。軟件模塊可包括單條指令、或許多條指令,且可分布在若干不同的代碼段上,分布在不同的程序間以及跨多個(gè)存儲(chǔ)介質(zhì)分布。存儲(chǔ)介質(zhì)可被耦合到處理器以使得該處理器能從/向該存儲(chǔ)介質(zhì)讀寫(xiě)信息。在替換方案中,存儲(chǔ)介質(zhì)可以被整合到處理器。
本文所公開(kāi)的方法包括用于實(shí)現(xiàn)所描述的方法的一個(gè)或多個(gè)步驟或動(dòng)作。這些方法步驟和/或動(dòng)作可以彼此互換而不會(huì)脫離權(quán)利要求的范圍。換言之,除非指定了步驟或動(dòng)作的特定次序,否則具體步驟和/或動(dòng)作的次序和/或使用可以改動(dòng)而不會(huì)脫離權(quán)利要求的范圍。
所描述的功能可在硬件、軟件、固件或其任何組合中實(shí)現(xiàn)。如果以硬件實(shí)現(xiàn),則示例硬件配置可包括設(shè)備中的處理系統(tǒng)。處理系統(tǒng)可以用總線架構(gòu)來(lái)實(shí)現(xiàn)。取決于處理系統(tǒng)的具體應(yīng)用和整體設(shè)計(jì)約束,總線可包括任何數(shù)目的互連總線和橋接器??偩€可將包括處理器、機(jī)器可讀介質(zhì)、以及總線接口的各種電路鏈接在一起??偩€接口可用于尤其將網(wǎng)絡(luò)適配器等經(jīng)由總線連接至處理系統(tǒng)。網(wǎng)絡(luò)適配器可用于實(shí)現(xiàn)信號(hào)處理功能。對(duì)于某些方面,用戶接口(例如,按鍵板、顯示器、鼠標(biāo)、操縱桿,等等)也可以被連接到總線。總線還可以鏈接各種其他電路,諸如定時(shí)源、外圍設(shè)備、穩(wěn)壓器、功率管理電路以及類(lèi)似電路,它們?cè)诒绢I(lǐng)域中是眾所周知的,因此將不再進(jìn)一步描述。
處理器可負(fù)責(zé)管理總線和一般處理,包括執(zhí)行存儲(chǔ)在機(jī)器可讀介質(zhì)上的軟件。處理器可用一個(gè)或多個(gè)通用和/或?qū)S锰幚砥鱽?lái)實(shí)現(xiàn)。示例包括微處理器、微控制器、DSP處理器、以及其他能執(zhí)行軟件的電路系統(tǒng)。軟件應(yīng)當(dāng)被寬泛地解釋成意指指令、數(shù)據(jù)、或其任何組合,無(wú)論是被稱作軟件、固件、中間件、微代碼、硬件描述語(yǔ)言、或其他。作為示例,機(jī)器可讀介質(zhì)可包括隨機(jī)存取存儲(chǔ)器(RAM)、閃存、只讀存儲(chǔ)器(ROM)、可編程只讀存儲(chǔ)器(PROM)、可擦式可編程只讀存儲(chǔ)器(EPROM)、電可擦式可編程只讀存儲(chǔ)器(EEPROM)、寄存器、磁盤(pán)、光盤(pán)、硬驅(qū)動(dòng)器、或者任何其他合適的存儲(chǔ)介質(zhì)、或其任何組合。機(jī)器可讀介質(zhì)可被實(shí)施在計(jì)算機(jī)程序產(chǎn)品中。該計(jì)算機(jī)程序產(chǎn)品可以包括包裝材料。
在硬件實(shí)現(xiàn)中,機(jī)器可讀介質(zhì)可以是處理系統(tǒng)中與處理器分開(kāi)的一部分。然而,如本領(lǐng)域技術(shù)人員將容易領(lǐng)會(huì)的,機(jī)器可讀介質(zhì)或其任何部分可在處理系統(tǒng)外部。作為示例,機(jī)器可讀介質(zhì)可包括傳輸線、由數(shù)據(jù)調(diào)制的載波、和/或與設(shè)備分開(kāi)的計(jì)算機(jī)產(chǎn)品,所有這些都可由處理器通過(guò)總線接口來(lái)訪問(wèn)。替換地或補(bǔ)充地,機(jī)器可讀介質(zhì)或其任何部分可被集成到處理器中,諸如高速緩存和/或通用寄存器文件可能就是這種情形。雖然所討論的各種組件可被描述為具有特定位置,諸如局部組件,但它們也可按各種方式來(lái)配置,諸如某些組件被配置成分布式計(jì)算系統(tǒng)的一部分。
處理系統(tǒng)可以被配置為通用處理系統(tǒng),該通用處理系統(tǒng)具有一個(gè)或多個(gè)提供處理器功能性的微處理器、以及提供機(jī)器可讀介質(zhì)中的至少一部分的外部存儲(chǔ)器,它們都通過(guò)外部總線架構(gòu)與其他支持電路系統(tǒng)鏈接在一起。替換地,該處理系統(tǒng)可以包括一個(gè)或多個(gè)神經(jīng)元形態(tài)處理器以用于實(shí)現(xiàn)本文所述的神經(jīng)元模型和神經(jīng)系統(tǒng)模型。作為另一替換方案,處理系統(tǒng)可以用帶有集成在單塊芯片中的處理器、總線接口、用戶接口、支持電路系統(tǒng)、和至少一部分機(jī)器可讀介質(zhì)的專(zhuān)用集成電路(ASIC)來(lái)實(shí)現(xiàn),或者用一個(gè)或多個(gè)現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA)、可編程邏輯器件(PLD)、控制器、狀態(tài)機(jī)、門(mén)控邏輯、分立硬件組件、或者任何其他合適的電路系統(tǒng)、或者能執(zhí)行本公開(kāi)通篇所描述的各種功能性的電路的任何組合來(lái)實(shí)現(xiàn)。取決于具體應(yīng)用和加諸于整體系統(tǒng)上的總設(shè)計(jì)約束,本領(lǐng)域技術(shù)人員將認(rèn)識(shí)到如何最佳地實(shí)現(xiàn)關(guān)于處理系統(tǒng)所描述的功能性。
機(jī)器可讀介質(zhì)可包括數(shù)個(gè)軟件模塊。這些軟件模塊包括當(dāng)由處理器執(zhí)行時(shí)使處理系統(tǒng)執(zhí)行各種功能的指令。這些軟件模塊可包括傳送模塊和接收模塊。每個(gè)軟件模塊可以駐留在單個(gè)存儲(chǔ)設(shè)備中或者跨多個(gè)存儲(chǔ)設(shè)備分布。作為示例,當(dāng)觸發(fā)事件發(fā)生時(shí),可以從硬驅(qū)動(dòng)器中將軟件模塊加載到RAM中。在軟件模塊執(zhí)行期間,處理器可以將一些指令加載到高速緩存中以提高訪問(wèn)速度。隨后可將一個(gè)或多個(gè)高速緩存行加載到通用寄存器文件中以供處理器執(zhí)行。在以下述及軟件模塊的功能性時(shí),將理解此類(lèi)功能性是在處理器執(zhí)行來(lái)自該軟件模塊的指令時(shí)由該處理器來(lái)實(shí)現(xiàn)的。
如果以軟件實(shí)現(xiàn),則各功能可作為一條或多條指令或代碼存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上或藉其進(jìn)行傳送。計(jì)算機(jī)可讀介質(zhì)包括計(jì)算機(jī)存儲(chǔ)介質(zhì)和通信介質(zhì)兩者,這些介質(zhì)包括促成計(jì)算機(jī)程序從一地向另一地轉(zhuǎn)移的任何介質(zhì)。存儲(chǔ)介質(zhì)可以是能被計(jì)算機(jī)訪問(wèn)的任何可用介質(zhì)。作為示例而非限定,此類(lèi)計(jì)算機(jī)可讀介質(zhì)可包括RAM、ROM、EEPROM、CD-ROM或其他光盤(pán)存儲(chǔ)、磁盤(pán)存儲(chǔ)或其他磁存儲(chǔ)設(shè)備、或能用于攜帶或存儲(chǔ)指令或數(shù)據(jù)結(jié)構(gòu)形式的期望程序代碼且能被計(jì)算機(jī)訪問(wèn)的任何其他介質(zhì)。另外,任何連接被正當(dāng)?shù)胤Q為計(jì)算機(jī)可讀介質(zhì)。例如,如果軟件是使用同軸電纜、光纖電纜、雙絞線、數(shù)字訂戶線(DSL)、或無(wú)線技術(shù)(諸如紅外(IR)、無(wú)線電、以及微波)從web網(wǎng)站、服務(wù)器、或其他遠(yuǎn)程源傳送而來(lái),則該同軸電纜、光纖電纜、雙絞線、DSL或無(wú)線技術(shù)(諸如紅外、無(wú)線電、以及微波)就被包括在介質(zhì)的定義之中。如本文中所使用的盤(pán)(disk)和碟(disc)包括壓縮碟(CD)、激光碟、光碟、數(shù)字多用碟(DVD)、軟盤(pán)、和碟,其中盤(pán)(disk)常常磁性地再現(xiàn)數(shù)據(jù),而碟(disc)用激光來(lái)光學(xué)地再現(xiàn)數(shù)據(jù)。因此,在一些方面,計(jì)算機(jī)可讀介質(zhì)可包括非瞬態(tài)計(jì)算機(jī)可讀介質(zhì)(例如,有形介質(zhì))。另外,對(duì)于其他方面,計(jì)算機(jī)可讀介質(zhì)可包括瞬態(tài)計(jì)算機(jī)可讀介質(zhì)(例如,信號(hào))。上述的組合應(yīng)當(dāng)也被包括在計(jì)算機(jī)可讀介質(zhì)的范圍內(nèi)。
因此,某些方面可包括用于執(zhí)行本文中給出的操作的計(jì)算機(jī)程序產(chǎn)品。例如,此類(lèi)計(jì)算機(jī)程序產(chǎn)品可包括其上存儲(chǔ)(和/或編碼)有指令的計(jì)算機(jī)可讀介質(zhì),這些指令能由一個(gè)或多個(gè)處理器執(zhí)行以執(zhí)行本文中所描述的操作。對(duì)于某些方面,計(jì)算機(jī)程序產(chǎn)品可包括包裝材料。
此外,應(yīng)當(dāng)領(lǐng)會(huì),用于執(zhí)行本文中所描述的方法和技術(shù)的模塊和/或其它恰適裝置能由用戶終端和/或基站在適用的場(chǎng)合下載和/或以其他方式獲得。例如,此類(lèi)設(shè)備能被耦合至服務(wù)器以促成用于執(zhí)行本文中所描述的方法的裝置的轉(zhuǎn)移。替換地,本文所述的各種方法能經(jīng)由存儲(chǔ)裝置(例如,RAM、ROM、諸如壓縮碟(CD)或軟盤(pán)等物理存儲(chǔ)介質(zhì)等)來(lái)提供,以使得一旦將該存儲(chǔ)裝置耦合至或提供給用戶終端和/或基站,該設(shè)備就能獲得各種方法。此外,可利用適于向設(shè)備提供本文所描述的方法和技術(shù)的任何其他合適的技術(shù)。
將理解,權(quán)利要求并不被限定于以上所解說(shuō)的精確配置和組件??稍谝陨纤枋龅姆椒ê脱b置的布局、操作和細(xì)節(jié)上作出各種改動(dòng)、更換和變形而不會(huì)脫離權(quán)利要求的范圍。