階層式時序記憶

階層式時序記憶 ( 英語:Hierarchical temporal memoryHTM )又稱作分層時序記憶層級實時記憶,是一種受生物學制約的智力理論(或模型),最初見於傑夫·霍金和珊卓拉.布萊克斯里(Sandra Blakeslee)在2004年的著作──《智能時代》英語On Intelligence(又譯作《人工智能的未來》,英語:On Intelligence)。HTM理論是根據「神經科學」以及哺乳動物(尤其是人類)大腦新皮層中的「錐體神經元生理反應」、「錐體神經元間的相互作用」來開發。

HTM的精髓在於其學習演算法可以進行儲存、學習、推論和長序列回憶。與大多數其他機器學習方法不同,HTM會連續地(以無監督方式)在未標記資料中學習基於時間的模式(patterns)。 HTM對雜訊具有強健性,並且具有高容量,這意味着它可以同時學習多種模式。 當應用於計算機時,HTM非常適合用於預測、[1]檢測異常、[2]分類以及最終感覺動作的應用。[3]

透過Numenta英語Numenta的範例應用程式和Numenta合作夥伴的一些商業化應用程式,該理論已經在軟體中完成了測試和實現。

結構與算法

編輯

典型的HTM網路是個樹狀級別(level)的階層式結構(不應將其與新皮層的「層(layer)」相混淆),由稱為區域(或稱作節點)的更小元素所組成。階層式結構中的單個級別可能包含多個區域。級別越高,區域通常越少。高等級別可以透過組合低等級別的模式來記住更複雜的模式,從而重覆使用在低等級別所學到的模式。

每個HTM區域都具有相同的基本功能。 在學習和推理模式下,感覺資料(例如,來自眼睛的資料)進入最低級的區域。在生成模式下,低級區域輸出給定類別的生成模式。高級區域通常有一個區域,儲存著最普遍、最常駐類別(概念),這些類別會形成低等級別中較小的概念,或是由這些小概念所形成,這些概念在時間和空間上受到更大的限制[需要解釋]。當設置在推理模式時,區域(在每個級別中)會將來自其較低級別的子區域資訊,解釋為它在記憶中所屬類別之機率。

每個 HTM 區域透過識別和記憶空間模式來學習, 這些空間模式通常是同時發生的輸入位元之結合。接著,對於可能接連發生的空間模式,HTM 區域會去識別其時間序列。

持續發展

編輯

HTM是個持續演化的理論(或模型),也就是說,由於我們對新皮層的知識尚不完整,所以HTM理論並不完整。因此,對於新皮層的新發現會逐漸納入隨著時間變化的HTM模型中。 新發現未必使先前的發現失效,一代人的想法也未必會被後繼者排除。由於該理論不斷發展,出現了幾代HTM演算法,[4]簡述如下。

第一代:Zeta 1

編輯

第一代HTM演算法(或HTM理論的第一版)有時稱為zeta 1 。

訓練

編輯

在訓練過程中,節點(或區域)接收空間模式的時間序列作為其輸入。 學習過程包括兩個階段:

  1. 空間池化會識別(在輸入中)經常觀察到的模式,並將其記憶為「一致事件」(coincidences)。 彼此相似的模式會被視為同一種一致事件。大量的可能輸入模式就被縮減到得以處理的已知一致事件的數量。
  2. 時間池化會將訓練序列中可能相繼發生的一致事件劃分到時間類集。每一組模式的類集分別代表著輸入模式的 "原因"(或《智能時代》中所說的 "名稱")。

在當前的HTM理論中,「空間池化」和「時間池化」的概念仍然非常重要。 時間池化尚未得到很好的理解,隨著時間過去,其涵義已有所改變(隨着HTM理論的發展)。

第二代:皮層學習演算法

編輯

