用于將值轉(zhuǎn)換成尖峰的方法
【專利摘要】一種用于在神經(jīng)網(wǎng)絡(luò)中傳送值的方法包括獲得參數(shù)值。該方法還包括基于由神經(jīng)元使用的至少一個(gè)值來(lái)編碼該參數(shù)值。該編碼基于要經(jīng)由尖峰通道被傳送的尖峰。
【專利說(shuō)明】用于將值轉(zhuǎn)換成尖峰的方法
[0001 ] 背景 [0002] 領(lǐng)域
[0003] 本公開的各方面一般涉及神經(jīng)系統(tǒng)工程,并且尤其涉及用于將值轉(zhuǎn)換成尖峰以供 在神經(jīng)網(wǎng)絡(luò)中傳輸?shù)南到y(tǒng)和方法。
【背景技術(shù)】
[0004] 可包括一群互連的人工神經(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)用中是 特別有用的。
[0005] 大型神經(jīng)模型的執(zhí)行可以跨越多個(gè)神經(jīng)處理器。在各個(gè)神經(jīng)處理器之間共享的信 息可能限于神經(jīng)尖峰。而且,該模型可以指定非尖峰值(例如,神經(jīng)元調(diào)制器)的使用以及要 跨神經(jīng)處理器同步的那些值以用于正確執(zhí)行。因而,期望提供神經(jīng)元形態(tài)機(jī)制以跨神經(jīng)網(wǎng) 絡(luò)的神經(jīng)處理器來(lái)同步各個(gè)值。
[0006] 概述
[0007] 在本公開的一方面,公開了一種用于在神經(jīng)網(wǎng)絡(luò)中傳送值的方法。該方法包括獲 得參數(shù)值以及基于由神經(jīng)元使用的至少一個(gè)值來(lái)編碼該參數(shù)值。該編碼基于要經(jīng)由尖峰通 道被傳送的尖峰。
[0008] 在本公開的另一方面,公開了一種用于在神經(jīng)網(wǎng)絡(luò)中接收參數(shù)值的方法。該方法 包括確定哪個(gè)神經(jīng)元將接收表示經(jīng)編碼值的尖峰。該方法還包括解碼尖峰以確定由神經(jīng)元 使用的參數(shù)值。
[0009] 在本公開的又一方面,公開了一種用于在神經(jīng)網(wǎng)絡(luò)中傳送值的裝置。該裝置包括 存儲(chǔ)器以及耦合至該存儲(chǔ)器的(諸)處理器。該處理器被配置成獲得參數(shù)值。該處理器還被 配置成基于由神經(jīng)元使用的值來(lái)編碼該參數(shù)值。該參數(shù)值的編碼基于要經(jīng)由尖峰通道被傳 送的尖峰。
[0010] 在本公開的又一方面,公開了一種用于在神經(jīng)網(wǎng)絡(luò)中接收參數(shù)值的裝置。該裝置 包括存儲(chǔ)器以及耦合至該存儲(chǔ)器的(諸)處理器。該處理器被配置成確定哪個(gè)神經(jīng)元將接收 表示經(jīng)編碼值的尖峰。該處理器被進(jìn)一步配置成解碼至少一個(gè)尖峰以確定由神經(jīng)元使用的 參數(shù)值。
[0011] 在本公開的又一方面,公開了一種用于在神經(jīng)網(wǎng)絡(luò)中傳送值的設(shè)備。該設(shè)備包括 用于獲得參數(shù)值的裝置。該設(shè)備還包括用于基于由神經(jīng)元使用的至少一個(gè)值來(lái)編碼該參數(shù) 值的裝置。該編碼基于要經(jīng)由尖峰通道被傳送的尖峰。
[0012] 在本公開的又一方面,公開了一種用于在神經(jīng)網(wǎng)絡(luò)中接收參數(shù)值的設(shè)備。該設(shè)備 包括用于確定哪個(gè)神經(jīng)元將接收表示經(jīng)編碼值的尖峰的裝置。該設(shè)備還包括用于解碼尖峰 以確定由神經(jīng)元使用的參數(shù)值的裝置。
[0013] 在本公開的一方面,公開了一種用于在神經(jīng)網(wǎng)絡(luò)中傳送值的計(jì)算機(jī)程序產(chǎn)品。該 計(jì)算機(jī)程序產(chǎn)品包括其上編碼有程序代碼的非瞬態(tài)計(jì)算機(jī)可讀介質(zhì)。該程序代碼包括用于 獲得參數(shù)值的程序代碼以及用于基于由神經(jīng)元使用的至少一個(gè)值來(lái)編碼該參數(shù)值的程序 代碼。該編碼基于要經(jīng)由尖峰通道被傳送的尖峰。
[0014] 在又一方面,公開了一種用于在神經(jīng)網(wǎng)絡(luò)中接收參數(shù)值的計(jì)算機(jī)程序產(chǎn)品。該計(jì) 算機(jī)程序產(chǎn)品包括其上編碼有程序代碼的非瞬態(tài)計(jì)算機(jī)可讀介質(zhì)。該程序代碼包括用于確 定哪個(gè)神經(jīng)元將接收表示經(jīng)編碼值的尖峰的程序代碼。該程序代碼還包括用于解碼尖峰以 確定由神經(jīng)元使用的參數(shù)值的程序代碼。
[0015] 這已較寬泛地勾勒出本公開的特征和技術(shù)優(yōu)勢(shì)以便下面的詳細(xì)描述可以被更好 地理解。本公開的附加特征和優(yōu)點(diǎn)將在下文描述。本領(lǐng)域技術(shù)人員應(yīng)該領(lǐng)會(huì),本公開可容易 地被用作修改或設(shè)計(jì)用于實(shí)施與本公開相同的目的的其他結(jié)構(gòu)的基礎(chǔ)。本領(lǐng)域技術(shù)人員還 應(yīng)認(rèn)識(shí)到,這樣的等效構(gòu)造并不脫離所附權(quán)利要求中所闡述的本公開的教導(dǎo)。被認(rèn)為是本 公開的特性的新穎特征在其組織和操作方法兩方面連同進(jìn)一步的目的和優(yōu)點(diǎn)在結(jié)合附圖 來(lái)考慮以下描述時(shí)將被更好地理解。然而,要清楚理解的是,提供每一幅附圖均僅用于解說(shuō) 和描述目的,且無(wú)意作為對(duì)本公開的限定的定義。
[0016] 附圖簡(jiǎn)述
[0017] 在結(jié)合附圖理解下面闡述的詳細(xì)描述時(shí),本公開的特征、本質(zhì)和優(yōu)點(diǎn)將變得更加 明顯,在附圖中,相同附圖標(biāo)記始終作相應(yīng)標(biāo)識(shí)。
[0018] 圖1解說(shuō)了根據(jù)本公開的某些方面的示例神經(jīng)元網(wǎng)絡(luò)。
[0019] 圖2解說(shuō)了根據(jù)本公開的某些方面的計(jì)算網(wǎng)絡(luò)(神經(jīng)系統(tǒng)或神經(jīng)網(wǎng)絡(luò))的處理單元 (神經(jīng)元)的示例。
[0020] 圖3解說(shuō)了根據(jù)本公開的某些方面的尖峰定時(shí)依賴可塑性(STDP)曲線的示例。
[0021] 圖4解說(shuō)了根據(jù)本公開的某些方面的用于定義神經(jīng)元模型的行為的正態(tài)相和負(fù)態(tài) 相的示例。
[0022]圖5是解說(shuō)根據(jù)本公開的各方面的用于在神經(jīng)網(wǎng)絡(luò)中的各神經(jīng)處理器之間同步值 的示例性系統(tǒng)架構(gòu)的高級(jí)框圖。
[0023]圖6是解說(shuō)根據(jù)本公開的各方面的用于在神經(jīng)網(wǎng)絡(luò)中的各神經(jīng)處理器之間同步值 的示例性系統(tǒng)架構(gòu)的高級(jí)框圖。
[0024] 圖7A是解說(shuō)根據(jù)本公開的各方面的用于編碼和解碼尖峰的示例性系統(tǒng)的高級(jí)框 圖。
[0025] 圖7B示出了解說(shuō)根據(jù)本公開的各方面的示例性編碼技術(shù)的一對(duì)圖表。
[0026]圖8解說(shuō)了根據(jù)本公開的某些方面的用于使用通用處理器來(lái)跨神經(jīng)網(wǎng)絡(luò)中的處理 塊同步值的方法的示例實(shí)現(xiàn)。
[0027]圖9解說(shuō)了根據(jù)本公開的某些方面的用于跨神經(jīng)網(wǎng)絡(luò)的處理塊同步值的示例實(shí) 現(xiàn)。
[0028]圖10解說(shuō)了根據(jù)本公開的某些方面的用于跨神經(jīng)網(wǎng)絡(luò)的處理塊同步值的上述方 法的示例實(shí)現(xiàn)。
[0029]圖11解說(shuō)了根據(jù)本公開的某些方面的用于將值轉(zhuǎn)換成尖峰以供在神經(jīng)網(wǎng)絡(luò)中傳 輸?shù)姆椒ā?br>[0030] 圖12解說(shuō)了根據(jù)本公開的某些方面的用于在神經(jīng)網(wǎng)絡(luò)中接收參數(shù)值的方法。
[0031] 圖13解說(shuō)了根據(jù)本公開的某些方面的神經(jīng)網(wǎng)絡(luò)的示例實(shí)現(xiàn)。
[0032] 詳細(xì)描述
[0033] 以下結(jié)合附圖闡述的詳細(xì)描述旨在作為各種配置的描述,而無(wú)意表示可實(shí)踐本文 中所描述的概念的僅有的配置。本詳細(xì)描述包括具體細(xì)節(jié)以便提供對(duì)各種概念的透徹理 解。然而,對(duì)于本領(lǐng)域技術(shù)人員將顯而易見(jiàn)的是,沒(méi)有這些具體細(xì)節(jié)也可實(shí)踐這些概念。在 一些實(shí)例中,以框圖形式示出眾所周知的結(jié)構(gòu)和組件以便避免淡化此類概念。
[0034] 基于本教導(dǎo),本領(lǐng)域技術(shù)人員應(yīng)領(lǐng)會(huì),本公開的范圍旨在覆蓋本公開的任何方面, 不論其是與本公開的任何其他方面相獨(dú)立地還是組合地實(shí)現(xiàn)的。例如,可以使用所闡述的 任何數(shù)目的方面來(lái)實(shí)現(xiàn)裝置或?qū)嵺`方法。另外,本公開的范圍旨在覆蓋使用作為所闡述的 本公開的各個(gè)方面的補(bǔ)充或者與之不同的其他結(jié)構(gòu)、功能性、或者結(jié)構(gòu)及功能性來(lái)實(shí)踐的 此類裝置或方法。應(yīng)當(dāng)理解,所披露的本公開的任何方面可由權(quán)利要求的一個(gè)或多個(gè)元素 來(lái)實(shí)施。
[0035]措辭"示例性"在本文中用于表示"用作示例、實(shí)例或解說(shuō)"。本文中描述為"示例 性"的任何方面不必被解釋為優(yōu)于或勝過(guò)其他方面。
[0036]盡管本文描述了特定方面,但這些方面的眾多變體和置換落在本公開的范圍之 內(nèi)。雖然提到了優(yōu)選方面的一些益處和優(yōu)點(diǎn),但本公開的范圍并非旨在被限定于特定益處、 用途或目標(biāo)。相反,本公開的各方面旨在能寬泛地應(yīng)用于不同的技術(shù)、系統(tǒng)配置、網(wǎng)絡(luò)和協(xié) 議,其中一些作為示例在附圖以及以下對(duì)優(yōu)選方面的描述中解說(shuō)。詳細(xì)描述和附圖僅僅解 說(shuō)本公開而非限定本公開,本公開的范圍由所附權(quán)利要求及其等效技術(shù)方案來(lái)定義。
[0037]示例神經(jīng)系統(tǒng)、訓(xùn)練及操作
[0038] 圖1解說(shuō)了根據(jù)本公開的某些方面的具有多級(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)元。
[0039] 如圖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ù)。此類行為可在硬件和/或軟件 (包括模擬和數(shù)字實(shí)現(xiàn),諸如以下所述那些實(shí)現(xiàn))中進(jìn)行仿真或模擬。
[0040] 在生物學(xué)神經(jīng)元中,在神經(jīng)元激發(fā)時(shí)生成的輸出尖峰被稱為動(dòng)作電位。該電信號(hào) 是相對(duì)迅速、瞬態(tài)的神經(jīng)脈沖,其具有約為100mV的振幅和約為lms的歷時(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)確定,如以下所解釋的。
[0041] 尖峰從一級(jí)神經(jīng)元向另一級(jí)神經(jīng)元的傳遞可通過(guò)突觸連接(或簡(jiǎn)稱"突觸")網(wǎng)絡(luò) 104來(lái)達(dá)成,如圖1中所解說(shuō)的。關(guān)于突觸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)重up 來(lái)按比例縮放那些信號(hào),其中Ρ是級(jí)102 的神經(jīng)元與級(jí)106的神經(jīng)元之間的突觸連接的總數(shù),并且i是神經(jīng)元級(jí)的指示符。例如,在圖 1的示例中,i表示神經(jīng)元級(jí)102并且i+Ι表示神經(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)元。
[0042] 生物學(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)興奮性或抑制性突觸的任何組合。
[0043] 神經(jīng)系統(tǒng)100可由通用處理器、數(shù)字信號(hào)處理器(DSP)、專用集成電路(ASIC)、現(xiàn)場(chǎng) 可編程門陣列(FPGA)或其他可編程邏輯器件(PLD)、分立的門或晶體管邏輯、分立的硬件組 件、由處理器執(zhí)行的軟件模塊、或其任何組合來(lái)仿真。神經(jīng)系統(tǒng)100可用在大范圍的應(yīng)用中, 諸如圖像和模式識(shí)別、機(jī)器學(xué)習(xí)、電機(jī)控制、及類似應(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)行積分的電容器。
[0044] 在一方面,電容器作為神經(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í)可行。
[0045] 對(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)處理器芯片分開的 外部芯片上。突觸權(quán)重存儲(chǔ)器可與神經(jīng)處理器芯片分開地封裝成可更換的存儲(chǔ)卡。這可向 神經(jīng)處理器提供多種多樣的功能性,其中特定功能性可基于當(dāng)前附連至神經(jīng)處理器的存儲(chǔ) 卡中所存儲(chǔ)的突觸權(quán)重。
[0046] 圖2解說(shuō)根據(jù)本公開的某些方面的計(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)這些輸入信號(hào) 可以是該神經(jīng)系統(tǒng)外部的信號(hào)、或是由同一神經(jīng)系統(tǒng)的其他神經(jīng)元所生成的信號(hào)、或這兩 者。輸入信號(hào)可以是實(shí)數(shù)值或復(fù)數(shù)值的電流、電導(dǎo)或電壓。輸入信號(hào)可包括具有定點(diǎn)或浮點(diǎn) 表示的數(shù)值??赏ㄟ^(guò)突觸連接將這些輸入信號(hào)遞送到神經(jīng)元202,突觸連接根據(jù)可調(diào)節(jié)突觸 權(quán)重206^206^1^??)對(duì)這些信號(hào)進(jìn)行按比例縮放,其中N可以是神經(jīng)元202的輸入連接總 數(shù)。
[0047]神經(jīng)元202可組合這些經(jīng)按比例縮放的輸入信號(hào),并且使用組合的經(jīng)按比例縮放 的輸入來(lái)生成輸出信號(hào)208(即,信號(hào)Y)。輸出信號(hào)208可以是實(shí)數(shù)值或復(fù)數(shù)值的電流、電導(dǎo) 或電壓。輸出信號(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)傳遞。
[0048]處理單元(神經(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ī)控制、及類似應(yīng)用等。
[0049] 在神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過(guò)程期間,突觸權(quán)重(例如,來(lái)自圖1的權(quán)重 和/或來(lái)自圖2的權(quán)重206:-2064可用隨機(jī)值來(lái)初始化并根據(jù)學(xué)習(xí)規(guī)則而被增大或減小。本 領(lǐng)域技術(shù)人員將領(lǐng)會(huì),學(xué)習(xí)規(guī)則的示例包括但不限于尖峰定時(shí)依賴可塑性(STDP)學(xué)習(xí)規(guī) 貝丨J、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ǔ)器讀取和寫入的速度、以及降低突觸存儲(chǔ)器的功率和/ 或處理器消耗。
[0050] 突觸類型
[0051 ]在神經(jīng)網(wǎng)絡(luò)的硬件和軟件模型中,突觸相關(guān)功能的處理可基于突觸類型。突觸類 型可包括非可塑突觸(對(duì)權(quán)重和延遲沒(méi)有改變)、可塑突觸(權(quán)重可改變)、結(jié)構(gòu)化延遲可塑 突觸(權(quán)重和延遲可改變)、全可塑突觸(權(quán)重、延遲和連通性可改變)、以及基于此的變型 (例如,延遲可改變,但在權(quán)重或連通性方面沒(méi)有改變)。此舉的優(yōu)點(diǎn)在于處理可以被細(xì)分。 例如,非可塑突觸不會(huì)要求執(zhí)行可塑性功能(或等待此類功能完成)。類似地,延遲和權(quán)重可 塑性可被細(xì)分成可一起或分開地、順序地或并行地運(yùn)作的操作。不同類型的突觸對(duì)于適用 的每一種不同的可塑性類型可具有不同的查找表或公式以及參數(shù)。因此,這些方法將針對(duì) 該突觸的類型來(lái)訪問(wèn)相關(guān)的表、公式或參數(shù)。
[0052]還進(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)重達(dá)到最大極限時(shí)不 改變。然而,具有獨(dú)立函數(shù)以使得這些過(guò)程能被并行化從而減少存儲(chǔ)器訪問(wèn)的次數(shù)和交疊 可能是有利的。
[0053]突觸可塑性的確定
[0054]神經(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)可塑性。
[0055] 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) 緊要的水平。
[0056] 由于神經(jīng)元一般在其許多輸入都在一短時(shí)段內(nèi)發(fā)生(即,累積到足以引起輸出)時(shí) 產(chǎn)生輸出尖峰,因此通常保留下來(lái)的輸入子集包括傾向于在時(shí)間上相關(guān)的那些輸入。另外, 由于在輸出尖峰之前發(fā)生的輸入被加強(qiáng),因此提供對(duì)相關(guān)性的最早充分累積指示的輸入將 最終變成至該神經(jīng)元的最后輸入。
[0057] STDP學(xué)習(xí)規(guī)則可因變于突觸前神經(jīng)元的尖峰時(shí)間tpre與突觸后神經(jīng)元的尖峰時(shí)間 tpcist之間的時(shí)間差(即,t = tpcist-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)重(即,抑壓該突觸)。
[0058]在STDP過(guò)程中,突觸權(quán)重隨時(shí)間推移的改變可通常使用指數(shù)衰退來(lái)達(dá)成,如由下 式給出的:
[0059] , (1)
[0060] 其中k+和k-TSign( Δ t)分別是針對(duì)正和負(fù)時(shí)間差的時(shí)間常數(shù),a+和a-是對(duì)應(yīng)的比 例縮放幅值,以及μ是可應(yīng)用于正時(shí)間差和/或負(fù)時(shí)間差的偏移。
[0061]圖3解說(shuō)根據(jù)STDP,突觸權(quán)重因變于突觸前尖峰(pre)和突觸后尖峰(post)的相對(duì) 定時(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。
[0062]如圖3中的曲線圖300中所解說(shuō)的,可向STDP曲線圖的LTP(因果性)部分302應(yīng)用負(fù) 偏移lx軸的交越點(diǎn)306(y = 0)可被配置成與最大時(shí)間滯后重合以考慮到來(lái)自層i-Ι的各因 果性輸入的相關(guān)性。在基于幀的輸入(即,呈特定歷時(shí)的包括尖峰或脈沖的幀的形式的輸 入)的情形中,可計(jì)算偏移值μ以反映幀邊界。該幀中的第一輸入尖峰(脈沖)可被視為隨時(shí) 間衰退,要么如直接由突觸后電位所建模地、要么以對(duì)神經(jīng)狀態(tài)的影響的形式而隨時(shí)間衰 退。如果該幀中的第二輸入尖峰(脈沖)被視為與特定時(shí)間幀關(guān)聯(lián)或相關(guān),則可通過(guò)偏移 STDP曲線的一個(gè)或多個(gè)部分以使得相關(guān)時(shí)間中的值可以不同(例如,對(duì)于大于一個(gè)幀為負(fù), 而對(duì)于小于一個(gè)幀為正)來(lái)使該幀之前和之后的相關(guān)時(shí)間在該時(shí)間幀邊界處被分開并在可 塑性方面被不同地對(duì)待。例如,負(fù)偏移μ可被設(shè)為偏移LTP以使得曲線實(shí)際上在大于幀時(shí)間 的pre-post時(shí)間處變得低于零并且它由此為L(zhǎng)TD而非LTP的一部分。
[0063]神經(jīng)元模型及操作
[0064]存在一些用于設(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)元模型。
[0065] 神經(jīng)元模型可取決于事件,諸如輸入抵達(dá)、輸出尖峰或其他事件,無(wú)論這些事件是 內(nèi)部的還是外部的。為了達(dá)成豐富的行為庫(kù),能展現(xiàn)復(fù)雜行為的狀態(tài)機(jī)可能是期望的。如果 事件本身的發(fā)生在撇開輸入貢獻(xiàn)(若有)的情況下能影響狀態(tài)機(jī)并約束在該事件之后的動(dòng) 態(tài),則該系統(tǒng)的將來(lái)狀態(tài)并非僅是狀態(tài)和輸入的函數(shù),而是狀態(tài)、事件和輸入的函數(shù)。
[0066] 在一方面,神經(jīng)元η可被建模為尖峰帶漏泄積分激發(fā)神經(jīng)元,其膜電壓vn(t)由以 下動(dòng)態(tài)來(lái)支配:
[0067] (2)
[0068] 其中α和β是參數(shù),Wm,n是將突觸前神經(jīng)元m連接至突觸后神經(jīng)元 n的突觸的突觸權(quán) 重,以及ym(t)是神經(jīng)元m的尖峰輸出,其可根據(jù)Δ ","被延遲達(dá)樹突或軸突延遲才抵達(dá)神經(jīng) 元η的胞體。
[0069] 應(yīng)注意,從建立了對(duì)突觸后神經(jīng)元的充分輸入的時(shí)間直至突觸后神經(jīng)元實(shí)際上激 發(fā)的時(shí)間之間存在延遲。在動(dòng)態(tài)尖峰發(fā)放神經(jīng)元模型(諸如Izhikevich簡(jiǎn)單模型)中,如果 在去極化閾值v t與峰值尖峰電壓^_之間有差量,則可引發(fā)時(shí)間延遲。例如,在該簡(jiǎn)單模型 中,神經(jīng)元胞體動(dòng)態(tài)可由關(guān)于電壓和恢復(fù)的微分方程對(duì)來(lái)管控,即:
[0070] … (3)
[0071]
(4)
[0072] 其中v是膜電位,u是膜恢復(fù)變量,k是描述膜電位v的時(shí)間尺度的參數(shù),a是描述恢 復(fù)變量u的時(shí)間尺度的參數(shù),b是描述恢復(fù)變量u對(duì)膜電位v的閾下波動(dòng)的敏感度的參數(shù),Vi· 是膜靜息電位,I是突觸電流,以及C是膜的電容。根據(jù)該模型,神經(jīng)元被定義為在v>vpeak時(shí) 發(fā)放尖峰。
[0073] Hunzinger Cold模型
[0074] 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í)間。
[0075] 如圖4中所示,該模型的動(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ǔ)特性。
[0076] 線性雙態(tài)相二維動(dòng)態(tài)(對(duì)于狀態(tài)v和u)可按照慣例定義為:
[0077]
[0078]
[0079] 其中qP和r是用于耦合的線性變換變量。
[0080] 符號(hào)p在本文中用于標(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)P。
[0081] 模型狀態(tài)由膜電位(電壓)v和恢復(fù)電流u來(lái)定義。在基本形式中,態(tài)相在本質(zhì)上是 由模型狀態(tài)來(lái)決定的。該精確和通用的定義存在一些細(xì)微卻重要的方面,但目前考慮該模 型在電壓v高于閾值(v+)的情況下處于正態(tài)相404中,否則處于負(fù)態(tài)相402中。
[0082] 態(tài)相相關(guān)時(shí)間常數(shù)包括負(fù)態(tài)相時(shí)間常數(shù)τ-和正態(tài)相時(shí)間常數(shù)τ+?;謴?fù)電流時(shí)間常 數(shù)^通常是與態(tài)相無(wú)關(guān)的。出于方便起見(jiàn),負(fù)態(tài)相時(shí)間常數(shù)τ_通常被指定為反映衰退的負(fù) 量,從而用于電壓演變的相同表達(dá)式可用于正態(tài)相,在正態(tài)相中指數(shù)和τ+將一般為正,正如 tu那樣。
[0083] 這兩個(gè)狀態(tài)元素的動(dòng)態(tài)可在發(fā)生事件之際通過(guò)使?fàn)顟B(tài)偏離其零傾線(nul Ιο 1 ine) 的變換來(lái)耦合 ,其中 變換變量為:
[0084] qP = -Tp0u-Vp (7)
[0085] Γ = δ(ν+ε) (8)
[0086] 其中δ、ε、β和V-、V+是參數(shù)。Vp的兩個(gè)值是這兩個(gè)態(tài)相的參考電壓的基數(shù)。參數(shù)v-是 負(fù)態(tài)相的基電壓,并且膜電位在負(fù)態(tài)相中一般將朝向V-衰退。參數(shù)v+是正態(tài)相的基電壓,并 且膜電位在正態(tài)相中一般將趨向于背離v+。
[0087] v和u的零傾線分別由變換變量qP和r的負(fù)數(shù)給出。參數(shù)δ是控制u零傾線的斜率的 比例縮放因子。參數(shù)ε通常被設(shè)為等于-V-。參數(shù)β是控制這兩個(gè)態(tài)相中的ν零傾線的斜率的 電阻值。τρ時(shí)間常數(shù)參數(shù)不僅控制指數(shù)式衰退,還單獨(dú)地控制每個(gè)態(tài)相中的零傾線斜率。
[0088] 該模型可被定義為在電壓ν達(dá)到值vs時(shí)發(fā)放尖峰。隨后,狀態(tài)可在發(fā)生復(fù)位事件 (其可以與尖峰事件完全相同)之際被復(fù)位:
[0089] ν = ν (9)
[0090] u = u+Au (10)
[0091] 其中和Δ u是參數(shù)。復(fù)位電壓兔通常被設(shè)為ν-。
[0092] 依照瞬時(shí)耦合的原理,閉合形式解不僅對(duì)于狀態(tài)是可能的(且具有單個(gè)指數(shù)項(xiàng)), 而且對(duì)于到達(dá)特定狀態(tài)所需的時(shí)間也是可能的。閉合形式狀態(tài)解為:
[0093]
[0094]
[0095] 因此,模型狀態(tài)可僅在發(fā)生事件之際被更新,諸如基于輸入(突觸前尖峰)或輸出 (突觸后尖峰)而被更新。還可在任何特定時(shí)間(無(wú)論是否有輸入或輸出)執(zhí)行操作。
[0096]而且,依照瞬時(shí)耦合原理,可以預(yù)計(jì)突觸后尖峰的時(shí)間,因此到達(dá)特定狀態(tài)的時(shí)間 可提前被確定而無(wú)需迭代技術(shù)或數(shù)值方法(例如,歐拉數(shù)值方法)。給定了先前電壓狀態(tài)νο, 直至到達(dá)電壓狀態(tài)Vf之前的時(shí)間延遲由下式給出:
[0097] (13)
[0098] 如果尖峰被定義為發(fā)生在電壓狀態(tài)ν到達(dá)vs的時(shí)間,則從電壓處于給定狀態(tài)ν的時(shí) 間起測(cè)量的直至發(fā)生尖峰前的時(shí)間量或即相對(duì)延遲的閉合形式解為:
[0099]
(14)
[0100] 其中I通常被設(shè)為參數(shù)v+,但其他變型可以是可能的。
[0101] 模型動(dòng)態(tài)的以上定義取決于該模型是在正態(tài)相還是負(fù)態(tài)相中。如所提及的,耦合 和態(tài)相P可基于事件來(lái)計(jì)算。出于狀態(tài)傳播的目的,態(tài)相和耦合(變換)變量可基于在上一 (先前)事件的時(shí)間的狀態(tài)來(lái)定義。出于隨后預(yù)計(jì)尖峰輸出時(shí)間的目的,態(tài)相和耦合變量可 基于在下一(當(dāng)前)事件的時(shí)間的狀態(tài)來(lái)定義。
[0102] 存在對(duì)該Cold模型、以及在時(shí)間上執(zhí)行模擬、仿真、或建模的若干可能實(shí)現(xiàn)。這包 括例如事件-更新、步階-事件更新、以及步階-更新模式。事件更新是其中基于事件或"事件 更新"(在特定時(shí)刻)來(lái)更新?tīng)顟B(tài)的更新。步階更新是以間隔(例如,lms)來(lái)更新模型的更新。 這不一定要求迭代方法或數(shù)值方法。通過(guò)僅在事件發(fā)生于步階處或步階間的情況下才更新 模型或即通過(guò)"步階-事件"更新,基于事件的實(shí)現(xiàn)以有限的時(shí)間分辨率在基于步階的模擬 器中實(shí)現(xiàn)也是可能的。
[0103] 跨神經(jīng)處理器的值同步
[0104] 本公開的各方面涉及在尖峰接口上同步神經(jīng)網(wǎng)絡(luò)中的值。圖5是解說(shuō)用于在神經(jīng) 網(wǎng)絡(luò)中的神經(jīng)處理器之間同步值的示例性系統(tǒng)架構(gòu)的高級(jí)框圖。系統(tǒng)架構(gòu)500包括可被單 獨(dú)利用或被組合利用以模仿神經(jīng)系統(tǒng)的神經(jīng)處理器502和522。此外,神經(jīng)處理器502和522 可以被包括在相同的處理芯片中或者可以在單獨(dú)的處理芯片中提供。為了簡(jiǎn)化解說(shuō)和說(shuō) 明,系統(tǒng)架構(gòu)500被示為包括兩個(gè)神經(jīng)處理器(502和522)。然而,這僅僅是示例性的,并且附 加的神經(jīng)處理器或處理塊可以被包括在系統(tǒng)架構(gòu)中以用于神經(jīng)網(wǎng)絡(luò)中的處理。
[0105] 神經(jīng)處理器502可包括值生成器(VG)504。值生成器504可被配置成生成值以與該 系統(tǒng)中的神經(jīng)元共享以用于對(duì)神經(jīng)元?jiǎng)討B(tài)進(jìn)行建模。在一些方面,該值可以是神經(jīng)元參數(shù)、 突觸權(quán)重或延遲值、或以供在模仿神經(jīng)系統(tǒng)中使用的其它值或?qū)傩?。例如,該值可?duì)應(yīng)于神 經(jīng)元調(diào)制器值,諸如要跨神經(jīng)網(wǎng)絡(luò)被應(yīng)用于神經(jīng)元的共用多巴胺值。在又一示例中,該值可 對(duì)應(yīng)于已經(jīng)激發(fā)的一個(gè)或多個(gè)神經(jīng)元(例如,508)的標(biāo)識(shí)信息。在一些方面,該值可進(jìn)一步 包括定時(shí)信息例如以指示特定神經(jīng)元激發(fā)的時(shí)間(τ)或要由神經(jīng)元應(yīng)用或消耗值的定時(shí)。 可能針對(duì)每一處理塊502、522存在一個(gè)值生成器504、524 (如圖所示),或者可能針對(duì)每一處 理器塊502、522存在多個(gè)值生成器504、524。例如,可能針對(duì)每一神經(jīng)元508、528存在一個(gè)值 生成器504、524,或者甚至可能針對(duì)每一處理塊502、522內(nèi)的每一神經(jīng)元類型或神經(jīng)元群集 存在一個(gè)值生成器504、524。
[0106] 值生成器504可被配置成基于例如神經(jīng)性質(zhì)(諸如尖峰或其它屬性(例如,突觸權(quán) 重和/或延遲))來(lái)執(zhí)行值計(jì)算以生成值。在一些方面,神經(jīng)元508可以向值生成器504發(fā)送尖 峰以影響值計(jì)算。附加地,神經(jīng)系統(tǒng)中的遠(yuǎn)程處理器(例如,522)的神經(jīng)元也可向值生成器 504發(fā)送尖峰以影響值計(jì)算。此外,盡管圖5僅在處理塊中示出了一個(gè)值生成器,但這僅僅是 示例性的,并且神經(jīng)處理器502(以及神經(jīng)處理器522)可被配置有附加的值生成器。例如,神 經(jīng)處理器502、522可被配置有針對(duì)每一神經(jīng)元或神經(jīng)元類型的值生成器。
[0107] 神經(jīng)處理器502還可包括值神經(jīng)元(VN) 506a、506b、506c (統(tǒng)稱為值神經(jīng)元506)。值 神經(jīng)元506可被配置成生成尖峰。尖峰類似于二進(jìn)制值。即,它們要么打開要么關(guān)閉。在一些 方面,值神經(jīng)元506生成與由值生成器504生成的值相對(duì)應(yīng)的尖峰。即,值神經(jīng)元506可以基 于尖峰協(xié)議產(chǎn)生用由值生成器504生成的值來(lái)編碼的輸出尖峰。例如,值神經(jīng)元506可以使 用尖峰間區(qū)間(ISI)、二進(jìn)制編碼或用于生成尖峰的其它協(xié)議來(lái)編碼尖峰。
[0108] 在一些方面,值神經(jīng)元506中的一者或多者可被用于管理要與神經(jīng)網(wǎng)絡(luò)中的其它 神經(jīng)元共享的值。例如,值神經(jīng)元506中的一者或多者可以監(jiān)視神經(jīng)元508使用的值(例如, 共用多巴胺值)。如果對(duì)該值作出調(diào)整,則值神經(jīng)元506可被用于更新其它神經(jīng)元(例如, 528)以關(guān)于該改變來(lái)利用該值。
[0109] 神經(jīng)處理器502可進(jìn)一步包括一個(gè)或多個(gè)神經(jīng)元508a、508b(其可被統(tǒng)稱為神經(jīng)元 508)。神經(jīng)元508可以接收尖峰輸入并且消耗值以對(duì)神經(jīng)網(wǎng)絡(luò)中的神經(jīng)元行為或動(dòng)態(tài)的各 方面進(jìn)行建模。進(jìn)而,神經(jīng)元508可以輸出尖峰以影響神經(jīng)網(wǎng)絡(luò)中的其它神經(jīng)元。在一些方 面,神經(jīng)元508還可以向值神經(jīng)元506發(fā)送尖峰以調(diào)節(jié)值生成器504。例如,神經(jīng)元508可以向 值神經(jīng)元506發(fā)送尖峰以影響(例如,延遲)值生成。圖5中示出的神經(jīng)元508還可表示神經(jīng)元 類型而非個(gè)體神經(jīng)元。
[0110] 神經(jīng)處理器502可被配置成經(jīng)由接口(未示出)向/從神經(jīng)網(wǎng)絡(luò)中的遠(yuǎn)程神經(jīng)處理 器(例如,522)傳送信息和接收信息。在一些配置中,該接口可包括如圖1中所解說(shuō)的突觸網(wǎng) 絡(luò)。在一些方面,該接口可被配置成僅傳送和接收尖峰。在此類配置中,由值生成器504生成 的標(biāo)量值無(wú)法被直接傳送到遠(yuǎn)程神經(jīng)處理器(例如,522)。然而,因?yàn)榧夥蹇梢越?jīng)由該接口 被傳送,所以關(guān)于由值生成器504生成的值的信息可以用由值神經(jīng)元506產(chǎn)生的尖峰的形式 被傳遞到遠(yuǎn)程處理器。即,神經(jīng)處理器502可以通過(guò)使用值神經(jīng)元506將值編碼成尖峰并且 將尖峰傳送到遠(yuǎn)程神經(jīng)處理器522來(lái)與遠(yuǎn)程神經(jīng)處理器(例如,522)共享由值生成器504生 成的值。
[0111] 為了接收從神經(jīng)處理器502傳送的尖峰,神經(jīng)處理器522可包括代理神經(jīng)元(P) 526a、526b和526c(統(tǒng)稱為代理神經(jīng)元526)。代理神經(jīng)元526可被配置成從值神經(jīng)元(例如, 506)接收尖峰。代理神經(jīng)元506可以將尖峰和/或其它性質(zhì)(例如,神經(jīng)元狀態(tài))提供給值生 成器524。為此,在一些方面,代理神經(jīng)元526可以驅(qū)動(dòng)值生成器524基于收到尖峰在遠(yuǎn)程神 經(jīng)處理器522上生成值。
[0112] 值生成器524可進(jìn)而執(zhí)行值計(jì)算以基于收到尖峰和/或其它性質(zhì)來(lái)生成值。在一些 方面,值生成器524可被配置成執(zhí)行值計(jì)算以生成值,從而使得該值與由值生成器504生成 的第一值同步。此外,在一些方面,值生成器524可被配置成生成與由值生成器504生成的相 同的值。
[0113] 神經(jīng)元528a、528b、528c中的一者或多者(可被統(tǒng)稱為神經(jīng)元528)可以消耗由值生 成器524生成的值以進(jìn)一步對(duì)神經(jīng)網(wǎng)絡(luò)中的神經(jīng)元行為或動(dòng)態(tài)的各方面進(jìn)行建模。
[0114] 在一些方面,神經(jīng)處理器522可以訪問(wèn)連通性查找表以確定由值生成器524生成的 值的路由。連通性查找表可以提供所生成的值的源和目的地信息。即,連通性查找表可以標(biāo) 識(shí)要消耗特定值的神經(jīng)元。
[0115] 在一些方面,連通性查找表可被用于確定經(jīng)由值生成器(例如,504、524)生成的值 的路由。連通性查找表可包括源和目的地信息,并且可被用于確定哪些神經(jīng)元(例如,508、 528)要接收所生成的值。例如,當(dāng)由值生成器524生成的值標(biāo)識(shí)已經(jīng)激發(fā)的突觸前神經(jīng)元 時(shí),連通性查找表可被用于確定要從激發(fā)的該突觸前神經(jīng)元接收貢獻(xiàn)的神經(jīng)元528。在另一 示例中,當(dāng)由值生成器524生成的值對(duì)應(yīng)于共享神經(jīng)元調(diào)制器值(例如,共用多巴胺值)時(shí), 連通性表可指示要消耗所生成的值的神經(jīng)元528。
[0116] 附加地,在一些情形中,神經(jīng)元508和528可以向值神經(jīng)元(506)發(fā)送尖峰以調(diào)節(jié)由 值生成器(504)生成的值。在其它情形中,神經(jīng)元508和528可以向代理神經(jīng)元526發(fā)送尖峰 以調(diào)節(jié)由值生成器524生成的值。
[0117] 圖6是解說(shuō)用于在神經(jīng)網(wǎng)絡(luò)中的神經(jīng)處理器之間同步值的示例性系統(tǒng)架構(gòu)的高級(jí) 框圖。如圖6所示,神經(jīng)處理器502可被配置有附加的代理神經(jīng)元616a、616b和616c(統(tǒng)稱為 代理神經(jīng)元616)。代理神經(jīng)元616可以被定義在第一神經(jīng)處理器502的值神經(jīng)元(506)與值 生成器(504)之間。在一些方面,代理神經(jīng)元616可被用于復(fù)制在將尖峰從第一神經(jīng)處理器 502傳送到第二神經(jīng)處理器522時(shí)所生成的延遲。
[0118] 此外,神經(jīng)處理器502可被配置有延遲生成器626。如圖6所解說(shuō)的,延遲生成器626 可被定義在神經(jīng)處理器502之內(nèi)。然而,這僅僅是示例性的,并且延遲生成器626可被包括在 神經(jīng)處理器502的其它組件中或者可以作為單獨(dú)組件來(lái)提供。在一些方面,延遲生成器626 可被用于復(fù)制在將尖峰從神經(jīng)處理器502傳送到第二神經(jīng)處理器522時(shí)所生成的延遲。該延 遲可以近似處理器502、522之間的延遲,或者可包括某種填充從而被近似的延遲長(zhǎng)于實(shí)際 延遲。在一些配置中,神經(jīng)處理器522還可被配置有延遲生成器以復(fù)制在將尖峰從神經(jīng)處理 器522傳送到神經(jīng)處理器502時(shí)所生成的延遲。
[0119] 此外,在一些配置中,第一神經(jīng)處理器502的值神經(jīng)元506可以傳送特定尖峰序列 以重置第二神經(jīng)處理器522。
[0120] 遠(yuǎn)程神經(jīng)處理器522上的神經(jīng)元可以訪問(wèn)從第一神經(jīng)處理器502提供的值。因而, 神經(jīng)處理器502中生成的值可以被認(rèn)為與遠(yuǎn)程神經(jīng)處理器522中生成的值同步。
[0121] 圖7A是解說(shuō)用于編碼和解碼尖峰的示例性系統(tǒng)的高級(jí)框圖。如上所討論的,值神 經(jīng)元506可以監(jiān)視或管理要跨神經(jīng)網(wǎng)絡(luò)與神經(jīng)元共享的值VI。在一些方面,值VI可以提供對(duì) 在特定時(shí)間發(fā)放尖峰的神經(jīng)元的指示。值VI還可以是要跨神經(jīng)網(wǎng)絡(luò)與神經(jīng)元共享的值,諸 如神經(jīng)元調(diào)制器值(例如,共用多巴胺值)。
[0122] 在圖7A的示例中,值神經(jīng)元506管理值VI。當(dāng)值VI要跨神經(jīng)網(wǎng)絡(luò)與神經(jīng)元共享時(shí), 值神經(jīng)元506可被用于將值VI轉(zhuǎn)換成尖峰以供跨塊間接口 712進(jìn)行傳輸。在一些方面,塊間 接口 712可被配置成使得僅尖峰可經(jīng)由該接口被傳達(dá),并且可以是例如突觸網(wǎng)絡(luò)。此外,塊 間接口 712可被配置成作為神經(jīng)處理器之間的尖峰通道來(lái)操作。
[0123] 在一些方面,該值可被劃分成一個(gè)或多個(gè)分量部分。例如,值VI可以被劃分成其最 高有效位和最低有效位。在另一示例中,值VI可以被劃分成預(yù)定義數(shù)目的部分(例如,1/2的 位、1/3的位等)。
[0124] 值神經(jīng)元506可以基于尖峰協(xié)議生成用值VI來(lái)編碼的尖峰。尖峰協(xié)議可以采用編 碼方案,諸如舉例來(lái)說(shuō)絕對(duì)等待時(shí)間編碼、相對(duì)等待時(shí)間編碼、速率編碼、ISI(尖峰間區(qū)間) 編碼、二進(jìn)制編碼等。
[0125] 在絕對(duì)等待時(shí)間編碼中,該值可基于特定神經(jīng)元或特定神經(jīng)元集的尖峰事件之間 的時(shí)間來(lái)被編碼。例如,為了編碼值8,8ms延遲可被包括在神經(jīng)元的尖峰事件之間。在一些 方面,該值還可被縮放以生成經(jīng)編碼值。此外,在一些方面,經(jīng)編碼值可以是絕對(duì)等待時(shí)間 值的函數(shù)。
[0126] 在相對(duì)等待時(shí)間編碼中,該值可根據(jù)多個(gè)神經(jīng)元的尖峰之間的區(qū)間來(lái)被編碼。例 如,在神經(jīng)元Λ在時(shí)間t發(fā)放尖峰而神經(jīng)元N2在時(shí)間t 2發(fā)放尖峰的情況下,該值可以被表示 為時(shí)間差t2_tl。
[0127] 在速率編碼中,該值可根據(jù)在特定區(qū)間內(nèi)出現(xiàn)的尖峰數(shù)目來(lái)表示。例如,可以針對(duì) 10ms區(qū)間對(duì)尖峰進(jìn)行采樣,其中經(jīng)編碼值對(duì)應(yīng)于在該10ms時(shí)段期間出現(xiàn)的尖峰數(shù)目。在一 些方面,該值可基于一個(gè)神經(jīng)元的尖峰發(fā)放速率或多個(gè)神經(jīng)元的尖峰發(fā)放速率來(lái)被編碼。
[0128] 上述編碼方案僅僅是示例性的,并且在一些方面,尖峰協(xié)議可以采用尖峰間區(qū)間 (ISI)編碼、二進(jìn)制編碼、或用于生成用值VI來(lái)編碼的尖峰的其它編碼方案。
[0129] 指示發(fā)放尖峰的一個(gè)或多個(gè)特定神經(jīng)元的連通性信息也可被包括在經(jīng)由值神經(jīng) 元傳送的尖峰中。連通性信息可被用于將被編碼為尖峰并且作為尖峰來(lái)傳送的值路由到遠(yuǎn) 程神經(jīng)處理器(例如,522)中的神經(jīng)元。在一些方面,連通性信息可包括標(biāo)識(shí)發(fā)放尖峰的一 個(gè)或多個(gè)神經(jīng)元(即,源神經(jīng)元)的索引。連通性信息可進(jìn)一步包括基于發(fā)放尖峰的神經(jīng)元 來(lái)標(biāo)識(shí)要接收貢獻(xiàn)的一個(gè)或多個(gè)神經(jīng)元的目的地信息。
[0130] 代理神經(jīng)元526接收從處理塊502發(fā)送的尖峰。在一些方面,尖峰可以由附加接收 方神經(jīng)元接收以提供冗余性從而從尖峰傳輸問(wèn)題(例如,尖峰丟失)中進(jìn)行恢復(fù)。例如,在一 些方面,經(jīng)由值神經(jīng)元506a傳送的尖峰序列可以經(jīng)由多個(gè)代理神經(jīng)元(例如,526a、526b和/ 或526c)來(lái)接收。在又一示例中,尖峰序列經(jīng)由神經(jīng)處理器522的代理神經(jīng)元526和神經(jīng)元 528來(lái)接收。
[0131] 代理神經(jīng)元526接著將尖峰(其對(duì)應(yīng)于第一值或其分量)提供給值生成器524,值生 成器524解碼這些尖峰并且生成第二值V2。在一些方面,值生成器524可被配置成解碼基于 由值神經(jīng)元506采用的尖峰協(xié)議來(lái)編碼的尖峰。因?yàn)榧夥蹇梢杂枚〞r(shí)信息來(lái)編碼,所以可以 生成第二值V2以使得第二值V2與第一值VI同步。在一些方面,第二值V2與第一值VI相同或 相等。
[0132] 在一些方面,連通性查找表可被用于確定所生成的值的路由。連通性查找表可包 括源和目的地信息,并且可被用于確定神經(jīng)處理器522的哪些神經(jīng)元要接收由值生成器524 所生成的值。例如,當(dāng)由值生成器524生成的值包括標(biāo)識(shí)已經(jīng)激發(fā)的一個(gè)或多個(gè)突觸前神經(jīng) 元的索引時(shí),連通性查找表可被用于確定要從激發(fā)的突觸前神經(jīng)元接收貢獻(xiàn)的神經(jīng)元528 (圖5和6)。在另一示例中,當(dāng)由值生成器524生成的值對(duì)應(yīng)于共享神經(jīng)元調(diào)制器值(例如,共 用多巴胺值)時(shí),連通性表可指示要消耗所生成的值的神經(jīng)元528。
[0133] 圖7B示出了解說(shuō)根據(jù)本公開的各方面的示例性編碼技術(shù)的一對(duì)圖表750和760。參 考圖7B,圖表750解說(shuō)了基于尖峰間區(qū)間來(lái)編碼值的示例。即,尖峰序列可被配置成根據(jù)神 經(jīng)元的尖峰事件之間的時(shí)步數(shù)目來(lái)表示值信息。如圖表750中所示,提供跡線755以對(duì)應(yīng)于 基于神經(jīng)元Λ在時(shí)步時(shí)段上的尖峰758之間的區(qū)間的值。在一些方面,經(jīng)編碼的值針對(duì)沒(méi)有 尖峰事件的每一時(shí)步而增加。例如,在圖表755中,在神經(jīng)元他的第一尖峰事件之前存在兩 個(gè)時(shí)間周期,因而,針對(duì)Λ示出的尖峰序列可以表示第一時(shí)步處的值1和第二時(shí)步處的值2。 在第三、第四和第五時(shí)步處,延遲增加,從而值增加。在第六時(shí)步處以及之后,神經(jīng)元見(jiàn)的尖 峰之間的延遲僅僅為一個(gè)時(shí)間周期,從而經(jīng)編碼值返回至1。
[0134] 另一方面,圖表760解說(shuō)了二進(jìn)制編碼辦法,其中值765可以在每一時(shí)步處基于是 否發(fā)生尖峰事件來(lái)被表示。例如,No表示1,Νι表示2,Ν2表示4,而Ν3表示8。因而,在第一時(shí)步 處,值13(8+4+1)被編碼。在下一時(shí)步處,值7(4+2+1)被編碼,并且以此類推。
[0135] 圖8解說(shuō)了根據(jù)本公開的某些方面的用于使用通用處理器802將值轉(zhuǎn)換成神經(jīng)網(wǎng) 絡(luò)中的尖峰的前述方法的示例實(shí)現(xiàn)800。與計(jì)算網(wǎng)絡(luò)(神經(jīng)網(wǎng)絡(luò))相關(guān)聯(lián)的變量(神經(jīng)信號(hào))、 突觸權(quán)重和系統(tǒng)參數(shù)可被存儲(chǔ)在存儲(chǔ)器塊804中,而在通用處理器802處執(zhí)行的指令可從程 序存儲(chǔ)器806中加載。在本公開的一方面,加載到通用處理器802中的指令可包括用于將值 轉(zhuǎn)換成神經(jīng)網(wǎng)絡(luò)中的尖峰的代碼。例如,在一些配置中,通用處理器802可包括用于獲得參 數(shù)值的代碼。此外,在示例性配置中,通用處理器802可進(jìn)一步包括用于至少部分地基于由 神經(jīng)元使用的值來(lái)編碼參數(shù)值的代碼。
[0136] 在另一示例性配置中,通用處理器802可包括用于確定要接收表示經(jīng)編碼值的尖 峰的神經(jīng)元的代碼。此外,在這一示例性配置中,通用處理器802可進(jìn)一步包括用于解碼尖 峰以確定要被神經(jīng)元使用的參數(shù)值的代碼。
[0137] 圖9解說(shuō)根據(jù)本公開的某些方面的用于將值轉(zhuǎn)換成尖峰以供在神經(jīng)網(wǎng)絡(luò)中傳輸?shù)?上述方法的示例實(shí)現(xiàn)900,其中存儲(chǔ)器902可經(jīng)由互連網(wǎng)絡(luò)904與計(jì)算網(wǎng)絡(luò)(神經(jīng)網(wǎng)絡(luò))的個(gè) 體(分布式)處理單元(神經(jīng)處理器)9061···906Ν對(duì)接。與計(jì)算網(wǎng)絡(luò)(神經(jīng)網(wǎng)絡(luò))相關(guān)聯(lián)的變量 (神經(jīng)信號(hào))、突觸權(quán)重和系統(tǒng)參數(shù)可被存儲(chǔ)在存儲(chǔ)器902中,并且可從存儲(chǔ)器902經(jīng)由互連 網(wǎng)絡(luò)904的連接被加載到每個(gè)處理單元(神經(jīng)處理器)906中。在一些方面,經(jīng)由處理塊生成 的值以及連通性信息也可被存儲(chǔ)在存儲(chǔ)器902中并且從中被加載以供進(jìn)一步處理。在本公 開的一方面,處理單元906可被配置成將值轉(zhuǎn)換成尖峰。例如,在一些配置中,處理單元906 可被配置成獲得參數(shù)值。另外,示例性配置的處理單元906可被進(jìn)一步配置成至少部分地基 于由神經(jīng)元使用的值來(lái)編碼參數(shù)值。
[0138] 在另一示例性配置中,處理單元906可被配置成確定要接收表示經(jīng)編碼值的尖峰 的神經(jīng)元。此外,在這一示例性配置中,處理單元906可被進(jìn)一步配置成解碼尖峰以確定要 被神經(jīng)元使用的參數(shù)值。
[0139] 圖10解說(shuō)了用于將值轉(zhuǎn)換成尖峰以供在神經(jīng)網(wǎng)絡(luò)中傳輸?shù)那笆龇椒ǖ氖纠龑?shí)現(xiàn) 1000。如圖10中所解說(shuō)的,一個(gè)存儲(chǔ)器組1002可與計(jì)算網(wǎng)絡(luò)(神經(jīng)網(wǎng)絡(luò))的一個(gè)處理單元 1004直接對(duì)接。每個(gè)存儲(chǔ)器組1002可存儲(chǔ)與相應(yīng)處理單元(神經(jīng)處理器)1004相關(guān)聯(lián)的變量 (神經(jīng)信號(hào))、突觸權(quán)重和系統(tǒng)參數(shù)。在一些方面,經(jīng)由處理塊生成的值也可被存儲(chǔ)在存儲(chǔ)器 1002中并且從中被加載以供進(jìn)一步處理。此外,在一些方面,連通性信息可被存儲(chǔ)在存儲(chǔ)器 1002中。在本公開的一方面,處理單元1004可被配置成將值轉(zhuǎn)換成尖峰。
[0140] 圖11解說(shuō)了根據(jù)本公開的某些方面的用于將值轉(zhuǎn)換成尖峰以供在神經(jīng)網(wǎng)絡(luò)中傳 輸?shù)姆椒?。在?102,神經(jīng)元模型獲得參數(shù)值。此外,在框1104中,神經(jīng)元模型至少部分地基 于由神經(jīng)元使用的值來(lái)編碼參數(shù)值。
[0141] 圖12解說(shuō)了根據(jù)本公開的某些方面的用于在神經(jīng)網(wǎng)絡(luò)中接收參數(shù)值的方法。在框 1202,神經(jīng)元模型確定要接收表示經(jīng)編碼值的尖峰的神經(jīng)元。此外,在框1204,神經(jīng)元模型 解碼尖峰以確定要由神經(jīng)元使用的參數(shù)值。
[0142] 圖13解說(shuō)根據(jù)本公開的某些方面的神經(jīng)網(wǎng)絡(luò)1300的示例實(shí)現(xiàn)。如圖13中所解說(shuō) 的,神經(jīng)網(wǎng)絡(luò)1300可具有多個(gè)局部處理單元1302,它們可執(zhí)行以上描述的各種操作。每個(gè)處 理單元1302可包括存儲(chǔ)該神經(jīng)網(wǎng)絡(luò)的參數(shù)的局部狀態(tài)存儲(chǔ)器1304和局部參數(shù)存儲(chǔ)器1306。 另外,處理單元1302可包括具有局部(神經(jīng)元)模型程序的存儲(chǔ)器1308、具有局部學(xué)習(xí)程序 的存儲(chǔ)器1310、以及局部連接存儲(chǔ)器1312。此外,如圖13中所解說(shuō)的,每個(gè)局部處理單元 1302可與用于配置處理的單元1314對(duì)接并且與路由連接處理元件1316對(duì)接,用于配置處理 的單元1314可提供對(duì)局部處理單元的局部存儲(chǔ)器的配置,路由連接處理元件1316提供局部 處理單元1302之間的路由。
[0143] 在一種配置中,神經(jīng)元模型被配置成用于將值轉(zhuǎn)換成尖峰以供在神經(jīng)網(wǎng)絡(luò)中傳 輸。在一個(gè)方面,該模型包括獲得裝置和/或編碼裝置,它們可以是被配置成執(zhí)行所敘述的 功能的通用處理器802、程序存儲(chǔ)器806、存儲(chǔ)器塊804、存儲(chǔ)器902、互連網(wǎng)絡(luò)904、處理單元 906、處理單元1004、局部處理單元1302、和/或路由連接處理元件1316。在一個(gè)方面,前述裝 置可以是被配置成執(zhí)行由前述裝置所敘述的功能的任何模塊或任何設(shè)備。
[0144] 在另一配置中,神經(jīng)元模型被配置成用于接收參數(shù)值。在一個(gè)方面,該模型包括確 定裝置和/或解碼裝置,它們可以是被配置成執(zhí)行所敘述的功能的通用處理器802、程序存 儲(chǔ)器806、存儲(chǔ)器塊804、存儲(chǔ)器902、互連網(wǎng)絡(luò)904、處理單元906、處理單元1004、局部處理單 元1302、和/或路由連接處理元件1316。在一個(gè)方面,前述裝置可以是被配置成執(zhí)行由前述 裝置所敘述的功能的任何模塊或任何設(shè)備。
[0145] 根據(jù)本公開的某些方面,每個(gè)局部處理單元1302可被配置成基于神經(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ā)展。
[0146] 以上所描述的方法的各種操作可由能夠執(zhí)行相應(yīng)功能的任何合適的裝置來(lái)執(zhí)行。 這些裝置可包括各種硬件和/或軟件組件和/或模塊,包括但不限于電路、專用集成電路 (ASIC)、或處理器。一般而言,在附圖中解說(shuō)操作的場(chǎng)合,那些操作可具有帶相似編號(hào)的相 應(yīng)配對(duì)裝置加功能組件。
[0147] 如本文所使用的,術(shù)語(yǔ)"確定"涵蓋各種各樣的動(dòng)作。例如,"確定"可包括演算、計(jì) 算、處理、推導(dǎo)、研究、查找(例如,在表、數(shù)據(jù)庫(kù)或其他數(shù)據(jù)結(jié)構(gòu)中查找)、探知及諸如此類。 而且,"確定"可包括接收(例如,接收信息)、訪問(wèn)(例如,訪問(wèn)存儲(chǔ)器中的數(shù)據(jù))及諸如此類。 而且,"確定"還可包括解析、選擇、選取、確立及類似動(dòng)作。
[0148] 如本文所使用的,引述一列項(xiàng)目中的"至少一個(gè)"的短語(yǔ)是指這些項(xiàng)目的任何組 合,包括單個(gè)成員。作為示例,"a、b或c中的至少一個(gè)"旨在涵蓋:a、b、c、a_b、a_c、b_c和a_b_ c〇
[0149] 結(jié)合本公開所描述的各種解說(shuō)性邏輯框、模塊、以及電路可用設(shè)計(jì)成執(zhí)行本文所 描述功能的通用處理器、數(shù)字信號(hào)處理器(DSP)、專用集成電路(ASIC)、現(xiàn)場(chǎng)可編程門陣列 信號(hào)(FPGA)或其他可編程邏輯器件(PLD)、分立的門或晶體管邏輯、分立的硬件組件或其任 何組合來(lái)實(shí)現(xiàn)或執(zhí)行。通用處理器可以是微處理器,但在替換方案中,處理器可以是任何市 售的處理器、控制器、微控制器、或狀態(tài)機(jī)。處理器還可以被實(shí)現(xiàn)為計(jì)算設(shè)備的組合,例如 DSP與微處理器的組合、多個(gè)微處理器、與DSP核心協(xié)同的一個(gè)或多個(gè)微處理器、或任何其它 此類配置。
[0150] 結(jié)合本公開所描述的方法或算法的步驟可直接在硬件中、在由處理器執(zhí)行的軟件 模塊中、或在這兩者的組合中體現(xiàn)。軟件模塊可駐留在本領(lǐng)域所知的任何形式的存儲(chǔ)介質(zhì) 中。可使用的存儲(chǔ)介質(zhì)的一些示例包括隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(R0M)、閃存、 EPROM存儲(chǔ)器、EEPR0M存儲(chǔ)器、寄存器、硬盤、可移動(dòng)盤、CD-ROM,等等。軟件模塊可包括單條 指令、或許多條指令,且可分布在若干不同的代碼段上,分布在不同的程序間以及跨多個(gè)存 儲(chǔ)介質(zhì)分布。存儲(chǔ)介質(zhì)可被耦合到處理器以使得該處理器能從/向該存儲(chǔ)介質(zhì)讀寫信息。在 替換方案中,存儲(chǔ)介質(zhì)可以被整合到處理器。
[0151 ]本文所公開的方法包括用于實(shí)現(xiàn)所描述的方法的一個(gè)或多個(gè)步驟或動(dòng)作。這些方 法步驟和/或動(dòng)作可以彼此互換而不會(huì)脫離權(quán)利要求的范圍。換言之,除非指定了步驟或動(dòng) 作的特定次序,否則具體步驟和/或動(dòng)作的次序和/或使用可以改動(dòng)而不會(huì)脫離權(quán)利要求的 范圍。
[0152]所描述的功能可在硬件、軟件、固件或其任何組合中實(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)壓器、功率管理電路以及類似電路,它們?cè)诒绢I(lǐng)域 中是眾所周知的,因此將不再進(jìn)一步描述。
[0153] 處理器可負(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ì)可包括RAM(隨機(jī)存取存儲(chǔ)器)、閃存、ROM(只讀存儲(chǔ)器)、PR0M(可編程只讀存儲(chǔ)器)、 EPROM(可擦式可編程只讀存儲(chǔ)器)、EEPR0M(電可擦式可編程只讀存儲(chǔ)器)、寄存器、磁盤、光 盤、硬驅(qū)動(dòng)器、或者任何其他合適的存儲(chǔ)介質(zhì)、或其任何組合。機(jī)器可讀介質(zhì)可被實(shí)施在計(jì) 算機(jī)程序產(chǎn)品中。該計(jì)算機(jī)程序產(chǎn)品可以包括包裝材料。
[0154] 在硬件實(shí)現(xiàn)中,機(jī)器可讀介質(zhì)可以是處理系統(tǒng)中與處理器分開的一部分。然而,如 本領(lǐng)域技術(shù)人員將容易領(lǐng)會(huì)的,機(jī)器可讀介質(zhì)或其任何部分可在處理系統(tǒng)外部。作為示例, 機(jī)器可讀介質(zhì)可包括傳輸線、由數(shù)據(jù)調(diào)制的載波、和/或與設(shè)備分開的計(jì)算機(jī)產(chǎn)品,所有這 些都可由處理器通過(guò)總線接口來(lái)訪問(wèn)。替換地或補(bǔ)充地,機(jī)器可讀介質(zhì)或其任何部分可被 集成到處理器中,諸如高速緩存和/或通用寄存器文件可能就是這種情形。
[0155] 處理系統(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ì)的ASIC(專用集成電路)來(lái)實(shí)現(xiàn),或者用一個(gè)或多個(gè)FPGA(現(xiàn)場(chǎng) 可編程門陣列)、PLD(可編程邏輯器件)、控制器、狀態(tài)機(jī)、門控邏輯、分立硬件組件、或者任 何其他合適的電路系統(tǒng)、或者能執(zhí)行本公開通篇所描述的各種功能性的電路的任何組合來(lái) 實(shí)現(xiàn)。取決于具體應(yīng)用和加諸于整體系統(tǒng)上的總設(shè)計(jì)約束,本領(lǐng)域技術(shù)人員將認(rèn)識(shí)到如何 最佳地實(shí)現(xiàn)關(guān)于處理系統(tǒng)所描述的功能性。
[0156] 機(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í),將理解此類功能性是在處理器執(zhí)行來(lái)自該 軟件模塊的指令時(shí)由該處理器來(lái)實(shí)現(xiàn)的。
[0157] 如果以軟件實(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ì)。作為示例而非限定,此類計(jì)算機(jī)可讀介質(zhì)可包括RAM、R0M、EEPR0M、CD-R0M或其他 光盤存儲(chǔ)、磁盤存儲(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ù)(諸如紅 夕KIR)、無(wú)線電、以及微波)從web網(wǎng)站、服務(wù)器、或其他遠(yuǎn)程源傳送而來(lái),則該同軸電纜、光 纖電纜、雙絞線、DSL或無(wú)線技術(shù)(諸如紅外、無(wú)線電、以及微波)就被包括在介質(zhì)的定義之 中。如本文中所使用的盤(disk)和碟(disc)包括壓縮碟(CD)、激光碟、光碟、數(shù)字多用碟 (DVD)、軟盤、和藍(lán)光 11棠,其中盤(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)。
[0158]因此,某些方面可包括用于執(zhí)行本文中給出的操作的計(jì)算機(jī)程序產(chǎn)品。例如,此類 計(jì)算機(jī)程序產(chǎn)品可包括其上存儲(chǔ)(和/或編碼)有指令的計(jì)算機(jī)可讀介質(zhì),這些指令能由一 個(gè)或多個(gè)處理器執(zhí)行以執(zhí)行本文中所描述的操作。對(duì)于某些方面,計(jì)算機(jī)程序產(chǎn)品可包括 包裝材料。
[0159] 此外,應(yīng)當(dāng)領(lǐng)會(huì),用于執(zhí)行本文中所描述的方法和技術(shù)的模塊和/或其它恰適裝置 能由用戶終端和/或基站在適用的場(chǎng)合下載和/或以其他方式獲得。例如,此類設(shè)備能被耦 合至服務(wù)器以促成用于執(zhí)行本文中所描述的方法的裝置的轉(zhuǎn)移。替換地,本文所述的各種 方法能經(jīng)由存儲(chǔ)裝置(例如,RAM、R0M、諸如壓縮碟(CD)或軟盤等物理存儲(chǔ)介質(zhì)等)來(lái)提供, 以使得一旦將該存儲(chǔ)裝置耦合至或提供給用戶終端和/或基站,該設(shè)備就能獲得各種方法。 此外,可利用適于向設(shè)備提供本文所描述的方法和技術(shù)的任何其他合適的技術(shù)。
[0160] 將理解,權(quán)利要求并不被限定于以上所解說(shuō)的精確配置和組件。可在以上所描述 的方法和裝置的布局、操作和細(xì)節(jié)上作出各種改動(dòng)、更換和變形而不會(huì)脫離權(quán)利要求的范 圍。
【主權(quán)項(xiàng)】
1. 一種用于在神經(jīng)網(wǎng)絡(luò)中傳送值的方法,包括: 獲得參數(shù)值;以及 至少部分地基于由神經(jīng)元使用的至少一個(gè)值來(lái)編碼所述參數(shù)值,所述編碼至少部分地 基于要經(jīng)由尖峰通道被傳送的至少一個(gè)尖峰。2. 如權(quán)利要求1所述的方法,其特征在于,進(jìn)一步包括至少部分地基于絕對(duì)等待時(shí)間代 碼和/或相對(duì)等待時(shí)間代碼來(lái)進(jìn)行編碼。3. 如權(quán)利要求1所述的方法,其特征在于,進(jìn)一步包括至少部分地基于速率代碼、尖峰 間區(qū)間編碼、或二進(jìn)制編碼來(lái)進(jìn)行編碼。4. 如權(quán)利要求1所述的方法,其特征在于,進(jìn)一步包括將所述參數(shù)值拆分成多個(gè)分量, 每一分量將由至少一個(gè)神經(jīng)元進(jìn)行編碼。5. -種用于在神經(jīng)網(wǎng)絡(luò)中接收參數(shù)值的方法,所述方法包括: 確定哪個(gè)神經(jīng)元將接收表示經(jīng)編碼值的尖峰;以及 解碼至少一個(gè)尖峰以確定由所述神經(jīng)元使用的參數(shù)值。6. 如權(quán)利要求5所述的方法,其特征在于,進(jìn)一步包括至少部分地基于連通性信息來(lái)路 由所述尖峰。7. 如權(quán)利要求6所述的方法,其特征在于,所述連通性信息包括源神經(jīng)元的索引。8. 如權(quán)利要求6所述的方法,其特征在于,所述連通性信息包括多個(gè)源神經(jīng)元的索引。9. 如權(quán)利要求5所述的方法,其特征在于,所述經(jīng)編碼值由多個(gè)尖峰表示,每一個(gè)尖峰 對(duì)應(yīng)于所述經(jīng)編碼值的子分量并且被解碼以確定所述參數(shù)值。10. 如權(quán)利要求5所述的方法,其特征在于,進(jìn)一步包括經(jīng)由冗余接收方神經(jīng)元來(lái)接收 所述尖峰以從尖峰丟失中進(jìn)行恢復(fù)。11. 一種用于在神經(jīng)網(wǎng)絡(luò)中傳送值的裝置,包括: 存儲(chǔ)器;以及 耦合至所述存儲(chǔ)器的至少一個(gè)處理器,所述至少一個(gè)處理器被配置成: 獲得參數(shù)值;以及 至少部分地基于由神經(jīng)元使用的至少一個(gè)值來(lái)編碼所述參數(shù)值,所述編碼至少部分地 基于要經(jīng)由尖峰通道被傳送的至少一個(gè)尖峰。12. 如權(quán)利要求11所述的裝置,其特征在于,所述至少一個(gè)處理器被進(jìn)一步配置成至少 部分地基于絕對(duì)等待時(shí)間代碼、和/或相對(duì)等待時(shí)間代碼來(lái)編碼所述參數(shù)值。13. 如權(quán)利要求11所述的裝置,其特征在于,所述至少一個(gè)處理器被進(jìn)一步配置成至少 部分地基于速率代碼、尖峰間區(qū)間編碼、或二進(jìn)制編碼來(lái)編碼所述參數(shù)值。14. 如權(quán)利要求11所述的裝置,其特征在于,所述至少一個(gè)處理器被進(jìn)一步配置成將所 述參數(shù)值拆分成多個(gè)分量,每一分量將由至少一個(gè)神經(jīng)元進(jìn)行編碼。15. -種用于在神經(jīng)網(wǎng)絡(luò)中接收參數(shù)值的裝置,包括: 存儲(chǔ)器;以及 耦合至所述存儲(chǔ)器的至少一個(gè)處理器,所述至少一個(gè)處理器被配置成: 確定哪個(gè)神經(jīng)元將接收表示經(jīng)編碼值的尖峰;以及 解碼至少一個(gè)尖峰以確定由所述神經(jīng)元使用的參數(shù)值。16. 如權(quán)利要求15所述的裝置,其特征在于,所述至少一個(gè)處理器被進(jìn)一步配置成至少 部分地基于連通性信息來(lái)路由所述尖峰。17. 如權(quán)利要求16所述的裝置,其特征在于,所述連通性信息包括源神經(jīng)元的索引。18. 如權(quán)利要求16所述的裝置,其特征在于,所述連通性信息包括多個(gè)源神經(jīng)元的索 引。19. 如權(quán)利要求15所述的裝置,其特征在于,所述經(jīng)編碼值由多個(gè)尖峰表示,每一個(gè)尖 峰對(duì)應(yīng)于所述經(jīng)編碼值的子分量并且被解碼以確定所述參數(shù)值。20. 如權(quán)利要求15所述的裝置,其特征在于,所述至少一個(gè)處理器被進(jìn)一步配置成經(jīng)由 冗余接收方神經(jīng)元接收所述尖峰以從尖峰丟失中進(jìn)行恢復(fù)。21. -種用于在神經(jīng)網(wǎng)絡(luò)中傳送值的設(shè)備,包括: 用于獲得參數(shù)值的裝置;以及 用于至少部分地基于由神經(jīng)元使用的至少一個(gè)值來(lái)編碼所述參數(shù)值的裝置,所述編碼 至少部分地基于要經(jīng)由尖峰通道被傳送的至少一個(gè)尖峰。22. -種用于在神經(jīng)網(wǎng)絡(luò)中接收參數(shù)值的設(shè)備,包括: 用于確定哪個(gè)神經(jīng)元將接收表示經(jīng)編碼值的尖峰的裝置;以及 用于解碼至少一個(gè)尖峰以確定由所述神經(jīng)元使用的參數(shù)值的裝置。23. -種用于在神經(jīng)網(wǎng)絡(luò)中傳送值的計(jì)算機(jī)程序產(chǎn)品,包括: 其上編碼有程序代碼的非瞬態(tài)計(jì)算機(jī)可讀介質(zhì),所述程序代碼包括: 用于獲得參數(shù)值的程序代碼;以及 用于至少部分地基于由神經(jīng)元使用的至少一個(gè)值來(lái)編碼所述參數(shù)值的程序代碼,所述 編碼至少部分地基于要經(jīng)由尖峰通道被傳送的至少一個(gè)尖峰。24. -種用于在神經(jīng)網(wǎng)絡(luò)中接收參數(shù)值的計(jì)算機(jī)程序產(chǎn)品,包括: 其上編碼有程序代碼的非瞬態(tài)計(jì)算機(jī)可讀介質(zhì),所述程序代碼包括: 用于確定哪個(gè)神經(jīng)元將接收表示經(jīng)編碼值的尖峰的程序代碼;以及 用于解碼至少一個(gè)尖峰以確定由所述神經(jīng)元使用的參數(shù)值的程序代碼。
【文檔編號(hào)】G06N3/04GK105981054SQ201580005586
【公開日】2016年9月28日
【申請(qǐng)日】2015年1月22日
【發(fā)明人】M-D·N·卡洛伊, Y·劉, B·F·貝哈巴迪, V·蘭甘, J·F·亨澤格
【申請(qǐng)人】高通股份有限公司