TW201528162A - 在尖峰神經網路中使用重放來實施突觸學習 - Google Patents

在尖峰神經網路中使用重放來實施突觸學習 Download PDF

Info

Publication number
TW201528162A
TW201528162A TW103138758A TW103138758A TW201528162A TW 201528162 A TW201528162 A TW 201528162A TW 103138758 A TW103138758 A TW 103138758A TW 103138758 A TW103138758 A TW 103138758A TW 201528162 A TW201528162 A TW 201528162A
Authority
TW
Taiwan
Prior art keywords
artificial
neuron
spike
neurons
nervous system
Prior art date
Application number
TW103138758A
Other languages
English (en)
Inventor
Jeffrey Alexander Leven
Venkat Rangan
Erik Christopher Malone
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of TW201528162A publication Critical patent/TW201528162A/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/049Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Image Analysis (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本案的各態樣係關於用於訓練人工神經系統的方法和裝置。根據某些態樣,記錄訓練疊代期間的人工神經元的尖峰的時序,在後續訓練疊代期間,根據所記錄的時序來重放該人工神經元的尖峰,以及至少部分地基於該後續訓練疊代來更新與該人工神經元相關聯的參數。

Description

在尖峰神經網路中使用重放來實施突觸學習
本案的某些態樣大體而言係關於人工神經系統,更特定言之係關於在尖峰人工神經網路中使用重放來實施突觸學習。
可包括一群組互連的人工神經元(即神經處理單元)的人工神經網路是一種計算設備或者表示將由計算設備執行的方法。人工神經網路可具有生物學神經網路中的對應的結構及/或功能。然而,人工神經網路可為其中傳統計算技術是麻煩的、不切實際的,或不勝任的某些應用提供創新且有用的計算技術。由於人工神經網路能從觀察中推斷出功能,因此此種網路在因任務或資料的複雜度使得經由一般技術來設計該功能較為麻煩的應用中是特別有用的。
一種類型的人工神經網路是尖峰(spiking)神經網路,其將時間概念以及神經元狀態和突觸狀態併入到其工作模型中,由此提供了豐富的行為集,在神經網路中能從該行為集湧現出計算功能。尖峰神經網路基於以下概念:神經元 基於該神經元的狀態在一或多個特定的時間激發或「發放尖峰」,並且該時間對於神經元功能而言是重要的。當神經元激發時,其產生一尖峰,該尖峰行進至其他神經元,該等其他神經元繼而可基於接收到該尖峰的時間來調整其狀態。換言之,資訊可被編碼在神經網路中的尖峰的相對或絕對時序中。
本案的某些態樣一般涉及在尖峰神經網路中使用重放來實施突觸學習。本案的某些態樣涉及一種訓練人工神經系統的方法。該方法一般包括:記錄訓練疊代期間的人工神經元的尖峰的時序,在後續訓練疊代期間根據所記錄的時序來重放該人工神經元的尖峰,以及至少部分地基於該後續訓練疊代來更新與該人工神經元相關聯的參數。
本案的某些態樣提供一種用於訓練人工神經系統的裝置。該裝置一般包括:處理系統,其被配置成:記錄訓練疊代期間的人工神經元的尖峰的時序,在後續訓練疊代期間根據所記錄的時序來重放該人工神經元的尖峰,以及至少部分地基於該後續訓練疊代來更新與該人工神經元相關聯的參數;以及耦合至該處理系統的記憶體。
本案的某些態樣提供一種用於訓練人工神經系統的裝置。該裝置一般包括:用於記錄訓練疊代期間的人工神經元的尖峰的時序的手段,用於在後續訓練疊代期間根據所記錄的時序來重放該人工神經元的尖峰的手段,以及用於至少部分地基於後續訓練疊代來更新與該人工神經元相關聯的參 數的手段。
本案的某些態樣提供一種其上儲存有可由電腦執行的指令的電腦可讀取媒體。該等指令可執行以用於:記錄訓練疊代期間的人工神經元的尖峰的時序,在後續訓練疊代期間根據所記錄的時序來重放該人工神經元的尖峰,以及至少部分地基於該後續訓練疊代來更新與該人工神經元相關聯的參數。
100‧‧‧神經系統
102‧‧‧一級神經元
104‧‧‧突觸
106‧‧‧人工神經元
200‧‧‧實例
202‧‧‧神經元
208‧‧‧輸出信號
300‧‧‧曲線圖
302‧‧‧部分
304‧‧‧部分
306‧‧‧交越點
402‧‧‧負態相
404‧‧‧正態相
500‧‧‧狀態機
502‧‧‧狀態
504‧‧‧狀態
506‧‧‧狀態
600‧‧‧等時線
700‧‧‧狀態機
702‧‧‧狀態
704‧‧‧狀態
706‧‧‧狀態
708‧‧‧狀態
800‧‧‧等時線
900‧‧‧操作
900A‧‧‧手段
902‧‧‧步驟
904‧‧‧步驟
906‧‧‧步驟
1000‧‧‧方塊圖
1002‧‧‧通用處理器
1004‧‧‧記憶體區塊
1006‧‧‧程式記憶體
1100‧‧‧方塊圖
1102‧‧‧記憶體
1104‧‧‧互連網路
1106‧‧‧處理單元
1200‧‧‧方塊圖
1202‧‧‧記憶體組
1204‧‧‧處理單元
1300‧‧‧神經網路
1302‧‧‧處理單元
1304‧‧‧局部狀態記憶體
1306‧‧‧局部參數記憶體
1308‧‧‧記憶體
1310‧‧‧記憶體
1312‧‧‧記憶體
1314‧‧‧單元
1316‧‧‧元件
1400‧‧‧方塊圖
1402‧‧‧區塊
1404‧‧‧快取記憶體線介面
1406‧‧‧動態隨機存取記憶體(DRAM)
為了能詳細理解本案的以上陳述的特徵所用的方式,可參照各態樣來對以上簡要概述的內容進行更具體的描述,其中一些態樣在附圖中圖示。然而應該注意,附圖僅圖示了本案的某些典型態樣,故不應被認為限定其範圍,因為本描述可允許有其他等同有效的態樣。
圖1圖示根據本案的某些態樣的示例性神經元網路。
圖2圖示根據本案的某些態樣的計算網路(神經系統或神經網路)的示例性處理單元(神經元)。
圖3圖示根據本案的某些態樣的示例性尖峰時序依賴可塑性(STDP)曲線。
圖4是根據本案的某些態樣的用於人工神經元的狀態的示例性示圖,其圖示用於定義神經元的行為的正態相和負態相。
圖5圖示根據本案的某些態樣的神經網路使用重放尖峰來實施突觸學習的示例性狀態機。
圖6圖示根據本案的某些態樣的神經網路中使用重 放尖峰來實施突觸學習的示例性操作等時線。
圖7圖示根據本案的某些態樣的神經網路使用重放尖峰來實施突觸學習的示例性狀態機,並且其中連接表(CT)已被分段成多個離散的延遲範圍。
圖8圖示根據本案的某些態樣的神經網路中使用重放尖峰來實施突觸學習的示例性操作等時線,並且其中CT表已被分段成多個離散的延遲範圍。
圖9圖示根據本案的某些態樣的用於訓練人工神經系統的示例性操作。圖9A圖示能夠執行圖9中所示操作的示例性元件。
圖10圖示根據本案的某些態樣的用於使用通用處理器來操作人工神經系統的示例性實施。
圖11圖示根據本案的某些態樣的用於操作人工神經系統的示例性實施,其中記憶體可與個體分散式處理單元對接。
圖12圖示了根據本案的某些態樣的用於基於分散式記憶體和分散式處理單元來操作人工神經系統的示例性實施。
圖13圖示根據本案的某些態樣的神經網路的示例性實施。
圖14圖示根據本案的某些態樣的人工神經系統的示例性硬體實施。
以下參照附圖更全面地描述本案的各個態樣。然而 ,本案可用許多不同形式來實施並且不應解釋為被限定於本案通篇提供的任何特定結構或功能。相反,提供該等態樣是為了使得本案將是透徹和完整的,並且其將向本領域技藝人士完全傳達本案的範圍。基於本文中的教示,本領域技藝人士應瞭解,本案的範圍意欲覆蓋本文中所揭示的本案的任何態樣,不論其是與本案的任何其他態樣相獨立地還是組合地實施的。例如,可以使用本文所闡述的任何數目的態樣來實施裝置或實踐方法。另外,本案的範圍意欲覆蓋使用作為本文中所闡述的本案的各種態樣的補充或者另外的其他結構、功能性,或者結構及功能性來實踐的此類裝置或方法。應當理解,本文中所揭示的本案的任何態樣可由請求項的一或多個元素來實施。
措辭「示例性」在本文中用於表示「用作示例、實例或說明」。本文中描述為「示例性」的任何態樣不必被解釋為優於或勝過其他態樣。
儘管本文描述了特定態樣,但該等態樣的眾多變體和置換落在本案的範圍之內。儘管提到了優選態樣的一些益處和優點,但本案的範圍並非意欲被限定於特定益處、用途或目標。相反,本案的各態樣意欲能寬泛地應用於不同的技術、系統組態、網路和協定,其中一些作為示例在附圖以及以下對優選態樣的描述中圖示。該詳細描述和附圖僅僅說明本案而非限定本案,本案的範圍由所附請求項及其等效技術方案來定義。
示例性神經系統
圖1圖示根據本案的某些態樣的具有多級神經元的示例性神經系統100。神經系統100可包括一級神經元102,該級神經元102經由突觸連接網路104(亦即,前饋連接)來連接到另一級神經元106。為簡單起見,圖1中僅圖示了兩級神經元,但在典型的神經系統中可存在更少或更多級神經元。應注意,一些神經元可經由側向連接來連接至同層中的其他神經元。此外,一些神經元可經由回饋連接來後向連接至先前層中的神經元。
如圖1所圖示的,級102中的每一神經元可接收輸入信號108,輸入信號108可以是由前一級(圖1中未圖示)的複數個神經元所產生的。信號108可表示至級102的神經元的輸入(例如,輸入電流)。此類輸入可在神經元膜上累積以對膜電位進行充電。當膜電位達到其閾值時,該神經元可激發並產生輸出尖峰,該輸出尖峰將被傳遞到下一級神經元(例如,級106)。此類行為可在硬體及/或軟體(包括類比和數位實施)中進行仿真或模擬。
在生物學神經元中,在神經元激發時產生的輸出尖峰被稱為動作電位。該電信號是相對迅速、瞬態、全有或全無的神經脈衝,其具有約為100mV的振幅和約為1ms的歷時。在具有一系列連通的神經元(例如,尖峰從圖1中的一級神經元傳遞至另一級)的神經系統的特定態樣中,每個動作電位皆具有基本上相同的振幅和歷時,因此該信號中的資訊僅由尖峰的頻率和數目(或尖峰的時間)來表示,而不由振幅來表示。動作電位所攜帶的資訊由尖峰、發放尖峰的神經元 ,以及該尖峰相對於一或多個其他尖峰的時間來決定。
尖峰從一級神經元向另一級神經元的傳遞可經由突觸連接(或簡稱「突觸」)網路104來達成,如圖1所圖示的。突觸104可從級102的神經元(相對於突觸104而言的突觸前神經元)接收輸出信號(即尖峰)。對於某些態樣,該等信號可根據可調節突觸權重...(其中P是級102和106的神經元之間的突觸連接的總數)來縮放。對於其他態樣,突觸104可以不應用任何突觸權重。此外,(經縮放)信號可被組合以作為級106中每個神經元(相對於突觸104而言的突觸後神經元)的輸入信號。級106之每一者神經元可基於對應的組合輸入信號來產生輸出尖峰110。隨後可使用另一突觸連接網路(圖1中未圖示)將該等輸出尖峰110傳遞到另一級神經元。
生物學突觸可被分類為電的或化學的。電突觸主要用於發送興奮性信號,而化學突觸可調停突觸後神經元中的興奮性或抑制性(超極化)動作,並且亦可用於放大神經元信號。興奮性信號通常使膜電位去極化(亦即,相對於靜息電位增大膜電位)。若在某個時段內接收到足夠的興奮性信號以使膜電位去極化到高於閾值,則在突觸後神經元中發生動作電位。相反,抑制性信號一般使膜電位超極化(亦即,降低膜電位)。抑制性信號若足夠強則可抵消掉興奮性信號之和並阻止膜電位到達閾值。除了抵消掉突觸興奮以外,突觸抑制亦可對自發活動神經元施加強力的控制。自發活動神經元是指在沒有進一步輸入的情況下(例如,由於其動態或回饋而)發放尖峰的神經元。藉由壓制該等神經元中的動作電位 的自發產生,突觸抑制可對神經元中的激發模式進行定形,此舉一般被稱為雕刻。取決於期望的行為,各種突觸104可充當興奮性或抑制性突觸的任何組合。
神經系統100可經由通用處理器、數位訊號處理器(DSP)、特殊應用積體電路(ASIC)、現場可程式閘陣列(FPGA)或其他可程式邏輯設備(PLD)、個別閘門或電晶體邏輯、個別的硬體元件、由處理器執行的軟體模組,或其任何組合來仿真。神經系統100可用在大範圍的應用中,諸如圖像和模式辨識、機器學習、電機控制,及類似應用等。神經系統100中的每一神經元可被實施為神經元電路。被充電至發起輸出尖峰的閾值的神經元膜可被實施為例如對流經其的電流進行積分的電容器。
在一態樣中,電容器作為神經元電路的電流積分裝置可被除去,並且可使用較小的憶阻器元件來替代其。此種辦法可應用於神經元電路中,以及其中大容量電容器被用作電流積分器的各種其他應用中。另外,每個突觸104可基於憶阻器元件來實施,其中突觸權重改變可與憶阻器電阻的變化有關。使用奈米特徵尺寸的憶阻器,可顯著地減小神經元電路和突觸的面積,如此可使得實施超大規模神經系統硬體實施變得可行。
對神經系統100進行仿真的神經處理器的功能性可取決於突觸連接的權重,該等權重可控制神經元之間的連接的強度。突觸權重可儲存在非揮發性記憶體中以在掉電之後保留該處理器的功能性。在一態樣中,突觸權重記憶體可實 施在與主神經處理器晶片分開的外部晶片上。突觸權重記憶體可與神經處理器晶片分開地封裝成可更換的記憶卡。如此可向神經處理器提供多種多樣的功能性,其中特定功能性可基於當前附連至神經處理器的記憶卡中所儲存的突觸權重。
圖2圖示根據本案的某些態樣的計算網路(例如,神經系統或神經網路)的處理單元(例如,人工神經元202)的實例200。例如,神經元202可對應於來自圖1的級102和106的任一個神經元。神經元202可接收多個輸入信號2041-204N(x 1-x N ),該等輸入信號可以是該神經系統外部的信號,或是由同一神經系統的其他神經元所產生的信號,或該兩者。輸入信號可以是實數值或複數值的電流或電壓。輸入信號可包括具有定點或浮點表示的數值。可經由突觸連接將該等輸入信號遞送到神經元202,該等突觸連接根據可調節突觸權重2061-206 N (w 1-w N )對該等信號進行縮放,其中N可以是神經元202的輸入連接的總數。
神經元202可組合該等經縮放的輸入信號,並且使用組合的經縮放的輸入來產生輸出信號208(亦即,信號y)。輸出信號208可以是實數值或複數值的電流或電壓。輸出信號可包括具有定點或浮點表示的數值。隨後該輸出信號208可作為輸入信號傳遞至同一神經系統的其他神經元,或作為輸入信號傳遞至同一神經元202,或作為該神經系統的輸出傳遞。
處理單元(神經元202)可由電路來仿真,並且其輸入和輸出連接可由具有突觸電路的導線來仿真。處理單元、其輸入和輸出連接亦可由軟體代碼來仿真。處理單元亦可由 電路來仿真,而其輸入和輸出連接可由軟體代碼來仿真。在一態樣中,計算網路中的處理單元可包括類比電路。在另一態樣中,處理單元可包括數位電路。在又一態樣中,處理單元可包括具有類比和數位元件兩者的混合信號電路。計算網路可包括任何前述形式的處理單元。使用此種處理單元的計算網路(神經系統或神經網路)可用在大範圍的應用中,諸如圖像和模式辨識、機器學習、電機控制等。
在神經網路的訓練程序期間,突觸權重(例如,來自圖1的權重,...,及/或來自圖2的權重2061-206N)可用隨機值來初始化並根據學習規則而增大或減小。學習規則的某些實例是尖峰時序依賴型可塑性(STDP)學習規則、Hebb規則、Oja規則、Bienenstock-Copper-Munro(BCM)規則等。很多時候,該等權重可穩定至兩個值(亦即,權重的雙峰分佈)之一。該效應可被用於減少每突觸權重的位元數、提高從/向儲存突觸權重的記憶體讀取和寫入的速度,以及降低突觸記憶體的功耗。
突觸類型
在神經網路的硬體和軟體模型中,突觸相關功能的處理可基於突觸類型。突觸類型可包括非可塑突觸(對權重和延遲沒有改變)、可塑突觸(權重可改變)、結構化延遲可塑突觸(權重和延遲可改變)、全可塑突觸(權重、延遲和連通性可改變),以及基於此的變型(例如,延遲可改變,但在權重或連通性方面沒有改變)。此舉的優點在於處理可以被細分。例如,非可塑突觸不會要求執行可塑性功能(或等待此 類功能完成)。類似地,延遲和權重可塑性可被細分成可一起或分開地、順序地或並行地運作的操作。不同類型的突觸對於適用的每一種不同的可塑性類型可具有不同的檢視表或公式以及參數。因此,該等方法將針對該突觸的類型來存取相關的表。
亦進一步牽涉到以下事實:尖峰時序依賴型結構化可塑性可獨立於突觸可塑性而執行。結構化可塑性即使在權重幅值沒有改變的情況下(例如,若權重已達最小或最大值,或者其由於某種其他原因而不改變)亦可執行,因為結構化可塑性(亦即,延遲改變的量)可以是pre-post(突觸前-突觸後)尖峰時間差的直接函數。或者,結構化可塑性可被設為權重改變量的函數或者可基於與權重或權重改變的界限有關的條件來設置。例如,突觸延遲可僅在發生權重改變時或者在權重到達0的情況下才改變,但在權重達到最大極限時不改變。然而,具有獨立函數以使得該等程序能被並行化從而減少記憶體存取的次數和重疊可能是有利的。
突觸可塑性的決定
神經元可塑性(或簡稱「可塑性」)是大腦中的神經元和神經網路回應於新的資訊、感官刺激、發展、損壞,或機能障礙而改變其突觸連接和行為的能力。可塑性對於生物學中的學習和記憶,以及對於計算神經元科學和神經網路是重要的。已經研究了各種形式的可塑性,諸如突觸可塑性(例如,根據赫布理論)、尖峰時序依賴可塑性(STDP)、非突觸可塑性、活動性依賴可塑性、結構化可塑性和自身穩態可 塑性。
STDP是調節神經元(諸如大腦中的彼等神經元)之間的突觸連接的強度的學習程序。連接強度是基於特定神經元的輸出與收到輸入尖峰(亦即,動作電位)的相對時序來調節的。在STDP程序下,若至某個神經元的輸入尖峰平均而言傾向於緊挨在該神經元的輸出尖峰之前發生,則可發生長期增強(LTP)。於是使得該特定輸入在一定程度上更強。相反,若輸入尖峰平均而言傾向於緊接在輸出尖峰之後發生,則可發生長期抑壓(LTD)。於是使得該特定輸入在一定程度上更弱,由此得名為「尖峰時序依賴可塑性」。因此,使得可能是突觸後神經元興奮原因的輸入甚至更有可能在將來作出貢獻,而使得不是突觸後尖峰的原因的輸入較不可能在將來作出貢獻。該程序繼續,直至初始連接集的子集保留,而所有其他連接的影響減輕至0或接近0。
由於神經元一般在其許多輸入皆在一短時段內發生(亦即,足以累積到引起輸出)時產生輸出尖峰,因此通常保留下來的輸入子集包括傾向於在時間上相關的彼等輸入。另外,由於在輸出尖峰之前發生的輸入被加強,因此提供對相關性的最早充分累積指示的輸入將最終變成至該神經元的最後輸入。
STDP學習規則可因變於突觸前神經元的尖峰時間t 與突觸後神經元的尖峰時間t 之間的時間差(亦即,t=t -t )來有效地適配將該突觸前神經元連接到該突觸後神經元的突觸的突觸權重。STDP的典型公式是若該時間差為正(突觸前 神經元在突觸後神經元之前激發)則增大突觸權重(亦即,增強該突觸),以及若該時間差為負(突觸後神經元在突觸前神經元之前激發)則減小突觸權重(亦即,抑壓該突觸)。
在STDP程序中,突觸權重隨時間推移的改變可通常使用指數衰退來達成,如由下式提供的:
其中k +k -分別是針對正和負時間差的時間常數,a +a -是對應的縮放幅值,以及μ是可應用於正時間差及/或負時間差的偏移。
圖3圖示根據STDP,突觸權重因變於突觸前尖峰(pre)和突觸後尖峰(post)的相對時序而改變的示例性曲線圖300。若突觸前神經元在突觸後神經元之前激發,則可使對應的突觸權重增大,如曲線圖300的部分302中所圖示的。該權重增大可被稱為突觸的LTP。從曲線圖部分302可觀察到,LTP的量可因變於突觸前和突觸後尖峰時間之差而大致呈指數地下降。相反的激發次序可減小突觸權重,如曲線圖300的部分304中所圖示的,從而導致突觸的LTD。
如圖3中的曲線圖300中所圖示的,可向STDP曲線圖的LTP(因果性)部分302應用負偏移μ。x軸的交越點306(y=0)可被配置成與最大時間滯後重合,以考慮到來自層i-1(突觸前層)的各因果性輸入的相關性。在基於訊框的輸入(亦即,輸入是按包括尖峰或脈衝的特定歷時的訊框的形式)的情形中,可計算偏移值μ以反映訊框邊界。該訊框中的第一輸 入尖峰(脈衝)可被視為隨時間衰退,要麼如直接由突觸後電位所建模地、要麼以對神經狀態的影響的形式而隨時間衰退。若該訊框中的第二輸入尖峰(脈衝)被視為與特定的時間訊框關聯或相關,則該訊框之前和之後的相關時間可藉由偏移STDP曲線的一或多個部分以使得相關時間中的值可以不同(例如,對於大於一個訊框為負,而對於小於一個訊框為正)來在該時間訊框邊界處被分開並在可塑性方面被不同地對待。例如,負偏移μ可被設為偏移LTP以使得曲線實際上在大於訊框時間的pre-post時間處變得低於零並且其由此為LTD而非LTP的一部分。
神經元模型及操作
存在一些用於設計有用的尖峰神經元模型的一般原理。良好的神經元模型在以下兩個計算態相(regime)方面可具有豐富的潛在行為:一致性偵測和功能計算。此外,良好的神經元模型應當具有允許時間編碼的兩個要素:輸入的抵達時間影響輸出時間以及一致性偵測能具有窄時間訊窗。最後,為了在計算上是有吸引力的,良好的神經元模型在連續時間上可具有封閉形式解,並且具有穩定的行為,包括在靠近吸引子和鞍點之處。換言之,有用的神經元模型是可實踐且可被用於建模豐富的、現實的且生物學一致的行為並且可被用於對神經電路進行工程設計和反向工程兩者的神經元模型。
神經元模型可取決於事件,諸如輸入抵達、輸出尖峰或其他事件,無論該等事件是內部的還是外部的。為了達 成豐富的行為技能集合,能展現複雜行為的狀態機可能是期望的。若事件本身的發生在撇開輸入貢獻(若有)的情況下能影響狀態機並約束在該事件之後的動態,則該系統的將來狀態並非僅是狀態和輸入的函數,而是狀態、事件和輸入的函數。
在一態樣中,神經元n可被建模為尖峰帶洩漏積分激發(LIF)神經元,其膜電壓v n (t)由以下動態來支配:
其中αβ是參數,w m,n 是將突觸前神經元m連接至突觸後神經元n的突觸的突觸權重,以及y m (t)是神經元m的尖峰輸出,其可根據△t m,n 被延遲達樹突或軸突延遲才抵達神經元n的胞體。
應注意,從建立了對突觸後神經元的充分輸入的時間直至突觸後神經元實際上激發的時間之間存在延遲。在動態尖峰神經元模型(諸如Izhikevich簡單模型)中,若在去極化閾值v t 與峰值尖峰電壓v 峰值之間有差量,則可引發時間延遲。例如,在該簡單模型中,神經元胞體動態可由關於電壓和恢復的微分方程對來支配,即:
其中v是膜電位,u是膜恢復變數,k是描述膜電位v的時間尺度的參數,a是描述恢復變數u的時間尺度的參數,b是描述恢復變數u對膜電位v的閾下波動的敏感度的參數,v r 是膜 靜息電位,I是突觸電流,以及C是膜的電容。根據該模型,神經元被定義為在v>v 峰值時發放尖峰。
Hunzinger Cold模型
Hunzinger Cold神經元模型是能再現豐富多樣的各種神經行為的最小雙態相尖峰線性動態模型。該模型的一維或二維線性動態可具有兩個態相,其中時間常數(以及耦合)可取決於態相。在閾下態相中,時間常數(按照慣例為負)表示洩漏通道動態,其一般作用於以生物學一致的線性方式使細胞返回到靜息。閾上態相中的時間常數(按照慣例為正)反映抗洩漏通道動態,其一般驅動細胞發放尖峰,而同時在尖峰產生中引發潛時。
如圖4中所示,該模型的動態可被劃分成兩個(或更多個)態相。該等態相可被稱為負態相402(亦可互換地稱為帶洩漏積分激發(LIF)態相,勿與LIF神經元模型混淆)以及正態相404(亦可互換地稱為抗洩漏積分激發(ALIF)態相,勿與ALIF神經元模型混淆)。在負態相402中,狀態在將來事件的時間趨向於靜息(v -)。在該負態相中,該模型一般展現出時間輸入偵測性質及其他閾下行為。在正態相404中,狀態趨向於尖峰發放事件(v s )。在該正態相中,該模型展現出計算性質,諸如取決於後續輸入事件而引發發放尖峰的潛時。在事件方面對動態進行公式化以及將動態分成該兩個態相是該模型的基礎特性。
線性雙態相二維動態(對於狀態vu)可按照慣例定義為:
其中q ρ r是用於耦合的線性變換變數。
符號ρ在本文中用於標示動態態相,在論述或表達特定態相的關係時,按照慣例對於負態相和正態相分別用符號「-」或「+」來替換符號ρ
模型狀態經由膜電位(電壓)v和恢復電流u來定義。在基本形式中,態相在本質上是由模型狀態來決定的。該精確和通用的定義存在一些細微卻重要的態樣,但目前考慮該模型在電壓v高於閾值(v +)的情況下處於正態相404中,否則處於負態相402中。
態相依賴型時間常數包括負態相時間常數τ -和正態相時間常數τ +。恢復電流時間常數τ u 通常是與態相無關的。出於方便起見,負態相時間常數τ -通常被指定為反映衰退的負量,從而用於電壓演變的相同運算式可用於正態相,在正態相中指數和τ +將一般為正,正如τ u 一般。
該兩個狀態元素的動態可在發生事件之際經由使狀態偏離其零傾線(null-cline)的變換來耦合,其中變換變數為:q ρ =-τ ρ βμ-v ρ (7)
r=δ(v+ε) (8)
其中δεβv -v +是參數。v ρ 的兩個值是該兩個態相的參考電壓的基數。參數v -是負態相的基電壓,並且膜電位在負態相中一般將朝向v -衰退。參數v +是正態相的基電壓, 並且膜電位在正態相中一般將趨向於背離v +
vu的零傾線分別由變換變數q ρ r的負數提供。參數δ是控制u零傾線的斜率的比例縮放因數。參數ε通常被設為等於-v -。參數β是控制該兩個態相中的v零傾線的斜率的電阻值。τ ρ 時間常數參數不僅控制指數衰退,亦單獨地控制每個態相中的零傾線斜率。
該模型被定義為在電壓v達值v S 時發放尖峰。隨後,狀態通常在發生重定事件(其在技術上可以與尖峰事件完全相同)時被復位:
u=u+△u (10)
其中和△u是參數。重定電壓通常被設為v -
依照暫態耦合的原理,封閉形式解不僅對於狀態是可能的(且具有單個指數項),而且對於到達特定狀態所需的時間亦是可能的。封閉形式狀態解為:
因此,模型狀態可僅在發生事件之際被更新,諸如基於輸入(突觸前尖峰)或輸出(突觸後尖峰)而被更新。亦可在任何特定的時間(無論是否有輸入或輸出)執行操作。
而且,依照暫態耦合原理,可以預計突觸後尖峰的時間,因此到達特定狀態的時間可提前被決定而無需疊代技 術或數值方法(例如,歐拉數值方法)。給定了先前電壓狀態v 0,直至到達電壓狀態v f 之前的時間延遲由下式提供:
若尖峰被定義為發生在電壓狀態v到達v S 的時間,則從電壓處於給定狀態v的時間起量測的直至發生尖峰前的時間量或即相對延遲的封閉形式解為:
其中通常被設為參數v +,但其他變型可以是可能的。
模型動態的以上定義取決於該模型是在正態相還是負態相中。如所提及的,耦合和態相ρ可基於事件來計算。出於狀態傳播的目的,態相和耦合(變換)變數可基於在上一個(先前)事件的時間的狀態來定義。出於隨後預計尖峰輸出時間的目的,態相和耦合變數可基於在下一個(當前)事件的時間的狀態來定義。
存在對該Cold模型,以及在時間上執行模擬、仿真,或模型的若干可能實施。這包括例如事件-更新、步點-事件更新,以及步點-更新模式。事件更新是其中基於事件或「事件更新」(在特定時刻)來更新狀態的更新。步點更新是以間隔(例如,1ms)來更新模型的更新。這不一定要求疊代方法或數值方法。經由僅在事件發生於步點處或步點間的情況下才更新模型或即經由「步點-事件」更新,基於事件的實施以 有限的時間解析度在基於步點的模擬器中亦是可能的。
神經編碼
有用的神經網路模型(諸如包括圖1的人工神經元102、106的神經網路模型)可經由各種合適的神經編碼方案(諸如一致性編碼、時間編碼或速率編碼)中的任一種來編碼資訊。在一致性編碼中,資訊被編碼在神經元集群的動作電位(尖峰發放活動性)的一致性(或時間鄰近性)中。在時間編碼中,神經元經由對動作電位(亦即,尖峰)的精決時序化(無論是以絕對時間還是相對時間)來編碼資訊。資訊由此可被編碼在一群神經元間的相對尖峰時序中。相反,速率編碼涉及將神經資訊編碼在激發率或集群激發率中。
若神經元模型能執行時間編碼,則其亦能執行速率編碼(因為速率正好是時序或尖峰間間隔的函數)。為了提供時間編碼,良好的神經元模型應當具有兩個要素:(1)輸入的抵達時間影響輸出時間;及(2)一致性偵測能具有窄時間訊窗。連接延遲提供了將一致性偵測擴展到時間模式解碼的一種手段,因為藉由合適地延遲時間模式的元素,可使該等元素達成時序一致性。
抵達時間
在良好的神經元模型中,輸入的抵達時間應當對輸出時間有影響。突觸輸入--無論是狄拉克δ函數還是經定形的突觸後電位(PSP)、無論是興奮性的(EPSP)還是抑制性的(IPSP)--具有抵達時間(例如,δ函數的時間或者階躍或其他輸入函數的開始或峰值的時間),其可被稱為輸入時間 。神經元輸出(亦即,尖峰)具有發生時間(無論其是在何處(例如在胞體處、在沿軸突的一點處,或在軸突末端處)量測的),其可被稱為輸出時間。該輸出時間可以是尖峰的峰值時間、尖峰的開始,或與輸出波形有關的任何其他時間。普適原理是輸出時間取決於輸入時間。
乍看起來可能認為所有神經元模型皆遵循該原理,但一般並不是如此。例如,基於速率的模型不具有此特徵。許多尖峰模型一般亦並不遵循該點。帶洩漏積分激發(LIF)模型在有額外輸入(超過閾值)的情況下並不會更快一點地激發。此外,在以非常高的時序解析度來建模的情況下或許遵循該點的模型在時序解析度受限(諸如限於1ms步長)時通常將不會遵循該點。
輸入
神經元模型的輸入可包括狄拉克δ函數,諸如電流形式的輸入,或基於電導率的輸入。在後一種情形中,對神經元狀態的貢獻可以是連續的或狀態依賴型的。
尖峰神經網路中使用重放進行突觸學習的示例性實施
尖峰神經網路(例如,來自圖1的尖峰神經網路100)使用軸突及/或突觸連接(例如,來自圖1的突觸連接104)來對人工神經元或神經處理單元(例如,來自圖1的人工神經元102、106)之間的尖峰傳輸進行建模。任何兩個相連接的人工神經元的胞體之間的軸突和突觸可各自具有與之相關聯的延遲。
一般學習方案(諸如前述的STDP)可在學習演算法中具有非因果分量(例如,意味著相同輸入可能不總是導致相同結果)。此類非因果部分可使得需要對突觸前和突觸後神經元的狀態參數的檢視,此舉可涉及低效的隨機存取記憶體(RAM)存取模式並且在以硬體實施時因執行前向和反向檢視兩者而較慢。
根據本文提供的某些態樣,突觸學習上的效能增長可藉由在神經網路中重放來自過去固定時間的尖峰(例如基於先前訓練疊代期間記錄的尖峰時序)來達成。在本案的一態樣中,神經網路可在時間T0(亦即,在神經網路被啟動時)如常執行。神經網路中的一或多個神經元中的每一個神經元皆可在固定重放延遲T重放之後重放相同尖峰。被重放的尖峰可被用於實施學習演算法,例如以便加強學習和說明與人工神經元相關聯的參數(例如,突觸延遲及/或權重)收斂。
圖5圖示根據本案的某些態樣的在尖峰神經網路中使用重放來執行突觸學習功能的示例性狀態機500。狀態機500可在狀態502開始,其可針對時間=τ更新神經狀態。在狀態504處,可執行可塑性更新。在本案的一態樣中,可塑性更新可針對時間訊窗τ-CT_NUM_DELAYS-STDP_PRE_WIN來執行,其中CT_NUM_DELAYS表示所允許的延遲的數目(或當最小突觸延遲CT_MIN_DELAY為1時的最大延遲,如圖5中所圖示的)並且STDP_PRE_WIN表示pre先於post的STDP訊窗。此訊窗通常是指突觸增強並且應當小於post先於pre的STDP訊窗STDP_POST_WIN(如圖5中所示),後者通常是指 突觸抑壓。在狀態506處,時間段τ可被遞增。在狀態506處遞增τ之後,狀態機500可返回狀態502並重複操作直至終止。
圖6圖示根據本案的某些態樣的在尖峰神經網路中使用重放的突觸學習功能的示例性等時線600。在一態樣中,尖峰重放可在神經狀態更新完成之後發生。例如,在時間T+0,可執行神經狀態更新。在稍後時間ε(例如,時間T+1及/或T+24),可觸發突觸輸入事件。在某一稍後時間R(例如,時間T+40),可執行尖峰重放。如圖6中所圖示的,在時間R處執行尖峰重放可觸發尖峰神經網路執行與某一較早時間ε(例如,時間T-39及/或T-16)相關的STDP查詢。在執行STDP查詢之後,狀態機(例如,來自圖5的狀態機500)可執行與某一較早時間ε(例如,時間T-59及/或T-0)相關的尖峰歷史檢視功能。
在本案的另一態樣中,如圖7中所圖示的,用於在尖峰神經網路中使用重放來執行突觸學習的狀態機700可被適配成處理神經狀態更新,其中連接表(CT)已被分段成多個離散的延遲範圍。如圖7中所圖示的,在示例性情形中,最小突觸延遲CT_MIN_DELAY為1,每個CT分段中所允許延遲的數目SEGMENT_LENGTH(分段_長度)為8,CT被分段成的區塊數目CT_NUM_SEGMENTS為3,pre先於post的STDP訊窗STDP_PRE_WIN為17,並且post先於pre的STDP訊窗STDP_POST_WIN為19。
可執行對CT表分段以促進輸入電流緩衝器記憶體的較小深度。如圖7中所圖示的,狀態機700可在狀態702開始 ,其可針對一或多個分段中的每一個分段(例如,針對τ、τ-8、τ-16)啟動尖峰。在狀態704,可針對在狀態702啟動的一或多個尖峰中的每一個尖峰產生可塑性更新。在一態樣中,該一或多個尖峰中的每一個尖峰可根據CT表分段延遲的值來延遲。可針對時間τ-延遲(例如,針對時間τ-42、τ-50、τ-58)來產生可塑性更新。在狀態706,狀態機700可針對時間τ更新人工神經元的神經狀態。在狀態708,狀態機700可遞增τ。在狀態708遞增τ之後,狀態機700可返回狀態702並重複操作直至終止。
圖8圖示根據本案的某些態樣的在尖峰神經網路中使用重放的突觸學習功能的示例性等時線800,其中CT表已被分段成多個離散的延遲範圍。在本案的一態樣中,尖峰重放可在神經狀態更新完成之後發生。在時間T+0,可執行針對第一分段的神經狀態更新。在一態樣中,可在不同時間針對每個附加分段執行狀態更新;該時間例如是可針對一分段啟動尖峰輸出的時間,其可由以下等式來定義:時間=T+[(分段_編號-1)* SN_IBUF_長度]。在傳送針對一分段的尖峰輸出之後,可在時刻ε觸發對應於所傳送的分段的突觸輸入事件,如圖8中所圖示的。在某一稍後時間R,可執行對應於所啟動的尖峰分段的尖峰重放。在一態樣中,在時間R執行尖峰重放可觸發尖峰神經網路執行針對所傳送的分段的STDP查詢。在執行STDP查詢之後,狀態機可針對所傳送的分段執行尖峰歷史檢視功能。
圖9圖示根據本案的各態樣的用於訓練人工神經系 統的示例性操作900。操作900開始於902處,記錄訓練疊代期間的人工神經元的尖峰的時序。操作900繼續,在904處,在後續訓練疊代期間根據所記錄的時序來重放該人工神經元的尖峰,以及在906處,至少部分地基於該後續訓練疊代來更新與該人工神經元相關聯的參數。
根據本案的各態樣,參數的更新包括更新與關聯於人工神經元的突觸相關聯的參數。在本案的一態樣中,該等參數可包括突觸權重或延遲中的至少一者。在另一態樣中,該等參數可涉及可塑性功能。
根據本案的各態樣,該重放可包括在人工神經系統中重放來自過去固定時間的尖峰。在一態樣中,人工神經系統的複數個人工神經元中的每一個在固定延遲之後重放相同尖峰。在另一態樣中,複數個人工神經元中的每一個人工神經元在與該人工神經元相關聯的特定分段特有的延遲之後重放相同尖峰。
圖10圖示根據本案的某些態樣的用於使用通用處理器1002來操作人工神經系統的前述方法的示例性方塊圖1000。與計算網路(神經網路)相關聯的變數(神經信號)、突觸權重及/或系統參數可被儲存在記憶體區塊1004中,而在通用處理器1002處執行的有關指令可從程式記憶體1006中載入。在本案的一態樣中,載入到通用處理器1002中的指令可包括用於以下操作的代碼:記錄訓練疊代期間的人工神經元的尖峰的時序,在後續訓練疊代期間根據所記錄的時序來重放人工神經元的尖峰,以及至少部分地基於該後續訓練疊代來更 新與人工神經元相關聯的參數。
圖11圖示根據本案的某些態樣的用於操作人工神經系統的前述方法的示例性方塊圖1100,其中記憶體1102可經由互連網路1104與計算網路(神經網路)的個體(分散式)處理單元(神經處理器)1106對接。與計算網路(神經網路)相關聯的變數(神經信號)、突觸權重及/或系統參數可被儲存在記憶體1102中,並且可從記憶體1102經由互連網路1104的連接被載入到每個處理單元(神經處理器)1106中。在本案的一態樣中,處理單元1106可被配置成:記錄訓練疊代期間的人工神經元的尖峰的時序,在後續訓練疊代期間根據所記錄的時序來重放人工神經元的尖峰,以及至少部分地基於該後續訓練疊代來更新與人工神經元相關聯的參數。
圖12圖示了根據本案的某些態樣的用於基於分散式記憶體1202和分散式處理單元(神經處理器)1204來訓練人工神經系統的上述方法的示例性方塊圖1200。如圖12中所圖示的,一個記憶體組1202可直接與計算網路(神經網路)的一個處理單元1204對接,其中該記憶體組1202可儲存與該處理單元(神經處理器)1204相關聯的變數(神經信號)、突觸權重及/或系統參數。在本案的一態樣中,處理單元1204可被配置成:記錄訓練疊代期間的人工神經元的尖峰的時序,在後續訓練疊代期間根據所記錄的時序來重放人工神經元的尖峰,以及至少部分地基於該後續訓練疊代來更新與人工神經元相關聯的參數。
圖13圖示根據本案的某些態樣的神經網路1300的示 例性實施。如圖13中所圖示的,神經網路1300可包括複數個局部處理單元1302,其可執行以上描述的方法的各種操作。每個處理單元1302可包括儲存該神經網路的參數的局部狀態記憶體1304和局部參數記憶體1306。另外,處理單元1302可包括具有局部(神經元)模型程式的記憶體1308、具有局部學習程式的記憶體1310,以及局部連接記憶體1312。此外,如圖13中所圖示的,每個局部處理單元1302可與用於配置處理的單元1314對接並且與路由連接處理元件1316對接,單元1314可提供對局部處理單元的局部記憶體的配置,元件1316提供局部處理單元1302之間的路由。
圖14是根據本案的某些態樣的人工神經系統的示例性硬體實施的方塊圖1400。如上述及之STDP更新可在‘實施可塑性更新和重組’區塊1402中發生。對於某些態樣,經更新的突觸權重可經由快取記憶體線介面1404儲存在片外記憶體(例如,動態隨機存取記憶體(DRAM)1406)中。
在典型的人工神經系統中,存在比人工神經元多許多的突觸,並且對於大型神經網路,以高效方式處理突觸更新是期望的。大數目的突觸可建議將突觸權重和其他參數儲存在記憶體(例如,DRAM 1406)中。當人工神經元在所謂的「超神經元(SN)」中產生尖峰時,該等神經元可經由DRAM檢視以決定突觸後神經元和對應神經權重來將彼等尖峰轉發給突觸後神經元。為了實施快速和高效的檢視,突觸排序可例如基於來自神經元的扇出被連續地保持在記憶體中。稍後當在‘實施可塑性更新和重組’區塊1402中處理STDP更新時 ,效率可在給定此記憶體佈局的情況下要求基於轉發扇出來處理更新,如此是因為不需要搜尋DRAM或較大的檢視表來決定針對LTP更新的反向映射。圖14中示出的辦法促進了該點。‘實施可塑性更新和重組’區塊1402可查詢超神經元以力圖獲得突觸前和突觸後尖峰時間,以用於例如根據本案的各態樣記錄和重放尖峰、由此再次降低所涉及的狀態記憶體量的目的。
以上所描述的方法的各種操作可由能夠執行相應功能的任何合適的手段來執行。該等手段可包括各種硬體及/或軟體元件及/或模組,包括但不限於電路、特殊應用積體電路(ASIC),或處理器。例如,各個操作可由圖10-14中所示的各個處理器中的一或多個來執行。一般而言,在存在附圖中圖示的操作的場合,彼等操作可具有帶相似編號的相應配對手段功能元件。例如,圖9中所圖示的操作900對應於圖9A中所圖示的手段900A。
例如,用於顯示的手段可包括顯示器(例如,監視器、平面螢幕、觸控式螢幕等)、印表機,或任何其他用於輸出資料以供視覺圖示(例如表格、圖表或圖形)的合適手段。用於處理的手段、用於接收的手段、用於計及延遲的手段、用於擦除的手段,或用於決定的手段可包括處理系統,其可包括一或多個處理器或處理單元。用於儲存的手段可包括可由處理系統存取的記憶體或任何其他合適的儲存設備(例如,RAM)。
如本文所使用的,術語「決定」涵蓋各種各樣的動 作。例如,「決定」可包括演算、計算、處理、推導、研究、檢視(例如,在表、資料庫或其他資料結構中檢視)、確定,及類似動作。而且,「決定」可包括接收(例如接收資訊)、存取(例如存取記憶體中的資料),及類似動作。同樣,「決定」亦可包括解析、選擇、選取、建立,及類似動作。
如本文中所使用的,引述一列項目中的「至少一個」的用語是指該等項目的任何組合,包括單個成員。作為實例,「abc中的至少一者」意欲涵蓋:abca-ba-cb-c,以及a-b-c
結合本案描述的各種說明性邏輯區塊、模組,以及電路可用設計成執行本文中描述的功能的通用處理器、數位訊號處理器(DSP)、特殊應用積體電路(ASIC)、現場可程式閘陣列(FPGA)或其他可程式邏輯設備(PLD)、個別閘門或電晶體邏輯、個別的硬體元件,或其任何組合來實施或執行。通用處理器可以是微處理器,但在替代方案中,處理器可以是任何可商業購得的處理器、控制器、微控制器,或狀態機。處理器亦可以被實施為計算設備的組合,例如DSP與微處理器的組合、複數個微處理器、與DSP核心協同的一或多個微處理器或任何其他此類配置。
結合本案所描述的方法或演算法的步驟可直接在硬體中、在由處理器執行的軟體模組中,或在該兩者的組合中實施。軟體模組可常駐在本領域所知的任何形式的儲存媒體中。可使用的儲存媒體的一些實例包括隨機存取記憶體(RAM)、唯讀記憶體(ROM)、快閃記憶體、EPROM記憶體、EEPROM 記憶體、暫存器、硬碟、可移除磁碟、CD-ROM,等等。軟體模組可包括單一指令,或許多數指令,且可分佈在若干不同的程式碼片段上,分佈在不同的程式間以及跨多個儲存媒體分佈。儲存媒體可被耦合到處理器以使得該處理器能從/向該儲存媒體讀寫資訊。替代地,儲存媒體可以被整合到處理器。
本文所揭示的方法包括用於達成所描述的方法的一或多個步驟或動作。該等方法步驟及/或動作可以彼此互換而不會脫離請求項的範圍。換言之,除非指定了步驟或動作的特定次序,否則特定步驟及/或動作的次序及/或使用可以改動而不會脫離請求項的範圍。
所描述的功能可在硬體、軟體、韌體或其任何組合中實施。若以硬體實施,則示例性硬體設定可包括設備中的處理系統。處理系統可以用匯流排架構來實施。取決於處理系統的特定應用和整體設計約束,匯流排可包括任何數目的互連匯流排和橋接器。匯流排可將包括處理器、機器可讀取媒體,以及匯流排介面的各種電路連結在一起。匯流排介面可用於尤其將網路介面卡等經由匯流排連接至處理系統。網路介面卡可用於實施信號處理功能。對於某些態樣,使用者介面(例如,按鍵板、顯示器、滑鼠、操縱桿等)亦可被連接至匯流排。匯流排亦可連結各種其他電路(諸如時序源、周邊設備、穩壓器、電源管理電路等),該等電路在本領域中是眾所周知的,因此將不再贅述。
處理器可負責管理匯流排和一般處理,包括執行儲 存在機器可讀取媒體上的軟體。處理器可用一或多個通用及/或專用處理器來實施。實例包括微處理器、微控制器、DSP處理器,以及其他能執行軟體的電路系統。軟體應當被寬泛地解釋成意謂指令、資料,或其任何組合,無論是被稱作軟體、韌體、中介軟體、微代碼、硬體描述語言,或其他。作為實例,機器可讀取媒體可以包括RAM(隨機存取記憶體)、快閃記憶體、ROM(唯讀記憶體)、PROM(可程式設計唯讀記憶體)、EPROM(可抹除可程式設計唯讀記憶體)、EEPROM(電可抹除可程式設計唯讀記憶體)、暫存器、磁碟、光碟、硬驅動器,或者任何其他合適的儲存媒體,或其任何組合。機器可讀取媒體可被實施在電腦程式產品中。該電腦程式產品可以包括包裝材料。
在硬體實施中,機器可讀取媒體可以是處理系統中與處理器分開的一部分。然而,如本領域技藝人士將容易瞭解的,機器可讀取媒體,或其任何部分可在處理系統外部。作為實例,機器可讀取媒體可包括傳輸線、由資料調制的載波,及/或與設備分開的電腦產品,所有該等皆可由處理器經由匯流排介面來存取。替代地或另外地,機器可讀取媒體,或其任何部分可被整合到處理器中,諸如快取記憶體及/或通用暫存器檔案可能就是此種情形。
處理系統可以被配置為通用處理系統,該通用處理系統具有一或多個提供處理器功能性的微處理器和提供機器可讀取媒體中的至少一部分的外部記憶體,其皆經由外部匯流排架構與其他支援電路系統連結在一起。或者,處理系統 可以用帶有整合在單塊晶片中的處理器、匯流排介面、使用者介面、支援電路系統和至少一部分機器可讀取媒體的ASIC(特殊應用積體電路)來實施,或者用一或多個FPGA(現場可程式閘陣列)、PLD(可程式邏輯設備)、控制器、狀態機、閘控邏輯、個別硬體元件,或者任何其他合適的電路系統,或者能執行本案通篇所描述的各種功能性的電路的任何組合來實施。取決於特定應用和加諸於整體系統上的整體設計約束,本領域技藝人士將認識到如何最佳地實施關於處理系統所描述的功能性。
機器可讀取媒體可包括數個軟體模組。該等軟體模組包括當由處理器執行時使處理系統執行各種功能的指令。該等軟體模組可包括傳輸模組和接收模組。每個軟體模組可以常駐在單個儲存設備中或者跨多個儲存設備分佈。作為實例,當觸發事件發生時,可以從硬驅動器中將軟體模組載入到RAM中。在軟體模組執行期間,處理器可以將一些指令載入到快取記憶體中以提高存取速度。隨後可將一或多個快取記憶體行載入到通用暫存器檔案中以供由處理器執行。在以下談及軟體模組的功能性時,將理解此類功能性是在處理器執行來自該軟體模組的指令時由該處理器來實施的。
若以軟體實施,則各功能可作為一或多數指令或代碼儲存在電腦可讀取媒體上或藉其進行傳送。電腦可讀取媒體包括電腦儲存媒體和通訊媒體兩者,該等媒體包括促進轉移的任何媒體。
900‧‧‧操作
902‧‧‧步驟
904‧‧‧步驟
906‧‧‧步驟

Claims (22)

  1. 一種訓練一人工神經系統的方法,包括以下步驟:記錄一訓練疊代期間的一人工神經元的尖峰的時序;在一後續訓練疊代期間根據該所記錄的時序來重放該人工神經元的該等尖峰;及至少部分地基於該後續訓練疊代來更新與該人工神經元相關聯的參數。
  2. 如請求項1所述之方法,其中該更新之步驟包括以下步驟:更新與關聯於該人工神經元的一突觸相關聯的參數。
  3. 如請求項2所述之方法,其中該等參數包括權重或延遲中的至少一者。
  4. 如請求項1所述之方法,其中該重放之步驟包括以下步驟:在該人工神經系統中重放來自過去一固定時間的尖峰。
  5. 如請求項1所述之方法,其中該等參數與一可塑性功能相關。
  6. 如請求項1所述之方法,其中該人工神經系統的複數個人工神經元中的每一個人工神經元在一固定延遲之後重放相同尖峰。
  7. 如請求項1所述之方法,其中該人工神經系統的複數個人工神經元中的每一個人工神經元在與該人工神經元相關聯的一特定分段特有的一延遲之後重放相同尖峰。
  8. 一種用於訓練一人工神經系統的裝置,包括:一處理系統,其配置成:記錄一訓練疊代期間的一人工神經元的尖峰的時序,在一後續訓練疊代期間根據該所記錄的時序來重放該人工神經元的該等尖峰,以及至少部分地基於該後續訓練疊代來更新與該人工神經元相關聯的參數;及耦合至該處理系統的一記憶體。
  9. 如請求項8所述之裝置,其中該處理系統進一步被配置成更新與關聯於該人工神經元的一突觸相關聯的參數。
  10. 如請求項9所述之裝置,其中該等參數包括權重或延遲中的至少一者。
  11. 如請求項8所述之裝置,其中該處理系統進一步被配置成在該人工神經系統中重放來自過去一固定的時間的尖峰。
  12. 如請求項8所述之裝置,其中該等參數與一可塑性功能相關。
  13. 如請求項8所述之裝置,其中該人工神經系統的複數個人工神經元中的每一個人工神經元在一固定延遲之後重放相同尖峰。
  14. 如請求項8所述之裝置,其中該人工神經系統的複數個人工神經元中的每一個人工神經元在與該人工神經元相關聯的一特定分段特有的一延遲之後重放相同尖峰。
  15. 一種用於訓練一人工神經系統的裝置,包括:用於記錄一訓練疊代期間的一人工神經元的尖峰的時序的手段;用於在一後續訓練疊代期間根據該所記錄的時序來重放該人工神經元的該等尖峰的手段;及用於至少部分地基於該後續訓練疊代來更新與該人工神經元相關聯的參數的手段。
  16. 如請求項15所述之裝置,進一步包括:用於更新與關聯於該人工神經元的一突觸相關聯的參數的手段。
  17. 如請求項16所述之裝置,其中該等參數包括權重或延遲中的至少一者。
  18. 如請求項15所述之裝置,進一步包括:用於在該人工神經系統中重放來自過去一固定時間的尖峰的手段。
  19. 如請求項15所述之裝置,其中該等參數與一可塑性功能相關。
  20. 如請求項15所述之裝置,其中該人工神經系統的複數個人工神經元中的每一個人工神經元在一固定延遲之後重放相同尖峰。
  21. 如請求項15所述之裝置,其中該人工神經系統的複數個人工神經元中的每一個人工神經元在與該人工神經元相關聯的一特定分段特有的一延遲之後重放相同尖峰。
  22. 一種電腦可讀取媒體,其上儲存有可由一電腦執行以用於以下操作的指令:記錄一訓練疊代期間的一人工神經元的尖峰的時序;在一後續訓練疊代期間根據該所記錄的時序來重放該人工神經元的該等尖峰;及至少部分地基於該後續訓練疊代來更新與該人工神經元相關聯的參數。
TW103138758A 2013-11-08 2014-11-07 在尖峰神經網路中使用重放來實施突觸學習 TW201528162A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201361901599P 2013-11-08 2013-11-08
US14/494,681 US20150134582A1 (en) 2013-11-08 2014-09-24 Implementing synaptic learning using replay in spiking neural networks

Publications (1)

Publication Number Publication Date
TW201528162A true TW201528162A (zh) 2015-07-16

Family

ID=51901020

Family Applications (1)

Application Number Title Priority Date Filing Date
TW103138758A TW201528162A (zh) 2013-11-08 2014-11-07 在尖峰神經網路中使用重放來實施突觸學習

Country Status (8)

Country Link
US (1) US20150134582A1 (zh)
EP (1) EP3066619A1 (zh)
JP (1) JP2016539414A (zh)
KR (1) KR20160084401A (zh)
CN (1) CN105659262A (zh)
CA (1) CA2926824A1 (zh)
TW (1) TW201528162A (zh)
WO (1) WO2015069614A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI673657B (zh) * 2017-11-29 2019-10-01 美商安納富來希股份有限公司 具有非揮發性突觸陣列的神經網路電路

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10726337B1 (en) * 2015-04-30 2020-07-28 Hrl Laboratories, Llc Method and apparatus for emulation of neuromorphic hardware including neurons and synapses connecting the neurons
KR20180048109A (ko) 2016-11-02 2018-05-10 삼성전자주식회사 뉴럴 네트워크 변환 방법 및 이를 이용한 인식 장치
WO2018156891A1 (en) * 2017-02-24 2018-08-30 Google Llc Training policy neural networks using path consistency learning
US10922608B2 (en) * 2017-03-08 2021-02-16 Arm Ltd Spiking neural network
US10679119B2 (en) * 2017-03-24 2020-06-09 Intel Corporation Handling signal saturation in spiking neural networks
KR101904085B1 (ko) 2017-06-07 2018-11-22 울산과학기술원 신경 발화 패턴을 이용한 촉감의 모델링 방법, 촉감 모델 및 신경 발화 패턴을 이용한 촉감의 생성 방법
US10706355B2 (en) * 2018-01-23 2020-07-07 Hrl Laboratories, Llc Method and system for distributed coding and learning in neuromorphic networks for pattern recognition
KR20210098992A (ko) * 2018-11-01 2021-08-11 브레인칩, 인크. 개선된 스파이킹 뉴럴 네트워크
KR102288075B1 (ko) 2019-02-12 2021-08-11 서울대학교산학협력단 스파이킹 뉴럴 네트워크를 이용한 추론 방법 및 장치
US11586895B1 (en) * 2019-06-17 2023-02-21 Green Mountain Semiconductor, Inc. Recursive neural network using random access memory
CN111582470B (zh) * 2020-04-02 2023-01-10 清华大学 基于stdp的自适应非监督学习图像识别方法及系统
KR102565662B1 (ko) * 2020-10-29 2023-08-14 포항공과대학교 산학협력단 역치 적응형 3단자 저항 변화 소자 기반 발화형 뉴런 및 발화형 뉴런 회로
CN113065648B (zh) * 2021-04-20 2024-02-09 西安交通大学 一种低硬件开销的分段线性函数的硬件实现方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BRPI0512822A (pt) * 2004-06-30 2008-04-08 Qualcomm Inc método e equipamento para cancelamento de interferência de piloto em um sistema de comunicação sem fio
US9015091B2 (en) * 2011-11-09 2015-04-21 Qualcomm Incorporated Methods and apparatus for unsupervised neural replay, learning refinement, association and memory transfer: structural plasticity and structural constraint modeling
US9443190B2 (en) * 2011-11-09 2016-09-13 Qualcomm Incorporated Methods and apparatus for neural pattern sequence completion and neural pattern hierarchical replay by invoking replay of a referenced neural pattern
US8909575B2 (en) * 2012-02-29 2014-12-09 Qualcomm Incorporated Method and apparatus for modeling neural resource based synaptic placticity

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI673657B (zh) * 2017-11-29 2019-10-01 美商安納富來希股份有限公司 具有非揮發性突觸陣列的神經網路電路

Also Published As

Publication number Publication date
JP2016539414A (ja) 2016-12-15
EP3066619A1 (en) 2016-09-14
WO2015069614A1 (en) 2015-05-14
CN105659262A (zh) 2016-06-08
CA2926824A1 (en) 2015-05-14
KR20160084401A (ko) 2016-07-13
US20150134582A1 (en) 2015-05-14

Similar Documents

Publication Publication Date Title
TW201528162A (zh) 在尖峰神經網路中使用重放來實施突觸學習
US9542643B2 (en) Efficient hardware implementation of spiking networks
US9330355B2 (en) Computed synapses for neuromorphic systems
US10339041B2 (en) Shared memory architecture for a neural simulator
TWI585695B (zh) 用於定義多個神經元的動態的方法、設備及電腦可讀取媒體
US9886663B2 (en) Compiling network descriptions to multiple platforms
TW201539335A (zh) 實現神經網路處理器
TW201531966A (zh) 配置稀疏神經網路
TW201535277A (zh) 以陰影網路監視神經網路
TW201531967A (zh) 因果凸顯性時間推斷
US9959499B2 (en) Methods and apparatus for implementation of group tags for neural models
US9672464B2 (en) Method and apparatus for efficient implementation of common neuron models
TW201602807A (zh) Cold神經元尖峰時序反向傳播
US20150212861A1 (en) Value synchronization across neural processors
TWI550530B (zh) 用於產生尖峰定時依賴可塑性曲線的緊湊表示的方法、設備、電腦可讀取媒體及電腦程式產品
TW201541374A (zh) 用於隨機尖峰貝氏網路的基於事件的推斷和學習
TW201602924A (zh) 在尖峰神經網路中藉由全域標量值來調制可塑性
TW201543382A (zh) 神經網路對當前計算資源的自我調整
TW201533668A (zh) 基於突觸前尖峰的短期突觸記憶
TW201602923A (zh) 使用尖峰發放神經網路對大序列的概率性表示
TW201525883A (zh) 在多維範圍上評估包括可分離子系統的系統
KR101825933B1 (ko) 좌표 변환을 위한 위상 코딩
US9460384B2 (en) Effecting modulation by global scalar values in a spiking neural network
US9342782B2 (en) Stochastic delay plasticity
US20140365413A1 (en) Efficient implementation of neural population diversity in neural system