尖峰網(wǎng)絡(luò)的高效硬件實(shí)現(xiàn)的制作方法
【專利說(shuō)明】尖峰網(wǎng)絡(luò)的高效硬件實(shí)現(xiàn)
[0001] 根據(jù)35U. S. C. § 119的優(yōu)先權(quán)要求 陽(yáng)00引本申請(qǐng)要求W下申請(qǐng)的權(quán)益,于2013年5月21日遞交的,題為"SpikeTime WindowingforImplementingSpike-TimingDependentPlasticity(STOP)(用于實(shí)現(xiàn)尖 峰定時(shí)依賴可塑性(STD巧的尖峰時(shí)間加窗)"的美國(guó)臨時(shí)專利申請(qǐng)序列號(hào)61/825, 657,于 2013年 8 月6日遞交的,題為"Sp;LkeTimeWindowingforImplementingSpike-Timing DependentPlasticity(STD巧(用于實(shí)現(xiàn)尖峰定時(shí)依賴可塑性(STD巧的尖峰時(shí)間加窗)" 的美國(guó)臨時(shí)專利申請(qǐng)?zhí)?1/862, 714,于2013年8月6日遞交的,題為"ComputedSynapses 化rNeruomcxrphicSystem(用于神經(jīng)元形態(tài)系統(tǒng)的計(jì)算突觸)"的美國(guó)臨時(shí)專利申請(qǐng)序列 號(hào)61/862, 741,于2013年 8 月6日遞交的,題為"ImplementingDelaysbetweenNeurons inanArtificialNervousSystem(在人工神經(jīng)系統(tǒng)中實(shí)現(xiàn)神經(jīng)元之間的延遲)"的美國(guó) 臨時(shí)專利申請(qǐng)序列號(hào)61/862, 734,于2014年1月28日遞交的,題為"EfficientHardware ImplementationofSp;LkingNetworks(尖峰網(wǎng)絡(luò)的高效硬件實(shí)現(xiàn))"的美國(guó)臨時(shí)專利申請(qǐng) 序列號(hào)61/932, 364,上述每個(gè)申請(qǐng)通過(guò)引用被完全納入于此。
【背景技術(shù)】 柳的]領(lǐng)域
[0004] 本公開(kāi)的某些方面一般設(shè)及人工神經(jīng)系統(tǒng),尤其設(shè)及用于尖峰神經(jīng)網(wǎng)絡(luò)的高效硬 件實(shí)現(xiàn)的方法和裝置。
【背景技術(shù)】 陽(yáng)0化]
[0006] 可包括一群互連的人工神經(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ò)能從觀察中推斷出功能,因 此運(yùn)樣的網(wǎng)絡(luò)在因任務(wù)或數(shù)據(jù)的復(fù)雜度使得通過(guò)常規(guī)技術(shù)來(lái)設(shè)計(jì)該功能較為麻煩的應(yīng)用 中是特別有用的。
[0007] 一種類型的人工神經(jīng)網(wǎng)絡(luò)是尖峰(SP化ing)神經(jīng)網(wǎng)絡(luò),其將時(shí)間概念W及神經(jīng)元 狀態(tài)和突觸狀態(tài)納入到其工作模型中,由此提供了豐富的行為集,在神經(jīng)網(wǎng)絡(luò)中能從該行 為集涌現(xiàn)出計(jì)算功能。尖峰神經(jīng)網(wǎng)絡(luò)基于W下概念:神經(jīng)元基于該神經(jīng)元的狀態(tài)在一個(gè)或 多個(gè)特定時(shí)間激發(fā)或"發(fā)放尖峰",并且該時(shí)間對(duì)于神經(jīng)元功能而言是重要的。當(dāng)神經(jīng)元激 發(fā)時(shí),它生成一尖峰,該尖峰行進(jìn)至其他神經(jīng)元,運(yùn)些其他神經(jīng)元繼而可基于接收到該尖峰 的時(shí)間來(lái)調(diào)整它們的狀態(tài)。換言之,信息可被編碼在神經(jīng)網(wǎng)絡(luò)中的尖峰的相對(duì)或絕對(duì)定時(shí) 中。
[0008] 概述
[0009] 本公開(kāi)的特定方面提供了用于W多個(gè)人工神經(jīng)元來(lái)進(jìn)行人工神系統(tǒng)操作的方法。 該方法一般包括同時(shí)操作人工神經(jīng)系統(tǒng)中的多個(gè)超神經(jīng)元處理單元來(lái)更新運(yùn)些人工神經(jīng) 元的狀態(tài),其中運(yùn)些人工神經(jīng)元的子集被指派給每個(gè)超神經(jīng)元處理單元,W及將運(yùn)些超神 經(jīng)元處理單元與用于訪問(wèn)人工神經(jīng)系統(tǒng)的突觸權(quán)重和可塑性參數(shù)的存儲(chǔ)器對(duì)接,其中存儲(chǔ) 器的組織允許郵連存儲(chǔ)器訪問(wèn)。
[0010] 本公開(kāi)的某些方面提供了一種用于操作人工神經(jīng)系統(tǒng)的裝置。該裝置一般包括配 置成同時(shí)操作人工神經(jīng)系統(tǒng)中的多個(gè)超神經(jīng)元處理單元來(lái)更新人工神經(jīng)元的狀態(tài)的第一 電路,其中運(yùn)些人工神經(jīng)元的子集被指派給每個(gè)超神經(jīng)元處理單元,W及配置成將運(yùn)些超 神經(jīng)元處理單元與用于訪問(wèn)人工神經(jīng)系統(tǒng)的突觸權(quán)重和可塑性參數(shù)的存儲(chǔ)器對(duì)接的第二 電路,其中存儲(chǔ)器的組織允許郵連存儲(chǔ)器訪問(wèn)。
[0011] 本公開(kāi)的某些方面提供了一種用于操作人工神經(jīng)系統(tǒng)的設(shè)備。該裝置一般包括用 于同時(shí)操作人工神經(jīng)系統(tǒng)中的多個(gè)超神經(jīng)元處理單元來(lái)更新人工神經(jīng)元的狀態(tài)的裝置,其 中運(yùn)些人工神經(jīng)元的子集被指派給每個(gè)超神經(jīng)元處理單元,W及用于將運(yùn)些超神經(jīng)元處理 單元與用于訪問(wèn)人工神經(jīng)系統(tǒng)的突觸權(quán)重和可塑性參數(shù)的存儲(chǔ)器對(duì)接的裝置,其中存儲(chǔ)器 的組織允許郵連存儲(chǔ)器訪問(wèn)。
[0012] 本公開(kāi)的某些方面提供了一種用于操作人工神經(jīng)系統(tǒng)的計(jì)算機(jī)程序產(chǎn)品。該計(jì)算 機(jī)程序產(chǎn)品一般包括具有可執(zhí)行W下操作的指令的非瞬態(tài)計(jì)算機(jī)可讀介質(zhì)(例如,存儲(chǔ)設(shè) 備):同時(shí)操作人工神經(jīng)系統(tǒng)中的多個(gè)超神經(jīng)元處理單元來(lái)更新人工神經(jīng)元的狀態(tài),其中 運(yùn)些人工神經(jīng)元的子集被指派給每個(gè)超神經(jīng)元處理單元,W及將運(yùn)些超神經(jīng)元處理單元與 用于訪問(wèn)人工神經(jīng)系統(tǒng)的突觸權(quán)重和可塑性參數(shù)的存儲(chǔ)器對(duì)接,其中存儲(chǔ)器的組織允許郵 連存儲(chǔ)器訪問(wèn)。
[0013] 附圖簡(jiǎn)述
[0014] 為了能詳細(xì)理解本公開(kāi)的W上陳述的特征所用的方式,可參照各方面來(lái)對(duì)W上簡(jiǎn) 要概述的內(nèi)容進(jìn)行更具體的描述,其中一些方面在附圖中解說(shuō)。然而應(yīng)該注意,附圖僅解說(shuō) 了本公開(kāi)的某些典型方面,故不應(yīng)被認(rèn)為限定其范圍,因?yàn)楸久枋隹稍试S有其他等同有效 的方面。
[0015] 圖1解說(shuō)了根據(jù)本公開(kāi)的某些方面的示例神經(jīng)元網(wǎng)絡(luò)。
[0016] 圖2解說(shuō)了根據(jù)本公開(kāi)的某些方面的計(jì)算網(wǎng)絡(luò)(神經(jīng)系統(tǒng)或神經(jīng)網(wǎng)絡(luò))的示例處 理單元(神經(jīng)元)。
[0017] 圖3解說(shuō)了根據(jù)本公開(kāi)的某些方面的示例尖峰定時(shí)依賴可塑性(STD巧曲線。
[0018] 圖4是根據(jù)本公開(kāi)的某些方面的用于人工神經(jīng)元的狀態(tài)的示例曲線圖,其解說(shuō)用 于定義神經(jīng)元的行為的正態(tài)相和負(fù)態(tài)相。
[0019] 圖5解說(shuō)了根據(jù)本公開(kāi)的某些方面的人工神經(jīng)系統(tǒng)的示例硬件實(shí)現(xiàn)。
[0020] 圖6是根據(jù)本公開(kāi)某些方面的用于操作人工神經(jīng)系統(tǒng)的示例操作的流程圖。
[0021] 圖6A解說(shuō)了能夠執(zhí)行圖6中示出的操作的示例裝置。
[0022] 圖7解說(shuō)了根據(jù)本公開(kāi)的某些方面的用于使用通用處理器來(lái)操作人工神經(jīng)系統(tǒng) 的示例實(shí)現(xiàn)。
[0023] 圖8解說(shuō)了根據(jù)本公開(kāi)的某些方面的用于操作人工神經(jīng)系統(tǒng)的示例實(shí)現(xiàn),其中存 儲(chǔ)器可與個(gè)體分布式處理單元對(duì)接。
[0024] 圖9解說(shuō)了根據(jù)本公開(kāi)的某些方面的用于基于分布式存儲(chǔ)器和分布式處理單元 來(lái)操作人工神經(jīng)系統(tǒng)的示例實(shí)現(xiàn)。
[0025] 圖10解說(shuō)根據(jù)本公開(kāi)的某些方面的神經(jīng)網(wǎng)絡(luò)的示例實(shí)現(xiàn)。
[0026] 詳細(xì)描述
[0027] W下參照附圖更全面地描述本公開(kāi)的各個(gè)方面。然而,本公開(kāi)可用許多不同形式 來(lái)實(shí)施并且不應(yīng)解釋為被限定于本公開(kāi)通篇給出的任何具體結(jié)構(gòu)或功能。相反,提供運(yùn)些 方面是為了使得本公開(kāi)將是透徹和完整的,并且其將向本領(lǐng)域技術(shù)人員完全傳達(dá)本公開(kāi)的 范圍?;诒疚闹械慕虒?dǎo),本領(lǐng)域技術(shù)人員應(yīng)領(lǐng)會(huì),本公開(kāi)的范圍旨在覆蓋本文中所披露的 本公開(kāi)的任何方面,不論其是與本公開(kāi)的任何其他方面相獨(dú)立地實(shí)現(xiàn)還是組合地實(shí)現(xiàn)的。 例如,可W使用本文所闡述的任何數(shù)目的方面來(lái)實(shí)現(xiàn)裝置或?qū)嵺`方法。另外,本公開(kāi)的范 圍旨在覆蓋使用作為本文中所闡述的本公開(kāi)的各個(gè)方面的補(bǔ)充或者另外的其他結(jié)構(gòu)、功能 性、或者結(jié)構(gòu)及功能性來(lái)實(shí)踐的此類裝置或方法。應(yīng)當(dāng)理解,本文中所披露的本公開(kāi)的任何 方面可由權(quán)利要求的一個(gè)或多個(gè)元素來(lái)實(shí)施。
[002引措辭"示例性"在本文中用于表示"用作示例、實(shí)例或解說(shuō)"。本文中描述為"示例 性"的任何方面不必被解釋為優(yōu)于或勝過(guò)其他方面。
[0029] 盡管本文描述了特定方面,但運(yùn)些方面的眾多變體和置換落在本公開(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é) 議,其中一些作為示例在附圖W及W下對(duì)優(yōu)選方面的描述中解說(shuō)。詳細(xì)描述和附圖僅僅解 說(shuō)本公開(kāi)而非限定本公開(kāi),本公開(kāi)的范圍由所附權(quán)利要求及其等效技術(shù)方案來(lái)定義。
[0030] 示例神經(jīng)系統(tǒng)
[0031] 圖1解說(shuō)根據(jù)本公開(kāi)的某些方面的具有多級(jí)神經(jīng)元的示例神經(jīng)系統(tǒng)100。神經(jīng)系 統(tǒng)100可包括一級(jí)神經(jīng)元102,該級(jí)神經(jīng)元102通過(guò)突觸連接網(wǎng)絡(luò)104 (即,前饋連接)來(lái)連 接到另一級(jí)神經(jīng)元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)元。
[0032] 如圖1所解說(shuō)的,級(jí)102中的每一神經(jīng)元可接收輸入信號(hào)108,輸入信號(hào)108可W 是由前一級(jí)(圖1中未示出)的多個(gè)神經(jīng)元所生成的。信號(hào)108可表示至級(jí)102的神經(jīng)元 的輸入(例如,輸入電流)。此類輸入可在神經(jīng)元膜上累積W對(duì)膜電位進(jìn)行充電。當(dāng)膜電 位達(dá)到其闊值時(shí),該神經(jīng)元可激發(fā)并生成輸出尖峰,該輸出尖峰將被傳遞到下一級(jí)神經(jīng)元 (例如,級(jí)106)。此類行為可在硬件和/或軟件(包括模擬和數(shù)字實(shí)現(xiàn))中進(jìn)行仿真或模 擬。
[0033] 在生物學(xué)神經(jīng)元中,在神經(jīng)元激發(fā)時(shí)生成的輸出尖峰被稱為動(dòng)作電位。該電信號(hào) 是相對(duì)迅速、瞬態(tài)、全有或全無(wú)的神經(jīng)脈沖,其具有約為lOOmV的振幅和約為1ms的歷時(shí)。在 具有一系列連通的神經(jīng)元(例如,尖峰從圖1中的一級(jí)神經(jīng)元傳遞至另一級(jí))的神經(jīng)系統(tǒng) 的特定方面,每個(gè)動(dòng)作電位都具有基本上相同的振幅和歷時(shí),因此該信號(hào)中的信息僅由尖 峰的頻率和數(shù)目(或尖峰的時(shí)間)來(lái)表示,而不由振幅來(lái)表示。動(dòng)作電位所攜帶的信息由 尖峰、發(fā)放尖峰的神經(jīng)元、W及該尖峰相對(duì)于一個(gè)或多個(gè)其他尖峰的時(shí)間來(lái)決定。
[0034] 尖峰從一級(jí)神經(jīng)元向另一級(jí)神經(jīng)元的傳遞可通過(guò)突觸連接(或簡(jiǎn)稱"突觸")網(wǎng) 絡(luò)104來(lái)達(dá)成,如圖1所解說(shuō)的。突觸104可從級(jí)102的神經(jīng)元(相對(duì)于突觸104而言的 突觸前神經(jīng)元)接收輸出信號(hào)(即尖峰)。對(duì)于某些方面,運(yùn)些信號(hào)可根據(jù)可調(diào)整的突觸 權(quán)重(其中P是級(jí)102和106的神經(jīng)元之間的突觸連接的總數(shù))來(lái)縮放。對(duì) 于其它方面,突觸104可W不應(yīng)用任何突觸權(quán)重。此外,(經(jīng)縮放的)信號(hào)可被組合W作為 級(jí)106中每個(gè)神經(jīng)元(相對(duì)于突觸104而言的突觸后神經(jīng)元)的輸入信號(hào)。級(jí)106中的每 個(gè)神經(jīng)元可基于對(duì)應(yīng)的組合輸入信號(hào)來(lái)生成輸出尖峰110。隨后可使用另一突觸連接網(wǎng)絡(luò) (圖1中未示出)將運(yùn)些輸出尖峰110傳遞到另一級(jí)神經(jīng)元。
[0035] 生物學(xué)突觸可被分類為電的或化學(xué)的。電突觸主要用于發(fā)送興奮性信號(hào),而化學(xué) 突觸可調(diào)停突觸后神經(jīng)元中的興奮性或抑制性(超極化)動(dòng)作,并且還可用于放大神經(jīng)元 信號(hào)。興奮性信號(hào)通常使膜電位去極化(即,相對(duì)于靜息電位增大膜電位)。如果在某個(gè)時(shí) 段內(nèi)接收到足夠的興奮性信號(hào)W使膜電位去極化到高于闊值,則在突觸后神經(jīng)元中發(fā)生動(dòng) 作電位。相反,抑制性信號(hào)一般使膜電位超極化(即,降低膜電位)。抑制性信號(hào)如果足夠 強(qiáng)則可抵消掉興奮性信號(hào)之和并阻止膜電位到達(dá)闊值。除了抵消掉突觸興奮W外,突觸抑 制還可對(duì)自發(fā)活躍神經(jīng)元施加強(qiáng)力的控制。自發(fā)活動(dòng)神經(jīng)元是指在沒(méi)有進(jìn)一步輸入的情況 下(例如,由于其動(dòng)態(tài)或反饋而)發(fā)放尖峰的神經(jīng)元。通過(guò)壓制運(yùn)些神經(jīng)元中的動(dòng)作電位 的自發(fā)生成,突觸抑制可對(duì)神經(jīng)元中的激發(fā)模式進(jìn)行定形,運(yùn)一般被稱為雕刻。取決于期望 的行為,各種突觸104可充當(dāng)興奮性或抑制性突觸的任何組合。
[0036] 神經(jīng)系統(tǒng)100可由通用處理器、數(shù)字信號(hào)處理器值SP)、專用集成電路(ASIC)、現(xiàn) 場(chǎng)可編程口陣列(FPGA)或其他可編程邏輯器件(PLD)、分立的口或晶體管邏輯、分立的硬 件組件、由處理器執(zhí)行的軟件模塊、或其任何組合來(lái)仿真。神經(jīng)系統(tǒng)100可用在大范圍的應(yīng) 用中,諸如圖像和模式識(shí)別、機(jī)器學(xué)習(xí)、電機(jī)控制、及類似應(yīng)用