階層式時序記憶

階層式時序記憶 （ 英語：Hierarchical temporal memory，HTM ）又稱作分層時序記憶或層級實時記憶，是一種受生物學制約的智力理論（或模型），最初見於傑夫·霍金和珊卓拉.布萊克斯裡（Sandra Blakeslee）在2004年的著作──On Intelligence（又譯作《人工智能的未來》，英語：On Intelligence）。HTM理論是根據「神經科學」以及哺乳動物（尤其是人類）大腦新皮層中的「錐體神經元生理反應」、「錐體神經元間的相互作用」來開發。 
HTM的精髓在於其學習演算法可以進行儲存、學習、推論和長序列回憶。與大多數其他機器學習方法不同，HTM會連續地（以無監督方式）在未標記資料中學習基於時間的模式（patterns）。 HTM對雜訊具有強健性，並且具有高容量，這意味著它可以同時學習多種模式。 當應用於計算機時，HTM非常適合用於預測、檢測異常、分類以及最終感覺動作的應用。 
透過Numenta的範例應用程式和Numenta合作伙伴的一些商業化應用程式，該理論已經在軟體中完成了測試和實現。 

**結構與算法**
典型的HTM網路是個樹狀級別（level）的階層式結構（不應將其與新皮層的「層（layer）」相混淆)，由稱為區域（或稱作節點）的更小元素所組成。階層式結構中的單個級別可能包含多個區域。級別越高，區域通常越少。高等級別可以透過組合低等級別的模式來記住更複雜的模式，從而重覆使用在低等級別所學到的模式。 
每個HTM區域都具有相同的基本功能。 在學習和推理模式下，感覺資料（例如，來自眼睛的資料）進入最低級的區域。在生成模式下，低級區域輸出給定類別的生成模式。高級區域通常有一個區域，儲存著最普遍、最常駐類別（概念），這些類別會形成低等級別中較小的概念，或是由這些小概念所形成，這些概念在時間和空間上受到更大的限制date=2018年8月。當設置在推理模式時，區域（在每個級別中）會將來自其較低級別的子區域資訊，解釋為它在記憶中所屬類別之機率。 
每個 HTM 區域透過識別和記憶空間模式來學習, 這些空間模式通常是同時發生的輸入位元之結合。接著，對於可能接連發生的空間模式，HTM 區域會去識別其時間序列。 

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

**第一代：Zeta 1**
第一代HTM演算法（或HTM理論的第一版）有時稱為zeta 1 。 

**訓練**
在訓練過程中，節點（或區域）接收空間模式的時間序列作為其輸入。 學習過程包括兩個階段： 
# 空間池化會識別（在輸入中）經常觀察到的模式，並將其記憶為“一致事件”（coincidences）。 彼此相似的模式會被視為同一種一致事件。大量的可能輸入模式就被縮減到得以處理的已知一致事件的數量。
# 時間池化會將訓練序列中可能相繼發生的一致事件劃分到時間類集。每一組模式的類集分別代表著輸入模式的 "原因"（或《智能時代》中所說的 "名稱"）。
在當前的HTM理論中，「空間池化」和「時間池化」的概念仍然非常重要。 時間池化尚未得到很好的理解，隨著時間過去，其涵義已有所改變（隨著HTM理論的發展）。 

**第二代：皮層學習演算法**
第二代HTM學習演算法（通常稱為皮層學習演算法，CLA）與zeta 1完全不同。它依賴於所謂的稀疏分佈式表徵的資料結構 （也就是說，該資料結構的元素為二進制1或0，且位元1的數量比位元0的數量少），第二代演算法依賴稀疏分佈式表徵來表示大腦活動，也更加貼近實際生物學的神經元模型（在HTM理論中通常也稱為細胞）。這一代的HTM理論有兩個核心，空間池化演算法：輸出稀疏分佈表徵（SDR），以及序列記憶演算法：學習怎去表示和預測複雜序列。 
在新一代演算法中， 大腦皮層的層和Cortical_minicolumn得到了解決，並進行了部分建模。每個HTM層（HTM layer，不要與如上所述的HTM階層式結構的HTM級別（HTM level）混淆）由多個高度互連的微型柱組成。HTM層可從它的輸入，創建一個稀疏分佈式表徵，從而讓固定比例的微型柱在任何時候都處於激活狀態date=2018年8月。微型柱被理解為具有相同感受野的一組細胞。 每個微型柱都有多個細胞，這些細胞可以記住以前的幾種狀態。細胞可以處於以下三種狀態之一：「激活」、「非激活」和「預測」。

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