第二代HTM學習演算法(通常稱為皮層學習演算法,CLA)與zeta 1完全不同。它依賴於所謂的稀疏分布式表徵資料結構 (也就是說,該資料結構的元素為二進制1或0,且位元1的數量比位元0的數量少),第二代演算法依賴稀疏分布式表徵來表示大腦活動,也更加貼近實際生物學的神經元模型(在HTM理論中通常也稱為細胞)。[5]這一代的HTM理論有兩個核心,空間池化演算法[6]:輸出稀疏分布表徵(SDR),以及序列記憶演算法:[7]學習怎去表示和預測複雜序列。

在新一代演算法中, 大腦皮層微型柱英語Cortical_minicolumn得到了解決,並進行了部分建模。每個HTM層(HTM layer,不要與如上所述的HTM階層式結構的HTM級別(HTM level)混淆)由多個高度互連的微型柱組成。HTM層可從它的輸入,創建一個稀疏分布式表徵,從而讓固定比例的微型柱在任何時候都處於激活狀態[需要解釋]。微型柱被理解為具有相同感受野的一組細胞。 每個微型柱都有多個細胞,這些細胞可以記住以前的幾種狀態。細胞可以處於以下三種狀態之一:「激活」、「非激活」和「預測」。

第三代:感覺運動推理

編輯

第三代是建立在第二代的基礎之上,並增加了新皮層的感覺運動推理理論。[8][9]該理論認為,在階層式結構中每一層皮層柱都可以隨著時間學習到目標的完整模型,並認為特徵是在目標的特定部位所學習到的。該理論在2018年得到了擴展,被稱為「千腦理論」(Thousand Brains Theory)。[10]

神經元模型的比較

編輯
 
比較 (A)人工神經網路(B)生物神經元(C)HTM神經元。
人工神經網絡 (ANN) 新皮層錐體神經元(生物神經元) HTM神經元模型[11]
  • 少量突觸
  • 無樹突
  • 「加總」輸入x權重
  • 透過修改突觸權重來學習
  • 樹突上有數千個突觸
  • 活性樹突:細胞會識別數百種獨特的模式
  • 在樹突節段上的一組突觸的共同激活導致了NMDA英語N-Methyl-D-aspartic acid的激增和在細胞本體的去極化
  • 細胞的輸入源:
    1. 前饋輸入,形成靠近本體細胞的突觸並直接導致動作電位
    2. NMDA尖峰出現在基底層末梢[需要解釋]
    3. 頂端樹突使細胞本體去極化 (通常不足以產生細胞本體的動作電位)
    4. 透過生長新的突觸來學習
  • 受到新皮質第2/3和5層的錐體細胞的啟發
  • 數千個突觸
  • 活性樹突:細胞會識別數百種獨特模式
  • 使用具有一組突觸的同時檢測器陣列對樹突和NMDA尖峰進行建模
  • 透過模擬生長新突觸來學習

比較HTM和新皮層

編輯

HTM嘗試實現新皮層中皮層區域的一組階層式相關特徵的功能。新皮層的「區域」對應於HTM階層中的一個或多個「級別」,而海馬迴與最高等的HTM級別十分類似。單個HTM節點可以表示特定區域內的一組皮層柱

儘管HTM主要是一個功能模型,但已進行了一些嘗試,將HTM演算法與新皮層中神經元連接結構聯繫起來。[12][13]新皮層由6個水平層的垂直柱所組成。新皮層中的6層細胞不應與HTM階層中的級別混淆。

HTM節點嘗試使用每柱20個左右的HTM「細胞」來建模一部分皮層柱(80至100個神經元)。HTM僅對第2層和第3層建模以檢測輸入的空間和時間特徵,第2層每柱一個細胞用於空間「池化」,第3層每柱12至24個細胞用於時間池化。HTM和皮層的關鍵在於處理雜訊和變化的能力,而這是使用「稀疏分布式表徵」的結果,在任何給定時間,大約只有2%的柱處於激活狀態。

如上所述,HTM嘗試對皮層的一部分學習和可塑性進行建模。HTM和神經元之間的差異包括:[14]

  • 嚴格的二進制訊號和突觸
  • 沒有直接抑制突觸或樹突(但間接模擬)
  • 目前僅對第2、第3和第4層建模(沒有第5層或第6層)
  • 沒有「運動」控制器(第5層)
  • 區域之間無回饋(較高等的第6層到較低等的第1層)

