階層式時序記憶

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

HTM的精髓在於其学习演算法可以進行儲存、學習、推論和長序列回憶。与大多数其他机器学习方法不同，HTM會连续地（以无监督方式）在未标记資料中学习基於時間的模式（patterns）。 HTM对雜訊具有強健性，并且具有高容量，这意味着它可以同时学习多种模式。 当应用于计算机时，HTM非常适合用于预测、检测异常、分类以及最終感覺動作的應用。 

透過的範例應用程式和Numenta合作伙伴的一些商業化應用程式，该理论已经在軟體中完成了测试和实现。

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

每个HTM区域都具有相同的基本功能。 在学习和推理模式下，感觉資料（例如，来自眼睛的資料）进入最低級的区域。在生成模式下，低級区域输出给定类别的生成模式。高級区域通常有一个区域，儲存著最普遍、最常駐类别（概念），这些类别會形成低等級別中较小的概念，或是由這些小概念所形成，这些概念在时间和空间上受到更大的限制。當设置在推理模式时，区域（在每个级别中）会将来自其较低级别的子區域資訊，解释为它在記憶中所屬类别之機率。 

每個 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），以及序列記憶演算法：學習怎去表示和预测复杂序列。 

在新一代演算法中， 大脑皮层的层和得到了解决，并进行了部分建模。每个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
深度学习
人工神经网络