TWI537843B - 分段線性神經元建模 - Google Patents

分段線性神經元建模 Download PDF

Info

Publication number
TWI537843B
TWI537843B TW102140365A TW102140365A TWI537843B TW I537843 B TWI537843 B TW I537843B TW 102140365 A TW102140365 A TW 102140365A TW 102140365 A TW102140365 A TW 102140365A TW I537843 B TWI537843 B TW I537843B
Authority
TW
Taiwan
Prior art keywords
neuron
model
state
parameters
processing unit
Prior art date
Application number
TW102140365A
Other languages
English (en)
Other versions
TW201421382A (zh
Inventor
帕多瓦尼羅伯托
庸永春
Original Assignee
高通公司
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 高通公司 filed Critical 高通公司
Publication of TW201421382A publication Critical patent/TW201421382A/zh
Application granted granted Critical
Publication of TWI537843B publication Critical patent/TWI537843B/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
    • G06N20/00Machine learning
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • 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
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections

Landscapes

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

Description

分段線性神經元建模 【優先權聲明】
本專利申請案主張享有以下美國臨時專利申請案的權益:於2012年11月20日提出申請的、標題為「Piecewise Linear Neuron Modeling」的美國臨時專利申請案第61/728,360號;於2012年12月7日提出申請的、標題為「Piecewise Linear Neuron Modeling」的美國臨時專利申請案第61/734,716號;於2012年12月21日提出申請的、標題為「Piecewise Linear Neuron Modeling」的美國臨時專利申請案第61/740,633號;及於2013年1月25日提出申請的、標題為「Piecewise Linear Neuron Modeling」的美國臨時專利申請案第61/756,889號,經由引用的方式將上述所有美國臨時專利申請案的全部內容併入本文。
本案的某些態樣通常係關於人工神經系統,並且更具體地說,係關於將神經元模型的非線性函數的至少一部分近似為分段線性函數,並且係關於在一或多個人工神經元中使用所形成的線性的神經元模型。
人工神經網路(其可以包括相互連接的人工神經元(亦即,神經元模型)群組)是計算設備或者表示由計算設備執行的方法。人工神經網路可以具有相應的生物神經網路中的結構及/或功能。然而,人工神經網路可以針對某些應用提供新穎和有用的計算技術,在這些應用中,傳統的計算技術繁瑣、不實用或者不能勝任。由於人工神經網路可以經由觀察來推斷出功能,因此該等網路在任務或資料的複雜度使得經由習知技術設計的功能很繁重的應用中特別有用。
人工神經網路的一種類型是尖峰神經網路,其將時間的概念以及神經元和突觸狀態納入其操作模型中,從而提供了豐富的行為集合,根據行為集合,計算功能可以在神經網路中出現。尖峰神經網路是基於如下構思:神經元根據神經元的狀態而在特定的一或多個時刻發放(fire)或「產生尖峰」,並且該時刻對神經元功能較為重要。當神經元發放時,其產生傳播到其他神經元的尖峰,這些其他神經元轉而可以基於接收到該尖峰的時間來對它們的狀態進行調整。換句話說,在神經網路中的尖峰的相對或絕對時序中,可以對資訊進行編碼。
本案的某些態樣一般係關於將神經元模型的非線性函數的至少一部分近似為分段線性函數。例如,亦提供了用於在一或多個人工神經元中實現所形成的線性化神經元模型的方法和裝置。本案的某些態樣一般係關於用於神經元模型的動力的實現的公共且靈活的架構。設計目標包括對動力的 低複雜度、精確的建模,以及實現任意神經元模型(一維、二維或更多維)的能力。分段線性近似提供了在這種架構內僅經由替代與各種神經元模型相關聯的不同參數來改變神經元模型的簡單方法。
本案的某些態樣提供了一種用於操作人工神經元的方法。方法通常包括:決定人工神經元的第一狀態位於第一區域內;至少部分地基於第一組線性方程來決定人工神經元的第二狀態,其中第一組線性方程至少部分地基於與第一區域相對應的第一組參數;決定人工神經元的第二狀態位於第二區域內;及至少部分地基於第二組線性方程來決定人工神經元的第三狀態,其中第二組線性方程至少部分地基於與第二區域相對應的第二組參數。
本案的某些態樣提供了一種用於操作人工神經元的裝置。裝置通常包括處理系統和耦合到處理系統的記憶體。處理系統通常被配置為:決定人工神經元的第一狀態位於第一區域內;至少部分地基於第一組線性方程來決定人工神經元的第二狀態,其中第一組線性方程至少部分地基於與第一區域相對應的第一組參數;決定人工神經元的第二狀態位於第二區域內;及至少部分地基於第二組線性方程來決定人工神經元的第三狀態,其中第二組線性方程至少部分地基於與第二區域相對應的第二組參數。
本案的某些態樣提供了一種用於操作人工神經元的裝置。裝置通常包括:用於決定人工神經元的第一狀態位於第一區域內的構件;用於至少部分地基於第一組線性方程來 決定人工神經元的第二狀態的構件,其中第一組線性方程至少部分地基於與第一區域相對應的第一組參數;用於決定人工神經元的第二狀態位於第二區域內的構件;及用於至少部分地基於第二組線性方程來決定人工神經元的第三狀態的構件,其中第二組線性方程至少部分地基於與第二區域相對應的第二組參數。
本案的某些態樣提供了一種用於操作人工神經元的電腦程式產品。電腦程式產品通常包括電腦可讀取媒體(例如,存放裝置),電腦可讀取媒體具有可執行的、進行以下操作的指令:決定人工神經元的第一狀態位於第一區域內;至少部分地基於第一組線性方程來決定人工神經元的第二狀態,其中第一組線性方程至少部分地基於與第一區域相對應的第一組參數;決定人工神經元的第二狀態位於第二區域內;及至少部分地基於第二組線性方程來決定人工神經元的第三狀態,其中第二組線性方程至少部分地基於與第二區域相對應的第二組參數。
本案的某些態樣提供了一種用於在神經處理單元的系統中實現複數個神經元模型的組合的方法。方法通常包括:將從複數個神經元模型中選擇的第一神經元模型的參數載入到第一神經處理單元中;至少部分地基於第一神經元模型的參數來決定第一神經處理單元的第一狀態;及至少部分地基於第一神經元模型的參數且基於第一狀態來決定第一神經處理單元的第二狀態。
本案的某些態樣提供了一種用於在神經處理單元的 系統中實現複數個神經元模型的組合的裝置。裝置通常包括處理系統和耦合到處理系統的記憶體。處理系統通常被配置為:將從複數個神經元模型中選擇的第一神經元模型的參數載入到第一神經處理單元中;至少部分地基於第一神經元模型的參數來決定第一神經處理單元的第一狀態;及至少部分地基於第一神經元模型的參數並且基於第一狀態來決定第一神經處理單元的第二狀態。
本案的某些態樣提供了一種用於在神經處理單元的系統中實現複數個神經元模型的組合的裝置。裝置通常包括:用於將從複數個神經元模型中選擇的第一神經元模型的參數載入到第一神經處理單元中的構件;用於至少部分地基於第一神經元模型的參數來決定第一神經處理單元的第一狀態的構件;及用於至少部分地基於第一神經元模型的參數並且基於第一狀態來決定第一神經處理單元的第二狀態的構件。
本案的某些態樣提供了一種用於在神經處理單元的系統中實現複數個神經元模型的組合的電腦程式產品。電腦程式產品通常包括(非臨時性)電腦可讀取媒體,電腦可讀取媒體具有可執行的、進行以下操作的指令:將從複數個神經元模型中選擇的第一神經元模型的參數載入到第一神經處理單元中;至少部分地基於第一神經元模型的參數來決定第一神經處理單元的第一狀態;及至少部分地基於第一神經元模型的參數並且基於第一狀態來決定第一神經處理單元的第二狀態。
本案的某些態樣提供了一種用於操作人工神經元的 方法。方法通常包括:決定人工神經元的第一狀態位於第一區域內;至少部分地基於第一組線性方程來決定人工神經元的第二狀態,其中該第一組線性方程至少部分地基於與第一區域相對應的第一組參數;決定人工神經元的第二狀態位於第二區域內;其中第一區域或第二區域中的至少一個區域是由兩個或更多個維度來界定的;及至少部分地基於第二組線性方程來決定人工神經元的第三狀態,其中第二組線性方程是至少部分地基於與第二區域相對應的第二組參數。
本案的某些態樣提供了一種用於操作人工神經元的裝置。裝置通常包括處理系統和耦合到處理系統的記憶體。處理系統通常被配置為:決定人工神經元的第一狀態位於第一區域內;至少部分地基於第一組線性方程來決定人工神經元的第二狀態,其中第一組線性方程至少部分地基於與第一區域相對應的第一組參數;決定人工神經元的第二狀態位於第二區域內;其中第一區域或第二區域中的至少一個區域是由兩個或更多個維度來界定的;及至少部分地基於第二組線性方程來決定人工神經元的第三狀態,其中第二組線性方程至少部分地基於與第二區域相對應的第二組參數。
本案的某些態樣提供了一種用於操作人工神經元的裝置。裝置通常包括:用於決定人工神經元的第一狀態位於第一區域內的構件;用於至少部分地基於第一組線性方程來決定人工神經元的第二狀態的構件,其中第一組線性方程至少部分地基於與第一區域相對應的第一組參數;用於決定人工神經元的第二狀態位於第二區域內的構件;其中第一區域 或第二區域中的至少一個區域是由兩個或更多個維度來界定的;及用於至少部分地基於第二組線性方程來決定人工神經元的第三狀態的構件,其中第二組線性方程至少部分地基於與第二區域相對應的第二組參數。
本案的某些態樣提供了一種用於操作人工神經元的電腦程式產品。電腦程式產品通常包括電腦可讀取媒體(例如,存放裝置或其他非臨時性媒體),電腦可讀取媒體具有可執行的、進行以下操作的指令:決定人工神經元的第一狀態位於第一區域內;至少部分地基於第一組線性方程來決定人工神經元的第二狀態,其中該第一組線性方程至少部分地基於與第一區域相對應的第一組參數;決定人工神經元的第二狀態位於第二區域內;其中第一區域或第二區域中的至少一個區域是由兩個或更多個維度來界定的;及至少部分地基於第二組線性方程來決定人工神經元的第三狀態,其中第二組線性方程至少部分地基於與第二區域相對應的第二組參數。
100‧‧‧神經系統
102‧‧‧一級神經元
104‧‧‧突觸連接網路
106‧‧‧另一級神經元
1081‧‧‧信號
1082‧‧‧信號
108N‧‧‧信號
1101‧‧‧輸出尖峰
1102‧‧‧輸出尖峰
110M‧‧‧輸出尖峰
200‧‧‧處理單元
202‧‧‧神經元
2041‧‧‧輸入信號
204i‧‧‧輸入信號
204N‧‧‧輸入信號
2061‧‧‧突觸權重
206i‧‧‧突觸權重
206N‧‧‧突觸權重
208‧‧‧輸出信號
300‧‧‧曲線圖
302‧‧‧曲線部分
304‧‧‧部分
306‧‧‧交點
402‧‧‧負狀況
404‧‧‧正狀況
500‧‧‧膜電勢曲線
520‧‧‧恢復電流曲線
600‧‧‧膜電勢曲線圖
620‧‧‧恢復電流曲線圖
702‧‧‧方塊
704‧‧‧方塊
706‧‧‧方塊
708‧‧‧方塊
710‧‧‧方塊
712‧‧‧方塊
714‧‧‧方塊
1200‧‧‧曲線圖
1210‧‧‧曲線圖
1220‧‧‧曲線圖
1400‧‧‧操作
1400A‧‧‧組件
1402‧‧‧方塊
1404‧‧‧方塊
1406‧‧‧方塊
1408‧‧‧方塊
1502‧‧‧神經處理單元
1504‧‧‧參數
1506‧‧‧狀態機
1508‧‧‧第一記憶體位置
1510‧‧‧第二記憶體位置
1512‧‧‧第三記憶體位置
1600‧‧‧操作
1602‧‧‧方塊
1604‧‧‧方塊
1606‧‧‧方塊
1608‧‧‧方塊
1610‧‧‧方塊
1612‧‧‧方塊
1700‧‧‧方塊圖
1702‧‧‧通用處理器
1704‧‧‧記憶體塊
1706‧‧‧程式記憶體
1800‧‧‧方塊圖
1802‧‧‧記憶體
1804‧‧‧互連網路
1806‧‧‧處理單元
1900‧‧‧方塊圖
1902‧‧‧記憶體組
1904‧‧‧處理單元
2000‧‧‧神經網路
2002‧‧‧本端處理單元
2004‧‧‧本端狀態記憶體
2006‧‧‧本端參數記憶體
2008‧‧‧記憶體
2010‧‧‧記憶體
2012‧‧‧本端連接記憶體
2014‧‧‧單元
2016‧‧‧連接處理單元
2100‧‧‧方塊圖
2102‧‧‧矩陣求逆模組
2104‧‧‧量化模組
2106‧‧‧記憶體查閱資料表
2108‧‧‧指數矩陣G
2110‧‧‧向量q
2112‧‧‧輸入電流向量h
21141‧‧‧突觸電流輸入向量
2114N‧‧‧突觸電流輸入向量
2116‧‧‧求和模組
2118‧‧‧延遲模組
為了能夠詳細地理解本案的上述特徵的實現方式,可以經由參照多個態樣對上面的簡要概括進行更具體的描述,在附圖中圖示這些態樣中的一些態樣。然而,應當注意的是,附圖僅圖示本案的某些典型態樣,因此不應該被認為是對本案的範圍的限制,因為該描述可以允許其他等效態樣。
圖1根據本案的某些態樣,圖示了示例性神經網路。
圖2根據本案的某些態樣,圖示了計算網路(神經系 統或神經網路)的示例性處理單元(神經元)。
圖3根據本案的某些態樣,圖示了示例性尖峰時序依賴可塑性(STDP)曲線。
圖4是人工神經元狀態的示例圖,其根據本案的某些態樣圖示了用於界定神經元的行為的正狀況(regime)和負狀況。
圖5A和圖5B根據本案的某些態樣,分別圖示了用於將非線性時變的簡單模型與基於泰勒展開法的示例性線性化進行比較的膜電壓v和恢復電流u相對於時間的實例圖。
圖6A和圖6B根據本案的某些態樣,分別圖示Hunzinger Cold模型的閾下動力的膜電壓v和恢復電流u相對於時間的實例圖。
圖7根據本案的某些態樣,圖示了對分段線性神經元建模的各種方法的概述。
圖8根據本案的某些態樣,圖示了具有就單個維度進行劃分的分段線性神經元建模的實例。
圖9根據本案的某些態樣,圖示了具有由2個維度界定的3個矩形區域的一般線性神經元建模的實例。
圖10根據本案的某些態樣,圖示了具有由2個維度定義的4個區域的一般性線性神經元建模,其可以用於展示衰減、持續以及增加的閾下振盪行為。
圖11根據本案的某些態樣,圖示了具有不同形狀的5個區域的一般性線性神經元建模。
圖12A至圖12C根據本案的某些態樣,分別圖示了衰 減、保持以及增加的閾下振盪的實例圖。
圖13根據本案的某些態樣,圖示了具有由2個維度定義的6個區域的一般性線性神經元建模的實例,其可以用於多級衰減、多級保持及/或多級增加區域來支援逐漸衰減的、多個保持的振盪及/或閾下振盪的逐級增加。
圖14是根據本案的某些態樣的用於操作人工神經元的示例性操作的流程圖。
圖14A圖示了能夠執行圖14中所示的操作的示例性單元。
圖15A至圖15D根據本案的某些態樣,圖示了單個神經處理單元的公共且靈活的神經架構的實現方式,其中可以選擇、載入、存取、添加、刪除及/或更新神經元模型的參數。
圖16是根據本案的某些態樣的、用於在神經處理單元系統中實現複數個神經元模型的組合的實例操作的流程圖。
圖16A圖示能夠執行圖16中所示的操作的示例構件。
圖17根據本案的某些態樣圖示用於使用通用處理器來決定人工神經元的狀態的示例性實現方式。
圖18根據本案的某些態樣,圖示了用於決定人工神經元狀態的示例性實現方式,其中記憶體可以與各個分散式處理單元相對接。
圖19根據本案的某些態樣,圖示了用於基於分散式 記憶體和分散式處理單元來決定人工神經元狀態的示例性實現方式。
圖20根據本案的某些態樣,圖示了神經網路的示例性實現方式。
圖21是根據本案的某些態樣的分段線性神經元建模的示例性實現方式的方塊圖,其中根據當前狀態的量化,從記憶體取出用於更新人工神經元狀態的參數。
下面參照附圖更全面地描述本案的各個態樣。但是,可以經由很多不同的形式來具體實現本案,並且本案不應被解釋為限於貫穿本案提供的任何具體結構或功能。更確切地說,提供這些態樣使得本案將變得透徹和完整,並將向熟習此項技術者完整地傳達本案的保護範圍。基於本文的教示,熟習此項技術者應當理解的是,本案的保護範圍旨在覆蓋本案所披露的公開內容的任何態樣,無論其是獨立地實現還是結合本案的任何其他態樣來實現。例如,使用本案闡述的任意數量的態樣可以實現裝置或實施方法。此外,本案的保護範圍旨在覆蓋這種裝置或方法,這種裝置或方法可以是經由使用本文闡述的本案的各個態樣再加上其他結構、功能或者結構與功能,或者與本文闡述的本案的各個態樣不同的其他結構、功能或者結構與功能來實現的。應當理解的是,可以經由請求項的一或多個元素來具體實現本文所披露的公開內容的任何態樣。
本文中使用「示例性的」一詞表示「用作例子、例 證或說明」。本文被描述為「示例性」的任何態樣不一定被解釋為比其他態樣更優選或更具優勢。
雖然本文描述了一些特定態樣,但是這些態樣的很多變型和排列落入本案的保護範圍之內。雖然提到了優選態樣的一些益處和優點,但是本案的保護範圍並非旨在限於特定的益處、用途或目的。更確切地說,本案的態樣旨在廣泛地適用於不同的技術、系統組態、網路和協定,其中的一些是經由實例的方式在附圖和下面對優選態樣的說明中描述的。詳細描述和附圖僅僅是對本案的說明而不是限制,本案的保護範圍是由所附請求項及其均等物限定的。
示例性神經系統
圖1圖示根據本案的某些態樣具有多級神經元的示例性神經系統100。神經系統100可以包括一級神經元102,其經由突觸連接(亦即,前饋連接)網路104連接至另一級神經元106。為了簡明,圖1中僅圖示兩級神經元,但是在典型的神經系統中可以存在更少級或更多級的神經元。應該注意的是,這些神經元中的一些神經元可以經由側面連接連接到同一層的其他神經元。此外,該等神經元中的一些神經元可以經由回饋連接連接回前一層的神經元。
如圖1中所示,級102中的每一個神經元可以接收可以由前一級的複數個神經元(圖1中未圖示)產生的輸入信號108。信號108可以表示針對級102神經元的輸入(例如,輸入電流)。可以在神經元膜上累積此類此種輸入以便對膜電勢進行充電。當膜電勢達到其閾值(threshold)時,神經元可以發 放(fire)並且產生要傳遞到下一級神經元(例如,級106)的輸出尖峰。可以用硬體及/或軟體來模仿或模擬這種行為,包括類比和數位元實現方式。
在生物神經元中,當神經元發放時產生的輸出尖峰被稱為動作電勢。該電信號是相對快速、短暫、全有或全無的神經脈衝,具有大約100mV的幅度和大約1ms的持續時間。在具有一系列連接的神經元(例如,在圖1中,尖峰從神經元的一級到另一級的傳輸)的神經系統的特定態樣中,每個動作電勢具有基本相同的幅度和持續時間,因而信號中的資訊僅由尖峰的頻率和數量(或尖峰的時間)來表示,而不是由振幅來表示。由動作電勢所攜帶的資訊是由尖峰、產生尖峰的神經元、以及尖峰相對於一或多個其他尖峰的時間來決定的。
如圖1所示,可以經由突觸連接網路(或者簡稱為「突觸」)104來實現尖峰從一級神經元到另一級神經元的傳遞。突觸104可以從級102的神經元(與突觸104有關的突觸前神經元)接收輸出信號(亦即,尖峰)。對於某些態樣,可以根據可調節的突觸權重、……、(其中P是在級102的神經元與106的神經元之間的突觸連接的總數量)來對這些信號進行縮放。對於其他態樣,突觸104可以不應用任何突觸權重。此外,可以將(縮放後的)信號組合成級106中每一個神經元(與突觸104有關的突觸後神經元)的輸入信號。級106中的每一個神經元可以基於相應的組合輸入信號來產生輸出尖峰110。隨後,可以使用另一突觸連接網路(圖1中未圖示 )將輸出尖峰110傳遞到另一級神經元。
可以將生物突觸分類為電的或化學的。雖然電突觸主要用於發送興奮信號,但化學突觸可以調停突觸後神經元中的興奮或抑制(超極化)動作,並且亦可以用於放大神經元信號。興奮信號通常對膜電勢進行去極化(亦即,增加相對於靜息電勢的膜電勢)。若在某個時間段內接收到了足夠的、對閾值之上的膜電勢進行去極化的興奮信號,則在突觸後神經元中出現動作電勢。相反,抑制信號通常對膜電勢進行超極化(亦即,降低)。抑制信號(若足夠強)可以抵消興奮信號的總和,並且防止膜電勢達到閾值。除了抵消突觸激發之外,突觸抑制可以對自發活動神經元進行有力控制。自發活動神經元指的是在沒有進一步輸入(例如,由於其動力或回饋而引起)的情況下產生尖峰的神經元。經由抑制這些神經元中的動作電勢的自發產生,突觸抑制可以形成神經元中的發放模式,這通常被稱為雕塑。各種突觸104可以用作興奮或抑制突觸的任意組合,這取決於所期望的行為。
可以用通用處理器、數位訊號處理器(DSP)、特殊應用積體電路(ASIC)、現場可程式設計閘陣列(FPGA)或其他可程式設計邏輯裝置(PLD)、個別閘門或電晶體邏輯、個別硬體元件、由處理器執行的軟體模組或者其任意組合來類比神經系統100。神經系統100可以用於廣泛的應用中,例如,圖像和模式辨識、機器學習、運動控制等。神經系統100中的每一個神經元(或者神經元模型)可以實現為神經元電路。被充電至閾值從而發起輸出尖峰的神經元膜可以實現 為例如電容器,該電容器對流過它的電流進行積分。
在一個態樣中,可以去掉作為神經元電路的電流積分設備的電容器,並可以在其位置處使用更小的憶阻器元件。該方案可以應用於神經元電路以及其中將體積大的電容器用作電流積分器的各種其他應用中。此外,可以基於憶阻器元件來實現突觸104中的每一個突觸,其中突觸權重變化可能與憶阻器阻抗的變化相關。經由使用奈米特徵尺寸的憶阻器,可以大大減小神經元電路和突觸的面積,這可以使得超大規模神經系統硬體實現方案的實施切實可行。
對神經系統100進行模擬的神經處理器的功能可能取決於突觸連接的權重,該等突觸連接的權重可以控制神經元之間的連接強度。可以將突觸權重儲存在非揮發性記憶體中,以便在斷電後保持處理器的功能。在一態樣中,可以在與主神經處理器晶片分開的外部晶片上實現突觸權重記憶體。可以將突觸權重記憶體封裝成與神經處理器晶片分開的可替換的儲存卡。這樣可以向神經處理器提供各種功能,其中特定的功能可以基於當前連接到神經處理器的儲存卡中儲存的突觸權重。
圖2根據本案的某些態樣,圖示了計算網路(例如,神經系統或神經網路)的處理單元(例如,人工神經元202)的實例200。例如,神經元202可以與圖1中的級102和級106的任何神經元相對應。神經元202可以接收多個輸入信號2041-204 N (x 1-x N ),這些輸入信號可以是神經系統之外的信號、或者由同一神經系統的其他神經元產生的信號、或者二 者的組合。輸入信號可以是電流或電壓、實數值或複數值。輸入信號可以包括使用定點或浮點表示的數值。可以經由突觸連接將這些輸入信號傳送給神經元202,該等突觸連接根據可調整的突觸權重2061-206N(w 1-w N )對這些信號進行縮放,其中N可以是神經元202的輸入連接的總數。
神經元202可以對已縮放的輸入信號進行組合,使用所組合的已縮放的輸入信號來產生輸出信號208(亦即,信號y)。輸出信號208可以是電流或電壓、實數值或複數值。輸出信號可以包括使用定點或浮點表示的數值。隨後,可以將輸出信號208進行傳送,作為針對同一神經系統的其他神經元的輸入信號,或者作為針對相同神經元202的輸入信號,或者作為該神經系統的輸出。
可以用電子電路來類比處理單元(神經元)202,並且可以用具有突觸電路的電線來類比處理單元(神經元)202的輸入和輸出連接。亦可以用軟體代碼來類比處理單元202及其輸入和輸出連接。可以用電子電路來類比處理單元202,而處理單元202的輸入和輸出連接可以用軟體代碼來類比。在一個態樣中,計算網路中的處理單元202可以包括類比電子電路。在另一個態樣中,處理單元202可以包括數位電子電路。在又一個態樣中,處理單元202可以包括具有類比元件和數位元件兩者的混合信號電子電路。計算網路可以包括具有任何上述形式的處理單元。使用這些處理單元的計算網路(神經系統或神經網路)可以用於諸如圖像和模式辨識、機器學習、運動控制等廣泛的應用中。
在神經網路的訓練程序期間,可以使用隨機值對突觸權重(例如,圖1中的權重,…,及/或圖2中的權重2061-206N)進行初始化,並且該等突觸權重根據學習規則進行增大或減小。學習規則的一些實例是:尖峰時序依賴可塑性(STDP)學習規則、Hebb規則、Oja規則、Bienenstock-Copper-Munro(BCM)規則等。很多時候,權重可能會穩定在兩個值(亦即,權重的雙峰分佈)中的一個值。可以利用這種效應來減少每一突觸權重的位元數量、增加從儲存突觸權重的記憶體讀取的速度/向記憶體寫入的速度、以及降低突觸記憶體的功耗。
突觸類型
在神經網路的硬體模型和軟體模型中,對與突觸相關的功能的處理可以基於突觸類型。突觸類型可以包括非可塑性突觸(權重和延遲不變)、可塑性突觸(權重可以變化)、結構延遲可塑性突觸(權重和延遲可以變化)、完全可塑性突觸(權重、延遲和連線性可以變化)以及上述的變型(例如,延遲可以變化,但是權重或連接不變)。此類此類優點是處理可以被細分。例如,非可塑性突觸可能不需要可塑性功能被執行(或等待這些功能完成)。類似地,可以將延遲和權重可塑性細分為可以順序或並行地、一起或單獨操作的操作。針對所應用的不同可塑性類型中的每一種可塑性類型,不同類型的突觸可以具有不同的查閱資料表或方程以及參數。因此,方法將針對突觸的類型,存取相關表格。
可以獨立於突觸可塑性來執行尖峰時序依賴結構可 塑性的事實亦有其他含義。由於結構可塑性(亦即,延遲變化的量)可以是前-後尖峰時間差的直接函數,所以即使權重幅度沒有變化(例如,若權重已經達到最小值或最大值,或者權重由於某些其他原因而沒有發生變化),亦可以執行結構可塑性。或者,可以將其設置為權重變化量的函數或者基於與權重或權重變化的界限有關的狀況。例如,只有當權重變化發生時或者若權重達到零,則突觸延遲可以變化,但是若權重達到最大值,就不是如此了。然而,可能有利於具有獨立功能,使得可以使這些程序並行化,從而減少記憶體存取的數量和重疊。
突觸可塑性的決定
神經可塑性(或簡稱為「可塑性」)是大腦中的神經元和神經網路回應於新的資訊、感官刺激、發展、損害或功能紊亂來改變它們的突觸連接和行為的能力。可塑性對於生物的學習和記憶以及計算神經系統科學和神經網路來說是重要的。人們已經對諸如突觸可塑性(例如,根據Hebbian理論)、尖峰時序依賴可塑性(STDP)、非突觸可塑性、活動依賴可塑性、結構可塑性和自我平衡可塑性之類的各種形式的可塑性進行了研究。
STDP是對神經元(例如,大腦中的那些神經元)之間的突觸連接的強度進行調整的學習程序。基於特定神經元的輸出和所接收的輸入尖峰(亦即,動作電勢)的相對時序來對連接強度進行調整。在STDP程序中,若針對某個神經元的輸入尖峰常常(平均而言)在該神經元的輸出尖峰之前剛 發生,則可能發生長時程增強(LTP)。隨後,使該特定輸入稍微增強。相反,若輸入尖峰常常(平均而言)在輸出尖峰之後立即發生,則可能發生長時程抑制(LTD)。隨後,使該特定輸入稍微減弱,因此命名為「尖峰時序依賴可塑性」。因此,可能是突觸後神經元的激勵的原因的輸入未來更有可能起作用,而不是突觸後尖峰的原因的輸入未來不太可能起作用。程序持續,直到連接的初始集合的子集仍然存在而所有其他的影響減小到零或接近零為止。
由於神經元通常在其輸入中的許多輸入發生在短時段內(亦即,足夠累積以導致輸出)時產生輸出尖峰,所以通常仍然存在的輸入的子集包括那些常常在時間上相關的輸入。此外,由於在輸出尖峰之前發生的輸入被加強,所以提供對相關的最早的充分累積指示的輸入將最終成為對神經元的最終輸入。
STDP學習規則可以根據突觸前神經元的尖峰時間t pre 與突觸後神經元的尖峰時間t post 之間的時間差(亦即,t=t post -t pre ),來有效地調整用於將突觸前神經元連接到突觸後神經元的突觸的突觸權重。STDP的典型公式是:若時間差為正數(亦即,突觸前神經元在突觸後神經元之前發放(fire)),則增加突觸權重(亦即,增強突觸),而若時間差為負數(亦即,突觸後神經元在突觸前神經元之前發放),則減小突觸權重(亦即,抑制突觸)。
在STDP程序中,通常可以使用指數衰減來達到突觸權重隨時間的變化,如下式所提供的:
其中k +k -分別是正時間差和負時間差的時間常數,a +a -是相應的縮放幅度,而μ是可以應用於正時間差及/或負時間差的偏移。
圖3圖示根據STDP,突觸權重根據突觸前尖峰和突觸後尖峰的相對時序而變化的示例性曲線圖300。如曲線圖300的部分302中所示,若突觸前神經元在突觸後神經元之前發放,則可以增加相應的突觸權重。該權重增加可被稱為突觸的LTP。可以從曲線部分302觀察到,LTP的量可以根據突觸前尖峰時間與突觸後尖峰時間之差大致呈指數減少。如曲線圖300的部分304中所示,相反的發放順序可以減少突觸權重,從而導致突觸的LTD。
如圖3中的曲線圖300所示,可以將負偏移μ應用到STDP曲線的LTP(原因)部分302。x軸(y=0)的交點306可以被配置為與考慮來自層i-1的原因輸入的相關性的最大時滯相一致。在基於訊框的輸入(亦即,輸入具有包括尖峰或脈衝的特定持續時間的訊框形式)的情況下,可以計算偏移值μ以反映訊框邊界。由於由突觸後電勢直接形成模型或者依據對神經狀態的影響,所以訊框中的第一輸入尖峰(脈衝)可以被視為隨著時間進行衰減。若訊框中的第二輸入尖峰(脈衝)被視為與特定的時間訊框相關或有關,則可以在該時間訊框邊界處分開訊框之前和之後的相關時間,並經由對STDP曲線的一或多個部分進行偏移而在可塑性態樣對訊框之前和 之後的相關時間進行區別對待,從而使得相關時間中的值可以有所不同(例如,多於一訊框,值為負;而少於一訊框,值為正)。例如,可以設置負偏移μ以偏移LTP,從而使得曲線實際上在大於訊框時間的前後時間處達到0以下,因此其是LTD而不是LTP的部分。
神經元模型和操作
設計有用的尖峰神經元模型有一些一般原則。良好的神經元模型可以在兩個計算狀況態樣具有豐富的潛在表現:符合偵測(coincidence detection)和函數計算。此外,良好的神經元模型應該具有兩個要素以允許時間編碼:輸入到達時間影響輸出時間,並且符合偵測可以具有窄的時間窗。最後,要在計算上有吸引力,良好的神經元模型會具有連續時間上的封閉形式的解,並且具有穩定的表現,包括靠近吸引子和鞍點。換句話說,有用的神經元模型是一種實用的、並且可以用於模擬豐富、現實以及與生物一致的行為、以及用於工程和反向工程神經電路的神經元模型。
神經元模型可以依賴於事件,諸如輸入到達、輸出尖峰或者內部或外部的其他事件。要實現豐富的行為指令表,可能需要能夠表現複雜行為的狀態機。若事件本身的發生與輸入(若有的話)的作用分開可以影響狀態機並且約束事件之後的動力,則系統的未來狀態不僅僅是狀態和輸入的函數,而是狀態、事件和輸入的函數。
在一個態樣中,可以將神經元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中所示,可以將模型的動力劃分成兩種(或更多種)狀況。可以將這些狀況稱為負狀況402(亦可互換地稱為洩漏積分及發放(LIF)狀況,不與LIF神經元模型混淆)和正狀況404(亦可互換地稱為抗洩漏積分及發放(ALIF)狀況,不與ALIF神經元模型混淆)。在負狀況402中,狀態在未來事件的時刻趨向於靜息(v -)。在該負狀況情況下,模型通常呈現暫時輸入偵測屬性和其他閾下表現。在正狀況404中,狀態趨向於尖峰事件(v s )。在該正狀況情況下,模型呈現計算屬性,例如引起取決於後續輸入事件的尖峰的延遲。依據事件來對動力進行構建以及將動力分成這兩種狀況是該模型的基本特徵。
根據慣例,可以將線性雙狀況二維動力(針對狀態vu)界定為,
其中q ρ r是用於耦接的線性變換變數。
當討論或表達具體狀況的關係時,本文中使用符號ρ來表示動力狀況,其中按照慣例針對負狀況和正狀況,分別使用符號「-」或「+」來代替符號ρ
模型狀態由膜電勢(電壓)v和恢復電流u來界定。在基本形式中,狀況基本上由模型狀態來決定。精確和一般的定義有微妙但重要的態樣,但就目前而言,若電壓v高於閾值(v +),則認為模型處於正狀況404,否則處於負狀況402。
狀況依賴的時間常數包括負狀況時間常數τ -和正狀況時間常數τ +。恢復電流時間常數τ u 通常獨立於狀況。為了方便起見,通常將負狀況時間常數τ -規定為負的量以反映衰減,從而使得可以將針對電壓演化的相同運算式用於正狀況,在正狀況中,指數和τ +將通常為正,τ u 亦將如此。
可以經由將狀態從其零斜率線(null-clines)偏移的變換來使兩種狀態元素的動力在事件處耦合,其中變換變數是q ρ =-τ ρ βu-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 -
經由瞬間耦合的原則,不僅對於狀態(並且具有單個指數項),而且對於達到特定的狀態所需要的時間來說,封閉形式的解是有可能的。封閉形式狀態解是
因此,只有在諸如輸入(突觸前尖峰)或輸出(突觸後尖峰)的事件出現之後模型狀態才會被更新。亦可以在任何特定的時間執行操作(不管是否有輸入或輸出)。
此外,經由瞬間耦合原則,可以預計突觸後尖峰的時間,從而使得可以在沒有反覆運算技術或數值方法(例如,歐拉(Euler)數值方法)的情況下提前決定達到特定狀態的時間。假設先前的電壓狀態v 0,達到電壓狀態v f 之前的時間延遲經由下式提供:
若尖峰被定義為在電壓狀態v達到v s 的時刻發生,則從電壓處於給定狀態v開始起直到量測到尖峰發生所經過的時間量或相對延遲的封閉形式的解為:
其中雖然其他變型可能是有可能的,但是通常將v +設置為參數v +
模型動力的上述定義取決於模型處於正狀況還是負狀況。如所提到的,可以在事件發生時計算耦合和狀況ρ。出於狀態傳播的目的,可以基於上一個(前一個)事件時刻的狀態來界定狀況和耦合(變換)變數。出於後續預計尖峰輸出時間的目的,可以基於下一個(當前)事件時刻的狀態來界定狀況和耦合變數。
Cold模型以及適時執行模擬、類比或模型有幾種可能的實現方式。這包括,例如,事件更新、逐步事件(step-event)更新以及逐步更新(step-update)模式。事件更新是基於事件或「事件更新」(在特定的時刻)來更新狀態的更新。逐步更新是當模型以間隔(如1毫秒)來更新時的更新。這並不一定需要反覆運算方法或數值方法。經由只更新模型(若事件在各步處或者在各步之間發生)或者經由「逐步事件」更新,在基於逐步的模擬器中,按照有限的時間解析度,基於事件的實現方式亦是有可能的。
神經編碼
有用的神經網路模型(例如,由圖1的人工神經元102、106組成的一個神經網路模型)可以經由各種適當的神經編碼方案(例如,符合編碼(coincidence coding)、時間編碼或速率編碼)中的任何一種編碼方案來對資訊進行編碼。在 符合編碼中,以神經元群的動作電勢(尖峰活動)的符合度(或時間接近度),來對資訊進行編碼。在時間編碼中,神經元經由動作電勢(亦即,尖峰)的精確時序(無論是絕對時間或相對時間)來對資訊進行編碼。因此,可以以神經元群中的尖峰相對時序來對資訊進行編碼。相反,速率編碼涉及以發放速率或群發放速率來對資訊進行編碼。
若神經元模型可以執行時間編碼,則其亦可以執行速率編碼(因為速率只是時序或尖峰間間隔的函數)。為了提供時間編碼,良好的神經元模型應該具有兩個要素:(1)輸入的到達時間影響輸出時間;及(2)符合偵測可以具有窄的時間窗。連接延遲提供了一種將符合偵測擴展到時間模式解碼的手段,因為經由適當推遲時間模式的元素,可以將這些元素引入時序符合。
到達時間
在良好的神經元模型中,輸入的到達時間應該對輸出的時間有影響。突觸輸入一一無論是狄拉克δ(Dirac delta)函數還是所形成的突觸後電勢(PSP),無論是興奮(EPSP)還是抑制(IPSP)一一具有到達時間(例如,δ函數、或一步的開始或峰值、或其他輸入函數的時間),其可以被稱為輸入時間。神經元輸出(亦即,尖峰)具有發生時間(不管在何處對其進行量測,例如,在細胞體處、在沿軸突的點處或在軸突的端部處),該發生時間可以被稱為輸出時間。輸出時間可以是尖峰的峰值時間、尖峰的開始時間、或者相對於輸出波形的任何其他時間。首要原則是輸出時間取決於輸 入時間。
有人可能會在第一眼就認為所有的神經元模型皆符合原則,但通常並非如此。例如,基於速率的模型不具有該特徵。許多尖峰模型通常亦不符合。若有額外的輸入(超過閾值),則洩漏積分及發放(LIF)模型不會發放得更快。此外,若以極高定時解析度進行建模可能符合的模型,常常在定時解析度被限制到例如1毫秒的步長時將不符合。
輸入
針對神經元模型的輸入可以包括狄拉克δ(Dirac delta)函數(例如,作為電流的輸入)或基於電導的輸入。在後一種情況中,對神經元狀態的貢獻可以是連續的或依賴於狀態的。
示例性分段線性神經元建模
已經尋找並對神經元動力的數學模型研究了數十年。已經提出了具有不同複雜度和精度的各種神經元模型,其中這些模型利用不同的複雜度和精度,與其生物對應物相匹配。從根本上說,所有的神經元模型試圖捕捉由於多種離子通道的相互作用而引起的細胞膜電壓的非線性表現,並且具有共同的起點,也就是,Hodgkin-Huxley在20世紀50年代的突破性工作所提供的數學描述。
多年來,神經學家們在很大程度上向二維神經元模型集中,該等二維神經元模型似乎在對他們尋求建模的生物細胞的被量測的行為進行複製的能力與可以對其進行分析和模擬的容易程度和速度之間提供了良好權衡。下文描述了全 部經由一對微分方程來構建的最普通的二維模型。
然而,習知的神經元模型實現方式缺乏靈活性。通常,人工神經元的神經元模型的實現方式,例如,是基於預先選擇特定的神經元模型。這種方法的缺點在於:實現完全不同的或者甚至稍微修改的神經元模型的難度。
本案的某些態樣利用了以下事實:各種動力神經元模型的微分方程可以被視為等同,但是如上所述,就非線性函數F(v)而言,試圖捕捉細胞膜電壓的非線性表現。在此種認識的情況下,一種方法包括,以有限量化間隔對用於對神經元動力進行建模的微分方程中的非線性函數進行線性化,以提供分段線性近似。這種方法的優點包括能夠相對容易地並且使用一般數學框架來獲得連續時間或離散時間的動力的解,從而可以對任何神經元模型進行分析和模擬。這些解提供了與給定神經元模型的每個量化間隔相對應的參數,從而使得本案的某些態樣的不同神經元模型的實現方式可能涉及對參數的簡單替換。
本案的某些態樣將該分段線性化方法應用到包括突觸電流的函數。這種更一般化的方法導致系統矩陣,該系統矩陣是時變突觸電導(以及其他變數)的函數。本案首先研究所形成的分段線性時變系統的一些近似解。接著,本案研究經由在給定的時間間隔內的常數對時變電導進行近似,來從先前的時變系統獲得的分段線性時不變(LTI)系統。這種更精確的方法(具有包括突觸電流的函數)導致具有大動態範圍的系統矩陣將被量化程序覆蓋,並且因此導致對儲存各 種預先計算的矩陣的相對較大記憶體需求。該方法的好處在於對原始非線性時變系統的真正動力的更準確的近似。亦提供了經由在動態範圍的一部分上計算相關矩陣而不是對該相關矩陣進行儲存來減輕記憶體需求的方法。
本案的某些態樣提供了一種用於實現支援任何一維、二維或更高維的神經元模型的通用架構的手段。使用這種靈活架構,可以根據需要來執行和替代各種適合的神經元模型中的任一種。例如,神經元模型可以包括以下模型中的至少一種:Izhikevich簡單模型、指數積分及發放(EIF)模型、FitzHugh-Nagumo模型、四次模型、或如上該並且在2012年5月30日提出申請的、標題為「Dynamical Event Neuron and Synapse Models for Learning Spiking Neural Networks」的美國專利申請案第13/483,811號[代理案卷號122024](經由引用的方式將該美國專利申請案併入本文)中描述的Hunzinger Cold模型。可以使用本文中描述的分段線性近似來實現這些神經元模型。
介紹
以描述對神經元動力進行建模的微分方程來開始。雖然描述關注二維神經元模型,但是亦可以將該方法擴展到更高維的模型,或者亦可以應用於一維模型。
上面的等式定性地描述了人工神經元的動力(為了 標示簡化,省略了變數的時間依賴性)。這些等式是Hodgkin-Huxley四維模型到由變數v和u表示的二維模型的簡化結果。變數v捕捉神經元膜電壓和鈉啟動的表現,而u表示試圖捕捉鉀啟動和鈉失活的較慢表現的「適應」或「恢復」變數,從而將Hodgkin-Huxley的四個變數減少到兩個變數。等式(15)中的變數I表示輸入電流。更通用的二維模型可以是以下形式:
其中這兩個微分方程皆可以包含非線性項。這裡,重點在於諸如等式(15)和(16)描述的那些模型,但是貫穿其中所開發的相同方法亦可以應用於上面的描述。
從根本上來講,文件中已建議的最流行的神經元模型在等式(15)中的函數F(v)的選擇上有所不同。一些實例包括由Izhikevich(亦被稱為簡單模型)所提出的二次函數:F(v)=k(v-v r )(v-v t ) (17)
線性加指數函數,按照Brette和Gerstner:
表示FitzHugh-Nagumo模型的線性加三次函數
按照Touboul和Gerstner,線性加四次項,被稱為四次模型F(v)=2av+v 4 (20)
以及最後可以被稱為「固有電導」模型,被界定為:F(v)=G(v).v+p(v) (21)
其中G(v)是分段常數函數(以電導為單位)並且p(v)亦是分段常數函數(以電流為單位)。當G(v)和p(v)僅在兩個間隔上是分段常數時(如在上述Hunzinger Cold模型中),獲得固有電導模型的最簡單形式,對此,F(v)呈現以下形式:
因為除了等式(15)和(16)提供的描述之外,亦提供了重置條件,所以上面的所有模型(除了FitzHugh-Nagumo模型之外)被稱為二維混合模型。例如,因為一旦超過了電壓閾值,變數v就將增加到無窮,所以在這些模型中提供了重置條件。因而可以使用以下重置條件:i.若v>v pek,則vv r 並且uu+d (23)
換句話說,當電壓v超過尖峰閾值v peak(或者,對於某些態樣來說,決定電壓將超過v peak)時,則將電壓重置為靜息值v r ,並且將恢復變數u重置為與當前值加常數d相等的值。對於某些態樣來說,可以將u重置為預定的常數值(u reset),而不是u+d。根據某些態樣,重置條件可以回應於控制信號的啟動或接收而發生。在混合模型中的重置條件豐富了二維動力系統的可能行為。
更一般地,經由突觸電流I SYN(t)和通用電流I ext(t)的組合來對輸入電流I(t)進行建模。突觸電流具有以下形式:
在等式(24)中,g i (t)指示特定通道(第i個通道)的依賴於時間的電導,並且E i 指示針對該通道的逆轉電勢。儘管上述形式的突觸電流足以描述線性電流-電壓關係,但是在某些情況下(例如,N-甲基-D-天冬氨酸(NMDA)通道),電導亦是突觸後膜電壓的函數。在這種情況下,等式(24)呈現更加複雜的形式,即I NMDA(t)=g NMDA(t).h(v)[E NMDA-v(t)] (25)
其中函數h(v)捕捉對突觸後電壓的依賴性。將函數h(v)建模成:h(v)≡1/(1+βe -αv ) (26)
其中參數α和β取以下值,例如,α=0.062並且β=1/3.57。
因此,最一般地,可以將多達L個不同的突觸通道建模成:
其中
此外,可以經由簡單指數函數、阿爾法函數或者經由差分指數函數來對依賴於時間的電導g i (t)進行建模。在具有時間常數τ的簡單衰減指數(其中θ(t)是Heaviside階躍函數)的情況下,其具有
在阿爾法函數的情況下,其具有
在差分指數函數的情況下,指數具有不同的上升和衰減時間常數,其具有
常數g i 包含正規化因數,從而使得峰值等於如下g i
其中
在接下來的部分中,探討了對動力系統的解的近似。由於系統是非線性的,所以不能找到精確的解。因此,當提到「精確的」解或者與「精確的」解相比較時(如實例1中),意思是獲得的數值解(例如,Runge-Kutta),但具有高精度。
列方程並推導
在進行推導之前,介紹了一些定義和符號約定。此後,黑體大寫字母表示矩陣,而黑體小寫字母表示向量。二維狀態向量x可以被界定為
第一狀態變數是膜電壓v,而第二狀態變數是恢復變數u。現在針對最一般的情況,如下明確地重寫等式(15)和 (16):
因此,在最一般的情況下,正在處理的是非線性時變(NLTV)二維動力系統,如圖7中的702處所示。在下文中,在706處經由分段線性時變(pLTV)系統首先對該系統進行近似,並且將其陸續進一步近似為:(1)在710處的具有依賴於時間間隔的常係數的分段線性時不變系統(pLTI)或(2)在714處的具有獨立於時間間隔的常係數的pLTI。
分段線性時變系統
首先將時間軸t [0,∞]劃分為任意非重疊的時間間隔,即{t [T n ,T n+1],n=0,1,2,3,......} (37)
在每個時間間隔(例如,第n個間隔)內,神經元表現由線性時變(LTV)系統來近似,該線性時變系統的參數是在間隔的開始處(例如,在時刻t=T n 處)從人工神經元的狀態獲得的。為了開發此種近似,首先界定
並且等式(35)和(36)的系統變成
下一步,使用在間隔t [T n ,T n+1]上的近似仿射線性運算 式來對函數Γ(v,t)進行近似。近似中的係數是電壓在時刻Tn的函數。為了在明確時簡化符號,表示v(T n ) v n ,從而使得
這些近似的一些實例包括泰勒展開法、平均斜率法、一階線性內插法以及最小化L p 近似誤差的最優線性內插法。對於泰勒展開法:
b1[v n ,t]≡Γ(v n ,t)-a 11[v n ,t]v n
在平均斜率法中,對於給定的電壓步長△v n ,平均斜率被計算如下:
b1[v n ,t]≡Γ(v n ,t)-a 11[v n ,t]v n
在一階線性內插法中,將電壓軸劃分成間隔,v [V k ,V k+1],k=0,1,2,......,其中V k v(T n ) V k+1。則
b1[v n ,t]≡Γ(v n ,t)-a 11[v n ,t]v n
在最小化L p 近似誤差的最優線性內插法中,如之前那樣,將電壓軸劃分為間隔,v [V k ,V k+1],k=0,1,2,......。然而,線性近似
被設計為使關於基於Lp平均數的原始函數的線性近似誤差最小化。在間隔v [V k ,V k+1]上的近似誤差可以被界定為
其中
基於等式(41),用等式(39)和(40)描述的LTV系統現在可以被表示如下:
更間接地,有如下矩陣方程:
其中a 12=-1/Ca 21=aba 22=-a,並且b 2=-abv r
對於t [T n ,T n+1],上面LTV系統的解可以被表示為
其中轉換矩陣Φ(t,T n )是由Peano-Baker方程提供的,即
針對一些特定的情況,對等式(47)中提供的級數進行了簡化,例如:(i)A(v n ,t)是常數並且等於A n 。則Φ(t,T n )採用矩陣指數的常見形式,即
其中矩陣A的矩陣指數被界定為
(ii)更一般的情況是當A(v n ,t)和針對任何t進行互換時。則
以下條件中的任一個條件保證滿足上面的互換性質:(a)A(v n ,t)是常數;(b)A(v n ,t)=a(t)M,其中a(t)是標量函數並且M是常數矩陣;或者(c)A(v n ,t)=Σa i (t)M i ,其中a i (t)是標量函數,並且M i M j =M j M i 是對於任何i,j進行互換的常數矩陣。
(iii)稍微更加普遍的情況是,當針對所有t [T n ,T n+1]時,對於某些整數k≧0和s≧1,某些固定的時刻t c τ t以及某些固定的矩陣A k (v n ,τ,t c )和A k+s (v n ,τ,t c ),可以將矩陣A(v n ,t)表示為兩個部分之和:
時刻和矩陣在以下意義上是「固定的」:其獨立於時間參數t [T n ,T n+1]。可能最有用的實例是當k=0並且s=1或2時。在任何情況下,若上面運算式中的第二項(亦即,涉及矩陣A k+s (v n ,τ,t c )的項)比針對所有t [T n ,T n+1]的第一項小得多,則事實證明:矩陣Φ(t,T n )可以由以下無窮級數來近似:
其中界定了複數變數z和實數值參數t和τ的函數G m,k,s (z,t,τ)。函數G m,k,s (z,t,τ)在z=0處是解析的,並且由下式提供:
其中符號<f(z)>表示f(z)的解析分量。在上面的等式中,經由用指數項的冪級數表示來代替指數項,計算乘積和導數,隨後丟掉與z的負冪相關聯的項,從而獲得解析分量。
針對時變矩陣A(v n ,t)的所有其他情況,可以找到對等式(47)的轉換矩陣的近似,隨後可以獲得等式(46)的近似解。
分段線性時不變系統
經由將等式(44)描述的線性時變(LTV)系統變換成線性時不變(LTI)系統,可以獲得進一步的簡化。為了做到這一點,係數a 11[v n ,t]在間隔t [T n ,T n+1]上保持恆定。可以經由多種方式獲得該結果,下面描述其中幾種方式。針對上面描述的仿射線性近似中的每一個,對於任何間隔t [T n ,T n+1],常係數可以被定義如下:a 11[v n ,t]≡a 11[v n ,T n ]
或者,若下一時間步長T n+1的值在時刻t=T n 是已知的,則針對任何間隔t [T n ,T n+1],係數a 11[v n ,t]的平均值可以被計算如下:
為了闡明泰勒展開法的實例,經由使用下式來獲得LTI系統:
或者
可以對上述方法中的任一種方法應用相同的求平均值方法。現在經由下面的矩陣方程來描述LTI系統:
解可以被表示為
其中轉換矩陣Φ(t,T n )現在是矩陣指數
對於其中T n =nT(亦即,長度為T的固定並均勻的時間間隔)的情況,等式(49)變成
總之,初始的通用模型是非線性時變二維系統。經由在給定的時間間隔上將線性近似應用到非線性函數Γ(v,t),首先將該非線性系統變換成線性時變系統。經由採用時變系統矩陣A(v n ,t)並且在相同的給定間隔上用常數矩陣A n 來逼近時變系統矩陣A(v n ,t),將時變系統進一步轉換成線性時不變(LTI)系統。
由於已經闡述了問題並且已經提出了對非線性函數的多個可能的仿射線性近似,則現在關注的是由等式(49)和(51)提供的、在間隔t [T n ,T n+1]上的LTI系統的解及其實現。進一步簡化等式(49)中的符號並且表示A(v n ,T n )=A n
並且矩陣A(v n ,T n )和向量b(v n ,t)由下式提供:
其中經由上面描述的方法中的任何一種方法來計算係數a 11[v n ,T n ]和b 1[v n ,t]。
下一步,推導出對泰勒展開法的解(相應地,後面其他方法中的任一種方法的解)。在這種情況下,具有
並且
簡化表示:
將向量b(v n ,t)如下表示是方便的:
其中
隨後可以將等式(52)表示為:
可以用封閉形式來求解等式(57)的第一積分,從而得到
其中I是2x2單位矩陣。
現在可以將等式(52)表示如下:
若外部電流是使得無法獲得等式(59)的上一個積分的封閉形式的運算式,則可能不得不對其進行近似。近似的一個實例是零保持,即
在這種情況下,針對任意間隔t [T n ,T n+1]的封閉形式的解採用以下形式:
等式(61)中的關鍵部分是矩陣指數,其可以被表示如下。令λ n1λ n2是2x2矩陣A n 的特徵值。則
其中λ n1λ n2是特徵方程det(A n -λ I)=0的解。
等式(62)-(64)提供了針對矩陣指數的明確運算式。或者,大量的係數數值演算法可用於計算矩陣指數。因此,經由任何一種方法來決定系統在時刻t=T n+1的狀態是可行的。當在硬體實現方式中,使用如接下來述及之不同方法可能是有利的。
首先,注意在矩陣A n 中,僅有一個係數a 11[v n ,T n ]隨著系統演變而發生變化;其餘的三個係數始終保持不變。例如,係數由等式(56)提供。示例性的有效程序如下:(1)每次對第一狀態變數(亦即,膜電壓v n )進行量化從而變到有限數量的值,並且(2)使用預先計算的函數F'(v n ),(v n )以及h i (v n )的值來為查閱資料表編索引。類似地,亦可以對時刻進行量化,並且可以將g i (T n )的預先計算的值儲存在查閱資料表中。現在可以使用檢索到的值來經由等式(56)來求a 11[v n ,T n ]的值,並且將結果量化為有限數量的值Q(a 11[v n ,T n ])。
類似地,可以對△Tn的多個選擇進行預選擇,並且可以用Q(a 11[v n ,T n ])和△Tn來對等式(62)中出現的矩陣的矩陣指數和逆矩陣進行預計算和處理。
自我調整和固定的時間步長
在前面的部分中,推導出了在任意時刻的、針對LTI系統的狀態的運算式。下面更詳細地描述了其中自我調整地選擇時間步長的情形以及同步系統的較簡單的情況(其中時刻是均勻的,並且具有固定並預先決定的步長大小△T n =T)。
自我調整策略可以有利於關於複雜度和精度兩個態樣。例如,當狀態正在緩慢地演變時,可以選擇更長間隔(亦即,較大△Tn)的時間步長,從而提高計算的速度。相反,當例如神經元模型靠近尖峰事件時,可以使時間步長較小,從而提高計算尖峰時間的精度。接著,描述了用於選擇時間步長的可能的演算法。
如等式(63)所示,系統演變的時間常數與矩陣A n 的特徵值成反比。特別地,若特徵值接近於零,則時間常數較大,並且系統緩慢地演變。相反,若特徵值中的至少一個特徵值變大(並且可能為正),則系統非常迅速地演變。完成上述任務的用於選擇時間步長的一個示例性演算法如下:
在等式(65)中,λ n,max表示矩陣A n 的最大特徵值(就幅度而言),而△T maxμ n 是可配置的參數。這保證以下關係成立:
並且對於任意間隔t [T n ,T n+1]來說
接下來,針對大小為T的固定並均勻的時間步長的重 要情形,對前面部分的通用解進行專門化。以等式(61)開始,得到
實例1:Izhikevich(簡單)模型的泰勒展開
在該實例中,基於泰勒展開法,針對簡單模型和線性化求等式(68)的值。為了使公式有所簡化,假定不存在外部電流。
首先,從等式(56)開始推導出簡單模型的泰勒展開(亦即,F(v)=k(v-v r )(v-v t ))的係數。假如
則得到
對於非NMDA突觸通道來說,等式(70)和(71)簡化為
則現在等式(68)變成
其中
再一次對於非NMDA突觸電流來說,等式(74)簡化為
其中
此外,可以以封閉形式解決等式(74)和(75)中的積分。例如,若
為了使實例完整,針對具有參數k=0.7、C=100、a=0.03、b=-2、vr=-60mV以及vt=-40mV的慢興奮神經元模型以及具有參數τAMPA=5ms、EAMPA=0mV和gAMPA=5的單個指數AMPA通道,用T=1ms對等式(75)的精度進行測試,如圖5A和圖5B的膜電勢曲線500和恢復電流曲線520中分別所示,基於等式(75)的線性化精確地追蹤了基於非線性時變模型的曲線。
實例2:Hunzinger Cold模型的閾下動力
開發了另一個實例以致力於偵測被稱為Hunzinger Cold模型的簡單固有電導模型的閾下動力。在這個實例中,假定沒有突觸電流,並且假定簡單但有趣的尖峰外部電流的情況。
在Hunzinger Cold模型中(見上面的等式(22)),當膜電壓低於閾值時,矩陣A n 為常數並且等於A -
若第一狀態變數被界定為膜電壓減去參考電壓,則推導可以被進一步簡化。在這種定義的情況下,所有常數項等於0,並且等式(61)被簡化為
此外,若假定外部電流是在時刻Tn、具有幅度I的狄拉克δ函數,亦即,I ext(t)=(t-T n ),則
注意尖峰輸入與初始條件對系統具有相同的效果。若特徵值是實數並且λ 1λ 2,則可以將等式(62)代入等式(78)以獲得下面的針對v<v t 的連續時間解:
經由界定新的矩陣
並且表示
可以將等式(72)重寫為
尤其針對Tn=0,可以獲得
圖6A和圖6B的膜電勢曲線圖600和恢復電流曲線圖620分別針對以下參數值圖示等式(81)的時間演變:τ-=14ms、C=100、a=0.03、b=-2、I ext(t)=100δ(t),並且v 0=u 0=0。由以下方程提供膜電壓和恢復電流:v(t)-v r =0.8228e -0.0827t +0.1771e -0.0186t (82)
u(t)=0.9351e -0.08277t -0.9351e -0.0186t (83)
由於等式(80)的計算中涉及的矩陣和特徵值是先驗的,因此可以經由以給定的時間解析度來預先計算並(例如,在查閱資料表中)儲存兩個指數函數,從而很容易地、 並且以期望的精度來計算出系統的時間程序。或者,可以使用針對指數函數的計算(逼近)的快速演算法,並且可以即時地計算等式(80)。
上面的構建在基於事件的實現中特別有關係,在基於事件的實現中,關心的是在事件時刻計算狀態向量。例如,考慮到等式(80)以及在時刻Tn+1發生的事件,可能希望計算。在△ n T n+1-T n 的情況下,有
一個重要的事件是尖峰時間(亦即,如上所述,人工神經元的膜電壓超過峰值閾值的時間)。當人工神經元的模型接近尖峰時間時,這些特徵值中的至少一個特徵值為正並且佔主導地位。因此,可以經由僅保留電壓運算式中的主導項來達到良好逼近。換句話說,由於函數v(t)是等式(82)中所示的形式,即
v(t)可以由其主導項來近似,亦即,
可以容易地根據下式來獲得尖峰時間:
額外的簡化
標題為「解」的小節的結尾提到:為了預先計算矩陣指數和逆矩陣,應該將矩陣A n 的第一個元素a 11[v n ,T n ]量化成覆蓋動態範圍的有限數量的值。如根據前一小節的推導並且 尤其從實例1可見,係數a 11[v n ,T n ]是在時間T n 處的v n 和電導的函數。雖然膜電壓的動態範圍相當有限,但是電導的動態範圍可以非常大。因此,在這種情況下,可能極有可能不得不對大量預先計算出的矩陣進行儲存。接下來,為了降低記憶體需求,探討進一步簡化。一種方法是,對有限範圍內的所期望的矩陣進行預先計算並儲存,並且針對超出該範圍的值執行計算以對所期望的矩陣進行近似。
例如,當係數a 11[v n ,T n ]變得比矩陣A n 的其他三個固定係數大得多(就幅度而言)時,針對諸如ψ(x)=e x ψ(x)=x -1的任何複數值函數ψ(.)可以使用以下近似:
使用該方法,可以對記憶體需求和計算複雜度進行權衡。
可以經由某種近似來實現對記憶體需求的進一步降低。例如,可以將仿射線性近似應用到經修訂的函數 ,而不是由等式(38)
界定的函數。此外,可以將突觸電流視為外部電流,並且所形成的積分可以由後向矩形規則(backward rectangular rule)來近似。在此種情況下,對矩陣指數和逆矩陣進行預先計算和儲存所涉及的動態範圍只是膜電壓的動態範圍,因此動態範圍很小。權衡是在記憶體需求與解的精度 之間的權衡。
接下來,經由在該附加簡化的情況下重新推導出解,來更詳細地闡述上面的段落。像以前一樣,可以以等式(35)和(36)開始,在這裡為了方便起見對等式(35)和(36)重複如下:
然而,現在將等式(38)中的函數修改如下:
並且將方程的系統重新用公式表示為
系統矩陣A n 現在簡化為
並且現在將向量b(v n ,t)界定為
使用上面的近似,避免了系統矩陣(係數a 11)對電導值的依賴,從而極大地降低了在計算矩陣指數時所要覆蓋的動態範圍。可以經由在該時間段期間將膜電壓保持在常數值,來將突觸電流視為外部電流。則在固定時間步長的實現方式中,解將是
等式(96)中向量積分的第一分量是
可以在大多數感興趣的情況下對其求解。已經經由使用後向矩形規則(亦即,使用等式(97)中的值v n =v(nT+T))獲得了上面近似的最佳結果。
實例3:使用後向矩形規則的近似
為了簡化闡述和符號,該實例假定突觸電流不包含依賴於電壓的電導通道(例如,NMDA通道)並且沒有外部電流I ext(t)。針對長度為T的固定步長大小,獲得推導。開始,可以將等式(68)簡化如下:
其中向量q包含常數項,即
為了標示簡單起見,亦可以界定以下向量和矩陣:
從而可以將等式(98)重寫為
現在,根據等式(29),針對被建模為簡單指數的g i (t) 求解。在該情況下,有
可以簡單地求解積分,並且若進一步界定
則,可以將等式(102)重寫為
聚集在左側的、包含在nT+T時刻的狀態的項,得到
最後
注意,要逆轉的矩陣是
並且其逆矩陣為
對狀態更新的計算可以繼續進行如下方法(其中e A.T G):
I. 對所期望的量化進行預先計算並儲存所有的係數(Gh i q)。
II. 針對每個通道,計算(nT)/C(nT)/C
III.計算總和、以及經E i 調節的總和
IV.對等式(105)的右側進行求值,並且儲存在輔助變數中,亦即,
V. 利用逆矩陣執行乘法
注意,對於具有雙指數的NMDA的情況,很有可能單獨地對每個指數進行處理。這引起對兩個向量進行預先計算並儲存,其中一個向量針對衰減的指數項,一個向量針對增加的指數項。
圖21是圖示等式(106)的實現的方塊圖2100。為了簡單起見,表示等式(106)的第一部分的矩陣求逆模組2102 沒有被展開。根據目前的狀態向量x(nT),在量化模組2104中對從狀態向量的膜電勢v(nT)進行量化,以決定記憶體索引。記憶體索引用於對與膜電勢的量化間隔相對應的、並且被儲存在記憶體查閱資料表2106中的神經元模型的分段線性近似的預定參數(例如,係數)進行選擇。基於記憶體索引,載入與量化間隔相關聯的參數,這些參數包括指數矩陣G 2108和來自上面的等式(99)所界定的向量q 2110的係數。這些參數亦包括輸入電流向量h 2112和N個突觸電流輸入向量h i 2114的係數。求和模組2116對應用到向量h 2112的輸入電流I(nT)/C和由應用到N個突觸電流輸入向量h i 2114的反向電勢E i g i (nT)/C調節的電導值進行求和。根據等式(106),使用矩陣求逆模組2102對結果進行處理,以產生更新的狀態向量x(nT+T)。可以添加延遲模組2118,從而使得及時按照每個步長T而不是連續地對狀態進行更新。
可以使用對等式(101)中的積分的其他近似。例如,不計算精確值並將其儲存在h i 向量中,而是可以使用應用到g(t)的梯形規則,從而避免對h i 向量的儲存並以稍差近似的代價來進一步降低記憶體需求。
小結
在上面的小節中,描述了對神經元模型進行分段線性化的一般方法。圖7對各種步驟和線性化方法進行了小結。在702處以非線性時變系統開始,可以在704處在間隔T n t T n+1上執行分段線性化,從而在706處根據矩陣A(v n ,t)來產生分段線性時變系統。若在708處,將常係數(亦即,分段常函數)用 於每個時間間隔T n t T n+1,則在710處,根據矩陣A(v n ,T n )來形成分段LTI系統。若在712處線性化是獨立於時間間隔而被執行的,則在714處根據矩陣A(v n )來建立分段LTI系統。
示例性依賴於狀態-空間區域的線性神經元建模
本案的上述某些態樣主要涵蓋了對局限於狀態變數中的一個狀態變數(例如,膜電勢v)的二維狀態-空間的劃分。如上所述,將(v,u)狀態-空間劃分成使用單個狀態的垂直塊,並且每一塊(其表示電壓間隔)與不同的一組線性微分方程相關聯。
如下所述,本案的某些態樣對該構思進行了擴展。可以將狀態空間劃分成不同的區域(不局限於垂直塊),其中每個區域與不同的一組線性微分方程相關聯。這些區域可以是不重疊的。下面的描述主要關注二狀態(或,等效地,二維)模型,並且理解可以容易地將二狀態模型擴展到三個或更多個狀態,其中劃分可以分別是容積和多維區域。
作為v的函數的分段線性公式的綜述
可以將二維分段線性微分方程表示為一組K對的微分方程,其中第n對由下式界定:
其中k [1,K]並且F(v)=m k v+d k 。在該方法中,將電壓空間劃分為K個不同的區域,並且第K個區域與第K對微分方程相關聯。K個區域的聯合覆蓋了(v,u)值的空間。圖8圖示在給 定K=4情況下的劃分,其中將電壓空間劃分成4個區域:v<v 1v 1 v<v 2v 2 v<v 3、以及v 3 v。對於K=2來說,這簡化成Hunzinger Cold神經元模型(具有開關的封閉和開放區間,從而使得v k <v v k+1)。
一般性公式
基本思想是將分段線性構思擴展到僅根據v界定的區域之外(亦即,允許等式(110)以及等式(109)隨每個間隔而變化)。這可以經由在(v,u)空間中界定K個二維區域Ω k 來實現,其中k [1,K],並且其中這K個區域的聯合覆蓋了(v,u)值的整個空間。此外,除了m k d k 之外,亦允許參數ab對於每個區域是不同的,從而使得這些參數變成k的函數。亦可以使參數C成為針對各區域的不同C k ,但自此以後對於每個區域是固定的,並且理解C可以成為區域專用。這些擴展可能不一定具有生物上的等同。然而,從工程和計算的角度來看,這些擴展實現了更豐富的神經元模型的設計以及用於開發神經元模型的更簡單的平臺。
前面提到的兩個擴展產生:
使用上述狀態-空間符號可以將上面的運算式更加簡潔地表達為
其中
接下來,對依賴於M維狀態-空間區域的情形和狀態-空間解進行描述。
M維狀態-空間情形
在存在M個狀態變數的M維情況下,狀態-空間方程變成
其中
依賴於區域的狀態-空間解
提供了方程(113)在連續時間域和離散時間域中的 狀態-空間解。它們的推導自然使用與上述方法相同的方法。連續時間解可以表示為:
其中x(0)表示x(t)的初始值,
並且e X表示矩陣X的矩陣指數。
相應的離散時間解(在取樣週期為T的情況下)可以表示為:
其中
當前的狀態-空間向量x(nT)標識了區域Ω k 以及根據等式(120)來計算x(nT+T)所要使用的哪一組{,h k ,q k }矩陣和向量。
此外,上述針對非突觸和突觸電流類型的相同解容易應用。這包括線性時變(LTV)解。這將涉及使用該等更通用的狀態-空間區域來代替依賴於電壓的區域(垂直劃分)。
說明性實例
圖19圖示具有三個區域(亦即,Ω k ,其中k [1,3])的實例。圖9中的三個區域皆是矩形區域。
圖10圖示具有四個區域的實例,該圖說明為何這些區域不需要是矩形。可以使用該特定的設計來建立閾下振盪 神經元,其中Ω1、Ω2、Ω3和Ω4分別表示以下區域:其中(v,u)以增加半徑向外螺旋的區域、以圓形(沒有衰減亦沒有增加)的方式螺旋的區域、以衰減半徑向內螺旋的區域以及趨於產生尖峰的區域(等效於Hunzinger Cold模型的ALIF區域)。下面對該設計進行更加詳細的描述。
圖11圖示更加理論性的實例,該實例具有5個區域以說明:理論上可以建立具有任意形狀的區域(例如,六邊形、三角形或星形區域)。
依賴於狀態-空間區域的線性神經元建模的實現
目前,區域由下式界定:
其中v k v k+1表示電壓的左邊界和右邊界。因此,在每個時間步長處,經由採用當前狀態(v(nT),u(nT))並針對K個區域:Ω k ,k [1,K]中的每一個區域對當前狀態進行核查,來決定索引k。索引k(用k F 表示)可以經由僅v、以及量化間隔、最小可能電壓和間隔數量的函數來直接計算:
對於某些態樣來說,這些區域(或者其至少一部分)可以是稍微重疊的。在這種情況下,在辨識K個區域(Ω k ,k [1,K])中的哪個區域包含當前狀態(v(nT),u(nT))時可以使用滯後。
下面提供了一般性區域的兩個實例。亦可以開發其他區域。
針對依賴於vu二者的矩形區域
針對一般性矩形區域,第k個區域可以由下式界定:
其中v k v k+1分別表示針對電壓的左邊界和右邊界,並且其中u k u k+1分別表示恢復變數的上邊界和下邊界。因此,在每個時間步長處,可以經由辨識K個區域(Ω k ,k [1,K])中的哪個區域包含當前狀態(v(nT),u(nT))來決定索引k
就橢圓區域而言
為了易於闡述,假定只有每個橢圓區域以大約靜息狀態(v r ,0)為中心。則第k個區域可以由下式界定
其中ρ k 是沿v軸到內橢圓邊界的「徑向距離」,ρ k 是沿v軸到外橢圓邊界的「徑向距離」,「徑向距離」可以被界定為
並且β是與橢圓(β=1導致同心區域)相關聯的參數。與之前一樣,在每個時間步長處,索引k是經由採用當前狀態(v(nT),u(nT))並且針對K個區域:Ω k ,k [1,K]中的每一個區域對當前狀態進行核查來決定的。
依賴於狀態-空間區域的線性神經元建模的優點
對神經元模型的狀態-空間的這種一般性劃分有助於支援神經元的綜合並且以系統方式來實現這點。其兩個實例是在實現以下操作時的實例:(1)開始偵測和事件計數,以及(2)閾下振盪行為,其中在下一部分中對後者進行描述。
可以針對開始偵測和事件計數來開發基於Hunzinger Cold模型的人工神經元(其具有兩個劃分)。將該人工神經元(起初處於靜息狀態)設計為若其接收到用於開始偵測的尖峰則立即進行發放。此後,將神經元設計為開始對輸入的神經元進行計數,並且在某個數量的尖峰之後進行發放。當尖峰到達時,該動作繼續自我重複。由於神經元在達到平衡的靜息狀態之前會花大約500ms,所以在沒有更多尖峰到達之後該設計的潛在缺點出現。在神經元可以執行開始偵測之前,這可能是一段太長的時間。該設計中的部分約束是:如何縮短達到靜息狀態的時間經由使其行為更像LIF神經元,來影響尖峰計數的能力。
根據本案的某些態樣,可以經由劃分將這兩種行為分開來消除約束,這類似於可以如何經由用Hunzinger Cold模型劃分兩個區域來打破Izhikevich神經元模型的LIF和ALIF行為的方式。可以經由注意在LIF區域中的u狀態變數如何在閾值約0.3之上和之下的行為,來縮短將神經元重置以執行開始偵測的時間。在該值以下,系統需要長時間來達到靜息狀態。這一點可以經由根據圖9中的三區域狀態-空間中所示的uv劃分狀態-空間來加快,從而實現改進的開始和事件計數神經元。在v<v t 的LIF區域中,若u>u 0,則人工神經元現在表現為用於事件計數的積分和發放(IF)神經元(亦即,區域Ω 2),否則,表現為達到v r 的LIF神經元(亦即,區域Ω 1)。一旦狀態進入區域Ω 1,可以將系統設計為根據需要以較短的時間常數儘快移動到靜息狀態。經由將作為u的函數的LIF區域劃分 為兩個期望的區域(針對IF的Ω 2和針對LIF的Ω 1),其中每個區域使用兩對微分方程,可以消除大的延遲。
基於依賴於狀態-空間區域的線性神經元模型的示例性閾下振盪神經元設計
可以在人工神經系統中使用閾下振盪以增加膜電勢從靜息電勢的上升(亦即,使神經元「準備」產生尖峰)的可能性並且降低下降的可能性。前一部分描述了不僅基於狀態變數中的一個狀態變數(例如,電壓)而且基於狀態變數的組合和區域(或函數),經由允許對二維(或多維)狀態-空間進行劃分,來對分段線性神經元建模進行擴展。本部分克服了現有的閾下振盪神經元設計的缺點。例如,現有的神經元模型可以支援展示三種振盪類型(例如,如圖12A的曲線圖1200中所示的衰減振盪、如圖12B的曲線圖1210中所示的持續振盪或者圖12C的曲線圖1220中所示的增加振盪)中的最多一種振盪類型的閾下振盪神經元的設計,但是這些模型無法實現展示這三種類型中的兩種或更多種類型的人工神經元的設計。此外,現有的神經元模型不能支援具有特定振盪頻率、衰減振盪的衰減速率、增加振盪的增加速率、及/或持續振盪的幅度的閾下振盪神經元的系統設計。
相應地,需要具有能夠展示全部三種類型的振盪並且支援對所期望的振盪行為的系統實現的改進的神經元模型的人工神經元。
能夠進行閾下振盪的神經元模型之間的比較
有四種現有的神經元模型能夠產生閾下振盪: Izhikevich(簡單)模型、自我調整指數(AdEx)神經元模型(其是上述Brette和Gerstner的線性加指數函數)、四次模型以及Hunzinger Cold模型。可以經由四種方式來刻畫這些神經元模型的特徵:(1)其可以產生三種可能的閾下振盪行為(衰減振盪、持續振盪或增加振盪)中的哪一種;(2)單個神經元可以展示這三種行為中的幾種;(3)設計具有所期望的振盪頻率的神經元的容易程度;及(4)對振盪設計進行微調的容易程度(例如,界定持續振盪的幅度,或者界定衰減或增加的多個速率)。下面的表格對每種神經元模型針對首次量測如何表現進行了概括(其中這些神經元模型有可能能夠支援這三種振盪類型中的一種類型到所有類型):
下一個表格對每種神經元模型針對其餘的特性量測如何表現進行了概括:
每個神經元模型(除了下述依賴於狀態-空間區域的方法)可以再現僅能夠展示單個振盪類型的神經元。僅有Hunzinger Cold模型(由於其線性設計)能夠提供對目標進行設計的系統方式。然而,這些模型中沒有一種(除了下述依賴於狀態-空間區域的方法)提供了微調的能力。
基於依賴於狀態-空間區域的線性神經元建模的閾下振盪
如上面的表格所示,並且與現有的神經元模型相反,本案的某些態樣可以:(1)產生可以在閾下狀況中展示這三種振盪類型中的所有或任何子集的人工神經元,(2)被設計為不僅是像Hunzinger Cold模型一樣系統化,而且亦可以支援設計的微調。
設計
可以經由使用上述依賴於狀態-空間區域的方法來建立所有三種振盪類型的展示。例如,可以界定如圖10中所示的四區域、二維神經元模型。
每個狀態-空間區域Ω k 與一組線性微分方程相關聯 ,使得
或者,以狀態-空間向量符號表示,
並且
區域Ω 1(顯示為圓形,但通常為橢圓)、Ω 2(亦通常是橢圓)、Ω 3Ω 4可以被設計為分別再現增加振盪、持續振盪、衰減振盪和ALIF行為。
根據某些態樣,可以由不止兩個維度來界定狀態-空間。在這種情況下,替代地,可以使用下面的替代形式:
若期望持續振盪,則在時間步長方法的情況下,可以保證一些厚度來處理v(nT+T)可能非故意地繞過持續振盪區域的情形。
重置修改
如上所述,重置機制可以涉及將u重置為u+d,這相 當於,例如,在尖峰事件之後或在控制信號被啟動之後遞增u。對於某些態樣,為了確保u+d值不會如此之大以至於會導致神經元從剛開始就立即產生尖峰或進入持續振盪,可能期望具有將u重置為目標常數(亦即,重置為u+d以外的某個值)的選項。這樣,設計者具有對狀態-空間中的神經元在何處進行重置的控制。
界定狀態-空間區域
總之,持續振盪中的(v,u)軌跡可以呈現橢圓的形式,該橢圓的長軸和短軸可能不與vu笛卡爾軸對準(亦即,橢圓可以有傾斜)。解可以呈現以下形式:
其中四個係數是A中的矩陣元素(其中去掉了索引k)和初始條件:(v(0),u(0))的函數。
為了便於闡述和設計,此處的描述關注長軸和短軸相等的圓形軌跡。這些要求矩陣元素滿足下列約束條件:
a 12=-a 21=λ I =2πf c (136)
其中λ R λ I 分別表示複數特徵值的實部和虛部:λ 1,2=λ R ±λ I τ表示(衰減或上升)時間常數,f c 表示振盪頻率,並且已經去掉了索引k。這引起圓形區域和明確形式的矩陣:
使用具有圓形區域的這種更簡單的形式,以平衡點(v r ,0)為中心的圓的半徑為
其表示從(v,u)到平衡點的距離。例如,ρ(v r +2mV,0)=2。從而,第k個區域可以由下式來界定:
其中ρ k,in表示Ω k 的內圓邊界的半徑,並且ρ k,out表示Ω k 的外圓邊界的半徑。
針對圖10中的K=4的實例,持續振盪區域Ω 2可以由下式來界定:
其中ρ g 表示分開Ω 1Ω 2的圓邊界的半徑,並且其中ρ d 表示Ω 2Ω 3之間的圓邊界的半徑。
針對增加振盪區域Ω 1
針對衰減振盪區域Ω 3
圖10中的ALIF區域Ω 4由下式界定Ω 4={(v,u)|v>v t } (143)
多級衰減和增加區域的額外區域
以上思想可以被擴展為支援振盪的逐級衰減或逐級增加。例如,為了具有不同速率的衰減軌道和不同速率的增 加軌道,如圖13中所示,可以使用多個環和6個區域。在該實例中,Ω 3可以被視為持續振盪區域。Ω 5可以具有較快的衰減軌道,而Ω 4可以具有較慢的衰減軌道。這將允許向持續振盪區域Ω 3進行逐級並更緩和的衰減。類似地,Ω 1可以具有較快的增加軌道,而Ω 2可以具有較慢的增加軌道。可以將該構思擴展到更多環,以實現甚至更加逐級變化。此外,若期望不同的持續振盪參數(例如,不同頻率),則可以使用多級持續振盪區域。
用於實現人工神經元的實例操作
圖14是根據本案的某些態樣、用於對人工神經系統中的人工神經元的狀態進行更新的示例性操作1400的流程圖。操作1400可以用硬體(例如,經由一或多個神經處理單元(例如,人工神經元),例如神經形態處理器)、軟體或韌體來實現。可以在各種生物或虛擬神經系統(例如,視覺神經系統、聽覺神經系統、海馬等)上對人工神經系統進行建模。
在1402處,操作1400可以經由決定人工神經元的第一狀態位於第一區域內開始。在1404處,至少部分地基於第一組線性動力方程來決定人工神經元的第二狀態,其中第一組線性動力方程至少部分地基於與第一區域相對應的第一組參數(例如,係數)。在1406處,決定人工神經元的第二狀態位於第二區域內。在1408處,至少部分地基於第二組線性動力方程來決定人工神經元的第三狀態。第二組線性動力方程可以至少部分地基於與第二區域相對應的第二組參數。
根據某些態樣,第一和第二組線性方程包括線性時不變(LTI)狀態空間方程的離散時間解。對於其他態樣來說,該離散時間解可以至少部分地基於連續時間狀態-空間方程的封閉形式的解。
根據某些態樣,操作1400亦包括從記憶體中獲取第一或第二組參數中的至少一組參數。如本文中所使用的,記憶體可以指用於儲存資料的各種適當模組中的任一種,無論其是永久的還是臨時的、位於處理單元本端的亦是遠端的、片上或片外,其包括隨機存取記憶體(RAM)、快取緩衝記憶體、暫存器、鎖存器、觸發器等。這種獲取可以包括從人工神經元本端的記憶體獲取第一組參數或第二組參數中的至少一組參數。對於某些態樣,操作1400亦包括對第一組參數或第二組參數中的至少一組參數的至少一部分進行計算。可以使用從記憶體獲取的一或多個值來對第一組參數或第二組參數中的至少一組參數的至少一部分進行計算。
根據某些態樣,可以經由使用分段線性函數對與人工神經元相關聯的神經元模型中的至少一部分非線性函數進行近似,來獲得第一組參數或第二組參數中的至少一組參數。對於某些態樣,非線性函數包括膜電勢(v)與依賴於電壓的電導(g(v))相乘。依賴於電壓的電導可以用分段常數函數來近似。對於其他態樣來說,非線性函數包括依賴於電壓的函數(F(v)),其中v是人工神經元的膜電勢。針對第一區域和第二區域之每一者區域,分段線性函數可以具有斜率(m)和截距(d)。對於某些態樣,在分段線性函數中,第一區域 具有與第二區域不同的寬度。分段線性函數中的第一區域或第二區域的寬度可以依賴於非線性函數。對於某些態樣,分段線性函數近似至少部分地基於下列方法中的至少一種方法:泰勒展開法、一階線性內插法、最優線性內插法或平均斜率法。
根據某些態樣,第一組參數或第二組參數中的至少一組參數可以至少部分地設計為在人工神經元中實現特定的行為。例如,可以產生第一及/或第二組參數(例如,由神經元模型設計者手動選擇)以有效地建立特定的函數(例如,可調諧的曲線),其對所期望的行為進行近似。經由此種方式,人工神經元可以基於全新的神經元模型或者對現有神經元模型的修改來進行操作。
人工神經元的第一、第二和第三狀態可以由膜電勢(v)和恢復電流(u)來界定。這是人工神經元狀態變數的兩個實例。根據某些態樣,操作1400亦可以包括:至少部分地基於決定尖峰事件已經發生或將要發生,來對人工神經元的膜電勢或恢復電流中的至少一個進行重置。可以將膜電勢重置為靜息電勢(v(t)→v r )。可以將恢復電流重置為恢復電流的當前值與偏移之和(u(t)→u(t)+d)。
根據某些態樣,第一組或第二組線性方程中的至少一組至少部分地基於人工神經元的神經元模型。對於某些態樣,神經元模型至少部分地基於下列模型中的至少一個:Izhikevich簡單模型、指數積分及發放(EIF)模型、FitzHugh-Nagumo模型、四次模型,或者固有電導模型(例如 ,表示為膜電勢v乘以依賴於電壓的電導g(v)的神經元模型)。對於某些態樣來說,神經元模型包括至少兩個維度(亦即,至少兩個狀態變數)。神經元模型可以至少部分地基於一或多個一階常微分方程(ODE),其可以是線性的。
根據某些態樣,神經元模型的時間步長大小至少部分地基於人工神經元被建模的類型。神經元模型的時間步長大小可以是非均勻的。對於某些態樣來說,特定的時間步長的時間步長大小是至少部分地基於人工神經元的當前狀態或過去狀態中的至少一個狀態、或者基於特定的參數集(其可以與當前狀態或過去的狀態相關聯)來決定的。對於某些態樣來說,在決定第一和第二狀態之間的第一時間步長大小與在決定第二和第三狀態之間的第二時間步長大小不同。根據某些態樣,在1404處對人工神經元的第二狀態的決定可以在第一時間步長中執行,並且,在1408處對人工神經元的第三狀態的決定可以在第一時間步長之後的第二時間步長中執行。
根據某些態樣,決定人工神經元的第二或第三狀態中的至少一個狀態是至少部分地基於針對人工神經元的電流輸入。對於某些態樣,輸入電流包括突觸電流或一般外部電流中的至少一個。突觸電流可以至少部分地基於一或多個通道之每一者通道的依賴於時間的電導和一或多個通道之每一者通道的逆轉電勢。對於某些態樣,突觸電流是至少部分地基於人工神經元的、針對N-甲基-D-天冬氨酸(NMDA)通道的突觸後膜電勢。依賴於時間的電導可以經由指數函數、阿 爾法函數或差分指數函數來建模。
對於某些態樣,第一區域和第二區域是相同的區域。
根據某些態樣,操作1400亦可以包括將第一狀態、第二狀態或第三狀態中的至少一個狀態的指示輸出到顯示器。
根據某些態樣,第一區域或第二區域中的至少一個區域是由兩個或更多個維度界定的。第一區域或第二區域中的至少一個區域是M維子空間,其中M≧2。M維子空間可以具有任意形狀或者由任意邊界(例如,v>10mV)界定。對於某些態樣,兩個或更多個維度是二維,並且M維子空間具有二維形狀,例如橢圓形、圓形、多邊形、矩形或正方形。對於其他態樣,兩個或更多個維度是三維,並且M維子空間具有三維形狀,例如球形、橢球形、多邊形棱柱、矩形棱柱或立方體。對於某些態樣,第一區域關聯於與第二區域不同的線性方程組。第一區域和第二區域可以是部分重疊或不重疊的區域。第一區域和第二區域可以具有不同形狀或不同大小中的至少一個。對於某些態樣,第一區域是與人工神經元的第一行為相關聯,而第二區域是與人工神經元的第二行為相關聯,第二行為不同於第一行為。對於某些態樣,第一區域和第二區域具有分層形狀,例如同心環、管、矩形框架等。
根據某些態樣,兩個或更多個維度是由膜電勢(v)和恢復電流(u)界定的兩個維度組成的。對於某些態樣,操作1400亦可以包括:至少部分地基於對控制信號的接收或者對尖峰 事件已經發生或將要發生的決定,來對人工神經元的膜電勢或恢復電流中的至少一個進行重置。在這種情況下,可以將膜電勢重置為靜息電勢,並且可以將恢復電流重置為常數。
根據某些態樣,第二區域的至少一部分與第一區域重疊。在這種情況下,在1406處,決定人工神經元的第二狀態位於第二區域內的步驟可以至少部分地基於滯後。
根據某些態樣,人工神經元被配置為用於開始偵測和事件計數。在這種情況下,第一區域可以與用於事件計數的積分和發放(IF)行為相關聯,並且第二區域可以與洩漏積分和發放(LIF)行為相關聯。
根據某些態樣,人工神經元被配置為用於閾下振盪行為。閾下振盪行為可以包括衰減振盪行為、持續振盪行為或增加振盪行為中的至少一種。對於某些態樣,第一區域可以與增加振盪行為相關聯,第二區域可以與持續振盪行為相關聯,並且第三區域可以與衰減振盪行為相關聯。此外,第四區域與ALIF行為相關聯。對於某些態樣,第一區域可以具有橢圓形狀,而第二區域可以具有環形形狀。
示例性公共且靈活的神經架構
本案的某些態樣通常涉及開發支援動力神經元模型的公共且靈活的架構。設計目標包括對神經元動力進行低複雜度、精確建模,以及實現任何神經元模型的能力。使用該靈活架構,可以根據需要來執行和取代各種適當的神經元模型中的任何一種。例如,神經元模型可以包括下列模型中的至少一種:Izhikevich簡單模型、指數積分及發放(EIF)模型 、FitzHugh-Nagumo模型、四次模型或者Hunzinger Cold模型。如上所述,可以使用分段線性近似及與其相關聯的參數(例如,係數)來實現這些神經元模型。此外,這種靈活的架構允許在人工神經系統中的不同人工神經元與不同的神經元模型同時操作。
圖15圖示根據本案的某些態樣,針對單個神經處理單元1502的這種公共且靈活的神經架構的實現方式,其中可以對神經元模型的參數進行選擇、載入、存取、添加、刪除、調整及/或更新。可以將本文中描述的構思容易地擴展到神經處理單元1502的系統(例如,人工神經系統),但是為了便於描述,圖15A中僅圖示單個神經處理單元。如圖所示,神經處理單元1502可以實現狀態機1506,該狀態機1506接收神經元模型的一或多個輸入和一組參數,並且輸出一或多個狀態變數。狀態機1506可以實現人工神經元的任何適當的處理演算法。
可以從複數個神經元模型的一組參數1504中選擇給定神經元模型的參數。對於某些態樣來說,例如,操作者可能希望在給定的神經處理單元中使用某種神經元模型,並從可用神經元模型的清單中選擇該模型。對於其他態樣來說,某種神經元模型可以由神經處理單元的系統基於學習或訓練操作來選擇。給定的神經元模型的參數可以是基於上述分段線性近似的參數。對於某些態樣,可以將一組參數1504儲存在與神經處理單元1502相關聯的記憶體中和或/神經處理單元1502本端的記憶體中。對於其他態樣,可以將一組參數1504 儲存在可由多個神經處理單元全域存取的記憶體中、或者儲存在神經處理單元1502內部的快取緩衝記憶體中。可以將神經元模型A的參數儲存在第一記憶體位置1508(例如,可定址的記憶體塊),而可以將神經元模型B的參數儲存在第二記憶體位置1510。
在圖15A中,已經將神經元模型A的參數載入到神經處理單元1502中。如本文中所使用的,可以廣義地界定術語「載入」,並且「載入」可以包括:從神經處理單元(或由神經處理單元的系統)可存取的記憶體獲取給定神經元模型的參數;將參數儲存在神經處理單元本端的記憶體中;或者存取在記憶體中的與該神經處理單元相關聯的(例如,被指定用於該神經處理單元的)一或多個記憶區域。根據某些態樣,將某個神經元模型的參數載入到特定的神經處理單元可以回應於配置事件而發生。例如,配置事件可以包括對特定的神經處理單元上電,對神經處理單元的一或多個區域(其可以包括或可以不包括該特定的處理單元)上電,或者對神經處理單元的整個系統上電。
在圖15B中,已經將神經元模型B的參數載入到了神經處理單元1502中。從那時起,狀態機1506可以至少部分地基於這些最新載入的參數來進行操作。經由這種方式,神經處理單元1502可以僅經由載入不同的參數來根據不同的神經元模型起作用。此外,可以在任何時候對特定的神經元模型的參數進行更新或刪除。
在圖15C中,可以將神經元模型C的參數添加到一組 參數1504中。例如,神經元模型C可以是最新開發、購買或許可的神經元模型,其中當神經處理單元1502變得可操作時,該神經元模型是不可用的。在其他實例情景中,設計師或系統設計者可能亦沒有考慮神經元模型C或可能起初以為該模型不符合所期望的應用,但現在期望添加該模型。
在圖15D中,可以將神經元模型C的參數儲存在第三記憶體位置1512。可以將神經元模型C的參數載入到神經處理單元1502中,從而使得狀態機1506可以至少部分地基於這些最新載入的參數來進行操作。僅經由載入其中的不同參數來有效地改變神經處理單元的神經元模型的能力提供了可以根據需要而更新和變化的非常靈活的架構。
圖16是根據本案的某些態樣,用於在神經處理單元的系統(例如,人工神經系統)中實現複數個神經元模型的組合的示例性操作1600的流程圖。操作1600可以用硬體(例如,經由諸如神經形態處理器之類的一或多個處理單元)、軟體或韌體來實現。可以在各種生物或虛擬神經系統(例如,視覺神經系統、聽覺神經系統、海馬等)上對人工神經系統進行建模。
複數個神經元模型可以包括上述神經元模型的任意組合、以及現有或尚未開發或未公開的任何適當的神經元模型。例如,複數個神經元模型可以包括下列模型中的至少一種:Izhikevich簡單模型、指數積分及發放(EIF)模型、FitzHugh-Nagumo模型、四次模型、Hunzinger Cold模型或固有電導模型。如本文中所使用的,短語「神經元模型的組合 」通常是指複數個神經元模型的集合,其中該集合可包括單個成員。換句話說,複數個神經元模型的組合包括複數個中的一個以及複數個的任意子集的任何組合。
操作1600可以在1602處經由以下操作來開始:將從複數個神經元模型中選擇的第一神經元模型的參數載入到第一神經處理單元(例如,人工神經元)中。給定的神經元模型的參數可以是從對如上述及之神經元模型的分段線性近似獲得的參數。在1604處,可以至少部分地基於載入的、第一神經元模型的參數來決定第一神經處理單元的第一狀態。在1606處,至少部分地基於第一神經元模型的參數以及第一狀態來決定第一神經處理單元的第二狀態。
根據某些態樣,在1608處,可以對複數個神經元模型進行更新。如上所述,對多個神經元模型進行更新的步驟可以包括對現有神經元模型的某些參數進行刪除或調整,或者添加另一個神經元模型(例如,在複數個神經元模型對系統來說可用時不可用的新的神經元模型,或者對現有神經元模型進行所期望的修改以有效地建立新的神經元模型)的參數。對於某些態樣,對複數個神經元模型的更新可以在對第一神經元模型的參數進行載入(或重新載入)並且決定第一神經處理單元的下一個狀態之前發生。
在1610處,可選地,可以將第二神經元模型的參數載入到第一神經處理單元。第二神經元模型的該等參數可以取代在1602處載入的第一神經元模型的參數。在1610處載入第二神經元模型的參數之前,不需要在1608處對複數個神經 元模型進行更新。在1612處,可以至少部分地基於第二神經元模型的參數來決定第一神經處理單元的第三狀態(例如,在第二狀態之後)。
根據某些態樣,在1602處對第一模型(或者在1610處對第二神經元模型)的參數進行載入是回應於配置事件。對於某些態樣,配置事件是對神經處理單元的系統或第一神經處理單元中的至少一個進行上電。
根據某些態樣,在1612處決定第三狀態的步驟亦至少部分地基於第二狀態。若基於後續神經元模型的參數對後續狀態的決定是基於根據先前神經元模型(不同於後續神經元模型)的參數而決定的先前狀態,則這可以被稱為「熱插拔」。對於某些態樣來說,第二神經元模型至少部分被配置為在該「熱插拔」條件下產生閾下振盪。該振盪可以從第二狀態或者在另一時刻開始。對於某些態樣來說,在1610處對第二神經元模型的參數的載入是至少部分地基於以下各項中的至少一個:狀態條件(例如,進入特定區域或展示某種行為(諸如變化的速率等)的狀態)、時間條件(例如,基於計時器)或觸發。例如,可以將觸發擴展到第一神經處理單元。
根據某些態樣,操作1600亦可以包括將從複數個神經元模型中選擇的第二神經元模型的參數載入到第二神經處理單元。隨後,可以至少部分地基於第二神經元模型的參數來決定該第二神經處理單元的狀態。對於某些態樣來說,第一和第二神經處理單元位於系統的不同區域中。對於某些態 樣來說,第一和第二神經元模型表示不同類型的神經元。換句話說,神經處理單元的系統中的不同神經元模型可以用於類比神經系統的不同區域中的神經元。例如,視覺、聽覺或電機控制系統中的神經元可以由不同的神經元模型來表示。
對第一、第二或任何其他神經元模型的參數進行載入可以涉及各種適當的操作中的任一種。為了便於描述,下面的描述包括載入第一神經元模型的參數,但是這種載入亦應用於任何其他神經元模型的參數。根據某些態樣,載入第一神經元模型的參數包括將第一神經元模型的參數載入到包括第一神經處理單元的複數個神經處理單元。對於某些態樣來說,載入第一神經元模型的參數包括從記憶體獲取第一神經元模型的參數的至少一部分。對於某些態樣,記憶體可由神經處理單元的系統存取。對於某些態樣,記憶體中的至少一部分可以是第一神經處理單元本端的。記憶體的至少一部分可以是高速緩衝記憶體。對於某些態樣,載入第一神經元模型的參數亦包括存取記憶體中的、與第一神經元模型相關聯的記憶體塊。在這種情況下,記憶體塊可以由針對記憶體塊中的記憶體位址的指標來指定。
圖17根據本案的某些態樣圖示用於實現用於使用通用處理器1702來操作人工神經元的前述方法的元件的示例性方塊圖1700。可以將與計算網路(神經網路)相關聯的變數(神經信號)、突觸權重、及/或系統參數儲存在記憶體塊1704中,而可以從程式記憶體1706載入在通用處理器1702處執行的相關指令。在本案的一個態樣中,載入到通用處理器1702 中的指令可以包括:用於決定人工神經元的第一狀態位於第一區域內的代碼;用於至少部分地基於第一組線性方程來決定人工神經元的第二狀態的代碼,其中第一組線性方程是至少部分地基於與第一區域相對應的第一組參數;用於決定人工神經元的第二狀態位於第二區域內的代碼;及用於至少部分地基於第二組線性方程來決定人工神經元的第三狀態的代碼,其中第二組線性方程至少部分地基於與第二區域相對應的第二組參數。對於某些態樣,第一區域或第二區域中的至少一個區域是由兩個或更多個維度來定義的。
在本案的另一個態樣中,載入到通用處理器1702的指令可以包括:用於將從複數個神經元模型中選擇的第一神經元模型的參數載入到(位於神經處理單元的系統中的)第一神經處理單元中的代碼以及用於至少部分地基於第一神經元模型的參數來決定第一神經處理單元的第一狀態的代碼。
圖18根據本案的某些態樣圖示用於實現用於操作人工神經元的前述方法的元件的示例性方塊圖1800,在該方法中,可以將記憶體1802經由互連網路1804與計算網路(神經網路)的各個(分散式)處理單元(神經處理器)1806相連接。可以將與計算網路(神經網路)相關聯的變數(神經信號)、突觸權重及/或系統參數儲存在記憶體1802中,並且可以經由互連網路1804的連接將這些變數(神經信號)、突觸權重及/或系統參數從記憶體1802載入到每個處理單元(神經處理器)1806中。在本案的一個態樣中,處理單元1806可以被配置為:決定人工神經元的第一狀態位於第一區域內;至 少部分地基於第一組線性方程來決定人工神經元的第二狀態,其中第一組線性方程至少部分地基於與第一區域相對應的第一組參數;決定人工神經元的第二狀態位於第二區域內;及至少部分地基於第二組線性方程來決定人工神經元的第三狀態,其中第二組線性方程至少部分地基於與第二區域相對應的第二組參數。對於某些態樣,第一區域或第二區域中的至少一個區域是由兩個或更多個維度來界定的。
在本案的另一個態樣中,處理單元1806可以被配置為:將從複數個神經元模型中選擇的第一神經元模型的參數載入到(在神經處理單元的系統中的)第一神經處理單元中,並且至少部分地基於第一神經元模型的參數來決定第一神經處理單元的第一狀態。
圖19根據本案的某些態樣圖示用於實現用於基於分散式權重記憶體1902和分散式處理單元(神經處理器)1904來操作人工神經元的前述方法的元件的示例性方塊圖1900。如圖19中所示,一個記憶體組1902可以直接與計算網路(神經網路)的一個處理單元1904對接,其中記憶體組1902可以儲存與該處理單元(神經處理器)1904相關聯的變數(神經信號)、突觸權重及/或系統參數。在本案的一個態樣中,處理單元1904可以被配置為:決定人工神經元的第一狀態位於第一區域內;至少部分地基於第一組線性方程來決定人工神經元的第二狀態,其中第一組線性方程至少部分地基於與第一區域相對應的第一組參數;決定人工神經元的第二狀態位於第二區域內;及至少部分地基於第二組線性方程來決定人 工神經元的第三狀態,其中第二組線性方程至少部分地基於與第二區域相對應的第二組參數。對於某些態樣,第一區域或第二區域中的至少一個區域是由兩個或更多個維度來界定的。
在本案的另一個態樣中,處理單元1904可以被配置為:將從複數個神經元模型中選擇的第一神經元模型的參數載入到(在神經處理單元的系統中的)第一神經處理單元中,並且至少部分地基於第一神經元模型的參數來決定第一神經處理單元的第一狀態。
圖20根據本案的某些態樣圖示神經網路2000的示例性實現方式。如圖20中所示,神經網路2000可以包括可以執行上述方法的各種操作的複數個本端處理單元2002。每個處理單元2002可以包括本端狀態記憶體2004和儲存神經網路的參數的本端參數記憶體2006。此外,處理單元2002可以包括具有本端(神經元)模型程式的記憶體2008、具有本端學習程式的記憶體2010以及本端連接記憶體2012。此外,如圖20中所示,每個本端處理單元2002可以與用於配置處理(該配置處理可以提供對本端處理單元的本機存放區器的配置)的單元2014相對接,並且與提供本端處理單元2002之間路由的路由連接處理單元2016相對接。
根據本案的某些態樣,每個本端處理單元2002可以被配置為:基於所期望的、神經網路的一或多個功能特徵來決定神經網路的參數,並且當對決定的參數進一步調整、調諧和更新時,使一或多個功能特徵向所期望的功能特徵發展 。
上文所描述的方法的各種操作可以由能夠執行相應功能的任何適當的單元來執行。該單元可以包括各種硬體及/或軟體元件及/或模組,其包括但不限於電路、特殊應用積體電路(ASIC)或處理器。例如,各種操作可以由圖17至圖20中所示的各種處理器中的一或多個處理器來執行。通常,在存在附圖中示出的操作的情況下,這些操作可以具有使用相似編號的相應的配對的手段功能元件。例如,圖14示出的操作1400對應於圖14A示出的組件1400A。
例如,用於顯示的構件可以包括顯示器(例如,監視器、平面螢幕、觸控式螢幕等)、印表機或用於輸出用於視覺圖示的資料(例如,表格,圖表或圖形)的任何其他合適的構件。用於處理的構件、用於產生的構件、用於載入的構件、用於重置的構件、用於獲取的構件、用於更新的構件、用於計算的構件、用於運算的構件、用於輸出的構件、或用於決定的構件可以包括處理系統,該處理系統可以包括一或多個處理器或處理單元。用於儲存的構件可以包括可以由處理系統存取的記憶體或任何其他合適的存放裝置(例如,RAM)。
如本文所使用的,術語「決定」涵蓋多種多樣的動作。例如,「決定」可以包括運算、計算、處理、匯出、調查、查詢(例如,查詢表、資料庫或另一個資料結構)、查明等等。此外,「決定」可以包括接收(例如,接收資訊)、存取(例如,存取記憶體中的資料)等等。此外,「決定 」可以包括解析、選擇、挑選、建立等等。
如本文所使用的,提及項目列表中的「至少一個」的短語是指這些專案的任意組合,其包括單個要素。舉例而言,「abc中的至少一個」旨在涵蓋:abca-ba-cb-ca-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)或者諸如紅外線、無線和微波的無線技術從網站、伺服器或其他遠端源發送的,則同軸電纜、光纖電纜、雙絞線、DSL或者諸如紅外線、無線和微波的無線技術包括在媒體的定義中。本文所使用的磁碟和光碟包括壓縮光碟(CD)、鐳射光碟、光碟、數位多功能光碟(DVD)、軟碟和藍光光碟®,其中磁碟通常磁性地複製資料,而光碟用鐳射光學地複製資料。因此,在一些態樣,電腦可讀取媒體可以包括非臨時性電腦可讀取媒體(例如,有形媒體)。此外,對於其他態樣而言,電腦可讀取媒體可以包括臨時性電腦可讀取媒體(例如,信號)。上面各項的組合亦應包括在電腦可讀取媒體的範圍內。
因此,某些態樣可以包括用於執行本文提供的操作的電腦程式產品。例如,這種電腦程式產品可以包括其上儲存有(及/或編碼有)指令的電腦可讀取媒體,可以由一或多個處理器執行這些指令以實現本文所描述的操作。對於某些態樣而言,電腦程式產品可以包括封裝材料。
此外,應當清楚的是,用於執行本文所描述的方法和技術的模組及/或其他適當單元可以由設備根據情況進行下載及/或以其他方式獲得。例如,這種設備可以耦合到伺服器,以有助於實現用於執行本文所描述的方法的單元的傳送。或者,本文所描述的各種方法可以經由儲存單元(例如,RAM 、ROM、諸如壓縮光碟(CD)或軟碟的實體儲存媒體等等)來提供,使得設備可以在將儲存單元耦合到或提供給該設備時獲得各種方法。此外,亦可以使用用於向設備提供本文所描述的方法和技術的任何其他適當的技術。
應當理解的是,請求項並不受限於上文示出的精確配置和元件。在不脫離請求項的範圍的情況下,可以對上文所描述的方法和裝置的排列、操作和細節做出各種修改、改變和變化。
1502‧‧‧神經處理單元
1504‧‧‧參數
1506‧‧‧狀態機

