相關(guān)申請的交叉引用本申請要求于2015年1月22日提交的題為“modelcompressionandfine-tuning(模型壓縮和微調(diào))”的美國臨時專利申請no.62/106,608的權(quán)益,其公開內(nèi)容通過援引全部明確納入于此。背景領(lǐng)域本公開的某些方面一般涉及神經(jīng)系統(tǒng)工程,并且尤其涉及用于壓縮神經(jīng)網(wǎng)絡(luò)的系統(tǒng)和方法。
背景技術(shù):
:可包括一群互連的人工神經(jīng)元(例如,神經(jīng)元模型)的人工神經(jīng)網(wǎng)絡(luò)是一種計算設(shè)備或者表示將由計算設(shè)備執(zhí)行的方法。卷積神經(jīng)網(wǎng)絡(luò)是一種前饋人工神經(jīng)網(wǎng)絡(luò)。卷積神經(jīng)網(wǎng)絡(luò)可包括神經(jīng)元集合,其中每個神經(jīng)元具有感受野并且合而鋪覆一個輸入空間。卷積神經(jīng)網(wǎng)絡(luò)(cnn)具有眾多應(yīng)用。具體地,cnn已被廣泛使用于模式識別和分類領(lǐng)域。深度學(xué)習(xí)架構(gòu)(諸如,深度置信網(wǎng)絡(luò)和深度卷積網(wǎng)絡(luò))是分層神經(jīng)網(wǎng)絡(luò)架構(gòu),其中第一層神經(jīng)元的輸出變成第二層神經(jīng)元的輸入,第二層神經(jīng)元的輸出變成第三層神經(jīng)元的輸入,以此類推。深度神經(jīng)網(wǎng)絡(luò)可被訓(xùn)練以識別特征階層并且因此它們被越來越多地使用于對象識別應(yīng)用。類似于卷積神經(jīng)網(wǎng)絡(luò),這些深度學(xué)習(xí)架構(gòu)中的計算可分布在處理節(jié)點群體上,其可被配置在一個或多個計算鏈中。這些多層架構(gòu)可每次訓(xùn)練一層并可使用反向傳播來進行微調(diào)。其他模型也可用于對象識別。例如,支持向量機(svm)是可被應(yīng)用于分類的學(xué)習(xí)工具。支持向量機包括分類數(shù)據(jù)的分離超平面(例如,決策邊界)。該超平面由監(jiān)督式學(xué)習(xí)來定義。期望的超平面增加訓(xùn)練數(shù)據(jù)的余量。換言之,該超平面應(yīng)該具有到訓(xùn)練示例的最大的最小距離。盡管這些解決方案在數(shù)個分類基準上取得了優(yōu)異的結(jié)果,但它們的計算復(fù)雜度可能極其高。另外,模型的訓(xùn)練可能是有挑戰(zhàn)性的。概述在一個方面,公開了一種壓縮機器學(xué)習(xí)網(wǎng)絡(luò)(諸如神經(jīng)網(wǎng)絡(luò))的方法。該方法包括用多個經(jīng)壓縮層代替神經(jīng)網(wǎng)絡(luò)中的至少一個層以產(chǎn)生經(jīng)壓縮神經(jīng)網(wǎng)絡(luò)。該方法還包括在經(jīng)壓縮網(wǎng)絡(luò)的經(jīng)壓縮層之間插入非線性。進一步,該方法包括通過更新這些經(jīng)壓縮層中的至少一個經(jīng)壓縮層中的權(quán)重值來微調(diào)經(jīng)壓縮網(wǎng)絡(luò)。另一方面公開了一種用于壓縮機器學(xué)習(xí)網(wǎng)絡(luò)(諸如神經(jīng)網(wǎng)絡(luò))的設(shè)備。該設(shè)備包括用于用多個經(jīng)壓縮層代替神經(jīng)網(wǎng)絡(luò)中的至少一個層以產(chǎn)生經(jīng)壓縮神經(jīng)網(wǎng)絡(luò)的裝置。該設(shè)備還包括用于在經(jīng)壓縮網(wǎng)絡(luò)的經(jīng)壓縮層之間插入非線性的裝置。進一步,該設(shè)備包括用于通過更新這些經(jīng)壓縮層中的至少一個經(jīng)壓縮層中的權(quán)重值來微調(diào)經(jīng)壓縮網(wǎng)絡(luò)的裝置。另一方面公開了一種用于壓縮機器學(xué)習(xí)網(wǎng)絡(luò)(諸如神經(jīng)網(wǎng)絡(luò))的裝置。該裝置包括存儲器以及耦合至該存儲器的至少一個處理器。該處理器被配置成用多個經(jīng)壓縮層代替神經(jīng)網(wǎng)絡(luò)中的至少一個層以產(chǎn)生經(jīng)壓縮神經(jīng)網(wǎng)絡(luò)。該處理器還被配置成在經(jīng)壓縮網(wǎng)絡(luò)的經(jīng)壓縮層之間插入非線性。進一步,該處理器還被配置成通過更新至少一個經(jīng)壓縮層中的權(quán)重值來微調(diào)經(jīng)壓縮網(wǎng)絡(luò)。另一方面公開了一種非瞬態(tài)計算機可讀介質(zhì)。該計算機可讀介質(zhì)上記錄有用于壓縮機器學(xué)習(xí)網(wǎng)絡(luò)(諸如神經(jīng)網(wǎng)絡(luò))的非瞬態(tài)程序代碼。該程序代碼在由處理器執(zhí)行時使處理器用多個經(jīng)壓縮層代替神經(jīng)網(wǎng)絡(luò)中的至少一個層以產(chǎn)生經(jīng)壓縮神經(jīng)網(wǎng)絡(luò)。該程序代碼還使處理器在經(jīng)壓縮網(wǎng)絡(luò)的經(jīng)壓縮層之間插入非線性。進一步,該程序代碼還使處理器通過更新至少一個經(jīng)壓縮層中的權(quán)重值來微調(diào)經(jīng)壓縮網(wǎng)絡(luò)。在另一方面,公開了一種用于壓縮機器學(xué)習(xí)網(wǎng)絡(luò)(諸如神經(jīng)網(wǎng)絡(luò))的方法。該方法包括用多個經(jīng)壓縮層代替神經(jīng)網(wǎng)絡(luò)中的至少一個層以產(chǎn)生經(jīng)壓縮神經(jīng)網(wǎng)絡(luò),從而組合的經(jīng)壓縮層的感受野大小與未壓縮層的感受野相匹配。該方法還包括通過更新這些經(jīng)壓縮層中的至少一個經(jīng)壓縮層中的權(quán)重值來微調(diào)經(jīng)壓縮網(wǎng)絡(luò)。另一方面公開了一種用于壓縮機器學(xué)習(xí)網(wǎng)絡(luò)(諸如神經(jīng)網(wǎng)絡(luò))的設(shè)備。該設(shè)備包括用于用多個經(jīng)壓縮層代替神經(jīng)網(wǎng)絡(luò)中的至少一個層以產(chǎn)生經(jīng)壓縮神經(jīng)網(wǎng)絡(luò),從而組合的經(jīng)壓縮層的感受野大小與未壓縮層的感受野相匹配的裝置。該設(shè)備還包括用于通過更新這些經(jīng)壓縮層中的至少一個經(jīng)壓縮層中的權(quán)重值來微調(diào)經(jīng)壓縮網(wǎng)絡(luò)的裝置。另一方面公開了一種用于壓縮機器學(xué)習(xí)網(wǎng)絡(luò)(諸如神經(jīng)網(wǎng)絡(luò))的裝置。該裝置包括存儲器以及耦合至該存儲器的至少一個處理器。該處理器被配置成用多個經(jīng)壓縮層代替神經(jīng)網(wǎng)絡(luò)中的至少一個層以產(chǎn)生經(jīng)壓縮神經(jīng)網(wǎng)絡(luò),從而組合的經(jīng)壓縮層的感受野大小與未壓縮層的感受野相匹配。該處理器還被配置成通過更新至少一個經(jīng)壓縮層中的權(quán)重值來微調(diào)經(jīng)壓縮網(wǎng)絡(luò)。另一方面公開了一種非瞬態(tài)計算機可讀介質(zhì)。該計算機可讀介質(zhì)上記錄有用于壓縮機器學(xué)習(xí)網(wǎng)絡(luò)(諸如神經(jīng)網(wǎng)絡(luò))的非瞬態(tài)程序代碼。該程序代碼在由處理器執(zhí)行時使處理器用多個經(jīng)壓縮層代替神經(jīng)網(wǎng)絡(luò)中的至少一個層以產(chǎn)生經(jīng)壓縮神經(jīng)網(wǎng)絡(luò),從而組合的經(jīng)壓縮層的感受野大小與未壓縮層的感受野相匹配。該程序代碼還使處理器通過更新至少一個經(jīng)壓縮層中的權(quán)重值來微調(diào)經(jīng)壓縮網(wǎng)絡(luò)。在另一方面,公開了一種壓縮機器學(xué)習(xí)網(wǎng)絡(luò)(諸如神經(jīng)網(wǎng)絡(luò))的方法。該方法包括用多個經(jīng)壓縮層代替神經(jīng)網(wǎng)絡(luò)中的至少一個層以產(chǎn)生經(jīng)壓縮神經(jīng)網(wǎng)絡(luò)。該方法還包括通過應(yīng)用交替最小化過程來確定經(jīng)壓縮層的權(quán)重矩陣。另一方面公開了一種用于壓縮機器學(xué)習(xí)網(wǎng)絡(luò)(諸如神經(jīng)網(wǎng)絡(luò))的設(shè)備。該設(shè)備包括用于用多個經(jīng)壓縮層代替神經(jīng)網(wǎng)絡(luò)中的至少一個層以產(chǎn)生經(jīng)壓縮神經(jīng)網(wǎng)絡(luò)的裝置。該設(shè)備還包括用于通過應(yīng)用交替最小化過程來確定經(jīng)壓縮層的權(quán)重矩陣的裝置。另一方面公開了一種用于壓縮機器學(xué)習(xí)網(wǎng)絡(luò)(諸如神經(jīng)網(wǎng)絡(luò))的裝置。該裝置包括存儲器以及耦合至該存儲器的至少一個處理器。該處理器被配置成用多個經(jīng)壓縮層代替神經(jīng)網(wǎng)絡(luò)中的至少一個層以產(chǎn)生經(jīng)壓縮神經(jīng)網(wǎng)絡(luò)。該處理器還被配置成通過應(yīng)用交替最小化過程來確定經(jīng)壓縮層的權(quán)重矩陣。另一方面公開了一種非瞬態(tài)計算機可讀介質(zhì)。該計算機可讀介質(zhì)上記錄有用于壓縮機器學(xué)習(xí)網(wǎng)絡(luò)(諸如神經(jīng)網(wǎng)絡(luò))的程序代碼。該程序代碼在由處理器執(zhí)行時使處理器用多個經(jīng)壓縮層代替神經(jīng)網(wǎng)絡(luò)中的至少一個層以產(chǎn)生經(jīng)壓縮神經(jīng)網(wǎng)絡(luò)。該程序代碼還使處理器通過應(yīng)用交替最小化過程來確定經(jīng)壓縮層的權(quán)重矩陣。本公開的附加特征和優(yōu)點將在下文描述。本領(lǐng)域技術(shù)人員應(yīng)該領(lǐng)會,本公開可容易地被用作修改或設(shè)計用于實施與本公開相同的目的的其他結(jié)構(gòu)的基礎(chǔ)。本領(lǐng)域技術(shù)人員還應(yīng)認識到,這樣的等效構(gòu)造并不脫離所附權(quán)利要求中所闡述的本公開的教導(dǎo)。被認為是本公開的特性的新穎特征在其組織和操作方法兩方面連同進一步的目的和優(yōu)點在結(jié)合附圖來考慮以下描述時將被更好地理解。然而,要清楚理解的是,提供每一幅附圖均僅用于解說和描述目的,且無意作為對本公開的限定的定義。附圖簡述在結(jié)合附圖理解下面闡述的詳細描述時,本公開的特征、本質(zhì)和優(yōu)點將變得更加明顯,在附圖中,相同附圖標記始終作相應(yīng)標識。圖1解說了根據(jù)本公開的一些方面的使用片上系統(tǒng)(soc)(包括通用處理器)來設(shè)計神經(jīng)網(wǎng)絡(luò)的示例實現(xiàn)。圖2解說了根據(jù)本公開的各方面的系統(tǒng)的示例實現(xiàn)。圖3a是解說根據(jù)本公開的各方面的神經(jīng)網(wǎng)絡(luò)的示圖。圖3b是解說根據(jù)本公開的各方面的示例性深度卷積網(wǎng)絡(luò)(dcn)的框圖。圖4a是解說根據(jù)本公開的各方面的可將人工智能(ai)功能模塊化的示例性軟件架構(gòu)的框圖。圖4b是解說根據(jù)本公開的各方面的智能手機上的ai應(yīng)用的運行時操作的框圖。圖5a-b和6a-b是解說根據(jù)本公開的各方面的全連接層和經(jīng)壓縮全連接層的框圖。圖7是解說根據(jù)本公開的各方面的示例性卷積層的框圖。圖8a-b和9a-b解說了根據(jù)本公開的各方面的卷積層的示例壓縮。圖10-13是解說根據(jù)本公開的各方面的用于壓縮神經(jīng)網(wǎng)絡(luò)的方法的流程圖。詳細描述以下結(jié)合附圖闡述的詳細描述旨在作為各種配置的描述,而無意表示可實踐本文中所描述的概念的僅有的配置。本詳細描述包括具體細節(jié)以便提供對各種概念的透徹理解。然而,對于本領(lǐng)域技術(shù)人員將顯而易見的是,沒有這些具體細節(jié)也可實踐這些概念。在一些實例中,以框圖形式示出眾所周知的結(jié)構(gòu)和組件以避免湮沒此類概念?;诒窘虒?dǎo),本領(lǐng)域技術(shù)人員應(yīng)領(lǐng)會,本公開的范圍旨在覆蓋本公開的任何方面,不論其是與本公開的任何其他方面相獨立地還是組合地實現(xiàn)的。例如,可以使用所闡述的任何數(shù)目的方面來實現(xiàn)裝置或?qū)嵺`方法。另外,本公開的范圍旨在覆蓋使用作為所闡述的本公開的各個方面的補充或者與之不同的其他結(jié)構(gòu)、功能性、或者結(jié)構(gòu)及功能性來實踐的此類裝置或方法。應(yīng)當(dāng)理解,所披露的本公開的任何方面可由權(quán)利要求的一個或多個元素來實施。措辭“示例性”在本文中用于表示“用作示例、實例或解說”。本文中描述為“示例性”的任何方面不必被解釋為優(yōu)于或勝過其他方面。盡管本文描述了特定方面,但這些方面的眾多變體和置換落在本公開的范圍之內(nèi)。雖然提到了優(yōu)選方面的一些益處和優(yōu)點,但本公開的范圍并非旨在被限定于特定益處、用途或目標。相反,本公開的各方面旨在能寬泛地應(yīng)用于不同的技術(shù)、系統(tǒng)配置、網(wǎng)絡(luò)和協(xié)議,其中一些作為示例在附圖以及以下對優(yōu)選方面的描述中解說。詳細描述和附圖僅僅解說本公開而非限定本公開,本公開的范圍由所附權(quán)利要求及其等效技術(shù)方案來定義。模型壓縮和微調(diào)深度神經(jīng)網(wǎng)絡(luò)執(zhí)行若干人工智能任務(wù)中的現(xiàn)有技術(shù),諸如圖像/視頻分類、語音識別、面部識別等。神經(jīng)網(wǎng)絡(luò)模型從大型訓(xùn)練示例數(shù)據(jù)庫進行訓(xùn)練,并且通常而言,較大模型趨向于達成較佳的性能。為了在移動設(shè)備(諸如智能電話、機器人和汽車)上部署這些神經(jīng)網(wǎng)絡(luò)模型的目的,期望盡可能地減小或最小化計算復(fù)雜度、存儲器占用和功耗。這些也是云應(yīng)用(諸如,每天處理數(shù)百萬圖像/視頻的數(shù)據(jù)中心)的期望屬性。本公開的各方面涉及一種壓縮神經(jīng)網(wǎng)絡(luò)模型的方法。經(jīng)壓縮模型具有顯著更少數(shù)目的參數(shù),并且由此具有較小的存儲器占用。另外,經(jīng)壓縮模型具有顯著更少的操作,并且由此導(dǎo)致較快的推斷運行時。卷積神經(jīng)網(wǎng)絡(luò)模型可被劃分成層序列。每一層可變換從網(wǎng)絡(luò)中的一個或多個在前層接收的輸入并且可產(chǎn)生可被提供給網(wǎng)絡(luò)的后續(xù)層的輸出。例如,卷積神經(jīng)網(wǎng)絡(luò)可包括全連接層、卷積層、局部連接層以及其它層。這些不同層中的每一層可執(zhí)行不同類型的變換。根據(jù)本公開的各方面,全連接層、卷積層和局部連接層可被壓縮。所有這些層可對輸入值應(yīng)用線性變換,其中該線性變換通過權(quán)重值來參數(shù)化。這些權(quán)重值可被表示為二維矩陣或較高維張量。線性變換結(jié)構(gòu)對于不同層類型可以是不同的。在一些方面,層可通過用相同類型的多個層代替它來被壓縮。例如,卷積層可通過用多個卷積層代替它來被壓縮,并且全連接層可通過用多個全連接層代替它來被壓縮。經(jīng)壓縮層中的神經(jīng)元可被配置有相同激活函數(shù)。盡管一層可用多個經(jīng)壓縮層來代替,但所有經(jīng)壓縮層一起的總復(fù)雜度(和存儲器占用)可小于單個未壓縮層。然而,模型壓縮可能以神經(jīng)網(wǎng)絡(luò)的性能下降為代價。例如,如果神經(jīng)網(wǎng)絡(luò)被用于分類問題,則分類準確度可能因壓縮而下降。此準確度下降限制了壓縮程度,因為較高壓縮導(dǎo)致較高的準確度下降。為了對抗準確度下降,在一些方面,經(jīng)壓縮模型可使用訓(xùn)練示例來微調(diào)。經(jīng)壓縮模型的微調(diào)可收回準確度下降并且由此可在沒有過多分類準確度下降的情況下產(chǎn)生改善的壓縮。經(jīng)壓縮模型的微調(diào)可在逐層基礎(chǔ)上進行。因此,本公開的各方面提供了其中神經(jīng)網(wǎng)絡(luò)的層用更多此類層來代替的壓縮技術(shù)。因此,結(jié)果所得的經(jīng)壓縮模型是另一卷積神經(jīng)網(wǎng)絡(luò)模型。這是顯著的優(yōu)勢,因為可避免開發(fā)新的且明確的用于實現(xiàn)經(jīng)壓縮模型的技術(shù)。也就是說,如果任何神經(jīng)網(wǎng)絡(luò)庫與原始未壓縮模型兼容,則它也將與經(jīng)壓縮模型兼容。此外,由于結(jié)果所得的經(jīng)壓縮模型是卷積神經(jīng)網(wǎng)絡(luò),因此可執(zhí)行全棧微調(diào)(例如,反向傳播),而非將微調(diào)限于特定層。神經(jīng)網(wǎng)絡(luò)由若干層構(gòu)成。每一層取來自一個或多個先前層的激活向量作為輸入,對組合輸入向量應(yīng)用線性/非線性變換,以及輸出將由后續(xù)層使用的激活向量。一些層用權(quán)重來參數(shù)化,而一些層并非如此。本公開的各方面關(guān)注于以下權(quán)重層:1)全連接層,2)卷積層,以及3)局部連接層。所有三個層都執(zhí)行線性變換,但在輸出神經(jīng)元如何連接至輸入神經(jīng)元方面有所不同。圖1解說了根據(jù)本公開的某些方面使用片上系統(tǒng)(soc)100進行前述壓縮神經(jīng)網(wǎng)絡(luò)的示例實現(xiàn),soc100可包括通用處理器(cpu)或多核通用處理器(cpu)102。變量(例如,神經(jīng)信號和突觸權(quán)重)、與計算設(shè)備相關(guān)聯(lián)的系統(tǒng)參數(shù)(例如,帶有權(quán)重的神經(jīng)網(wǎng)絡(luò))、延遲、頻率槽信息、以及任務(wù)信息可被存儲在與神經(jīng)處理單元(npu)108相關(guān)聯(lián)的存儲器塊、與cpu102相關(guān)聯(lián)的存儲器塊、與圖形處理單元(gpu)104相關(guān)聯(lián)的存儲器塊、與數(shù)字信號處理器(dsp)106相關(guān)聯(lián)的存儲器塊、專用存儲器塊118中,或可跨多個塊分布。在通用處理器102處執(zhí)行的指令可從與cpu102相關(guān)聯(lián)的程序存儲器加載或可從專用存儲器塊118加載。soc100還可包括為具體功能定制的額外處理塊(諸如gpu104、dsp106、連通性塊110)以及例如可檢測和識別姿勢的多媒體處理器112,這些具體功能可包括第四代長期演進(4glte)連通性、無執(zhí)照wi-fi連通性、usb連通性、藍牙連通性等。在一種實現(xiàn)中,npu實現(xiàn)在cpu、dsp、和/或gpu中。soc100還可包括傳感器處理器114、圖像信號處理器(isp)、和/或?qū)Ш?20(其可包括全球定位系統(tǒng))。soc可基于arm指令集。在本公開的一方面,加載到通用處理器102中的指令可包括用于以下操作的代碼:用多個經(jīng)壓縮層代替機器學(xué)習(xí)網(wǎng)絡(luò)(諸如神經(jīng)網(wǎng)絡(luò))中的至少一個層以產(chǎn)生經(jīng)壓縮網(wǎng)絡(luò),在經(jīng)壓縮網(wǎng)絡(luò)的經(jīng)壓縮層之間插入非線性和/或通過更新這些經(jīng)壓縮層中的至少一個經(jīng)壓縮層中的權(quán)重值來微調(diào)經(jīng)壓縮網(wǎng)絡(luò)。在本公開的另一方面,加載到通用處理器102中的指令可包括用于以下操作的代碼:用多個經(jīng)壓縮層代替機器學(xué)習(xí)網(wǎng)絡(luò)(諸如神經(jīng)網(wǎng)絡(luò))中的至少一個層以產(chǎn)生經(jīng)壓縮網(wǎng)絡(luò),從而組合的經(jīng)壓縮層的感受野大小與未壓縮層的感受野相匹配。還可存在用于通過更新這些經(jīng)壓縮層中的至少一個經(jīng)壓縮層中的權(quán)重值來微調(diào)經(jīng)壓縮網(wǎng)絡(luò)的代碼。在本公開的又一方面,加載到通用處理器102中的指令可包括用于以下操作的代碼:用多個經(jīng)壓縮層代替機器學(xué)習(xí)網(wǎng)絡(luò)(諸如神經(jīng)網(wǎng)絡(luò))中的至少一個層以產(chǎn)生經(jīng)壓縮網(wǎng)絡(luò)。還可存在用于通過應(yīng)用交替最小化過程來確定經(jīng)壓縮層的權(quán)重矩陣的代碼。圖2解說了根據(jù)本公開的某些方面的系統(tǒng)200的示例實現(xiàn)。如圖2中所解說的,系統(tǒng)200可具有多個可執(zhí)行本文所描述的方法的各種操作的局部處理單元202。每個局部處理單元202可包括局部狀態(tài)存儲器204和可存儲神經(jīng)網(wǎng)絡(luò)的參數(shù)的局部參數(shù)存儲器206。另外,局部處理單元202可具有用于存儲局部模型程序的局部(神經(jīng)元)模型程序(lmp)存儲器208、用于存儲局部學(xué)習(xí)程序的局部學(xué)習(xí)程序(llp)存儲器210、以及局部連接存儲器212。此外,如圖2中所解說的,每個局部處理單元202可與用于為該局部處理單元的各局部存儲器提供配置的配置處理器單元214對接,并且與提供各局部處理單元202之間的路由的路由連接處理單元216對接。深度學(xué)習(xí)架構(gòu)可通過學(xué)習(xí)在每一層中以逐次更高的抽象程度來表示輸入、藉此構(gòu)建輸入數(shù)據(jù)的有用特征表示來執(zhí)行對象識別任務(wù)。以此方式,深度學(xué)習(xí)解決了傳統(tǒng)機器學(xué)習(xí)的主要瓶頸。在深度學(xué)習(xí)出現(xiàn)之前,用于對象識別問題的機器學(xué)習(xí)辦法可能嚴重依賴人類工程設(shè)計的特征,或許與淺分類器相結(jié)合。淺分類器可以是兩類線性分類器,例如,其中可將特征向量分量的加權(quán)和與閾值作比較以預(yù)測輸入屬于哪一類。人類工程設(shè)計的特征可以是由擁有領(lǐng)域?qū)I(yè)知識的工程師針對具體問題領(lǐng)域定制的模版或內(nèi)核。相反,深度學(xué)習(xí)架構(gòu)可學(xué)習(xí)去表示與人類工程師可能會設(shè)計的相似的特征,但它是通過訓(xùn)練來學(xué)習(xí)的。另外,深度網(wǎng)絡(luò)可以學(xué)習(xí)去表示和識別人類可能還沒有考慮過的新類型的特征。深度學(xué)習(xí)架構(gòu)可以學(xué)習(xí)特征階層。例如,如果向第一層呈遞視覺數(shù)據(jù),則第一層可學(xué)習(xí)去識別輸入流中的簡單特征(諸如邊)。如果向第一層呈遞聽覺數(shù)據(jù),則第一層可學(xué)習(xí)去識別特定頻率中的頻譜功率。取第一層的輸出作為輸入的第二層可以學(xué)習(xí)去識別特征組合,諸如對于視覺數(shù)據(jù)去識別簡單形狀或?qū)τ诼犛X數(shù)據(jù)去識別聲音組合。更高層可學(xué)習(xí)去表示視覺數(shù)據(jù)中的復(fù)雜形狀或聽覺數(shù)據(jù)中的詞語。再高層可學(xué)習(xí)去識別常見視覺對象或口語短語。深度學(xué)習(xí)架構(gòu)在被應(yīng)用于具有自然階層結(jié)構(gòu)的問題時可能表現(xiàn)特別好。例如,機動交通工具的分類可受益于首先學(xué)習(xí)去識別輪子、擋風(fēng)玻璃、以及其他特征。這些特征可在更高層以不同方式被組合以識別轎車、卡車和飛機。神經(jīng)網(wǎng)絡(luò)可被設(shè)計成具有各種連通性模式。在前饋網(wǎng)絡(luò)中,信息從較低層被傳遞到較高層,其中給定層中的每個神經(jīng)元向更高層中的神經(jīng)元進行傳達。如上所述,可在前饋網(wǎng)絡(luò)的相繼層中構(gòu)建階層式表示。神經(jīng)網(wǎng)絡(luò)還可具有回流或反饋(也被稱為自頂向下(top-down))連接。在回流連接中,來自給定層中的神經(jīng)元的輸出被傳達給相同層中的另一神經(jīng)元。回流架構(gòu)可有助于識別跨越不止一個按順序遞送給該神經(jīng)網(wǎng)絡(luò)的輸入數(shù)據(jù)組塊的模式。從給定層中的神經(jīng)元到較低層中的神經(jīng)元的連接被稱為反饋(或自頂向下)連接。當(dāng)高層級概念的識別可輔助辨別輸入的特定低層級特征時,具有許多反饋連接的網(wǎng)絡(luò)可能是有助益的。參照圖3a,神經(jīng)網(wǎng)絡(luò)的各層之間的連接可以是全連接的(302)或局部連接的(304)。在全連接網(wǎng)絡(luò)302中,第一層中的神經(jīng)元可將它的輸出傳達給第二層中的每個神經(jīng)元,從而第二層中的每個神經(jīng)元將從第一層中的每個神經(jīng)元接收輸入。替換地,在局部連接網(wǎng)絡(luò)304中,第一層中的神經(jīng)元可連接至第二層中有限數(shù)目的神經(jīng)元。卷積網(wǎng)絡(luò)306可以是局部連接的,并且被進一步配置成使得與針對第二層中每個神經(jīng)元的輸入相關(guān)聯(lián)的連接強度被共享(例如,308)。更一般化地,網(wǎng)絡(luò)的局部連接層可被配置成使得一層中的每個神經(jīng)元將具有相同或相似的連通性模式,但其連接強度可具有不同的值(例如,310、312、314和316)。局部連接的連通性模式可能在更高層中產(chǎn)生空間上相異的感受野,這是由于給定區(qū)域中的更高層神經(jīng)元可接收到通過訓(xùn)練被調(diào)諧為到網(wǎng)絡(luò)的總輸入的受限部分的性質(zhì)的輸入。局部連接的神經(jīng)網(wǎng)絡(luò)可能非常適合于其中輸入的空間位置有意義的問題。例如,被設(shè)計成識別來自車載相機的視覺特征的網(wǎng)絡(luò)300可發(fā)展具有不同性質(zhì)的高層神經(jīng)元,這取決于它們與圖像下部關(guān)聯(lián)還是與圖像上部關(guān)聯(lián)。例如,與圖像下部相關(guān)聯(lián)的神經(jīng)元可學(xué)習(xí)去識別車道標記,而與圖像上部相關(guān)聯(lián)的神經(jīng)元可學(xué)習(xí)去識別交通信號燈、交通標志等。dcn可以用受監(jiān)督式學(xué)習(xí)來訓(xùn)練。在訓(xùn)練期間,dcn可被呈遞圖像326(諸如限速標志的經(jīng)裁剪圖像),并且可隨后計算“前向傳遞(forwardpass)”以產(chǎn)生輸出322。輸出322可以是對應(yīng)于特征(諸如“標志”、“60”、和“100”)的值向量。網(wǎng)絡(luò)設(shè)計者可能希望dcn在輸出特征向量中針對其中一些神經(jīng)元輸出高得分,例如對應(yīng)于經(jīng)訓(xùn)練的網(wǎng)絡(luò)300的輸出322中所示的“標志”和“60”的那些神經(jīng)元。在訓(xùn)練之前,dcn產(chǎn)生的輸出很可能是不正確的,并且由此可計算實際輸出與目標輸出之間的誤差。dcn的權(quán)重可隨后被調(diào)整以使得dcn的輸出得分與目標更緊密地對準。為了調(diào)整權(quán)重,學(xué)習(xí)算法可為權(quán)重計算梯度向量。該梯度可指示如果權(quán)重被略微調(diào)整則誤差將增加或減少的量。在頂層,該梯度可直接對應(yīng)于連接倒數(shù)第二層中的活化神經(jīng)元與輸出層中的神經(jīng)元的權(quán)重的值。在較低層中,該梯度可取決于權(quán)重的值以及所計算出的較高層的誤差梯度。權(quán)重可隨后被調(diào)整以減小誤差。這種調(diào)整權(quán)重的方式可被稱為“反向傳播”,因為其涉及在神經(jīng)網(wǎng)絡(luò)中的“反向傳遞(backwardpass)”。在實踐中,權(quán)重的誤差梯度可能是在少量示例上計算的,從而計算出的梯度近似于真實誤差梯度。這種近似方法可被稱為隨機梯度下降法。隨機梯度下降法可被重復(fù),直到整個系統(tǒng)可達成的誤差率已停止下降或直到誤差率已達到目標水平。在學(xué)習(xí)之后,dcn可被呈遞新圖像326并且在網(wǎng)絡(luò)中的前向傳遞可產(chǎn)生輸出322,其可被認為是該dcn的推斷或預(yù)測。深度置信網(wǎng)絡(luò)(dbn)是包括多層隱藏節(jié)點的概率性模型。dbn可被用于提取訓(xùn)練數(shù)據(jù)集的階層式表示。dbn可通過堆疊多層受限波爾茲曼機(rbm)來獲得。rbm是一類可在輸入集上學(xué)習(xí)概率分布的人工神經(jīng)網(wǎng)絡(luò)。由于rbm可在沒有關(guān)于每個輸入應(yīng)該被分類到哪個類的信息的情況下學(xué)習(xí)概率分布的,因此rbm經(jīng)常被用于無監(jiān)督式學(xué)習(xí)。使用混合無監(jiān)督式和受監(jiān)督式范式,dbn的底部rbm可按無監(jiān)督方式被訓(xùn)練并且可以用作特征提取器,而頂部rbm可按受監(jiān)督方式(在來自先前層的輸入和目標類的聯(lián)合分布上)被訓(xùn)練并且可用作分類器。深度卷積網(wǎng)絡(luò)(dcn)是卷積網(wǎng)絡(luò)的網(wǎng)絡(luò),其配置有附加的池化和歸一化層。dcn已在許多任務(wù)上達成現(xiàn)有最先進的性能。dcn可使用受監(jiān)督式學(xué)習(xí)來訓(xùn)練,其中輸入和輸出目標兩者對于許多典范是已知的并被用于通過使用梯度下降法來修改網(wǎng)絡(luò)的權(quán)重。dcn可以是前饋網(wǎng)絡(luò)。另外,如上所述,從dcn的第一層中的神經(jīng)元到下一更高層中的神經(jīng)元群的連接跨第一層中的神經(jīng)元被共享。dcn的前饋和共享連接可被利用于進行快速處理。dcn的計算負擔(dān)可比例如類似大小的包括回流或反饋連接的神經(jīng)網(wǎng)絡(luò)小得多。卷積網(wǎng)絡(luò)的每一層的處理可被認為是空間不變模版或基礎(chǔ)投影。如果輸入首先被分解成多個通道,諸如彩色圖像的紅色、綠色和藍色通道,那么在該輸入上訓(xùn)練的卷積網(wǎng)絡(luò)可被認為是三維的,其具有沿著該圖像的軸的兩個空間維度以及捕捉顏色信息的第三個維度。卷積連接的輸出可被認為在后續(xù)層318和320中形成特征圖,該特征圖(例如,320)中的每個元素從先前層(例如,318)中一定范圍的神經(jīng)元以及從該多個通道中的每一個通道接收輸入。特征圖中的值可以用非線性(諸如矯正)max(0,x)進一步處理。來自毗鄰神經(jīng)元的值可被進一步池化(這對應(yīng)于降采樣)并可提供附加的局部不變性以及維度縮減。還可通過特征圖中神經(jīng)元之間的側(cè)向抑制來應(yīng)用歸一化,其對應(yīng)于白化。深度學(xué)習(xí)架構(gòu)的性能可隨著有更多被標記的數(shù)據(jù)點變?yōu)榭捎没螂S著計算能力提高而提高?,F(xiàn)代深度神經(jīng)網(wǎng)絡(luò)用比僅僅十五年前可供典型研究者使用的計算資源多數(shù)千倍的計算資源來例行地訓(xùn)練。新的架構(gòu)和訓(xùn)練范式可進一步推升深度學(xué)習(xí)的性能。經(jīng)矯正的線性單元可減少被稱為梯度消失的訓(xùn)練問題。新的訓(xùn)練技術(shù)可減少過度擬合(over-fitting)并因此使更大的模型能夠達成更好的推廣。封裝技術(shù)可抽象出給定的感受野中的數(shù)據(jù)并進一步提升總體性能。圖3b是解說示例性深度卷積網(wǎng)絡(luò)350的框圖。深度卷積網(wǎng)絡(luò)350可包括多個基于連通性和權(quán)重共享的不同類型的層。如圖3b所示,該示例性深度卷積網(wǎng)絡(luò)350可包括多個卷積塊(例如,c1和c2)。每個卷積塊可配置有卷積層、歸一化層(lnorm)、和池化層。卷積層可包括一個或多個卷積濾波器,其可被應(yīng)用于輸入數(shù)據(jù)以生成特征圖。盡管僅示出了兩個卷積塊,但本公開不限于此,相反,根據(jù)設(shè)計偏好,任何數(shù)目的卷積塊可被包括在深度卷積網(wǎng)絡(luò)350中。歸一化層可被用于對卷積濾波器的輸出進行歸一化。例如,歸一化層可提供白化或側(cè)向抑制。池化層可提供在空間上的降采樣聚集以實現(xiàn)局部不變性和維度縮減。例如,深度卷積網(wǎng)絡(luò)的平行濾波器組可任選地基于arm指令集被加載到soc100的cpu102或gpu104上以達成高性能和低功耗。在替換實施例中,平行濾波器組可被加載到soc100的dsp106或isp116上。另外,dcn可訪問其他可存在于soc上的處理塊,諸如專用于傳感器114和導(dǎo)航120的處理塊。深度卷積網(wǎng)絡(luò)350還可包括一個或多個全連接層(例如,fc1和fc2)。深度卷積網(wǎng)絡(luò)350可進一步包括邏輯回歸(lr)層。深度卷積網(wǎng)絡(luò)350的每一層之間是要被更新的權(quán)重(未示出)。每一層的輸出可以用作深度卷積網(wǎng)絡(luò)350中后續(xù)層的輸入以從在第一卷積塊c1處提供的輸入數(shù)據(jù)(例如,圖像、音頻、視頻、傳感器數(shù)據(jù)和/或其他輸入數(shù)據(jù))學(xué)習(xí)階層式特征表示。圖4a是解說可使人工智能(ai)功能模塊化的示例性軟件架構(gòu)400的框圖。使用該架構(gòu),應(yīng)用402可被設(shè)計成可使得soc420的各種處理塊(例如cpu422、dsp424、gpu426和/或npu428)在該應(yīng)用402的運行時操作期間執(zhí)行支持計算。ai應(yīng)用402可配置成調(diào)用在用戶空間404中定義的功能,例如,這些功能可提供對指示該設(shè)備當(dāng)前操作位置的場景的檢測和識別。例如,ai應(yīng)用402可取決于識別出的場景是否為辦公室、報告廳、餐館、或室外環(huán)境(諸如湖泊)而以不同方式配置話筒和相機。ai應(yīng)用402可向與在場景檢測應(yīng)用編程接口(api)406中定義的庫相關(guān)聯(lián)的經(jīng)編譯程序代碼作出請求以提供對當(dāng)前場景的估計。該請求可最終依賴于配置成基于例如視頻和定位數(shù)據(jù)來提供場景估計的深度神經(jīng)網(wǎng)絡(luò)的輸出。運行時引擎408(其可以是運行時框架的經(jīng)編譯代碼)可進一步可由ai應(yīng)用402訪問。例如,ai應(yīng)用402可使得運行時引擎請求特定時間間隔的場景估計或由應(yīng)用的用戶接口檢測到的事件觸發(fā)的場景估計。在使得運行時引擎估計場景時,運行時引擎可進而發(fā)送信號給在soc420上運行的操作系統(tǒng)410(諸如linux內(nèi)核412)。操作系統(tǒng)410進而可使得在cpu422、dsp424、gpu426、npu428、或其某種組合上執(zhí)行計算。cpu422可被操作系統(tǒng)直接訪問,而其他處理塊可通過驅(qū)動器(諸如用于dsp424、gpu426、或npu428的驅(qū)動器414-418)被訪問。在示例性示例中,深度神經(jīng)網(wǎng)絡(luò)可被配置成在處理塊的組合(諸如cpu422和gpu426)上運行,或可在npu428(如果存在的話)上運行。圖4b是解說智能手機452上的ai應(yīng)用的運行時操作450的框圖。ai應(yīng)用可包括預(yù)處理模塊454,該預(yù)處理模塊454可被配置(例如,使用java編程語言被配置)成轉(zhuǎn)換圖像456的格式并隨后對圖像458進行剪裁和/或調(diào)整大小。經(jīng)預(yù)處理的圖像可接著被傳達給分類應(yīng)用460,該分類應(yīng)用460包含場景檢測后端引擎462,該場景檢測后端引擎462可被配置(例如,使用c編程語言被配置)成基于視覺輸入來檢測和分類場景。場景檢測后端引擎462可被配置成通過縮放(466)和剪裁(468)來進一步預(yù)處理(464)該圖像。例如,該圖像可被縮放和剪裁以使所得到的圖像是224像素×224像素。這些維度可映射到神經(jīng)網(wǎng)絡(luò)的輸入維度。神經(jīng)網(wǎng)絡(luò)可由深度神經(jīng)網(wǎng)絡(luò)塊470配置以使得soc100的各種處理塊進一步借助深度神經(jīng)網(wǎng)絡(luò)來處理圖像像素。深度神經(jīng)網(wǎng)絡(luò)的結(jié)果可隨后被取閾(472)并被傳遞通過分類應(yīng)用460中的指數(shù)平滑塊474。經(jīng)平滑的結(jié)果可接著使得智能手機452的設(shè)置和/或顯示改變。在一種配置中,機器學(xué)習(xí)模型(諸如神經(jīng)網(wǎng)絡(luò))被配置成用于代替網(wǎng)絡(luò)中的一個或多個層、在經(jīng)壓縮網(wǎng)絡(luò)的經(jīng)壓縮層之間插入非線性和/或微調(diào)經(jīng)壓縮網(wǎng)絡(luò)。該模型包括代替裝置、插入裝置和調(diào)諧裝置。在一個方面,該代替裝置、插入裝置和/或調(diào)諧裝置可以是被配置成執(zhí)行所敘述的功能的通用處理器102、與通用處理器102相關(guān)聯(lián)的程序存儲器、存儲器塊118、局部處理單元202、和/或路由連接處理單元216。在另一配置中,前述裝置可以是被配置成執(zhí)行由前述裝置所敘述的功能的任何模塊或任何設(shè)備。在另一配置中,機器學(xué)習(xí)模型(諸如神經(jīng)網(wǎng)絡(luò))被配置成用于用多個經(jīng)壓縮層代替網(wǎng)絡(luò)中的一個或多個層以產(chǎn)生經(jīng)壓縮網(wǎng)絡(luò),從而組合的經(jīng)壓縮層的感受野大小與未壓縮層的感受野相匹配。該模型還被配置成用于通過更新這些經(jīng)壓縮層中的一個或多個經(jīng)壓縮層中的權(quán)重值來微調(diào)經(jīng)壓縮網(wǎng)絡(luò)。該模型包括代替裝置和調(diào)諧裝置。在一個方面,該代替裝置和/或調(diào)諧裝置可以是被配置成執(zhí)行所敘述的功能的通用處理器102、與通用處理器102相關(guān)聯(lián)的程序存儲器、存儲器塊118、局部處理單元202、和/或路由連接處理單元216。在另一配置中,前述裝置可以是被配置成執(zhí)行由前述裝置所敘述的功能的任何模塊或任何設(shè)備。在又一配置中,機器學(xué)習(xí)模型(諸如神經(jīng)網(wǎng)絡(luò))被配置成用于代替網(wǎng)絡(luò)中的一個或多個層和/或用于通過應(yīng)用交替最小化過程來確定經(jīng)壓縮層的權(quán)重矩陣。該模型包括代替裝置和確定裝置。在一個方面,該代替裝置和/或確定裝置可以是被配置成執(zhí)行所敘述的功能的通用處理器102、與通用處理器102相關(guān)聯(lián)的程序存儲器、存儲器塊118、局部處理單元202、和/或路由連接處理單元216。在另一配置中,前述裝置可以是被配置成執(zhí)行由前述裝置所敘述的功能的任何模塊或任何設(shè)備。根據(jù)本公開的某些方面,每個局部處理單元202可被配置成基于網(wǎng)絡(luò)的一個或多個期望功能性特征來確定網(wǎng)絡(luò)的參數(shù),以及隨著所確定的參數(shù)被進一步適配、調(diào)諧和更新來使這一個或多個功能性特征朝著期望的功能性特征發(fā)展。全連接層的壓縮圖5a-b是解說根據(jù)本公開的各方面的全連接層和經(jīng)壓縮全連接層的框圖。如圖5a所示,全連接層(fc)500的每一個輸出神經(jīng)元504以全體到全體的方式經(jīng)由突觸連接至每一個輸入神經(jīng)元502(出于解說方便起見示出全體到全體連接的子集)。fc層具有n個輸入神經(jīng)元和m個輸出神經(jīng)元。將第i個輸入神經(jīng)元連接至第j個輸出神經(jīng)元的突觸的權(quán)重由wij標示。連接n個輸入神經(jīng)元和m個輸出神經(jīng)元的突觸的所有權(quán)重可使用矩陣w來共同表示。輸出激活向量y可通過將輸入激活向量x乘以權(quán)重矩陣w并加上偏置向量b來獲得。圖5b解說了示例性經(jīng)壓縮全連接層550。如圖5b所示,單個全連接層用兩個全連接層代替。也就是說,圖5a中名為‘fc’的全連接層用圖5b中所示的兩個全連接層‘fc1’和‘fc2’代替。雖然僅示出一個附加全連接層,但本公開并不被如此限定,并且可使用附加全連接層來壓縮全連接層fc。例如,圖6a-b解說了全連接層以及具有三個全連接層的經(jīng)壓縮全連接層。如圖6a-b所示,未壓縮全連接層‘fc’用三個全連接層‘fc1’、‘fc2’和‘fc3’代替。居間層中的神經(jīng)元數(shù)目r1和r2可基于它們達成的壓縮以及結(jié)果所得的經(jīng)壓縮網(wǎng)絡(luò)的性能來確定??赏ㄟ^將壓縮前和壓縮后的參數(shù)總數(shù)進行比較來理解使用壓縮的優(yōu)勢。壓縮前的參數(shù)數(shù)目可以等于權(quán)重矩陣w中元素數(shù)目=nm、加上偏置向量中的元素數(shù)目(其等于m)。因此,壓縮前的參數(shù)總數(shù)等于nm+m。然而,圖5b中壓縮后的參數(shù)數(shù)目等于層‘fc1’和‘fc2’中的參數(shù)數(shù)目之和,其等于nr+rm。取決于r的值,可達成參數(shù)數(shù)目的顯著減少。經(jīng)壓縮網(wǎng)絡(luò)所達成的有效變換由下式給出:y=w2w1x+b,(1)其中w1和w2分別是經(jīng)壓縮全連接層fc1和fc2的權(quán)重矩陣。經(jīng)壓縮層的權(quán)重矩陣可被確定以使得有效變換是原始全連接層fc所達成的變換的緊密近似:y=wx+b。(2)權(quán)重矩陣w1和w2可被選取成減小近似誤差,近似誤差由下式給出:|w-w2w1|2(3)從而由經(jīng)壓縮層fc1和fc2達成的式1的有效變換近似式2中指定的原始全連接層的變換。類似地,圖6b中壓縮后的參數(shù)數(shù)目等于nr1+r1r2+r2m+m。再次,取決于r1和r2的值,可達成參數(shù)數(shù)目的顯著減少。圖6b中所示的經(jīng)壓縮網(wǎng)絡(luò)中的經(jīng)壓縮層‘fc1’、‘fc2’和‘fc3’一起達成的有效變換為y=w3w2w1x+b。權(quán)重矩陣w1、w2和w3可被確定以使得有效變換是原始‘fc’層(圖6a中所示)所達成的變換y=wx+b的近似。一種用于確定經(jīng)壓縮層的權(quán)重矩陣的方法是重復(fù)地應(yīng)用奇異值分解(svd)。svd可被用來計算w的秩近似,可從該秩近似確定權(quán)重矩陣w1和w2。用于確定經(jīng)壓縮層的權(quán)重矩陣w1和w2的另一種方法是應(yīng)用交替最小化過程。根據(jù)交替最小化過程,使用隨機值來初始化矩陣并且使用最小二乘法一次一個地交替地更新經(jīng)壓縮矩陣,以減小或最小化式3的目標函數(shù)并由此改善該近似。在一些方面,可通過訓(xùn)練經(jīng)壓縮網(wǎng)絡(luò)來確定權(quán)重矩陣。例如,可針對一組訓(xùn)練示例記錄未壓縮層的輸入和輸出。隨后可使用例如梯度下降來初始化經(jīng)壓縮層以產(chǎn)生對應(yīng)于未壓縮層的輸出。由于經(jīng)壓縮網(wǎng)絡(luò)是原始網(wǎng)絡(luò)的近似,因此經(jīng)壓縮網(wǎng)絡(luò)的端對端行為可能與原始網(wǎng)絡(luò)相比會稍微或顯著不同。結(jié)果,對于該網(wǎng)絡(luò)被設(shè)計成完成的任務(wù),新的經(jīng)壓縮網(wǎng)絡(luò)可能不如原始網(wǎng)絡(luò)表現(xiàn)那樣好。為了對抗性能下降,可執(zhí)行對經(jīng)壓縮網(wǎng)絡(luò)的權(quán)重的微調(diào)和修改。例如,可應(yīng)用通過所有經(jīng)壓縮層的反向傳播以修改權(quán)重。替換地,可執(zhí)行通過這些層的子集的反向傳播,或者可執(zhí)行貫穿從輸出回到輸入的整個模型通過經(jīng)壓縮層和未壓縮層兩者的反向傳播??赏ㄟ^用一些訓(xùn)練示例教導(dǎo)神經(jīng)網(wǎng)絡(luò)來達成微調(diào)。取決于可用性,可采用用于訓(xùn)練原始網(wǎng)絡(luò)的相同訓(xùn)練示例、或不同訓(xùn)練示例集合、或舊訓(xùn)練示例和新訓(xùn)練示例的子集。在微調(diào)期間,可選擇僅微調(diào)新的經(jīng)壓縮層或者所有層一起(其可被稱為全棧微調(diào))、或經(jīng)壓縮層和未壓縮層的子集。如關(guān)于圖5b和6b中的示例所示的經(jīng)壓縮層分別是圖5a和6a中所示的全連接層類型的另一實例。因此,可規(guī)避用于訓(xùn)練經(jīng)壓縮層或用于使用經(jīng)壓縮網(wǎng)絡(luò)執(zhí)行推斷的新技術(shù)的設(shè)計或?qū)崿F(xiàn)。取而代之,可以重用可用于原始網(wǎng)絡(luò)的任何訓(xùn)練和推斷平臺。卷積層的壓縮神經(jīng)網(wǎng)絡(luò)的卷積層也可被壓縮。用于壓縮卷積層的辦法在一些方面類似于以上關(guān)于全連接層所描述的。例如,如同全連接層的情形,經(jīng)壓縮卷積層的權(quán)重矩陣可被選擇以使得經(jīng)壓縮層所達成的有效變換是對原始未壓縮卷積層所達成的變換的良好近似。然而,因全連接層與卷積層之間的架構(gòu)差異而存在一些差異。圖7是解說根據(jù)本公開的各方面的示例性卷積層的框圖。卷積層將n個輸入圖連接到m個輸出圖。每個圖可包括對應(yīng)于圖像的空間維度或音頻信號中的時頻維度等等的神經(jīng)元集合(例如,二維(2-d)網(wǎng)格或3-d圖)。例如,在一些方面,該神經(jīng)元集合可對應(yīng)于視頻數(shù)據(jù)或體素數(shù)據(jù)(例如,磁共振成像(mri)掃描)。該卷積層將卷積內(nèi)核wij應(yīng)用于第i個輸入圖xi,,并且將結(jié)果加至第j個輸出圖yj,,其中索引i從1到n,并且索引j從1到m。換言之,第j個輸出圖yj可被表達為:圖8a-b解說了根據(jù)本公開的各方面的卷積層的示例壓縮。參照圖8a-b,名為‘conv’的卷積層用兩個卷積層‘conv1’和‘conv2’代替。如以上關(guān)于全連接層所指出的,經(jīng)壓縮層(代替層)的數(shù)目不限于圖8b中所示的兩個,并且可根據(jù)設(shè)計偏好代替地使用任何數(shù)目的經(jīng)壓縮層。例如,圖9a-b解說了用三個卷積層‘conv1’、‘conv2’和‘conv3’代替‘conv’層的示例壓縮。在該情形(圖9b)中,居間層中的圖數(shù)目r1和r2可基于所達成的壓縮以及結(jié)果所得的經(jīng)壓縮網(wǎng)絡(luò)的性能來確定。用兩個卷積層代替圖8b中描述的經(jīng)壓縮網(wǎng)絡(luò)中的經(jīng)壓縮層‘conv1’和‘conv2’一起達成的有效變換可被表達為:其中bj為偏置項,并且zk為添加的神經(jīng)元層的激活向量,并且在此示例中r1=r。實質(zhì)上,原始網(wǎng)絡(luò)中的‘conv’層的權(quán)重矩陣wij在經(jīng)壓縮網(wǎng)絡(luò)中通過‘conv1’層的權(quán)重矩陣和‘conv2’層的權(quán)重矩陣近似為:為了確保經(jīng)壓縮卷積層的有效變換(式5)是原始卷積層的變換的緊密近似,經(jīng)壓縮層的權(quán)重矩陣可被選擇以使得減小或最小化近似誤差,該近似誤差可被指定為:再次,svd方法、交替最小化過程或類似方法可被用來確定減小或最小化式7的目標函數(shù)的經(jīng)壓縮層的權(quán)重矩陣。經(jīng)壓縮卷積層的內(nèi)核大小為了使式7中提及的近似誤差有意義,矩陣wij應(yīng)當(dāng)具有與矩陣相同的維度。出于此目的,經(jīng)壓縮卷積層‘conv1’和‘conv2’的內(nèi)核大小可被恰適地選擇。例如,如果kx×ky標示未壓縮‘conv’層的內(nèi)核大小,則經(jīng)壓縮卷積層‘conv1’和‘conv2’的內(nèi)核大小可被選擇為使得它們滿足:(k1x-1)+(k2x-1)=(kx-1)以及(8)(k1y-1)+(k2y-1)=(ky-1),其中k1x×k1y表示‘conv1’層的內(nèi)核大小,并且k2x×k2y表示‘conv2’層的內(nèi)核大小。因此,具有內(nèi)核大小kx×ky的卷積層可用分別具有內(nèi)核大小kx×ky和1×1的兩個卷積層來代替,或反之。此外,在一些方面,具有內(nèi)核大小kx×ky的卷積層可用分別具有內(nèi)核大小1×1、kx×ky和1×1的三個卷積層來代替。在一些方面,經(jīng)壓縮卷積層‘conv1’和‘conv2’的相應(yīng)內(nèi)核大小k1和k2可被選擇以滿足:k1+k2-1=k,(9)其中k是未壓縮卷積層‘conv’的內(nèi)核大小。下表1提供了不同的可能內(nèi)核大小k1和k2的示例,其中未壓縮卷積層‘conv’的內(nèi)核大小為k=5。k1k2k1+k2-1515425335245155表1用多個卷積層代替卷積層也可用不止兩個卷積層來代替。為了說明方便起見,假定l個卷積層被用來代替一個卷積層。那么,第l層的權(quán)重值wl被選擇為減小或最小化目標函數(shù)其中變量rl標示第l層的輸出圖的數(shù)目。再次,為了使目標函數(shù)有意義,第l層的內(nèi)核大小klx×kly可被選擇為使得它們滿足:(k1x-1)+(k2x-1)+…+(klx-1)=(kx-1)以及(11)(k1y-1)+(k2y-1)+…+(klx-1)=(ky-1)。相應(yīng)地,在一些方面,具有內(nèi)核大小kx×ky的卷積層用具有內(nèi)核大小k1x×k1y、k2x×k2y等的多個卷積層代替,以使得滿足性質(zhì)(k1x-1)+(k2x-1)+…=(kx-1)和(k1y-1)+(k2y-1)+…=(ky-1)。交替最小化過程在特殊情形中,其中經(jīng)壓縮卷積層之一具有內(nèi)核大小1×1,并且其它經(jīng)壓縮層具有與未壓縮層相同的內(nèi)核大小,則svd方法可被用來確定優(yōu)化例如在式7和式10中陳述的目標函數(shù)的經(jīng)壓縮權(quán)重矩陣。在一個方面,此特殊情形對應(yīng)于(k1x×k1y=1×1和k2x=k2y=kx×ky)或(k1x×k1y=kx×ky和k2x×k2y=1×1)。在一般情形中,其中經(jīng)壓縮層均不具有內(nèi)核大小1×1,則交替最小化方法可被用來確定優(yōu)化式7和式10的經(jīng)壓縮權(quán)重矩陣。交替最小化方法包括以下步驟:(1)用隨機值來初始化‘conv1’層的權(quán)重矩陣和‘conv2’層的權(quán)重矩陣(2)以交替方式求解每個經(jīng)壓縮層的權(quán)重:(a)固定‘conv2’層權(quán)重,并且求解最小化式7的‘conv1’層權(quán)重。(b)固定‘conv1’層權(quán)重,并且求解最小化式7的‘conv2’層權(quán)重。(3)重復(fù)步驟2直至收斂、或者達預(yù)定數(shù)目的迭代。步驟2a和2b可使用標準最小二乘法過程以閉合形式求解。注意,在使用svd方法或交替最小化方法確定經(jīng)壓縮權(quán)重之后,經(jīng)壓縮網(wǎng)絡(luò)可被微調(diào)以在一定程度上收回分類性能損耗。局部連接層的壓縮在卷積層中,貫穿輸入圖像圖應(yīng)用相同卷積內(nèi)核,而在局部連接層中,在不同空間位置應(yīng)用不同權(quán)重值。相應(yīng)地,關(guān)于卷積層解釋的壓縮辦法可通過在不同空間位置應(yīng)用壓縮方法(參見以上式4-11)來類似地應(yīng)用于局部連接層。設(shè)計參數(shù)的選擇壓縮中涉及的若干設(shè)計參數(shù)(例如,全連接層情形中居間神經(jīng)元的數(shù)目;卷積層情形中輸出圖的數(shù)目和內(nèi)核大小)可例如通過經(jīng)驗式地測量所達成的壓縮以及經(jīng)壓縮網(wǎng)絡(luò)的對應(yīng)功能性能來選擇。在一個示例中,居間層中的神經(jīng)元數(shù)目r可使用參數(shù)掃掠來選擇。r的值可以按16的增量從16掃掠到min(n,m)。對于每個值,可確定經(jīng)壓縮網(wǎng)絡(luò)對于驗證數(shù)據(jù)集合的分類準確度??蛇x擇分類準確度下降可接受(例如,低于閾值)的最低值r。在一些方面,可使用‘貪婪搜索’方法來確定設(shè)計參數(shù)。例如,這些層中展示最大壓縮希望的一個或多個層(例如,具有較大計算數(shù)目的層)可被壓縮。隨后可選擇性地壓縮供壓縮的附加層。在一些方面,可通過個體地壓縮每一層來確定良好的設(shè)計參數(shù)。例如,每一層可被壓縮到可能的最大程度,使得功能性能不降到低于閾值。對于每一層個體地學(xué)習(xí)的這些設(shè)計參數(shù)隨后可被用來將網(wǎng)絡(luò)中的多個層一起壓縮。在一起壓縮多個層之后,可通過更新經(jīng)壓縮層和未壓縮層中的權(quán)重值來微調(diào)網(wǎng)絡(luò)以收回功能性能下降。在一些方面,經(jīng)壓縮網(wǎng)絡(luò)可針對每個所確定的參數(shù)值(例如,r)進行微調(diào)或者可僅針對最終選擇的參數(shù)值進行微調(diào)。以下偽代碼提供了用于選擇壓縮參數(shù)的示例性啟發(fā)。對于每個全連接層:最大_秩=min(n,m)對于r=1:最大_秩壓縮所選擇的全連接層(留下其它層未壓縮)確定分類準確度選擇使得準確度下降低于閾值的最低r使用對應(yīng)的所選r值來壓縮所有全連接層微調(diào)經(jīng)壓縮網(wǎng)絡(luò)。在經(jīng)壓縮層之間插入非線性層在用多個層代替一層之后,經(jīng)壓縮層中的神經(jīng)元可配置有相同激活。然而,可在經(jīng)壓縮層之間添加非線性層以改善網(wǎng)絡(luò)的表示容量。此外,通過添加非線性層,可達成較高的功能性能。在一個示例性方面,可插入矯正器(rectifier)非線性。在此示例中,可使用max(0,x)非線性來向經(jīng)壓縮層的輸出激活應(yīng)用閾值,隨后將它們傳遞給下一層。在一些方面,矯正器非線性可以是矯正線性單元(relu)。也可使用其它種類的非線性,包括abs(x)、sigmoid(x)和雙曲正切(tanh(x))或諸如此類。在一些方面,可壓縮神經(jīng)網(wǎng)絡(luò)、可插入非線性層和/或可應(yīng)用微調(diào)。例如,可訓(xùn)練具有9×9卷積層的神經(jīng)網(wǎng)絡(luò)(例如,使用第一訓(xùn)練示例集合)。該9×9卷積層隨后可被壓縮,將其代替為兩個5×5卷積層??稍谶@兩個5×5卷積層之間添加非線性層??蓤?zhí)行微調(diào)。在一些方面,隨后可通過將每個5×5卷積層代替為兩個3×3卷積層來進一步壓縮該網(wǎng)絡(luò)。進一步,可在每個3×3卷積層之間添加非線性層。隨后可重復(fù)附加的微調(diào)和壓縮直至獲得期望性能。在以上示例中,與原始網(wǎng)絡(luò)相比,最終的經(jīng)壓縮網(wǎng)絡(luò)具有四個3×3卷積層及其間的非線性層,而非一個9×9卷積層。具有三個附加卷積層和非線性層的較深網(wǎng)絡(luò)可達成更佳的功能性能。圖10解說了用于壓縮神經(jīng)網(wǎng)絡(luò)的方法1000。在框1002,該過程用多個經(jīng)壓縮層代替神經(jīng)網(wǎng)絡(luò)中的一個或多個層以產(chǎn)生經(jīng)壓縮網(wǎng)絡(luò)。在一些方面,經(jīng)壓縮層具有與初始未壓縮網(wǎng)絡(luò)中的層相同的類型。例如,全連接層可由多個全連接層代替,并且卷積層可由多個卷積層代替。類似地,局部連接層可由多個局部連接層代替。在框1004,該過程在經(jīng)壓縮網(wǎng)絡(luò)的經(jīng)壓縮層之間插入非線性。在一些方面,該過程通過向經(jīng)壓縮層的神經(jīng)元應(yīng)用非線性激活函數(shù)來插入非線性。非線性激活函數(shù)可包括矯正器、絕對值函數(shù)、雙曲正切函數(shù)、sigmoid(s形)函數(shù)或其它非線性激活函數(shù)。此外,在框1006,該過程通過更新這些層中的至少一個層中的權(quán)重值來微調(diào)經(jīng)壓縮網(wǎng)絡(luò)??墒褂梅聪騻鞑セ蚱渌鼧藴蔬^程來執(zhí)行微調(diào)。可通過更新經(jīng)壓縮神經(jīng)網(wǎng)絡(luò)中的所有權(quán)重值或者通過更新經(jīng)壓縮層的子集、未壓縮層的子集、或兩者的混合來執(zhí)行微調(diào)??墒褂糜?xùn)練示例來執(zhí)行微調(diào)。該訓(xùn)練示例可以與用于教導(dǎo)原始神經(jīng)網(wǎng)絡(luò)的那些訓(xùn)練示例相同,或者可包括新的示例集合,或者為兩者的混合。在一些方面,訓(xùn)練示例可包括來自智能手機或其它移動設(shè)備的數(shù)據(jù),包括例如照片圖庫。在一些方面,該過程可進一步包括通過以下操作來初始化神經(jīng)網(wǎng)絡(luò):重復(fù)地應(yīng)用壓縮、插入非線性層、以及微調(diào)作為用于初始化較深神經(jīng)網(wǎng)絡(luò)的方法。圖11解說了用于壓縮神經(jīng)網(wǎng)絡(luò)的方法1100。在框1102,該過程用多個經(jīng)壓縮層代替神經(jīng)網(wǎng)絡(luò)中的至少一個層以產(chǎn)生經(jīng)壓縮網(wǎng)絡(luò),從而組合的經(jīng)壓縮層的感受野大小與未壓縮層的感受野相匹配。在一些方面,未壓縮層的內(nèi)核大小等于感受野大小。此外,在框1104,該過程通過更新這些經(jīng)壓縮層中的至少一個經(jīng)壓縮層中的權(quán)重值來微調(diào)經(jīng)壓縮網(wǎng)絡(luò)。圖12解說了用于壓縮神經(jīng)網(wǎng)絡(luò)的方法1200。在框1202,該過程用多個經(jīng)壓縮層代替神經(jīng)網(wǎng)絡(luò)中的一個或多個層以產(chǎn)生經(jīng)壓縮網(wǎng)絡(luò)。在一些方面,經(jīng)壓縮層具有與初始未壓縮網(wǎng)絡(luò)中的層相同的類型。例如,全連接層可由多個全連接層代替,并且卷積層可由多個卷積層代替。類似地,局部連接層可由多個局部連接層代替。此外,在框1204,該過程通過應(yīng)用交替最小化過程來確定該多個經(jīng)壓縮層的權(quán)重矩陣。在一些方面,該過程還通過更新這些經(jīng)壓縮層中的至少一個經(jīng)壓縮層中的權(quán)重值來微調(diào)經(jīng)壓縮網(wǎng)絡(luò)。可通過更新經(jīng)壓縮神經(jīng)網(wǎng)絡(luò)中的所有權(quán)重值或者通過更新經(jīng)壓縮層的子集、未壓縮層的子集、或兩者的混合來執(zhí)行微調(diào)??墒褂糜?xùn)練示例來執(zhí)行微調(diào)。該訓(xùn)練示例可以與用于教導(dǎo)原始神經(jīng)網(wǎng)絡(luò)的那些訓(xùn)練示例相同,或者可包括新的示例集合,或者為兩者的混合??稍趩蝹€階段中執(zhí)行微調(diào)或者可在多個階段中執(zhí)行微調(diào)。例如,當(dāng)在多個階段中執(zhí)行微調(diào)時,在第一階段,僅對經(jīng)壓縮層的子集執(zhí)行微調(diào)。隨后,在第二階段,針對經(jīng)壓縮層和未壓縮層的子集執(zhí)行微調(diào)。圖13解說了根據(jù)本公開的各方面的用于壓縮神經(jīng)網(wǎng)絡(luò)的方法1300。在框1302,該過程表征機器學(xué)習(xí)網(wǎng)絡(luò),諸如沿多個維度的神經(jīng)網(wǎng)絡(luò)。在一些方面,神經(jīng)網(wǎng)絡(luò)的任務(wù)性能(p)可被表征。如果神經(jīng)網(wǎng)絡(luò)是對象分類器,則任務(wù)性能可以是測試集合上被正確分類的對象的百分比。存儲器占用(m)和/或推斷時間(t)也可被表征。存儲器占用可以例如對應(yīng)于神經(jīng)網(wǎng)絡(luò)的權(quán)重和其它模型參數(shù)的存儲器存儲要求。推斷時間(t)可以是在新對象被呈現(xiàn)給神經(jīng)網(wǎng)絡(luò)之后在該新對象的分類期間逝去的時間。在框1304,該過程用多個經(jīng)壓縮層代替神經(jīng)網(wǎng)絡(luò)中的一個或多個層以產(chǎn)生經(jīng)壓縮網(wǎng)絡(luò)。在一些方面,經(jīng)壓縮層可具有與初始未壓縮網(wǎng)絡(luò)中的層相同的類型。例如,全連接層可由多個全連接層代替,并且卷積層可由多個卷積層代替。類似地,局部連接層可由多個局部連接層代替。在示例性配置中,該過程用第二層和第三層代替神經(jīng)網(wǎng)絡(luò)的第一層,以使得第三層的大小等于第一層的大小。在第三層被如此指定的情況下,經(jīng)壓縮神經(jīng)網(wǎng)絡(luò)的第三層的輸出可模仿第一層的輸出。該過程可進一步指定第二層的大小(其可被標示為(r)),以使得經(jīng)壓縮神經(jīng)網(wǎng)絡(luò)(其包括第二層和第三層)的組合存儲器占用小于未壓縮神經(jīng)網(wǎng)絡(luò)的存儲器占用(m)。作為存儲器占用減小的替換或補充,第二層的大小可被選擇以使得經(jīng)壓縮神經(jīng)網(wǎng)絡(luò)的推斷時間可以小于未壓縮神經(jīng)網(wǎng)絡(luò)的推斷時間(t)。在框1306,該過程初始化神經(jīng)網(wǎng)絡(luò)的代替層的參數(shù)。在一種示例性配置中,投射到經(jīng)壓縮神經(jīng)網(wǎng)絡(luò)的第二層的權(quán)重矩陣(w1)以及從第二層投射到經(jīng)壓縮神經(jīng)網(wǎng)絡(luò)的第三層的權(quán)重矩陣(w2)可被初始化為隨機值。在一些方面,權(quán)重參數(shù)的初始化可涉及交替最小化過程。在一些方面,參數(shù)的初始化可涉及奇異值分解。權(quán)重的初始設(shè)置可被稱為初始化,因為根據(jù)該方法的附加方面,權(quán)重可經(jīng)歷進一步修改。在框1308,該過程在經(jīng)壓縮網(wǎng)絡(luò)的經(jīng)壓縮層之間插入非線性。例如,該過程可在經(jīng)壓縮神經(jīng)網(wǎng)絡(luò)的第二層中插入非線性。在一些方面,該過程通過向經(jīng)壓縮層的神經(jīng)元應(yīng)用非線性激活函數(shù)來插入非線性。非線性激活函數(shù)可包括矯正器、絕對值函數(shù)、雙曲正切函數(shù)、sigmoid函數(shù)或其它非線性激活函數(shù)。在框1310,該過程通過更新這些層中的一個或多個層中的權(quán)重值來微調(diào)經(jīng)壓縮網(wǎng)絡(luò)??墒褂梅聪騻鞑セ蚱渌鼧藴蔬^程來執(zhí)行微調(diào)。可通過更新經(jīng)壓縮神經(jīng)網(wǎng)絡(luò)中的所有權(quán)重值或者通過更新經(jīng)壓縮層的子集、未壓縮層的子集、或兩者的混合來執(zhí)行微調(diào)??墒褂糜?xùn)練示例來執(zhí)行微調(diào)。該訓(xùn)練示例可以與用于教導(dǎo)原始神經(jīng)網(wǎng)絡(luò)的那些訓(xùn)練示例相同,或者可包括新的示例集合,或者為兩者的混合。在示例性配置中,可對經(jīng)壓縮神經(jīng)網(wǎng)絡(luò)的第二層和第三層執(zhí)行微調(diào)。進而,神經(jīng)網(wǎng)絡(luò)中的所有權(quán)重可在框1312被調(diào)整,從而可達成較高水平的任務(wù)性能。經(jīng)微調(diào)的經(jīng)壓縮神經(jīng)網(wǎng)絡(luò)可沿若干維度被表征,包括例如任務(wù)性能(p)。如果經(jīng)壓縮神經(jīng)網(wǎng)絡(luò)的任務(wù)性能高于可接受閾值,則該過程可終止。如果經(jīng)壓縮神經(jīng)網(wǎng)絡(luò)的任務(wù)性能低于可接受閾值(1314:否),則可在框1316增大(r)的值(其可以是經(jīng)壓縮神經(jīng)網(wǎng)絡(luò)中的層的大小)。否則(1314:是),該過程在框1318結(jié)束。(r)的新值可被選擇以使得存儲器占用(m)和/或推斷時間(t)小于未壓縮神經(jīng)網(wǎng)絡(luò)。初始化參數(shù)、插入非線性、微調(diào)和表征性能的步驟可被重復(fù)直至達到可接受任務(wù)性能。盡管方法1300描繪了經(jīng)壓縮層的大小(r)可從較小值增加到較大值直至獲得可接受任務(wù)性能的過程,但本公開并不被如此限定。根據(jù)本公開的各方面,(r)的值可初始被保守地選擇以使得經(jīng)壓縮神經(jīng)網(wǎng)絡(luò)的任務(wù)性能很可能獲得可接受任務(wù)性能。該方法由此可生成可代替未壓縮神經(jīng)網(wǎng)絡(luò)使用的經(jīng)壓縮神經(jīng)網(wǎng)絡(luò),從而可實現(xiàn)存儲器占用或推斷時間優(yōu)勢。該方法隨后可繼續(xù)以(r)的此類越來越小的值進行操作,直至不能獲得可接受任務(wù)性能。以此方式,該方法可在執(zhí)行該方法的過程期間提供越來越高的壓縮水平。以上所描述的方法的各種操作可由能夠執(zhí)行相應(yīng)功能的任何合適的裝置來執(zhí)行。這些裝置可包括各種硬件和/或軟件組件和/或模塊,包括但不限于電路、專用集成電路(asic)、或處理器。一般而言,在附圖中有解說的操作的場合,那些操作可具有帶相似編號的相應(yīng)配對裝置加功能組件。如本文所使用的,術(shù)語“確定”涵蓋各種各樣的動作。例如,“確定”可包括演算、計算、處理、推導(dǎo)、研究、查找(例如,在表、數(shù)據(jù)庫或其他數(shù)據(jù)結(jié)構(gòu)中查找)、探知及諸如此類。另外,“確定”可包括接收(例如接收信息)、訪問(例如訪問存儲器中的數(shù)據(jù))、及類似動作。而且,“確定”可包括解析、選擇、選取、確立及類似動作。如本文所使用的,引述一列項目中的“至少一個”的短語是指這些項目的任何組合,包括單個成員。作為示例,“a、b或c中的至少一者”旨在涵蓋:a、b、c、a-b、a-c、b-c、以及a-b-c。結(jié)合本公開所描述的各種解說性邏輯框、模塊、以及電路可用設(shè)計成執(zhí)行本文所描述功能的通用處理器、數(shù)字信號處理器(dsp)、專用集成電路(asic)、現(xiàn)場可編程門陣列信號(fpga)或其他可編程邏輯器件(pld)、分立的門或晶體管邏輯、分立的硬件組件或其任何組合來實現(xiàn)或執(zhí)行。通用處理器可以是微處理器,但在替換方案中,處理器可以是任何市售的處理器、控制器、微控制器、或狀態(tài)機。處理器還可以被實現(xiàn)為計算設(shè)備的組合,例如dsp與微處理器的組合、多個微處理器、與dsp核心協(xié)同的一個或多個微處理器、或任何其它此類配置。結(jié)合本公開所描述的方法或算法的步驟可直接在硬件中、在由處理器執(zhí)行的軟件模塊中、或在這兩者的組合中體現(xiàn)。軟件模塊可駐留在本領(lǐng)域所知的任何形式的存儲介質(zhì)中??墒褂玫拇鎯橘|(zhì)的一些示例包括隨機存取存儲器(ram)、只讀存儲器(rom)、閃存、可擦除可編程只讀存儲器(eprom)、電可擦除可編程只讀存儲器(eeprom)、寄存器、硬盤、可移動盤、cd-rom,等等。軟件模塊可包括單條指令、或許多條指令,且可分布在若干不同的代碼段上,分布在不同的程序間以及跨多個存儲介質(zhì)分布。存儲介質(zhì)可被耦合到處理器以使得該處理器能從/向該存儲介質(zhì)讀寫信息。替換地,存儲介質(zhì)可以被整合到處理器。本文所公開的方法包括用于實現(xiàn)所描述的方法的一個或多個步驟或動作。這些方法步驟和/或動作可以彼此互換而不會脫離權(quán)利要求的范圍。換言之,除非指定了步驟或動作的特定次序,否則具體步驟和/或動作的次序和/或使用可以改動而不會脫離權(quán)利要求的范圍。所描述的功能可在硬件、軟件、固件或其任何組合中實現(xiàn)。如果以硬件實現(xiàn),則示例硬件配置可包括設(shè)備中的處理系統(tǒng)。處理系統(tǒng)可以用總線架構(gòu)來實現(xiàn)。取決于處理系統(tǒng)的具體應(yīng)用和整體設(shè)計約束,總線可包括任何數(shù)目的互連總線和橋接器??偩€可將包括處理器、機器可讀介質(zhì)、以及總線接口的各種電路鏈接在一起??偩€接口可用于尤其將網(wǎng)絡(luò)適配器等經(jīng)由總線連接至處理系統(tǒng)。網(wǎng)絡(luò)適配器可用于實現(xiàn)信號處理功能。對于某些方面,用戶接口(例如,按鍵板、顯示器、鼠標、操縱桿,等等)也可以被連接到總線。總線還可以鏈接各種其他電路,諸如定時源、外圍設(shè)備、穩(wěn)壓器、功率管理電路以及類似電路,它們在本領(lǐng)域中是眾所周知的,因此將不再進一步描述。處理器可負責(zé)管理總線和一般處理,包括執(zhí)行存儲在機器可讀介質(zhì)上的軟件。處理器可用一個或多個通用和/或?qū)S锰幚砥鱽韺崿F(xiàn)。示例包括微處理器、微控制器、dsp處理器、以及其他能執(zhí)行軟件的電路系統(tǒng)。軟件應(yīng)當(dāng)被寬泛地解釋成意指指令、數(shù)據(jù)、或其任何組合,無論是被稱作軟件、固件、中間件、微代碼、硬件描述語言、或其他。作為示例,機器可讀介質(zhì)可包括隨機存取存儲器(ram)、閃存、只讀存儲器(rom)、可編程只讀存儲器(prom)、可擦式可編程只讀存儲器(eprom)、電可擦式可編程只讀存儲器(eeprom)、寄存器、磁盤、光盤、硬驅(qū)動器、或者任何其他合適的存儲介質(zhì)、或其任何組合。機器可讀介質(zhì)可被實施在計算機程序產(chǎn)品中。該計算機程序產(chǎn)品可以包括包裝材料。在硬件實現(xiàn)中,機器可讀介質(zhì)可以是處理系統(tǒng)中與處理器分開的一部分。然而,如本領(lǐng)域技術(shù)人員將容易領(lǐng)會的,機器可讀介質(zhì)或其任何部分可在處理系統(tǒng)外部。作為示例,機器可讀介質(zhì)可包括傳輸線、由數(shù)據(jù)調(diào)制的載波、和/或與設(shè)備分開的計算機產(chǎn)品,所有這些都可由處理器通過總線接口來訪問。替換地或補充地,機器可讀介質(zhì)或其任何部分可被集成到處理器中,諸如高速緩存和/或通用寄存器文件可能就是這種情形。雖然所討論的各種組件可被描述為具有特定位置,諸如局部組件,但它們也可按各種方式來配置,諸如某些組件被配置成分布式計算系統(tǒng)的一部分。處理系統(tǒng)可以被配置為通用處理系統(tǒng),該通用處理系統(tǒng)具有一個或多個提供處理器功能性的微處理器、以及提供機器可讀介質(zhì)中的至少一部分的外部存儲器,它們都通過外部總線架構(gòu)與其他支持電路系統(tǒng)鏈接在一起。替換地,該處理系統(tǒng)可以包括一個或多個神經(jīng)元形態(tài)處理器以用于實現(xiàn)本文所述的神經(jīng)元模型和神經(jīng)系統(tǒng)模型。作為另一替換方案,處理系統(tǒng)可以用帶有集成在單塊芯片中的處理器、總線接口、用戶接口、支持電路系統(tǒng)、和至少一部分機器可讀介質(zhì)的專用集成電路(asic)來實現(xiàn),或者用一個或多個現(xiàn)場可編程門陣列(fpga)、可編程邏輯器件(pld)、控制器、狀態(tài)機、門控邏輯、分立硬件組件、或者任何其他合適的電路系統(tǒng)、或者能執(zhí)行本公開通篇所描述的各種功能性的電路的任何組合來實現(xiàn)。取決于具體應(yīng)用和加諸于整體系統(tǒng)上的總設(shè)計約束,本領(lǐng)域技術(shù)人員將認識到如何最佳地實現(xiàn)關(guān)于處理系統(tǒng)所描述的功能性。機器可讀介質(zhì)可包括數(shù)個軟件模塊。這些軟件模塊包括當(dāng)由處理器執(zhí)行時使處理系統(tǒng)執(zhí)行各種功能的指令。這些軟件模塊可包括傳送模塊和接收模塊。每個軟件模塊可以駐留在單個存儲設(shè)備中或者跨多個存儲設(shè)備分布。作為示例,當(dāng)觸發(fā)事件發(fā)生時,可以從硬驅(qū)動器中將軟件模塊加載到ram中。在軟件模塊執(zhí)行期間,處理器可以將一些指令加載到高速緩存中以提高訪問速度。隨后可將一個或多個高速緩存行加載到通用寄存器文件中以供處理器執(zhí)行。在以下述及軟件模塊的功能性時,將理解此類功能性是在處理器執(zhí)行來自該軟件模塊的指令時由該處理器來實現(xiàn)的。此外,應(yīng)領(lǐng)會,本公開的各方面導(dǎo)致對實現(xiàn)此類方面的處理器、計算機、機器、或其它系統(tǒng)的機能的改進。如果以軟件實現(xiàn),則各功能可作為一條或多條指令或代碼存儲在計算機可讀介質(zhì)上或藉其進行傳送。計算機可讀介質(zhì)包括計算機存儲介質(zhì)和通信介質(zhì)兩者,這些介質(zhì)包括促成計算機程序從一地向另一地轉(zhuǎn)移的任何介質(zhì)。存儲介質(zhì)可以是能被計算機訪問的任何可用介質(zhì)。作為示例而非限定,此類計算機可讀介質(zhì)可包括ram、rom、eeprom、cd-rom或其他光盤存儲、磁盤存儲或其他磁存儲設(shè)備、或能用于攜帶或存儲指令或數(shù)據(jù)結(jié)構(gòu)形式的期望程序代碼且能被計算機訪問的任何其他介質(zhì)。另外,任何連接也被正當(dāng)?shù)胤Q為計算機可讀介質(zhì)。例如,如果軟件是使用同軸電纜、光纖電纜、雙絞線、數(shù)字訂戶線(dsl)、或無線技術(shù)(諸如紅外(ir)、無線電、以及微波)從web網(wǎng)站、服務(wù)器、或其他遠程源傳送而來,則該同軸電纜、光纖電纜、雙絞線、dsl或無線技術(shù)(諸如紅外、無線電、以及微波)就被包括在介質(zhì)的定義之中。如本文中所使用的盤(disk)和碟(disc)包括壓縮碟(cd)、激光碟、光碟、數(shù)字多用碟(dvd)、軟盤、和碟,其中盤(disk)常常磁性地再現(xiàn)數(shù)據(jù),而碟(disc)用激光來光學(xué)地再現(xiàn)數(shù)據(jù)。因此,在一些方面,計算機可讀介質(zhì)可包括非瞬態(tài)計算機可讀介質(zhì)(例如,有形介質(zhì))。另外,對于其他方面,計算機可讀介質(zhì)可包括瞬態(tài)計算機可讀介質(zhì)(例如,信號)。上述的組合應(yīng)當(dāng)也被包括在計算機可讀介質(zhì)的范圍內(nèi)。因此,某些方面可包括用于執(zhí)行本文中給出的操作的計算機程序產(chǎn)品。例如,此類計算機程序產(chǎn)品可包括其上存儲(和/或編碼)有指令的計算機可讀介質(zhì),這些指令能由一個或多個處理器執(zhí)行以執(zhí)行本文中所描述的操作。對于某些方面,計算機程序產(chǎn)品可包括包裝材料。此外,應(yīng)當(dāng)領(lǐng)會,用于執(zhí)行本文中所描述的方法和技術(shù)的模塊和/或其它恰適裝置能由用戶終端和/或基站在適用的場合下載和/或以其他方式獲得。例如,此類設(shè)備能被耦合至服務(wù)器以促成用于執(zhí)行本文中所描述的方法的裝置的轉(zhuǎn)移。替換地,本文所述的各種方法能經(jīng)由存儲裝置(例如,ram、rom、諸如壓縮碟(cd)或軟盤等物理存儲介質(zhì)等)來提供,以使得一旦將該存儲裝置耦合至或提供給用戶終端和/或基站,該設(shè)備就能獲得各種方法。此外,可利用適于向設(shè)備提供本文所描述的方法和技術(shù)的任何其他合適的技術(shù)。將理解,權(quán)利要求并不被限定于以上所解說的精確配置和組件??稍谝陨纤枋龅姆椒ê脱b置的布局、操作和細節(jié)上作出各種改動、更換和變形而不會脫離權(quán)利要求的范圍。當(dāng)前第1頁12