**神經元模型的比較**
比較 （A）人工神經網路（B）生物神經元（C）HTM神經元。 

**比較HTM和新皮層**
HTM嘗試實現新皮層中皮層區域的一組階層式相關特徵的功能。新皮層的「區域」對應於HTM階層中的一個或多個「級別」，而海馬迴與最高等的HTM級別十分類似。單個HTM節點可以表示特定區域內的一組皮層柱。 
儘管HTM主要是一個功能模型，但已進行了一些嘗試，將HTM演算法與新皮層中神經元連接結構聯繫起來。新皮層由6個水平層的垂直柱所組成。新皮層中的6層細胞不應與HTM階層中的級別混淆。 
HTM節點嘗試使用每柱20個左右的HTM“細胞”來建模一部分皮層柱（80至100個神經元）。HTM僅對第2層和第3層建模以檢測輸入的空間和時間特徵，第2層每柱一個細胞用於空間“池化”，第3層每柱12至24個細胞用於時間池化。HTM和皮層的關鍵在於處理雜訊和變化的能力，而這是使用「稀疏分佈式表徵」的結果，在任何給定時間，大約只有2％的柱處於激活狀態。 
如上所述，HTM嘗試對皮層的一部分學習和可塑性進行建模。HTM和神經元之間的差異包括： - 嚴格的二進制訊號和突觸 - 沒有直接抑制突觸或樹突（但間接模擬） - 目前僅對第2、第3和第4層建模（沒有第5層或第6層）- 沒有“運動”控制器（第5層） - 區域之間無回饋（較高等的第6層到較低等的第1層）

**與其他模型的相似性**

**貝葉斯網路**
類似於貝葉斯網路 ，HTM包含一組以樹狀階層式結構排列的節點。 每個階層式結構中的節點都會在它所接收的輸入模式和時間序列中發現一系列的原因。 貝葉斯信念修訂演算法用於將前饋和回饋的信念從子節點傳播到父節點，反之亦然。 但是，與貝葉斯網路的類比是有限的，因為HTM可以進行自我訓練（這使得每個節點都具有明確的家族關係），可以處理具時效性的資料，並可以提供內隱注意力的機制。 
李大成（Tai Sing Lee）和戴維·芒福德早些時候提出了一種基於貝葉斯信念傳播的階層式皮層計算理論。 儘管HTM與這些想法基本一致，但它多出了視覺皮層中的固定表徵的處理細節。  

**神經網路**
如同其它對新皮層細節進行建模的系統，HTM可以看作是人工神經網路 。 HTM中常用的樹狀階層式結構類似於傳統神經網路的常見拓撲。 HTM嘗試對皮層柱（80至100個神經元），以及皮層柱與較少的HTM“神經元”的相互作用進行建模。 當前的HTM的目標是在典型計算機的能力範圍內，並在圖像處理等實用領域中，儘可能地捕獲神經元和網路（如目前所理解的）那樣多的功能。 例如，由於尚未了解如何納入來自更高級別的回饋和運動控制，因此尚未對其嘗試，還有使用二進位而不是可變突觸,這是因為二進位被認為在當前 HTM 功能中已經足以勝任。 
由史蒂芬·格羅斯伯格（Stephen Grossberg）研究的LAMINART和類似的神經網路試圖在時間框架之下，同時對皮層的基礎結構和神經元的行為進行建模，以解釋神經生理學和心理生理學的數據。 但是，這些網路目前對於實際應用來說過於複雜。  
HTM還與託馬索·波焦（Tomaso Poggio）的工作有關，包括一種稱為HMAX的可視皮層腹側流建模方法。 2005年12月的《人工智能》雜誌描述了HTM與各種AI思想的相似之處。  

**新認知機**
新認知機（Neocognitron）是福島邦彥教授於1987年提出的多層階層式神經網路，為最早的深度學習神經網路模型之一。  

**NuPIC平臺與開發工具**
Numenta智能計算機平臺（NuPIC） date=20210506203136 是其中一種可用的 HTM實作 date=20201127090836 。有些是由 Numenta date=20210521014052 提供，有些則是由 HTM開源社群 date=20210426023004 開發和維護。 
NuPIC包括C ++和Python中「空間池化」和「時間記憶」的實現。 它還包括 3個API date=20181005045342  。 用戶可以使用 演算法 date=20200127171033 的直接實現來建置HTM系統，或者使用 網路API date=20200130195009 來建置網路，而網路API是在不同皮層之間用於組建複雜關聯的靈活框架。 
NuPIC 1.0 date=20201109204401 於2017年7月發佈，此後代碼庫進入維護模式。 目前的研究仍在Numenta 研究代碼庫 date=20201215183926 中持續地進行。 

**應用程式**
以下商業應用程式可使用 NuPIC：- Grok – IT伺服器之異常檢測，請參訪 www.grokstream.com date=20220511103852  - Corical.io –進階自然語言處理，請參閱 www.cortical.io date=20210520073222  
NuPIC提供以下工具： - HTM Studio – 使用您自己的資料尋找時間序列中的異常，請訪問 www.numenta.com/htm-studio/ date=20171125061503  - Numenta的異常現象標準檢查程序–將HTM異常與其他異常檢測技術進行比較，請參閱https://numenta.com/numenta-anomaly-benchmark/ date=20170508152722  - HTM用於股票 – 範例的跟蹤異常的股票市場(範例代碼)- 檢測失常行為 – 發現異常的人類行為的範例(白皮書和範例代碼)- 跟蹤地理空間 – 發現在空間與時間中移動的目標之異常現象(白皮書和範例代碼)

**參見**
 Neocognitron- 深度學習 - 卷積神經網路 
*強人工智慧- 人工意識 - 認知架構 - On Intelligence- Memory-prediction framework - 信念修正 - 信念傳播 - 仿生學 - List of artificial intelligence projects - 神經圖靈機 - Multiple trace theory 

**相關型號**
 Hierarchical hidden Markov model- 貝葉斯網路 - 神經網路 

**參考文獻**

**外部鏈接**

**官方**
  Cortical Learning Algorithm overview date=20160411065305  (Accessed May 2013)-  HTM Cortical Learning Algorithms (PDF Sept. 2011)-  Numenta, Inc.-  HTM Cortical Learning Algorithms Archive-  Association for Computing Machinery talk from 2009 by Subutai Ahmad from Numenta-  OnIntelligence.org Forum date=20170416204629 , an Internet forum for the discussion of relevant topics, especially relevant being the  Models and Simulation Topics date=20161127154001  forum.-  Hierarchical Temporal Memory date=20160817083525  (Microsoft PowerPoint presentation)-  Cortical Learning Algorithm Tutorial: CLA Basics date=20201216150035 , talk about the cortical learning algorithm (CLA) used by the HTM model on YouTube

**其他**
  Pattern Recognition by Hierarchical Temporal Memory date=20120106012254  by Davide Maltoni, April 13, 2011-  Vicarious date=20210422205940  Startup rooted in HTM by Dileep George-  The Gartner Fellows: Jeff Hawkins Interview date=20120205134144  by Tom Austin, Gartner, March 2, 2006-  Emerging Tech: Jeff Hawkins reinvents artificial intelligence by Debra D'Agostino and Edward H. Baker, CIO Insight, May 1, 2006-  "Putting your brain on a microchip" by Stefanie Olsen, CNET News.com, May 12, 2006-  "The Thinking Machine" date=20140319225235  by Evan Ratliff, Wired, March 2007-  Think like a human date=20210421030324  by Jeff Hawkins, IEEE Spectrum, April 2007-  Neocortex – Memory-Prediction Framework date=20210204044234  — Open Source Implementation with GNU General Public License-  Hierarchical Temporal Memory related Papers and Books