Claims (37)

  1. 一種用於在神經處理單元的一系統中實現複數個神經元模型的一組合的方法,包括以下步驟:將從該複數個神經元模型中選擇的一第一神經元模型的參數載入到一第一神經處理單元中;至少部分地基於該第一神經元模型的該等參數來決定該第一神經處理單元的一第一狀態;及至少部分地基於該第一神經元模型的該等參數並且基於該第一狀態來決定該第一神經處理單元的一第二狀態。
  2. 根據請求項1述及之方法,更包括以下步驟:對該複數個神經元模型進行更新。
  3. 根據請求項1述及之方法,更包括以下步驟:將一第二神經元模型的參數載入到該第一神經處理單元中;及至少部分地基於該第二神經元模型的該等參數來決定該第一神經處理單元的一第三狀態。
  4. 根據請求項3述及之方法,其中對該第二神經元模型的該等參數進行載入之步驟是回應於一配置事件的。
  5. 根據請求項4述及之方法,其中該配置事件包括對該等神經處理單元的該系統或該第一神經處理單元中的至少一個進 行一上電。
  6. 根據請求項3述及之方法,其中決定該第三狀態之步驟係更進一步地至少部分基於該第二狀態。
  7. 根據請求項6述及之方法,其中該第二神經元模型至少部分地被配置為產生一振盪。
  8. 根據請求項6述及之方法,其中對該第二神經元模型的該等參數進行載入之步驟是至少部分地基於一狀態條件、一時間條件或一觸發中的至少一個,其中該觸發位於該第一神經處理單元的外部。
  9. 根據請求項1述及之方法,更包括以下步驟:將從該複數個神經元模型中選擇的一第二神經元模型的參數載入到一第二神經處理單元中;及至少部分地基於該第二神經元模型的該等參數來決定該第二神經處理單元的一狀態。
  10. 根據請求項9述及之方法,其中該第一神經元模型和該第二神經元模型表示不同類型的神經元。
  11. 根據請求項1述及之方法,其中對該第一神經元模型的該等參數進行載入之步驟包括以下步驟:從一記憶體獲取該第 一神經元模型的該等參數的至少一部分。
  12. 根據請求項11述及之方法,其中該記憶體的至少一部分位於該第一神經處理單元的本端。
  13. 根據請求項11述及之方法,其中該記憶體的至少一部分是快取緩衝記憶體。
  14. 根據請求項11述及之方法,其中對該第一神經元模型的該等參數進行載入之步驟更包括以下步驟:存取該記憶體中的、與該第一神經元模型相關聯的一記憶體塊。
  15. 根據請求項14述及之方法,其中該記憶體塊是由該記憶體塊中的一記憶體位址的一指標來指定的。
  16. 根據請求項1述及之方法,其中該複數個神經元模型包括以下模型中的至少一種:一Izhikevich簡單模型、一指數積分及發放(EIF)模型、一FitzHugh-Nagumo模型、一四次模型或者一固有電導模型。
  17. 根據請求項1述及之方法,其中該第一神經元模型的參數是至少部分地基於對該第一神經元模型的一狀態-空間方程式的解。
  18. 一種用於在神經處理單元的一系統中實現複數個神經元模型的一組合的裝置,包括:一處理系統,該處理系統被配置為:將從該複數個神經元模型中選擇的一第一神經元模型的參數載入到一第一神經處理單元中;至少部分地基於該第一神經元模型的該等參數來決定該第一神經處理單元的一第一狀態;及至少部分地基於該第一神經元模型的該等參數並且基於該第一狀態來決定該第一神經處理單元的一第二狀態;及一記憶體,該記憶體被耦合到該處理系統。
  19. 根據請求項18述及之裝置,其中該處理系統更被配置為:對該複數個神經元模型進行更新。
  20. 根據請求項18述及之裝置,其中該處理系統更被配置為:將一第二神經元模型的參數載入到該第一神經處理單元中;及至少部分地基於該第二神經元模型的該等參數來決定該第一神經處理單元的一第三狀態。
  21. 根據請求項20述及之裝置,其中該處理系統被配置為:回應於一配置事件,對該第二神經元模型的該等參數進行載 入。
  22. 根據請求項21述及之裝置,其中該配置事件包括對該等神經處理單元的系統或該第一神經處理單元中的至少一個進行一上電。
  23. 根據請求項20述及之裝置,其中該處理系統被配置為:更進一步地至少部分基於該第二狀態來決定該第三狀態。
  24. 根據請求項23述及之裝置,其中該第二神經元模型至少部分地被配置為產生一振盪。
  25. 根據請求項23述及之裝置,其中該處理系統被配置為:至少部分地基於一狀態條件、一時間條件或一觸發中的至少一個來對該第二神經元模型的該等參數進行載入,其中該觸發位於該第一神經處理單元的外部。
  26. 根據請求項18述及之裝置,其中該處理系統更被配置為:將從該複數個神經元模型中選擇的一第二神經元模型的參數載入到一第二神經處理單元中;及至少部分地基於該第二神經元模型的該等參數來決定該第二神經處理單元的一狀態。
  27. 根據請求項26述及之裝置,其中該第一神經元模型和該第二神經元模型表示不同類型的神經元。
  28. 根據請求項18述及之裝置,其中該處理系統被配置為:經由從該記憶體獲取該第一神經元模型的該等參數的至少一部分,來對該第一神經元模型的該等參數進行載入。
  29. 根據請求項28述及之裝置,其中該記憶體的至少一部分位於該第一神經處理單元的本端。
  30. 根據請求項28述及之裝置,其中該記憶體的至少一部分是快取緩衝記憶體。
  31. 根據請求項28述及之裝置,其中該處理系統被配置為:經由存取該記憶體中的、與該第一神經元模型相關聯的一記憶體塊,來對該第一神經元模型的該等參數進行載入。
  32. 根據請求項31述及之裝置,其中該記憶體塊是由該記憶體塊中的一記憶體位址的一指標來指定的。
  33. 根據請求項18述及之裝置,其中該複數個神經元模型包括以下模型中的至少一種:一Izhikevich簡單模型、一指數積分及發放(EIF)模型、一FitzHugh-Nagumo模型、一四次模型或者一固有電導模型。
  34. 根據請求項18述及之裝置,其中該第一神經元模型的參數是至少部分地基於對該第一神經元模型的一狀態-空間方程式的解。
  35. 一種用於在神經處理單元的一系統中實現複數個神經元模型的一組合的裝置,包括:用於將從該複數個神經元模型中選擇的一第一神經元模型的參數載入到一第一神經處理單元中的構件;用於至少部分地基於該第一神經元模型的該等參數來決定該第一神經處理單元的一第一狀態的構件;及用於至少部分地基於該第一神經元模型的該等參數並且基於該第一狀態來決定該第一神經處理單元的一第二狀態的構件。
  36. 根據請求項35述及之裝置,亦包括:用於將一第二神經元模型的參數載入到該第一神經處理單元中的構件;及用於至少部分地基於該第二神經元模型的該等參數來決定該第一神經處理單元的一第三狀態的構件。
  37. 一種用於在神經處理單元的一系統中實現複數個神經元模型的一組合的電腦程式產品,包括一電腦可讀存放裝置,該電腦可讀存放裝置具有可執行的、進行以下操作的指令: 將從該複數個神經元模型中選擇的一第一神經元模型的參數載入到一第一神經處理單元中;至少部分地基於該第一神經元模型的該等參數來決定該第一神經處理單元的一第一狀態;及至少部分地基於該第一神經元模型的該等參數並且基於該第一狀態,來決定該第一神經處理單元的一第二狀態。
