阶层式时序记忆

阶层式时序记忆 （ 英语：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 。 
训练.
在训练过程中，节点（或区域）接收空间模式的时间序列作为其输入。 学习过程包括两个阶段： 
在当前的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和神经元之间的差异包括： 
与其他模型的相似性.
贝叶斯网路.
类似于贝叶斯网路 ，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：
NuPIC提供以下工具：