與其他模型的相似性

編輯

貝葉斯網路

編輯

類似於貝葉斯網路 ,HTM包含一組以樹狀階層式結構排列的節點。 每個階層式結構中的節點都會在它所接收的輸入模式和時間序列中發現一系列的原因。 貝葉斯信念修訂演算法用於將前饋和回饋的信念從子節點傳播到父節點,反之亦然。 但是,與貝葉斯網路的類比是有限的,因為HTM可以進行自我訓練(這使得每個節點都具有明確的家族關係),可以處理具時效性的資料,並可以提供內隱注意力的機制。

李大成(Tai Sing Lee)和戴維·芒福德早些時候提出了一種基於貝葉斯信念傳播的階層式皮層計算理論。[15] 儘管HTM與這些想法基本一致,但它多出了視覺皮層中的固定表徵的處理細節。 [16]

神經網路

編輯

如同其它對新皮層細節進行建模的系統,HTM可以看作是人工神經網路 。 HTM中常用的樹狀階層式結構類似於傳統神經網路的常見拓撲。 HTM嘗試對皮層柱(80至100個神經元),以及皮層柱與較少的HTM「神經元」的相互作用進行建模。 當前的HTM的目標是在典型計算機的能力範圍內,並在圖像處理等實用領域中,儘可能地捕獲神經元和網路(如目前所理解的)那樣多的功能。 例如,由於尚未了解如何納入來自更高級別的回饋和運動控制,因此尚未對其嘗試,還有使用二進位而不是可變突觸,這是因為二進位被認為在當前 HTM 功能中已經足以勝任。

由史蒂芬·格羅斯伯格(Stephen Grossberg)研究的LAMINART和類似的神經網路試圖在時間框架之下,同時對皮層的基礎結構和神經元的行為進行建模,以解釋神經生理學和心理生理學的數據。 但是,這些網路目前對於實際應用來說過於複雜。 [17]

HTM還與托馬索·波焦(Tomaso Poggio)的工作有關,包括一種稱為HMAX的可視皮層腹側流建模方法。 2005年12月的《人工智能》雜誌描述了HTM與各種AI思想的相似之處。 [18]

新認知機

編輯

新認知機(Neocognitron)是福島邦彥教授於1987年提出的多層階層式神經網路,為最早的深度學習神經網路模型之一。 [19]

NuPIC平台與開發工具

編輯

Numenta智能計算機平台(NuPIC)頁面存檔備份,存於網際網路檔案館)是其中一種可用的HTM實作頁面存檔備份,存於網際網路檔案館)。有些是由Numenta頁面存檔備份,存於網際網路檔案館)提供,有些則是由HTM開源社群頁面存檔備份,存於網際網路檔案館)開發和維護。

NuPIC包括C ++和Python中「空間池化」和「時間記憶」的實現。 它還包括3個API頁面存檔備份,存於網際網路檔案館) 。 用戶可以使用演算法頁面存檔備份,存於網際網路檔案館)的直接實現來建置HTM系統,或者使用網路API頁面存檔備份,存於網際網路檔案館)來建置網路,而網路API是在不同皮層之間用於組建複雜關聯的靈活框架。

NuPIC 1.0頁面存檔備份,存於網際網路檔案館)於2017年7月發布,此後代碼庫進入維護模式。 目前的研究仍在Numenta研究代碼庫頁面存檔備份,存於網際網路檔案館)中持續地進行。

應用程式

編輯

以下商業應用程式可使用 NuPIC:

NuPIC提供以下工具:

  • HTM用於股票 – 範例的跟蹤異常的股票市場(範例代碼)
  • 檢測失常行為 – 發現異常的人類行為的範例(白皮書和範例代碼)
  • 跟蹤地理空間 – 發現在空間與時間中移動的目標之異常現象(白皮書和範例代碼)

參見

編輯

相關型號

編輯