TW102140365A 2012-11-20 2013-11-06 分段線性神經元建模 TWI537843B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201261728360P 2012-11-20 2012-11-20
US201261734716P 2012-12-07 2012-12-07
US201261740633P 2012-12-21 2012-12-21
US201361756889P 2013-01-25 2013-01-25
US14/070,659 US20140143191A1 (en) 2012-11-20 2013-11-04 Piecewise linear neuron modeling

Publications (2)

Publication Number Publication Date
TW201421382A TW201421382A (zh) 2014-06-01
TWI537843B true TWI537843B (zh) 2016-06-11

Family

ID=50728915

Family Applications (3)

Application Number Title Priority Date Filing Date
TW102140365A TWI537843B (zh) 2012-11-20 2013-11-06 分段線性神經元建模
TW102140364A TWI541736B (zh) 2012-11-20 2013-11-06 分段線性神經元建模
TW102140366A TWI584207B (zh) 2012-11-20 2013-11-06 用於分段線性神經元建模的方法、裝置與電腦程式產品

Family Applications After (2)

Application Number Title Priority Date Filing Date
TW102140364A TWI541736B (zh) 2012-11-20 2013-11-06 分段線性神經元建模
TW102140366A TWI584207B (zh) 2012-11-20 2013-11-06 用於分段線性神經元建模的方法、裝置與電腦程式產品

Country Status (7)

Country Link
US (3) US9477926B2 (zh)
EP (3) EP2923310A1 (zh)
JP (3) JP2016501398A (zh)
KR (1) KR20150087266A (zh)
CN (3) CN104781836B (zh)
TW (3) TWI537843B (zh)
WO (3) WO2014081562A1 (zh)

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9477926B2 (en) * 2012-11-20 2016-10-25 Qualcomm Incorporated Piecewise linear neuron modeling
US10288325B2 (en) 2013-03-14 2019-05-14 Rolls-Royce Corporation Trans-critical vapor cycle system with improved heat rejection
US10132529B2 (en) 2013-03-14 2018-11-20 Rolls-Royce Corporation Thermal management system controlling dynamic and steady state thermal loads
US10068170B2 (en) * 2013-09-23 2018-09-04 Oracle International Corporation Minimizing global error in an artificial neural network
US20150324690A1 (en) * 2014-05-08 2015-11-12 Microsoft Corporation Deep Learning Training System
US10339439B2 (en) * 2014-10-01 2019-07-02 Thalchemy Corporation Efficient and scalable systems for calculating neural network connectivity in an event-driven way
JP6333477B2 (ja) * 2014-10-23 2018-05-30 ヒューレット パッカード エンタープライズ デベロップメント エル ピーHewlett Packard Enterprise Development LP ドット積を求めるためのメムリスティブクロスバーアレイ
JP6669075B2 (ja) * 2014-10-28 2020-03-18 日本電気株式会社 領域線形モデル最適化システム、方法およびプログラム
US9747546B2 (en) 2015-05-21 2017-08-29 Google Inc. Neural network processor
CN106447035B (zh) * 2015-10-08 2019-02-26 上海兆芯集成电路有限公司 具有可变率执行单元的处理器
EP3414702A1 (en) * 2016-02-08 2018-12-19 Spero Devices, Inc. Analog co-processor
JP6713164B2 (ja) * 2016-03-03 2020-06-24 国立研究開発法人物質・材料研究機構 シグナル解析方法及び試料ガス識別方法
US9990196B2 (en) 2016-04-01 2018-06-05 Intel Corporation Instruction, circuits, and logic for piecewise linear approximation
CN106250600A (zh) * 2016-07-27 2016-12-21 上海华虹宏力半导体制造有限公司 提高mos器件模拟应用模型精准性的方法
US11270193B2 (en) 2016-09-30 2022-03-08 International Business Machines Corporation Scalable stream synaptic supercomputer for extreme throughput neural networks
US10679118B2 (en) * 2016-12-20 2020-06-09 Intel Corporation Solving matrix inverse problems using neuromorphic computing
CN106897734A (zh) * 2017-01-12 2017-06-27 南京大学 基于深度卷积神经网络的层内非均匀的k平均聚类定点量化方法
CN106875004B (zh) * 2017-01-20 2019-09-10 北京灵汐科技有限公司 复合模式神经元信息处理方法和系统
US20200250515A1 (en) * 2017-10-27 2020-08-06 Google Llc Systems and Methods for Improved Optimization of Machine-Learned Models
CN109960673B (zh) * 2017-12-14 2020-02-18 中科寒武纪科技股份有限公司 集成电路芯片装置及相关产品
KR102435595B1 (ko) * 2017-12-15 2022-08-25 한국전자통신연구원 분산 처리 환경에서의 학습 파라미터의 압축 및 전송을 제공하는 방법 및 장치
WO2019117646A1 (ko) * 2017-12-15 2019-06-20 한국전자통신연구원 분산 처리 환경에서의 학습 파라미터의 압축 및 전송을 제공하는 방법 및 장치
CN108647808B (zh) * 2018-04-11 2022-03-29 济南大学 一种生产参数优化预测方法、装置、设备及存储介质
US10489482B1 (en) * 2018-06-01 2019-11-26 Hewlett Packard Enterprise Development Lp Gaussian elimination via a vector matrix multiplication accelerator
US12020168B2 (en) * 2018-09-11 2024-06-25 Apple Inc. Compiling models for dedicated hardware
US11468338B2 (en) 2018-09-11 2022-10-11 Apple Inc. Compiling models for dedicated hardware
US11610110B2 (en) 2018-12-05 2023-03-21 Bank Of America Corporation De-conflicting data labeling in real time deep learning systems
CN109800851B (zh) * 2018-12-29 2024-03-01 中国人民解放军陆军工程大学 神经突触电路和脉冲神经网络电路
KR102425039B1 (ko) * 2019-02-27 2022-07-28 한국전력공사 분산 딥러닝 환경에서 데이터 압축 장치 및 방법
US11195085B2 (en) * 2019-03-21 2021-12-07 International Business Machines Corporation Spiking synaptic elements for spiking neural networks
CN110472733B (zh) * 2019-07-22 2023-05-02 天津大学 一种基于神经形态学的在体神经元建模方法
TWI728556B (zh) * 2019-11-18 2021-05-21 財團法人工業技術研究院 神經元電路及類神經網路晶片
KR102431371B1 (ko) * 2019-11-26 2022-08-10 성균관대학교산학협력단 스파이킹 뉴런 모델 및 그의 스파이크 생성 방법
TWI733305B (zh) * 2020-01-10 2021-07-11 瑞昱半導體股份有限公司 晶片及基於神經網路電路的電流調整方法
CN111241749B (zh) * 2020-01-13 2023-04-07 广西师范大学 一种基于储备池计算的永磁同步电动机混沌预测方法
CN111445017A (zh) * 2020-03-23 2020-07-24 天津芯海创科技有限公司 一种运算方法及装置
KR102339485B1 (ko) * 2020-06-30 2021-12-15 강원대학교산학협력단 인공신경망을 이용한 아크신호 검출방법
KR20220033314A (ko) * 2020-09-09 2022-03-16 삼성전자주식회사 호스트 프로세서 및 가속기의 동작 방법 및 이들을 포함한 전자 장치
US11568255B2 (en) * 2020-09-10 2023-01-31 Mipsology SAS Fine tuning of trained artificial neural network
CN112966433B (zh) * 2021-02-08 2022-12-23 北京大学 一种基于即时编译的神经动力学仿真方法及装置
TW202248883A (zh) * 2021-05-31 2022-12-16 汎思數據股份有限公司 深度學習神經網路儲存與推論方法
KR102553119B1 (ko) 2021-12-01 2023-07-07 주식회사 딥엑스 프로그래밍 가능 활성화 함수 생성 방법 및 이를 이용하는 장치
US11836604B2 (en) 2021-12-01 2023-12-05 Deepx Co., Ltd. Method for generating programmable activation function and apparatus using the same
CN114861864B (zh) * 2022-02-24 2024-07-30 天津大学 具有树突形态学的神经元网络建模方法及装置
CN114781608B (zh) * 2022-04-19 2023-06-20 安徽科技学院 一种基于数字孪生的煤矿供电系统故障预警方法
CN116307942B (zh) * 2023-05-18 2023-08-25 中国人民解放军96901部队 基于指标影响力演化的联合作战效能评估方法、系统

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4979126A (en) * 1988-03-30 1990-12-18 Ai Ware Incorporated Neural network with non-linear transformations
US5140670A (en) 1989-10-05 1992-08-18 Regents Of The University Of California Cellular neural network
GB2236608B (en) 1989-10-06 1993-08-18 British Telecomm Digital neural networks
DE4131765A1 (de) * 1991-09-24 1993-03-25 Siemens Ag Regelparameter-verbesserungsverfahren fuer industrielle anlagen
FR2685109A1 (fr) 1991-12-11 1993-06-18 Philips Electronique Lab Processeur numerique neuronal operant avec une approximation d'une fonction d'activation non lineaire.
KR970008532B1 (ko) 1993-08-10 1997-05-24 재단법인 한국전자통신연구소 비선형 함수의 근사를 위한 비선형 추정망의 학습방법
JPH0784974A (ja) 1993-09-16 1995-03-31 Nissan Motor Co Ltd リカレント・ニューラルネットワーク
JPH08180034A (ja) * 1994-12-20 1996-07-12 Hitachi Microcomput Syst Ltd 情報処理装置
US5749019A (en) * 1996-09-09 1998-05-05 Xerox Corporation Look up table to control non-linear xerographic process
KR100194761B1 (ko) 1996-10-02 1999-06-15 이계철 제어형 연속 램프(r므ㅔ) 변환기
US20050239737A1 (en) * 1998-05-12 2005-10-27 Isis Pharmaceuticals, Inc. Identification of molecular interaction sites in RNA for novel drug discovery
US6507828B1 (en) 1998-06-19 2003-01-14 Jason Leonard Neuron circuit and related techniques
US6728690B1 (en) * 1999-11-23 2004-04-27 Microsoft Corporation Classification system trainer employing maximum margin back-propagation with probabilistic outputs
EP1172763A3 (en) 2000-07-13 2008-11-05 International Business Machines Corporation Method and circuits for associating a norm to each component of an input pattern presented to a neural network
US6823322B2 (en) 2001-02-14 2004-11-23 Denso Corporation Piecewise nonlinear mapper for digitals
JP4716605B2 (ja) * 2001-03-29 2011-07-06 株式会社リコー 音声認識装置及び音声認識方法
US7483868B2 (en) * 2002-04-19 2009-01-27 Computer Associates Think, Inc. Automatic neural-net model generation and maintenance
CN1417742A (zh) * 2002-12-16 2003-05-14 武汉大学 一种动态认知神经网络及实现方法
EP1515270A1 (en) * 2003-09-09 2005-03-16 Semeion An artificial neural network
US7647213B1 (en) * 2003-10-02 2010-01-12 The Mathworks, Inc. Method for modeling and analyzing linear time invariant systems with time delays
FR2881857B1 (fr) * 2005-02-04 2008-05-23 Bernard Angeniol Outil informatique de prevision
US7711663B2 (en) * 2006-03-27 2010-05-04 Board Of Trustees Of Michigan State University Multi-layer development network having in-place learning
TW200914844A (en) 2007-09-20 2009-04-01 Univ Far East Detection system and detection method for analyzing electronic signal state
CN101546389A (zh) 2008-03-26 2009-09-30 中国科学院半导体研究所 一种主方向神经网络系统
US8411910B2 (en) * 2008-04-17 2013-04-02 Biometricore, Inc. Computationally efficient feature extraction and matching iris recognition
TWI417798B (zh) 2008-11-21 2013-12-01 Nat Taipei University Oftechnology High - speed reverse transfer neural network system with elastic structure and learning function
JP2010266975A (ja) * 2009-05-13 2010-11-25 Sony Corp 学習装置、学習方法、データ生成装置、データ生成方法、及び、プログラム
JP2011059815A (ja) * 2009-09-07 2011-03-24 Sony Corp 情報処理装置、情報処理方法、及び、プログラム
TWI417797B (zh) 2010-02-04 2013-12-01 Univ Nat Taipei Technology A Parallel Learning Architecture and Its Method for Transferred Neural Network
CN101782743A (zh) 2010-02-11 2010-07-21 浙江大学 神经网络建模方法及系统
KR20130111956A (ko) 2010-05-19 2013-10-11 더 리전트 오브 더 유니버시티 오브 캘리포니아 신경 처리 장치
TW201145057A (en) 2010-06-02 2011-12-16 Chun-Chen Liu MLPR: a multilayer perceptron-based model reduction algorithm for nonlinear circuits
TWI467520B (zh) 2010-11-10 2015-01-01 Univ Nat Chiao Tung 建構個人化神經刺激模型之系統及方法
JP5723582B2 (ja) * 2010-11-30 2015-05-27 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation スライディング・モード制御方式において、制御器を構成する方法、プログラム及びシステム
US9367797B2 (en) * 2012-02-08 2016-06-14 Jason Frank Hunzinger Methods and apparatus for spiking neural computation
US9477926B2 (en) 2012-11-20 2016-10-25 Qualcomm Incorporated Piecewise linear neuron modeling

Also Published As

Publication number Publication date
US20140143190A1 (en) 2014-05-22
US20140143191A1 (en) 2014-05-22
US20140143194A1 (en) 2014-05-22
US9477926B2 (en) 2016-10-25
US9292790B2 (en) 2016-03-22
CN104798088B (zh) 2018-02-23
TW201421381A (zh) 2014-06-01
TWI541736B (zh) 2016-07-11
TW201421382A (zh) 2014-06-01
CN104798089B (zh) 2018-01-16
EP2923309A1 (en) 2015-09-30
WO2014081560A1 (en) 2014-05-30
TW201421383A (zh) 2014-06-01
JP2016501397A (ja) 2016-01-18
EP2923310A1 (en) 2015-09-30
WO2014081561A1 (en) 2014-05-30
TWI584207B (zh) 2017-05-21
JP5976948B2 (ja) 2016-08-24
CN104781836A (zh) 2015-07-15
KR20150087266A (ko) 2015-07-29
JP2016501399A (ja) 2016-01-18
CN104798088A (zh) 2015-07-22
CN104781836B (zh) 2018-05-08
WO2014081562A1 (en) 2014-05-30
JP2016501398A (ja) 2016-01-18
JP6117369B2 (ja) 2017-04-19
CN104798089A (zh) 2015-07-22
EP2923308A1 (en) 2015-09-30

Similar Documents

Publication Publication Date Title
TWI537843B (zh) 分段線性神經元建模
KR101793011B1 (ko) 스파이킹 네트워크들의 효율적인 하드웨어 구현
US9305256B2 (en) Automated method for modifying neural dynamics
TWI585695B (zh) 用於定義多個神經元的動態的方法、設備及電腦可讀取媒體
US20150046382A1 (en) Computed synapses for neuromorphic systems
US20140074761A1 (en) Dynamical event neuron and synapse models for learning spiking neural networks
TW201531967A (zh) 因果凸顯性時間推斷
KR20170031695A (ko) 신경망들에서의 콘볼루션 동작의 분해
TW201531966A (zh) 配置稀疏神經網路
TW201539335A (zh) 實現神經網路處理器
KR20140129067A (ko) 스파이킹 뉴럴 연산을 위한 방법들 및 장치
KR20140128384A (ko) 스파이킹 뉴럴 연산을 위한 방법들 및 장치
US9652711B2 (en) Analog signal reconstruction and recognition via sub-threshold modulation
TWI550529B (zh) 用於學習尖峰神經網路的動態事件神經元和突觸模型
TW201528162A (zh) 在尖峰神經網路中使用重放來實施突觸學習
TW201401188A (zh) 用於學習尖波神經網路的動態事件神經元和突觸模型
TW201445460A (zh) 用於產生尖峰定時依賴可塑性曲線的緊湊表示的方法
CA2926034A1 (en) Dynamically assigning and examining synaptic delay
Cessac et al. Linear response for spiking neuronal networks with unbounded memory
JP2003058864A (ja) 連続時間スイッチングネットワーク構成方法

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees