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

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

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



結構與算法

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

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

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



持續發展

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

第一代：Zeta 1

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

訓練

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

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

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

第二代：皮層學習演算法

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

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

第三代：感覺運動推理

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



神經元模型的比較



比較 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） （頁面存檔備份，存於網際網路檔案館）是其中一種可用的 HTM 實作 （頁面存檔備份，存於網際網路檔案館）。有些是由 Numenta （頁面存檔備份，存於網際網路檔案館）提供，有些則是由 HTM 開源社群 （頁面存檔備份，存於網際網路檔案館）開發和維護。

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

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



應用程式

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


* Grok – IT 伺服器之異常檢測，請參訪 www.grokstream.com （頁面存檔備份，存於網際網路檔案館）

* Corical.io –進階自然語言處理，請參閱 www.cortical.io （頁面存檔備份，存於網際網路檔案館）

NuPIC 提供以下工具：


* HTM Studio – 使用您自己的資料尋找時間序列中的異常，請訪問 www.numenta.com/htm-studio/ （頁面存檔備份，存於網際網路檔案館）

* Numenta 的異常現象標准檢查程序–將 HTM 異常與其他異常檢測技術進行比較，請參閱 https://numenta.com/numenta-anomaly-benchmark/ （頁面存檔備份，存於網際網路檔案館）

* HTM 用於股票 – 範例的跟蹤異常的股票市場 (範例代碼)

* 檢測失常行為 – 發現異常的人類行為的範例 (白皮書和範例代碼)

* 跟蹤地理空間 – 發現在空間與時間中移動的目標之異常現象 (白皮書和範例代碼)



參見


* 新認知機

* 深度學習

* 卷積神經網路

* 強人工智慧

* 人工意識

* 認知架構

* 《智能時代》

* 記憶預測框架

* 信念修正

* 信念傳播

* 仿生學

* 人工智慧項目清單

* 神經圖靈機

* 多跡理論

相關型號


* 階層式隱馬可夫模型

* 貝葉斯網路

* 神經網路



參考文獻



外部連結

官方


* Cortical Learning Algorithm overview （頁面存檔備份，存於網際網路檔案館） (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 （頁面存檔備份，存於網際網路檔案館）, an Internet forum for the discussion of relevant topics, especially relevant being the Models and Simulation Topics （頁面存檔備份，存於網際網路檔案館） forum.

* Hierarchical Temporal Memory （頁面存檔備份，存於網際網路檔案館） (Microsoft PowerPoint presentation)

* Cortical Learning Algorithm Tutorial: CLA Basics （頁面存檔備份，存於網際網路檔案館）, talk about the cortical learning algorithm (CLA) used by the HTM model on YouTube

其他


* Pattern Recognition by Hierarchical Temporal Memory （頁面存檔備份，存於網際網路檔案館） by Davide Maltoni, April 13, 2011

* Vicarious （頁面存檔備份，存於網際網路檔案館） Startup rooted in HTM by Dileep George

* The Gartner Fellows: Jeff Hawkins Interview （頁面存檔備份，存於網際網路檔案館） 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" （頁面存檔備份，存於網際網路檔案館） by Evan Ratliff, Wired, March 2007

* Think like a human （頁面存檔備份，存於網際網路檔案館） by Jeff Hawkins, IEEE Spectrum, April 2007

* Neocortex – Memory-Prediction Framework （頁面存檔備份，存於網際網路檔案館） — Open Source Implementation with GNU General Public License

* Hierarchical Temporal Memory related Papers and Books