參考文獻

編輯
  1. ^ Cui, Yuwei; Ahmad, Subutai; Hawkins, Jeff. Continuous Online Sequence Learning with an Unsupervised Neural Network Model. Neural Computation. 2016, 28 (11): 2474–2504. PMID 27626963. arXiv:1512.05463 . doi:10.1162/NECO_a_00893. 
  2. ^ Ahmad, Subutai; Lavin, Alexander; Purdy, Scott; Agha, Zuha. Unsupervised real-time anomaly detection for streaming data. Neurocomputing. 2017, 262: 134–147. doi:10.1016/j.neucom.2017.04.070. 
  3. ^ Preliminary details about new theory work on sensory-motor inference. HTM Forum. 2016-06-03 [2020-06-23]. (原始內容存檔於2019-12-25) (英語). 
  4. ^ HTM Retrospective. [2020-06-23]. (原始內容存檔於2020-08-31). 
  5. ^ Jeff Hawkins lecture describing cortical learning algorithms. [2020-06-23]. (原始內容存檔於2020-08-31). 
  6. ^ Cui, Yuwei; Ahmad, Subutai; Hawkins, Jeff. The HTM Spatial Pooler—A Neocortical Algorithm for Online Sparse Distributed Coding. Frontiers in Computational Neuroscience. 2017, 11: 111. PMC 5712570 . PMID 29238299. doi:10.3389/fncom.2017.00111. 
  7. ^ Why Neurons Have Thousands of Synapses, a Theory of Sequence Memory in Neocortex. [2020-06-23]. (原始內容存檔於2021-02-26). 
  8. ^ Hawkins, Jeff; Ahmad, Subutai; Cui, Yuwei. A Theory of How Columns in the Neocortex Enable Learning the Structure of the World. Frontiers in Neural Circuits. 2017, 11: 81. PMC 5661005 . PMID 29118696. doi:10.3389/fncir.2017.00081. 
  9. ^ Have We Missed Half of What the Neocortex Does? Allocentric Location as the Basis of Perception. [2020-06-23]. (原始內容存檔於2021-02-11). 
  10. ^ Numenta publishes breakthrough theory for intelligence and cortical computation. [2020-06-23]. (原始內容存檔於2020-11-08). 
  11. ^ Why Neurons Have Thousands of Synapses, a Theory of Sequence Memory in Neocortex. [2020-06-23]. (原始內容存檔於2021-02-26). 
  12. ^ Jeff Hawkins, Sandra Blakeslee On Intelligence
  13. ^ Towards a Mathematical Theory of Cortical Micro-circuits. Dileep George and Jeff Hawkins. PLoS Computational Biology 5(10). [2022-07-29]. (原始內容存檔於2021-02-25). 
  14. ^ HTM Cortical Learning Algorithms (PDF). [2020-06-23]. (原始內容 (PDF)存檔於2021-03-08). 
  15. ^ Tai Sing Lee, David Mumford "Hierarchical Bayesian Inference in the Visual Cortex"頁面存檔備份,存於網際網路檔案館), 2002
  16. ^ Hierarchical Bayesian inference in the visual cortex. [2020-06-23]. (原始內容存檔於2019-08-01). 
  17. ^ Grossberg, S. (2007). Towards a unified theory of neocortex: Laminar cortical circuits for vision and cognition. Technical Report CAS/CNS-TR-2006-008. For Computational Neuroscience: From Neurons to Theory and Back Again, eds: Paul Cisek, Trevor Drew, John Kalaska; Elsevier, Amsterdam, pp. 79–104. (PDF). [2020-06-23]. (原始內容 (PDF)存檔於2008-07-05). 
  18. ^ ScienceDirect – Artificial Intelligence, Volume 169, Issue 2, Page 103-212 (December 2005). [2020-06-23]. (原始內容存檔於2020-04-12). 
  19. ^ Neocognitron at Scholarpedia. [2020-06-23]. (原始內容存檔於2021-04-17). 

外部連結

編輯

官方

編輯

其他

編輯