TWI550530B - 用於產生尖峰定時依賴可塑性曲線的緊湊表示的方法、設備、電腦可讀取媒體及電腦程式產品 - Google Patents
用於產生尖峰定時依賴可塑性曲線的緊湊表示的方法、設備、電腦可讀取媒體及電腦程式產品 Download PDFInfo
- Publication number
- TWI550530B TWI550530B TW103108702A TW103108702A TWI550530B TW I550530 B TWI550530 B TW I550530B TW 103108702 A TW103108702 A TW 103108702A TW 103108702 A TW103108702 A TW 103108702A TW I550530 B TWI550530 B TW I550530B
- Authority
- TW
- Taiwan
- Prior art keywords
- stdp
- data points
- primitive
- memory
- segment
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/10—Interfaces, programming languages or software development kits, e.g. for simulating neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/088—Non-supervised learning, e.g. competitive learning
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Image Analysis (AREA)
Description
本專利申請案主張於2013年4月15日以Sarah等人的名義提交的美國臨時專利申請案第61/812,043號的權益,其揭示內容經由援引全部明確納入於此。
本案的某些態樣一般係關於神經系統工程,更具體地係關於用於產生尖峰定時依賴可塑性(STDP)曲線的緊湊表示的系統和方法。
可包括一群互連的人工神經元(即神經元模型)的人工神經網路是一種計算設備或者表示將由計算設備執行的方法。人工神經網路可具有生物學神經網路中的對應的結構及/或功能。此外,人工神經網路可為其中傳統計算技術是麻煩的、不切實際的、或不勝任的某些應用提供創新且有用的計算技術。由於人工神經網路能從觀測資料中推斷出功能,因此此類網路在因任務或資料的複雜度使得經由習知技術來
設計功能較為麻煩的應用中是特別有用的。
尖峰神經網路的研究者使用神經網路中的尖峰定時依賴可塑性曲線中的變動。不同類型的曲線可經由不同的數學函數來表達。研究者可寫出支配一些STDP曲線的行為的一個方程組並隨後寫出支配另一STDP曲線的另一方程組,依此類推。研究者隨後使用這些不同的方程協同突觸模型來建立尖峰神經網路以執行具有特定特性的某一任務。
支配不同STDP曲線的方程的實現常常經由建立硬體中的查閱資料表(LUT)來執行。這些LUT在時間上可跨越幾百毫秒。查閱資料表一般包括實數陣列。這樣,LUT的實現可能消耗硬體中大量的記憶體。例如,尖峰神經網路可具有十個不同的STDP曲線,對於LUT之每一者值具有16位元的精度。在此示例中,LUT跨越一秒(1000毫秒)。硬體中為STDP曲線消耗的記憶體在此示例中將為20千位元組。因而,建立硬體中的LUT是非常麻煩且昂貴的。
根據本案的各態樣,揭示一種用於產生尖峰定時依賴可塑性(STDP)資料點集合的緊湊表示的方法。方法包括將資料點集合分段成不同區段。方法亦包括將至少一個區段表示為基元並儲存基元的參數。
在一個態樣,揭示一種用於近似STDP資料點集合的方法。該方法包括從記憶體檢索至少一個參數。方法亦包括向表示STDP資料點集合的至少一個段的基元應用參數。該方法進一步包括基於參數和基元決定近似資料點集合的各點。
在另一個態樣,揭示一種用於產生STDP資料點集合的緊湊表示的裝置。裝置具有記憶體以及耦合至記憶體的至少一個處理器。處理器被配置成將資料點集合分段成不同區段,將至少一個區段表示為基元,以及儲存基元的參數。
在又一個態樣,揭示一種用於產生STDP資料點集合的緊湊表示的電腦程式產品。該電腦程式產品包括其上記錄有程式碼的非瞬態電腦可讀取媒體。程式碼包括用於將資料點集合分段成不同區段的程式碼。程式碼亦包括用於將至少一個區段表示為基元的程式碼,以及用於儲存基元的參數的程式碼。
這已較寬泛地勾勒出本案的特徵和技術優勢以力圖使下面的詳細描述可以被更好地理解。本案的其他特徵和優點將在下文描述。熟習此項技術者應該領會,本案可容易地被用作改動或設計用於實施與本案相同的目的的其他結構的基礎。熟習此項技術者亦應認識到,此類等效構造並不脫離所附請求項中所闡述的本案的教導。被認為是本案的特性的新穎特徵在其組織和操作方法兩方面連同進一步的目的和優點在結合附圖來考慮以下描述時將被更好地理解。然而要清楚理解的是,提供每一幅附圖均僅用於圖示和描述目的,且無意作為對本案的限定的定義。
100‧‧‧人工神經系統
102‧‧‧一級神經元
104‧‧‧突觸連接網路
106‧‧‧另一級神經元
1081‧‧‧輸入信號
1082‧‧‧輸入信號
108N‧‧‧輸入信號
1101‧‧‧輸出尖峰
1102‧‧‧輸出尖峰
110M‧‧‧輸出尖峰
200‧‧‧示圖
202‧‧‧神經元
2061‧‧‧可調節突觸權重
206i‧‧‧可調節突觸權重
206N‧‧‧可調節突觸權重
208‧‧‧輸出信號
300‧‧‧示圖
302‧‧‧部分
304‧‧‧部分
306‧‧‧跨接點
400‧‧‧模型
402‧‧‧負態相
404‧‧‧正態相
500‧‧‧流程圖
502‧‧‧方塊
504‧‧‧方塊
506‧‧‧方塊
552‧‧‧方塊
554‧‧‧方塊
556‧‧‧方塊
601‧‧‧STDP曲線
602‧‧‧段定界符
603‧‧‧近似STDP曲線
606‧‧‧尾部
702‧‧‧曲線段四
800‧‧‧實現
802‧‧‧通用處理器
804‧‧‧記憶體塊
806‧‧‧程式記憶體
900‧‧‧實現
902‧‧‧記憶體
904‧‧‧互連網路
906‧‧‧處理單元(神經處理器)
1000‧‧‧實現
1002‧‧‧記憶體組
1004‧‧‧處理單元(神經處理器)
1100‧‧‧神經網路
1102‧‧‧區域處理單元
1104‧‧‧區域狀態記憶體
1106‧‧‧區域參數記憶體
1108‧‧‧帶有區域(神經元)模型程式的記憶體
1110‧‧‧帶有區域學習程式的記憶體
1112‧‧‧區域連接記憶體
1114‧‧‧單元
1116‧‧‧元件
在結合附圖理解下面闡述的具體說明時,本發明的特徵、本質和優點將變得更加明顯,在附圖中,相同元件符號始終作相應標識。
圖1圖示根據本案的某些態樣的示例神經元網路。
圖2圖示根據本案的某些態樣的計算網路(神經系統或神經網路)的處理單元(神經元)的示例。
圖3圖示根據本案的某些態樣的尖峰定時依賴可塑性(STDP)曲線的示例。
圖4圖示根據本案的某些態樣的用於定義神經元模型的行為的正態相和負態相的示例。
圖5A是圖示根據本案的某些態樣的用於參數化STDP曲線的方法的方塊圖。
圖5B是圖示根據本案各態樣的用於近似STDP資料點集合的程序的流程圖。
圖6A-E圖示根據本案的某些態樣的近似STDP曲線的示例。
圖7A-B圖示根據本案的某些態樣的具有最佳化曲線段定界符的近似STDP曲線的示例。
圖8圖示根據本案的某些態樣的使用通用處理器來設計神經網路的示例實現。
圖9圖示了根據本案的某些態樣的設計神經網路的示例實現,在該神經網路中記憶體可與個體分散式處理單元對接。
圖10圖示根據本案的某些態樣的基於分散式記憶體和分散式處理單元來設計神經網路的示例實現。
圖11圖示根據本案的某些態樣的神經網路的示例實現。
以下結合附圖闡述的詳細描述旨在作為各種配置的描述,而無意表示可實踐本文中所描述的概念的僅有的配置。本詳細描述包括具體細節以便提供對各種概念的透徹理解。然而,對於熟習此項技術者顯而易見的是,沒有這些具體細節亦可實踐這些概念。在一些實例中,以方塊圖形式示出眾所周知的結構和元件以避免湮沒此類概念。
基於本教導,熟習此項技術者應領會,本案的範疇旨在覆蓋本案的任何態樣,不論其是與本案的任何其他態樣相獨立地還是組合地實現的。例如,可以使用所闡述的任何數目的態樣來實現裝置或實踐方法。另外,本案的範疇旨在覆蓋使用作為所闡述的本案的各個態樣的補充或者與之不同的其他結構、功能性、或者結構及功能性來實踐的此類裝置或方法。應當理解,所揭示的本案的任何態樣可由請求項的一或多個元素來實施。
措辭「示例性」在本文中用於表示「用作示例、實例或圖示」。本文中描述為「示例性」的任何態樣不必被解釋為優於或勝過其他態樣。
儘管本文描述了特定態樣,但這些態樣的眾多變體和置換落在本案的範疇之內。雖然提到了優選態樣的一些益處和優點,但本案的範疇並非旨在被限定於特定益處、用途或目標。確切而言,本案的各態樣旨在能寬泛地應用於不同的技術、系統組態、網路和協定,其中一些作為示例在附圖以及以下對優選態樣的描述中圖示。詳細描述和附圖僅僅圖
示本案而非限定本案,本案的範疇由所附請求項及其等效技術方案來界定。
示例神經系統、訓練及操作
圖1圖示根據本案的某些態樣的具有多級神經元的示例人工神經系統100。神經系統100可具有一級神經元102,該級神經元102經由突觸連接網路104(亦即,前饋連接)來連接到另一級神經元106。為簡單起見,圖1中僅圖示了兩級神經元,儘管神經系統中可存在更少或更多級神經元。應注意,一些神經元可經由側向連接來連接至同一層中的其他神經元。此外,一些神經元可經由回饋連接來後向連接至先前層中的神經元。
如圖1中所圖示的,級102之每一者神經元可接收輸入信號108,輸入信號108可以是由前一級(圖1中未圖示)的各神經元產生的。信號108可表示級102的神經元的輸入電流。該電流可在神經元膜上累積以對膜電位進行充電。當膜電位達到其閾值時,神經元可激發並產生輸出尖峰,該輸出尖峰將被傳遞到下一級神經元(例如,級106)。此類行為可在硬體及/或軟體(包括類比和數位實現,諸如以下所述那些實現)中進行模擬或模擬。
在生物學神經元中,在神經元激發時產生的輸出尖峰被稱為動作電位。該電信號是相對迅速、瞬態的神經脈衝,其具有約為100mV的振幅和約為1ms的歷時。在具有一系列連通的神經元(例如,尖峰從圖1中的一級神經元傳遞至另一級神經元)的神經系統的特定實施例中,每個動作電位都
具有基本上相同的振幅和歷時,因此信號中的資訊可僅由尖峰的頻率和數目、或尖峰的時間來表示,而不由振幅來表示。動作電位所攜帶的資訊可由尖峰、發放尖峰的神經元、以及尖峰相對於一或多個其他尖峰的時間來決定。尖峰的重要性可由向各神經元之間的連接應用的權重來決定,如以下所解釋的。
尖峰從一級神經元向另一級神經元的傳遞可經由突觸連接(或簡稱「突觸」)網路104來達成,如圖1中所圖示的。關於突觸104,級102的神經元可被視為突觸前神經元,而級106的神經元可被視為突觸後神經元。突觸104可接收來自級102的神經元的輸出信號(亦即,尖峰),並根據可調節突觸權重,...,來按比例縮放那些信號,其中P是級102的神經元與級106的神經元之間的突觸連接的總數,並且i是神經元級的指示符。在圖1的示例中,i表示神經元級102並且i+1表示神經元級106。此外,經按比例縮放的信號可被組合以作為級106中每個神經元的輸入信號。級106之每一者神經元可基於對應的組合輸入信號來產生輸出尖峰110。可使用另一突觸連接網路(圖1中未圖示)將這些輸出尖峰110傳遞到另一級神經元。
生物學突觸可被分類為電的或化學的。電突觸主要用於發送興奮性信號,而化學突觸可調停突觸後神經元中的興奮性或抑制性(超極化)動作,並且亦可用於放大神經元信號。興奮性信號使膜電位去極化(亦即,相對於靜息電位增大膜電位)。若在某個時間段內接收到足夠的興奮性信號以
使膜電位去極化到高於閾值,則在突觸後神經元中發生動作電位。相反,抑制性信號一般使膜電位超極化(亦即,降低膜電位)。抑制性信號若足夠強則可抵消掉興奮性信號之和並阻止膜電位到達閾值。除了抵消掉突觸興奮以外,突觸抑制亦可對自發活動神經元施加強力的控制。自發活動神經元是指在沒有進一步輸入的情況下(例如,由於其動態或回饋而)發放尖峰的神經元。經由壓制這些神經元中的動作電位的自發產生,突觸抑制可對神經元中的激發模式進行定形,這一般被稱為雕刻。取決於期望的行為,各種突觸104可充當興奮性或抑制性突觸的任何組合。
神經系統100可經由通用處理器、數位信號處理器(DSP)、特殊應用積體電路(ASIC)、現場可程式設計閘陣列(FPGA)或其他可程式設計邏輯裝置(PLD)、個別閘或電晶體邏輯、個別的硬體元件、由處理器執行的軟體模組、或其任何組合來模擬。神經系統100可用在大範圍的應用中,諸如影像和模式辨識、機器學習、電機控制、及類似應用等。神經系統100中的每一神經元可被實現為神經元電路。被充電至發起輸出尖峰的閾值的神經元膜可被實現為例如對流經其的電流進行積分的電容器。
在一態樣,電容器作為神經元電路的電流積分裝置可被除去,並且可使用較小的憶阻器元件來替代它。這種辦法可應用於神經元電路中,以及其中大容量電容器被用作電流積分器的各種其他應用中。另外,每個突觸104可基於憶阻器元件來實現,其中突觸權重改變可與憶阻器電阻的變化有
關。使用奈米特徵尺寸的憶阻器,可顯著地減小神經元電路和突觸的面積,這可使得實現大規模神經系統硬體實現變得可行。
對神經系統100進行模擬的神經處理器的功能性可取決於突觸連接的權重,這些權重可控制神經元之間的連接的強度。突觸權重可儲存在非揮發性記憶體中以在掉電之後保留處理器的功能性。在一態樣,突觸權重記憶體可實現在與主神經處理器晶片分開的外部晶片上。突觸權重記憶體可與神經處理器晶片分開地封裝成可更換的儲存卡。這可向神經處理器提供多種多樣的功能性,其中特定功能性可基於當前附連至神經處理器的儲存卡中所儲存的突觸權重。
圖2圖示根據本案的某些態樣的計算網路(例如,神經系統或神經網路)的處理單元(例如,神經元或神經元電路)202的示例性示圖200。例如,神經元202可對應於來自圖1的級102和106的任一個神經元。神經元202可接收多個輸入信號2041-204N(X1-XN),這些輸入信號可以是神經系統外部的信號、或是由同一神經系統的其他神經元所產生的信號、或這兩者。輸入信號可以是實數值或複數值的電流或電壓。輸入信號可包括具有定點或浮點表示的數值。可經由突觸連接將這些輸入信號遞送到神經元202,這些突觸連接根據可調節突觸權重2061-206N(W1-WN)對這些信號進行比例縮放,其中N可以是神經元202的輸入連接的總數。
神經元202可組合這些經比例縮放的輸入信號,並且使用組合的經比例縮放的輸入來產生輸出信號208(亦即,信
號Y)。輸出信號208可以是實數值或複數值的電流或電壓。輸出信號可以是具有定點或浮點表示的數值。隨後輸出信號208可作為輸入信號傳遞至同一神經系統的其他神經元、或作為輸入信號傳遞至同一神經元202、或作為神經系統的輸出傳遞。
處理單元(神經元)202可由電路來模擬,並且其輸入和輸出連接可由具有突觸電路的電連接來模擬。處理單元202及其輸入和輸出連接亦可由軟體代碼來模擬。處理單元202亦可由電路來模擬,而其輸入和輸出連接可由軟體代碼來模擬。在一態樣,計算網路中的處理單元202可以是類比電路。在另一態樣,處理單元202可以是數位電路。在又一態樣,處理單元202可以是具有類比和數位元件兩者的混合信號電路。計算網路可包括任何前述形式的處理單元。使用此類處理單元的計算網路(神經系統或神經網路)可用在大範圍的應用中,諸如影像和模式辨識、機器學習、電機控制等。
在神經網路的訓練程序期間,突觸權重(例如,來自圖1的權重,...,及/或來自圖2的權重2061-206N)可用隨機值來初始化並根據學習規則而增大或減小。熟習此項技術者將領會,學習規則的示例包括但不限於尖峰定時依賴可塑性(STDP)學習規則、Hebb規則、Oja規則、Bienenstock-Copper-Munro(BCM)規則等。在某些態樣,這些權重可穩定或收斂至兩個值(亦即,權重的雙峰分佈)之一。該效應可被用於減少每個突觸權重的位數、提高從/向儲存突觸權重的記憶體讀取和寫入的速度、以及降低突觸記憶
體的功率及/或處理器消耗。
突觸類型
在神經網路的硬體和軟體模型中,突觸相關功能的處理可基於突觸類型。突觸類型可包括非可塑突觸(對權重和延遲沒有改變)、可塑突觸(權重可改變)、結構化延遲可塑突觸(權重和延遲可改變)、全可塑突觸(權重、延遲和連通性可改變)、以及基於此的變型(例如,延遲可改變,但在權重或連通性態樣沒有改變)。多種類型的優點在於處理可以被細分。例如,非可塑突觸可不執行可塑性功能(或等待此類功能完成)。類似地,延遲和權重可塑性可被細分成可一起或分開地、順序地或並行地運作的操作。不同類型的突觸對於應用的每一種不同的可塑性類型可具有不同的查閱資料表或公式以及參數。因此,這些方法將針對突觸的類型來存取相關的表、公式或參數。對變化的突觸類型的使用會向人工神經網路添加靈活性和可配置性。
亦存在尖峰定時依賴結構化可塑性獨立於突觸可塑性而執行的暗示。結構化可塑性即使在權重幅值沒有改變的情況下(例如,若權重已達最小或最大值、或者其由於某種其他原因而不改變)亦可執行,因為結構化可塑性(亦即,延遲改變的量)可以是前-後尖峰時間差的直接函數。替換地,結構化可塑性可被設為權重改變量的函數或者可基於與權重或權重改變的界限有關的條件來設置。例如,突觸延遲可僅在權重改變發生時或者在權重到達0的情況下才改變,但在這些權重為最大值時不改變。然而,具有獨立函數以使得這
些程序能被並行化從而減少記憶體存取的次數和交疊會是有利的。
突觸可塑性的決定
神經元可塑性(或簡稱「可塑性」)是大腦中的神經元和神經網路回應於新的資訊、感官刺激、發展、損壞、或機能障礙而改變其突觸連接和行為的能力。可塑性對於生物學中的學習和記憶、以及對於計算神經元科學和神經網路是重要的。已經研究了各種形式的可塑性,諸如突觸可塑性(例如,根據赫布理論)、尖峰定時依賴可塑性(STDP)、非突觸可塑性、活動性依賴可塑性、結構化可塑性和自身穩態可塑性。
STDP是調節神經元之間的突觸連接的強度的學習程序。連接強度是基於特定神經元的輸出與收到輸入尖峰(亦即,動作電位)的相對定時來調節的。在STDP程序下,若至某個神經元的輸入尖峰平均而言傾向於緊挨在該神經元的輸出尖峰之前發生,則可發生長期增強(LTP)。於是使得該特定輸入在一定程度上更強。另一態樣,若輸入尖峰平均而言傾向於緊接在輸出尖峰之後發生,則可發生長期抑壓(LTD)。於是使得該特定輸入在一定程度上更弱,並由此得名為「尖峰定時依賴可塑性」。因此,使得可能是突觸後神經元興奮原因的輸入甚至更有可能在將來作出貢獻,而使得不是突觸後尖峰的原因的輸入較不可能在將來作出貢獻。程序繼續,直至初始連接集的子集保留,而所有其他連接的影響減輕至無關緊要的水平。
由於神經元一般在其許多輸入都在一短時段內發生(亦即,輸入被累積到足以引起輸出)時產生輸出尖峰,因此通常保留下來的輸入子集包括傾向於在時間上相關的那些輸入。另外,由於在輸出尖峰之前發生的輸入被加強,因此提供對相關性的最早充分累積指示的輸入將最終變成至神經元的最後輸入。
STDP學習規則可因變於突觸前神經元的尖峰時間t pre 與突觸後神經元的尖峰時間t post 之間的時間差(亦即,t=t post -t pre )來有效地適配將突觸前神經元連接到突觸後神經元的突觸的突觸權重。STDP的典型公式是若時間差為正(突觸前神經元在突觸後神經元之前激發)則增大突觸權重(亦即,增強突觸),以及若時間差為負(突觸後神經元在突觸前神經元之前激發)則減小突觸權重(亦即,抑壓突觸)。
在STDP程序中,突觸權重隨時間推移的改變可通常使用指數衰退來達成,如由下式提供的:
其中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以使得曲線實際上在大於訊框時間的前-後時間處變得低於零並且它由此為LTD而非LTP的一部分。
神經元模型及操作
存在一些用於設計有用的尖峰神經元模型的一般原理。良好的神經元模型在以下兩個計算態相(regime)態樣可具有豐富的潛在行為:一致性偵測和功能計算。此外,良好的神經元模型應當具有允許時間編碼的兩個要素。例如,輸
入的抵達時間影響輸出時間並且一致性偵測能具有窄時間窗。另外,為了在計算上是有吸引力的,良好的神經元模型在連續時間上可具有封閉形式解,並且具有穩定的行為,包括在靠近吸引子和鞍點之處。換言之,有用的神經元模型是可行的且可被用於建模豐富的、現實的且生物學一致的行為並且可被用於對神經電路進行工程設計和反向工程兩者的神經元模型。
神經元模型可取決於事件,諸如輸入抵達、輸出尖峰或其他事件,無論這些事件是內部的還是外部的。為了達成豐富的行為技能集合,能展現複雜行為的狀態機可能是期望的。若事件本身的發生在撇開輸入貢獻(若有)的情況下能影響狀態機並約束事件之後的動態,則系統的將來狀態並非僅是狀態和輸入的函數,而是狀態、事件和輸入的函數。
在一態樣,神經元n可被建模為尖峰帶洩漏積分激發神經元,其膜電壓v n (t)由以下動態來支配:
其中α和β是參數,w m,n 是將突觸前神經元m連接至突觸後神經元n的突觸的突觸權重,以及y m (t)是神經元m的尖峰輸出,其可根據△t m,n 被延遲達樹突或軸突延遲才抵達神經元n的胞體。
應注意,從建立了對突觸後神經元的充分輸入的時間直至突觸後神經元實際上激發的時間之間存在延遲。在動態尖峰神經元模型(諸如Izhikevich簡單模型)中,若在去極
化閾值v t 與峰值尖峰電壓v peak 之間有差量,則可能招致時間延遲。例如,在簡單模型中,神經元胞體動態可由關於電壓和恢復的微分方程對來支配,即:
其中v是膜電位,u是膜恢復變數,k是描述膜電位v的時間尺度的參數,a是描述恢復變數u的時間尺度的參數,b是描述恢復變數u對膜電位v的閾下波動的敏感度的參數,v r 是膜靜息電位,I是突觸電流,以及C是膜的電容。根據該模型,神經元被定義為在v>v peak 時發放尖峰。
Hunzinger Cold模型
Hunzinger Cold神經元模型是能再現豐富多樣的各種神經行為的最小雙態相尖峰線性動態模型。模型的一維或二維線性動態可具有兩個態相,其中時間常數(以及耦合)可取決於態相。在閾下態相中,時間常數(按照慣例為負)表示洩漏通道動態,其一般作用於以生物學一致的線性方式使細胞返回到靜息。閾上態相中的時間常數(按照慣例為正)反映抗洩漏通道動態,其一般驅動細胞發放尖峰,而同時在尖峰產生中引發等待時間。
如圖4中所圖示的,模型400的動態可被劃分成兩個(或更多個)態相。這些態相可被稱為負態相402(亦可互換地稱為帶洩漏積分激發(LIF)態相(其與LIF神經元模型不同))以及正態相404(亦可互換地稱為抗洩漏積分激發(ALIF
)態相,勿與ALIF神經元模型混淆)。在負態相402中,狀態在將來事件的時間趨向於靜息(v -)。在該負態相中,模型一般展現出時間輸入偵測性質和其他閾下行為。在正態相404中,狀態趨向於尖峰發放事件(v s )。在該正態相中,模型展現出計算性質,諸如取決於後續輸入事件而引發發放尖峰的等待時間。在事件態樣對動態進行公式化以及將動態分成這兩個態相是模型的基礎特性。
線性雙態相二維動態(對於狀態v和u)可按照慣例定義為:
其中q ρ 和r是用於耦合的線性變換變數。
符號ρ在本文中用於標示動態態相,在討論或表達具體態相的關係時,按照慣例對於負態相和正態相分別用符號「-」或「+」來替換符號ρ。
模型狀態經由膜電位(電壓)v和恢復電流u來定義。在基本形式中,態相在本質上是由模型狀態來決定的。精確和通用的定義存在一些細微卻重要的態樣,但目前考慮模型在電壓v高於閾值(v +)的情況下處於正態相404中,否則處於負態相402中。
態相依賴時間常數包括負態相時間常數τ -和正態相時間常數τ +。恢復電流時間常數τ u 通常是與態相無關的。出於方便起見,負態相時間常數τ -通常被指定為反映衰退的負量,從而用於電壓演變的相同運算式可用於正態相,在正態相中
指數和τ +將一般為正,正如τ u 那樣。
這兩個狀態元素的動態可在發生事件之際經由使狀態偏離其零傾線(null-cline)的變換來耦合,其中變換變數為:q ρ =-τ ρ βu-v ρ (7)
r=δ(v+ε) (8)
其中δ、ε、β和v -、v +是參數。v ρ 的兩個值是這兩個態相的參考電壓的基數。參數v -是負態相的基電壓,並且膜電位在負態相中一般將朝向v -衰退。參數v +是正態相的基電壓,並且膜電位在正態相中一般將趨向於背離v +。
v和u的零傾線分別由變換變數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)來更新模型的更新。這不一定要求反覆運算方法或數值方法。經由僅在事件發生於步點處或步點間的情況下才更新模型或即經由「步點-事件」更新,基於事件的實現以有限的時間解析度在基於步點的模擬器中亦是可能的。
STDP曲線的緊湊表示
本案的各態樣針對產生STDP曲線的緊湊表示。在一個態樣,STDP曲線被參數化。隨後在記憶體中僅儲存參數。在另一態樣,決定段定界符的數目和那些段定界符的位置。儘管本描述是關於曲線的,但任何資料點集合都被構想到。為了便於圖示,以下描述是關於曲線的。
STDP曲線在建模神經元動態和模擬神經元行為態樣是非常有用的。不同類型的曲線可經由不同的數學函數來表達。研究者可寫出支配一些STDP曲線的行為的一個方程組並隨後寫出支配另一STDP曲線的另一方程組,依此類推。研究者隨後使用這些不同的方程協同突觸模型來建立尖峰神經網路以執行具有特定特性的某一任務。
然而,支配不同STDP曲線的方程的實現常常經由建立硬體中的查閱資料表(LUT)來執行。這些LUT在時間上可跨越幾百毫秒並且是使用實數陣列來建立的。這樣,LUT的實
現可能消耗硬體中大量的記憶體。為了克服此障礙,根據本案的各態樣,可用一組以下形式的多項式函數來近似STDP曲線:f(t)=c n t n +c n-1 t n-1+…+c 1 t+c 0 (15)
其中c n ...c 0 是多項式係數並且t表示時間。在已經近似了曲線的情況下,可儲存定義近似曲線的參數。亦即,取代在查閱資料表中儲存STDP曲線的每個點,可在記憶體中儲存諸如多項式係數之類的參數以表示STDP曲線。以此方式,在表示曲線態樣所消耗的記憶體可大大減少。
在一些態樣,多項式函數可以是基元或不可約多項式。進一步地,這組多項式函數內的每一個多項式函數可近似STDP曲線的不同段。因此,若關於K個段中的每一段的每個多項式的階數為N,則要儲存的參數的總數可由(N+1)K提供。這樣,可減小用於表示STDP曲線的空間的量。例如,若每個係數具有16位元的精度,每個多項式為7階(N=7),STDP曲線被劃分成四個段(K=4)並且存在十個不同的STDP曲線,則用於儲存多項式係數的記憶體將僅為640個位元組。這顯著小於用於儲存STDP曲線的每個點的約20千位元組。
圖5A是圖示用於參數化STDP曲線的程序的流程圖500。參照圖5A,在方塊502,程序將曲線劃分成段。在一些態樣,程序可接收定義關於曲線段的定界符或邊界的輸入資訊。例如,定界符的數目和位置可手動地在輸入資訊中指定或者可被自動決定。
在方塊504,程序將這些曲線段表示為基元(
primitive)。在一些態樣,這些段可被表示為多項式。可採用各種曲線擬合技術來近似由段定界符定義的曲線段中的每一個。在一些態樣,每一個曲線段中定義的曲線可基於要儲存的參數的數目使用曲線擬合技術來近似。例如,當曲線擬合的準確度不是那麼關鍵時,可選擇用於表示曲線段的基元或較低階多項式。由於要儲存的參數的數目可由(N+1)K提供,其中N是表示曲線段的基元或多項式的階數,並且K是段的數目,因此當使用較低階多項式時,較少參數被儲存,由此記憶體消耗可被降低。
在一些配置中,基元或多項式階數N可以因它正在用以近似STDP曲線的是哪個段而異。例如,具有K個段的近似將具有K個多項式,其各自可具有不同階數。
在一些配置中,基元或多項式可被表示為分段常數。亦即,經參數化的STDP曲線可以使用0階多項式(N=0)來表示。基元或多項式亦可使用一階多項式(N=1)被表示為分段線性模型或者可以使用樣條來表示。
在方塊506,程序在記憶體中儲存基元的參數。在一些態樣,程序可在記憶體中僅儲存諸如以下的參數:表示每一個曲線段的基元的係數(例如c n ...c 0 )。亦可儲存表示每一個曲線區段的基元。
儘管係數c n ...c 0 被儲存在記憶體中,但這些係數可以並非保持靜態。取而代之地,記憶體中所儲存的係數可被用來近似初始STDP曲線並且這些係數在神經網路的類比期間可被動態修改。修改可以因變於任何數目的因數,包括但不
限於激發速率、突觸權重變化、尖峰時間分佈、和獎勵調節符。因此,STDP曲線可隨時間調整。
在一些態樣,亦可基於網路中的變化來動態更新係數(例如,c n ...c 0 )。例如,在一些配置中,STDP曲線可取決於網路中的神經元子集的尖峰發放速率。在此情形中,係數可以基於在網路的類比期間收集的尖峰發放統計來動態修改以調整STDP曲線。
此外,雖然經參數化的STDP曲線已被描述為多項式項(例如,c 3 t 3,c 2 t 2等)的混合,但組合中使用的各項不一定是多項式。確切而言,基元可以是其他項之和,包括但不限於高斯項、正弦項、和指數項,亦可表示STDP曲線。例如,如下形式的高斯項的混合
將允許用參數{c k ,μ k ,σ k ,β k },k=0,...,n對STDP曲線進行參數化。
進一步,STDP曲線被參數化的形式可以不是先驗已知的。實際上,不需要使用曲線。確切而言,根據本案的各態樣,本方法可被應用到經驗資料(亦即,原始資料),其中沒有任何關於STDP曲線的分析表達是已知的。例如,在經驗資料經由體內實驗被收集的場合,可執行回歸分析來估計STDP曲線。這樣,本案的方法可被直接應用到資料以同時執
行回歸和對STDP曲線的估計。
圖5B是圖示根據本案各態樣的用於近似STDP資料點集合的程序的流程圖550。參照圖5B,在方塊552,程序從記憶體檢索參數。在方塊554,程序向表示STDP資料點集合的一或多個段的基元應用參數。在方塊556,程序基於參數和基元決定近似資料點集合的各點。在一些態樣,亦可使用額外系統參數及/或變數來決定近似資料點集合的各點。
圖6A-E是根據本案的某些態樣的將分析STDP曲線與近似STDP曲線進行比較的示例性曲線圖。如圖6A-E中所示,變化複雜度的曲線根據本案經由用段定界符602將每一個STDP曲線劃分成段並對每個段中定義的曲線進行近似來參數化。
圖6A-B提供了圖示所揭示方法的靈活性的示例。在一些態樣,選擇段定界符的數目和放置可降低要近似的曲線段的複雜度並由此減少要儲存的參數的數目。
如圖6A中所示,生物學上準確的STDP曲線601(實線)可經由段定界符602被劃分成兩個段(K=2)。隨後可使用7階多項式(N=7)來近似每一個曲線區段。當然,這僅僅是示例性的,並且可根據設計偏好來選擇任何階數的多項式用於相應的曲線區段。在此情形中,要儲存的參數的數目為16。
另一態樣,在圖6B中,圖6A中示出的同一STDP曲線601經由段定界符602被劃分成四個段(K=4)。三個段定界符602均等地間隔開並且關於0ms對稱佈置且均等地間隔開以
限定相等持續時間的四個曲線段。然而,段定界符602可以不是均等地間隔開的。取而代之地,段定界符602可以是不均勻間隔開的或根據設計偏好另行放置(例如,以降低或者甚至最小化記憶體消耗)。由段定界符602定義的每一個曲線段可經由使用3階多項式(N=3)來近似。這裡,要儲存的參數的數目亦為16。在每一種情形中,近似曲線603(點線)基本上匹配STDP曲線,同時僅儲存16個參數。
在圖6C中,根據本案各態樣近似更複雜的STDP曲線。如圖6C中所示,用段定界符602將STDP曲線劃分成4個段(K=4)。可選擇5階多項式(N=5)來近似由段定界符602定義的曲線段。近似曲線基本上匹配STDP曲線,同時僅儲存24個多項式係數。雖然近似STDP曲線幾乎匹配分析的或理想STDP曲線且僅在尾部附近具有少量近似誤差,但可增大多項式的階數或段的數目來改善近似。這樣,近似誤差可減小,但會有額外記憶體使用。
在圖6D中,STDP曲線601被劃分成4個段(K=4)並且使用7階多項式(N=7)來近似。近似STDP曲線603在僅32個多項式係數被儲存的情況下基本上匹配分析的或理想STDP曲線601。另一態樣,在圖6E中,圖6D中所示的同一STDP曲線601僅被劃分成2個段(K=2)並使用10階多項式來近似。與圖6D的近似STDP曲線相比,圖6E的近似STDP曲線603在尾部606附近示出較小近似誤差,但在此情形中僅22個多項式係數被儲存。因此,本案的各態樣提供了使得使用者能夠在改善準確度與記憶體使用之間進行折衷的靈活辦法。
在一些態樣,定界符的數目及/或位置的選擇可被改善或者甚至最佳化。亦即,定界符的數目和位置可被決定以使得改善(或者甚至最大化)近似STDP曲線中的保真度及/或減小(或者甚至最小化)用於表示的記憶體消耗。在一些態樣,可定義最佳化度量以量化未經參數化的STDP曲線的擬合度。最佳化度量可被用來決定最優段定界符參數。例如,最佳化度量可根據所計算的誤差平方和(SSE)來定義並且可由下式提供:
其中D是段定界符集合,L k 是段k的長度,y k [n]是經參數化的STDP曲線在段k中的第n個值並且f k [n]是未經參數化的STDP曲線在段k中的第n個值。相應地,最佳化度量(Ψ)針對給定的段定界符集合D量化經參數化的STDP曲線與未經參數化的STDP曲線之間的差量。
最優段定界符參數可由下式決定:D*=arg D minΨ(D) (18)
D*的解可經由模式搜尋、類比韌化、單純形演算法、遺傳演算法等來決定。
圖7A和7B圖示了根據本案各態樣的段定界符最佳化。圖7A示出STDP曲線601,其已受到不具有最佳化段定界符的參數化。五個段定界符將STDP曲線601劃分成六個曲線段。段定界符602均等地間隔開並且關於0ms對稱佈置。從參數化曲線601得到的曲線近似603是相當準確的,但在曲線段四
702內明顯偏離。
圖7B圖示了從使用模式搜尋技術決定的經最佳化段定界符得到的近似STDP曲線603。如圖7B中所示,仍使用五個段定界符。然而,這些段定界符不再關於0ms對稱並且不是均等地間隔開。結果,例如在曲線段四702中,近似的保真度得以改善。
因此,經由參數化STDP曲線並決定段定界符的數目以及位置,可產生STDP曲線的緊湊表示。
圖8圖示根據本案的某些態樣的使用通用處理器802對前述用於產生STDP曲線的緊湊表示的方法的示例實現800。與計算網路(神經網路)相關聯的係數(例如,c n ,...,c 0 )、變數(神經信號)、突觸權重、系統參數,延遲資訊,和頻段資訊及/或定界符資訊可被儲存在記憶體塊804中,而在通用處理器802處執行的指令可從程式記憶體806載入。在本案的一態樣,被載入到通用處理器802中的指令可包括用於產生STDP曲線的緊湊表示的代碼。
圖9圖示了根據本案的某些態樣的用於產生STDP曲線的緊湊表示的前述方法的示例實現900,其中記憶體902可經由互連網路904與計算網路(神經網路)的個體(分散式)處理單元(神經處理器)906對接。與計算網路(神經網路)相關聯的係數(例如,c n ,...,c 0 )、變數(神經信號)、突觸權重、系統參數,延遲資訊,和頻段資訊或定界符資訊可被儲存在記憶體902中,並且可從記憶體902經由互連網路904的連接被載入到每個處理單元(神經處理器)906中。在本案的一
態樣,處理單元906可被配置成產生STDP曲線的緊湊表示。
圖10圖示了用於產生STDP曲線的緊湊表示的前述方法的示例實現1000。如圖10中所圖示的,一個記憶體組1002可直接與計算網路(神經網路)的一個處理單元1004對接。每個記憶體組1002可儲存與對應處理單元(神經處理器)1004相關聯的係數(例如,c n ,...,c 0 )、變數(神經信號)、突觸權重及/或系統參數,以及延遲資訊,頻段資訊及/或定界符資訊。在本案的一態樣,處理單元1004可被配置成產生STDP曲線的緊湊表示。
圖11圖示根據本案的某些態樣的神經網路1100的示例實現。如圖11中所圖示的,神經網路1100可具有多個區域處理單元1102,它們可執行上述方法的各種操作。每個區域處理單元1102可包括儲存神經網路的係數(例如,c n ,...,c 0 )和參數的區域狀態記憶體1104和區域參數記憶體1106。另外,區域處理單元1102可具有帶有區域(神經元)模型程式的記憶體1108、帶有區域學習程式的記憶體1110、以及區域連接記憶體1112。此外,如圖11中所圖示的,每個區域處理單元1102可與用於配置處理的單元1114對接並且與路由連接處理元件1116對接,單元1114可提供對區域處理單元的區域記憶體的配置,元件1116提供區域處理單元1102之間的路由。
根據本案的某些態樣,每個區域處理單元1102可被配置成基於神經網路的一或多個期望功能特徵來決定神經網路的參數,以及隨著所決定的參數被進一步調整、調諧和更新來使這一或多個功能特徵朝期望功能特徵發展。
在一種配置中,神經網路被配置成包括用於將STDP資料點集合分段成多個區段的裝置。網路亦包括用於將至少一個區段表示為基元的裝置,以及用於儲存基元的參數的裝置。分段裝置、表示裝置及/或儲存裝置可以是通用處理器802、程式記憶體806、記憶體塊804、記憶體902、互連網路904、處理單元906、記憶體1002、處理單元1004、區域處理單元1102、配置處理1114、及/或路由連接處理元件1116。在另一配置中,前述裝置可以是配置成執行由前述裝置敘述的功能的任何模組或任何設備。
在另一配置中,神經網路被配置成包括用於將STDP資料點集合分段成多個區段的裝置。網路亦包括用於將至少一個區段表示為基元的裝置,以及用於儲存基元的參數的裝置。分段裝置、表示裝置及/或儲存裝置可以是通用處理器802、程式記憶體806、記憶體塊804、記憶體902、互連網路904、處理單元906、記憶體1002、處理單元1004、區域處理單元1102、配置處理1114、及/或路由連接處理元件1116。在另一配置中,前述裝置可以是配置成執行由前述裝置敘述的功能的任何模組或任何設備。
在又一配置中,神經網路可包括用於檢索的裝置、用於應用的裝置、以及用於決定的裝置。在一態樣,檢索裝置、應用裝置及/或決定裝置可以是通用處理器802、程式記憶體806、記憶體塊804、記憶體902、互連網路904、處理單元906、記憶體1002、處理單元1004、區域處理單元1102、配置處理1114、及/或路由連接處理元件1116。在另一配置中,前
述裝置可以是配置成執行由前述裝置敘述的功能的任何模組或任何設備。
亦即,以上所描述的方法的各種操作可由能夠執行相應功能的任何合適的裝置來執行。這些裝置可包括各種硬體及/或軟體元件及/或模組,包括但不限於電路、特殊應用積體電路(ASIC)、或處理器。一般而言,在存在圖5中圖示的操作的場合,那些操作可具有帶相似編號的相應配對手段功能元件。
如本文所使用的,術語「決定」涵蓋各種各樣的動作。例如,「決定」可包括演算、計算、處理、推導、研究、檢視(例如,在表、資料庫或其他資料結構中檢視)、探知及諸如此類。另外,「決定」可包括接收(例如,接收資訊)、存取(例如,存取記憶體中的資料)及諸如此類。進一步,「決定」亦可包括解析、選擇、選取、確立及類似動作。
如本文中所使用的,引述一列項目中的「至少一個」的短語是指這些專案的任何組合,包括單個成員。作為示例,「a、b或c中的至少一個」旨在涵蓋:a、b、c、a-b、a-c、b-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中。在軟體模組執行期間,處理器可以將一些指令載入到快取記憶體中以提高存取速度。隨後可將一或多個快取記憶體行載入到通用暫存器檔中以供處理器執行。在以下談及軟體模組的功能性時,將理解此類功能性是在處理器執行來自該軟體模組的指令時由處理器來實現的。
若在軟體中實現,則各功能可作為一或多數指令或代碼儲存在電腦可讀取媒體上或藉其進行傳送。電腦可讀取媒體包括電腦儲存媒體和通訊媒體兩者,包括促成電腦程式從一地向另一地轉移的任何媒體。儲存媒體可以是能被電腦存取的任何可用媒體。作為示例而非限定,此類電腦可讀取媒體可包括RAM、ROM、EEPROM、CD-ROM或其他光碟儲存、磁碟儲存或其他磁存放裝置、或能被用來攜帶或儲存指令或資料結構形式的期望程式碼且能被電腦存取的任何其他媒體。另外,任何連接亦被正當地稱為電腦可讀取媒體。例如,若軟體是使用同軸電纜、光纖電纜、雙絞線、數位用戶線(DSL)、或無線技術(諸如紅外(IR)、無線電、以及微波)從web網站、伺服器、或其他遠端源傳送而來,則同軸電纜、光纖電纜、雙絞線、DSL或無線技術(諸如紅外、無線電、以及微波)就被包括在媒體的定義之中。如本文中所使用的盤(disk)和碟(disc)包括壓縮光碟(CD)、鐳射光碟、光
碟、數位多功能光碟(DVD)、軟碟、和藍光®光碟,其中盤(disk)常常磁性地再現資料,而碟(disc)用鐳射來光學地再現資料。因此,在一些態樣,電腦可讀取媒體可包括非瞬態電腦可讀取媒體(例如,有形媒體)。另外,對於其他態樣,電腦可讀取媒體可包括瞬態電腦可讀取媒體(例如,信號)。上述的組合應被包括在電腦可讀取媒體的範疇內。
因此,某些態樣可包括用於執行本文中提供的操作的電腦程式產品。例如,此類電腦程式產品可包括其上儲存(及/或編碼)有指令的電腦可讀取媒體,這些指令能由一或多個處理器執行以執行本文中所描述的操作。對於某些態樣,電腦程式產品可包括包裝材料。
此外,應當領會,用於執行本文中所描述的方法和技術的模組及/或其他合適裝置能由使用者終端及/或基地台在適用的場合下載及/或以其他方式獲得。例如,此類設備能被耦合至伺服器以促成用於執行本文中所描述的方法的裝置的轉移。替換地,本文述及之各種方法能經由儲存裝置(例如,RAM、ROM、諸如壓縮光碟(CD)或軟碟等實體儲存媒體等)來提供,以使得一旦將儲存裝置耦合至或提供給使用者終端及/或基地台,設備就能獲得各種方法。此外,能利用適於向設備提供本文中所描述的方法和技術的任何其他合適的技術。
應該理解的是,請求項並不被限定於以上所圖示的精確配置和元件。可在以上所描述的方法和設備的佈局、操作和細節上作出各種改動、更換和變形而不會脫離請求項的
範疇。
500‧‧‧流程圖
502‧‧‧方塊
504‧‧‧方塊
506‧‧‧方塊
Claims (18)
- 一種產生一尖峰定時依賴可塑性(STDP)資料點集合的緊湊表示的方法,包括以下步驟:將該資料點集合分段成不同區段;將至少一個區段表示為一基元;及儲存該基元的參數。
- 如請求項1述及之方法,進一步包括以下步驟:接收一輸入值;及至少部分地基於該基元和該所接收到的輸入值從該資料點集合計算一突觸權重改變。
- 如請求項1述及之方法,其中該至少一個區段被表示為一線性多項式方程。
- 如請求項1述及之方法,其中該基元包括一樣條(spline)。
- 如請求項1述及之方法,進一步包括基於一突觸權重改變來改變一突觸後神經元的一效應。
- 如請求項1述及之方法,其中該基元包括一分段常數。
- 如請求項1述及之方法,其中該基元包括一分段線性函數。
- 如請求項1述及之方法,進一步包括決定至少一個區段的邊界。
- 如請求項8述及之方法,其中該決定至少部分地基於用於減小一經參數化的資料點集合與該STDP資料點集合之間的一差異的一目標函數。
- 如請求項8述及之方法,進一步包括決定區段的一數目。
- 如請求項1述及之方法,進一步包括將至少一個其他區段表示為一基元類型。
- 一種用於近似一尖峰定時依賴可塑性(STDP)資料點集合的方法,該方法包括以下步驟:從記憶體檢索至少一個參數;向表示該STDP資料點集合的至少一個段的基元應用該至少一個參數;及至少部分地基於該至少一個參數和該基元來決定近似資料點集合的點。
- 一種用於產生一尖峰定時依賴可塑性(STDP)資料點集合的緊湊表示的設備,包括:一記憶體;及 耦合至該記憶體的至少一個處理器,該至少一個處理器配置成:將該資料點集合分段成不同區段;將至少一個區段表示為一基元;及儲存該基元的參數。
- 一種用於產生一尖峰定時依賴可塑性(STDP)資料點集合的緊湊表示的設備,包括:用於將該資料點集合分段成不同區段的裝置;用於將至少一個區段表示為一基元的裝置;及用於儲存該基元的參數的裝置。
- 一種用於產生一尖峰定時依賴可塑性(STDP)資料點集合的緊湊表示的電腦程式產品,包括:其上記錄有程式碼的一非瞬態電腦可讀取媒體,該程式碼包括:用於將該資料點集合分段成不同區段的程式碼;用於將至少一個區段表示為一基元的程式碼;及用於儲存該基元的參數的程式碼。
- 一種用於近似一尖峰定時依賴可塑性(STDP)資料點集合的設備,包括:一記憶體;及耦合至該記憶體的至少一個處理器,該至少一個處理器 配置成:從該記憶體檢索至少一個參數;向表示該STDP資料點集合的至少一個段的基元應用該至少一個參數;及至少部分地基於該至少一個參數和該基元來決定該近似資料點集合的點。
- 一種用於近似一尖峰定時依賴可塑性(STDP)資料點集合的設備,包括:用於從記憶體檢索至少一個參數的裝置;用於向表示該STDP資料點集合的至少一個段的基元應用該至少一個參數的裝置;及用於至少部分地基於該至少一個參數和該基元來決定該近似資料點集合的點的裝置。
- 一種用於近似一尖峰定時依賴可塑性(STDP)資料點集合的非暫態電腦可讀取媒體,該非暫態電腦可讀取媒體具有編碼於其上的程式碼,該程式碼由一處理器執行且包括:用於從記憶體檢索至少一個參數的程式碼;用於向表示該STDP資料點集合的至少一個段的基元應用該至少一個參數的程式碼;及用於至少部分地基於該至少一個參數和該基元來決定該近似資料點集合的點的程式碼。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361812043P | 2013-04-15 | 2013-04-15 | |
US14/045,672 US20140310216A1 (en) | 2013-04-15 | 2013-10-03 | Method for generating compact representations of spike timing-dependent plasticity curves |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201445460A TW201445460A (zh) | 2014-12-01 |
TWI550530B true TWI550530B (zh) | 2016-09-21 |
Family
ID=51687481
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW103108702A TWI550530B (zh) | 2013-04-15 | 2014-03-12 | 用於產生尖峰定時依賴可塑性曲線的緊湊表示的方法、設備、電腦可讀取媒體及電腦程式產品 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20140310216A1 (zh) |
TW (1) | TWI550530B (zh) |
WO (1) | WO2014172025A1 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB201419355D0 (en) * | 2014-10-30 | 2014-12-17 | Ibm | Neuromorphic synapses |
US10891543B2 (en) | 2015-12-28 | 2021-01-12 | Samsung Electronics Co., Ltd. | LUT based synapse weight update scheme in STDP neuromorphic systems |
US10748058B2 (en) | 2015-12-28 | 2020-08-18 | International Business Machines Corporation | LUT based neuron membrane potential update scheme in STDP neuromorphic systems |
US10552731B2 (en) | 2015-12-28 | 2020-02-04 | International Business Machines Corporation | Digital STDP synapse and LIF neuron-based neuromorphic system |
KR20190034985A (ko) * | 2017-09-25 | 2019-04-03 | 삼성전자주식회사 | 인공 신경망의 양자화 방법 및 장치 |
US11195085B2 (en) * | 2019-03-21 | 2021-12-07 | International Business Machines Corporation | Spiking synaptic elements for spiking neural networks |
CN113065648B (zh) * | 2021-04-20 | 2024-02-09 | 西安交通大学 | 一种低硬件开销的分段线性函数的硬件实现方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201209735A (en) * | 2010-07-07 | 2012-03-01 | Qualcomm Inc | Methods and systems for digital neural processing with discrete-level synapses and probabilistic STDP |
TW201214308A (en) * | 2010-08-04 | 2012-04-01 | Qualcomm Inc | Methods and systems for reward-modulated spike-timing-dependent-plasticity |
US20120259804A1 (en) * | 2011-04-08 | 2012-10-11 | International Business Machines Corporation | Reconfigurable and customizable general-purpose circuits for neural networks |
CN102906767A (zh) * | 2010-06-30 | 2013-01-30 | 国际商业机器公司 | 用于时空联合存储器的标准尖峰神经网络 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8655813B2 (en) * | 2010-12-30 | 2014-02-18 | International Business Machines Corporation | Synaptic weight normalized spiking neuronal networks |
US9195935B2 (en) * | 2012-04-30 | 2015-11-24 | The Regents Of The University Of California | Problem solving by plastic neuronal networks |
-
2013
- 2013-10-03 US US14/045,672 patent/US20140310216A1/en not_active Abandoned
-
2014
- 2014-03-04 WO PCT/US2014/020395 patent/WO2014172025A1/en active Application Filing
- 2014-03-12 TW TW103108702A patent/TWI550530B/zh not_active IP Right Cessation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102906767A (zh) * | 2010-06-30 | 2013-01-30 | 国际商业机器公司 | 用于时空联合存储器的标准尖峰神经网络 |
TW201209735A (en) * | 2010-07-07 | 2012-03-01 | Qualcomm Inc | Methods and systems for digital neural processing with discrete-level synapses and probabilistic STDP |
TW201214308A (en) * | 2010-08-04 | 2012-04-01 | Qualcomm Inc | Methods and systems for reward-modulated spike-timing-dependent-plasticity |
US20120259804A1 (en) * | 2011-04-08 | 2012-10-11 | International Business Machines Corporation | Reconfigurable and customizable general-purpose circuits for neural networks |
Also Published As
Publication number | Publication date |
---|---|
TW201445460A (zh) | 2014-12-01 |
US20140310216A1 (en) | 2014-10-16 |
WO2014172025A1 (en) | 2014-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI550530B (zh) | 用於產生尖峰定時依賴可塑性曲線的緊湊表示的方法、設備、電腦可讀取媒體及電腦程式產品 | |
TWI585695B (zh) | 用於定義多個神經元的動態的方法、設備及電腦可讀取媒體 | |
US9542643B2 (en) | Efficient hardware implementation of spiking networks | |
TW201539335A (zh) | 實現神經網路處理器 | |
TW201541372A (zh) | 使用尖峰發放神經元的人工神經網路和感知器學習 | |
US20150046382A1 (en) | Computed synapses for neuromorphic systems | |
TW201531966A (zh) | 配置稀疏神經網路 | |
TW201541374A (zh) | 用於隨機尖峰貝氏網路的基於事件的推斷和學習 | |
TW201528162A (zh) | 在尖峰神經網路中使用重放來實施突觸學習 | |
TW201531967A (zh) | 因果凸顯性時間推斷 | |
TW201535277A (zh) | 以陰影網路監視神經網路 | |
TW201543382A (zh) | 神經網路對當前計算資源的自我調整 | |
US9652711B2 (en) | Analog signal reconstruction and recognition via sub-threshold modulation | |
US9672464B2 (en) | Method and apparatus for efficient implementation of common neuron models | |
TW201602923A (zh) | 使用尖峰發放神經網路對大序列的概率性表示 | |
TW201602924A (zh) | 在尖峰神經網路中藉由全域標量值來調制可塑性 | |
TW201525883A (zh) | 在多維範圍上評估包括可分離子系統的系統 | |
US20150088796A1 (en) | Methods and apparatus for implementation of group tags for neural models | |
TW201533668A (zh) | 基於突觸前尖峰的短期突觸記憶 | |
US20150269479A1 (en) | Conversion of neuron types to hardware | |
US9342782B2 (en) | Stochastic delay plasticity | |
WO2014197175A2 (en) | Efficient implementation of neural population diversity in neural system | |
WO2015053908A2 (en) | Method and apparatus to control and monitor neural model execution remotely | |
TW201537475A (zh) | 藉由對突觸後電位進行整形來實現的等效延遲 | |
TW201541373A (zh) | 用於空間目標選擇的失衡式交叉抑制性機制 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |