层级时间记忆(HTM)是一种由Numenta公司开发的、受生物学约束的机器智能技术。该技术最初在2004年杰夫·霍金斯与桑德拉·布莱克斯利合著的《论智能》一书中被描述,如今主要用于流数据中的异常检测。HTM基于神经科学,以及哺乳动物(尤其是人类)大脑新皮层中锥体神经元的生理学及其相互作用。
HTM的核心是能够存储、学习、推断和回忆高阶序列的学习算法。与大多数其他机器学习方法不同,HTM在无监督过程中持续学习未标记数据中基于时间的模式。HTM对噪声具有鲁棒性,且容量高(能同时学习多种模式)。应用于计算机时,HTM非常适合预测、异常检测、分类,并最终用于感知运动应用。
结构与算法
典型的HTM网络是一个树状层级结构(不要与下文所述的新皮层“层”混淆)。这些层级由称为区域(或节点)的较小元素组成。层级中的单个层级可能包含多个区域。较高层级通常区域较少。较高层级可以通过组合较低层级学到的模式来记忆更复杂的模式,从而重用这些模式。
每个HTM区域具有相同的基本功能。在学习与推断模式下,感官数据(例如来自眼睛的数据)进入底层区域。在生成模式下,底层区域输出给定类别的生成模式。顶层通常有一个单一区域,存储最一般、最持久的类别(概念);这些概念决定或由较低层级中更受时空限制的较小概念决定。当设置为推断模式时,区域(在每个层级中)将来自其“子”区域的信息解释为其记忆中类别的概率。
每个HTM区域通过识别和记忆空间模式(即经常同时出现的输入位组合)来学习。然后,它识别出可能依次出现的空间模式的时间序列。
作为演进中的模型
HTM是杰夫·霍金斯“千脑理论”的算法组成部分。因此,关于新皮层的新发现会逐步纳入HTM模型,模型随时间响应而变化。新发现不一定否定模型的先前部分,因此一代思想不一定在其后继中被排除。由于理论的演进性质,HTM算法已有几代,简要描述如下。
第一代:zeta 1
第一代HTM算法有时称为zeta 1。
#### 训练
训练期间,节点(或区域)接收空间模式的时间序列作为输入。学习过程包括两个阶段:
空间池化识别输入中频繁观察到的模式,并将其记忆为“重合”。彼此显著相似的模式被视为同一重合。大量可能的输入模式被缩减为可管理的已知重合数量。
时间池化将训练序列中可能依次出现的重合划分为时间组。每组模式代表输入模式的“原因”(在《论智能》中称为“名称”)。
空间池化和时间池化的概念在当前HTM算法中仍相当重要。时间池化尚未被充分理解,其含义随时间(随着HTM算法演进)而改变。
#### 推断
推断期间,节点计算模式属于每个已知重合的概率集合。然后,它计算输入代表每个时间组的概率。分配给组的概率集合称为节点对输入模式的“信念”。(在简化实现中,节点的信念仅包含一个获胜组)。此信念是推断的结果,传递给层级中下一较高层级的一个或多个“父”节点。
节点“意外”的模式不属于任何时间组的主导概率,而是对多个组具有几乎相等的概率。如果模式序列与训练序列相似,则分配给组的概率不会随接收模式而频繁变化。节点的输出变化不大,时间分辨率丢失。
在更一般的方案中,节点的信念可以发送到任何层级任何节点的输入,但节点之间的连接仍是固定的。较高层级节点将此输出与其他子节点的输出组合,从而形成自己的输入模式。
由于如上所述在每个节点中空间和时间分辨率丢失,较高层级节点形成的信念代表更广泛的空间和时间范围。这旨在反映人类大脑感知的物理世界组织。较大概念(例如,原因、动作和对象)被认为变化较慢,由变化较快的较小概念组成。杰夫·霍金斯假设大脑演化出这种层级结构以匹配、预测并影响外部世界的组织。
关于Zeta 1 HTM功能的更多细节可在Numenta的旧文档中找到。
第二代:皮层学习算法
第二代HTM学习算法,通常称为皮层学习算法(CLA),与zeta 1截然不同。它依赖于一种称为稀疏分布式表示的数据结构(即元素为二进制1或0,且1位数量远少于0位数量的数据结构)来表示大脑活动,以及更符合生物现实的神经元模型(在HTM上下文中也常称为细胞)。这一代HTM有两个核心组件:一个空间池化算法,输出稀疏分布式表示(SDR),以及一个序列记忆算法,学习表示和预测复杂序列。
在这一代中,大脑皮层(cerebral cortex)的层和微柱被部分建模。每个HTM层(不要与上述HTM层级混淆)由许多高度互连的微柱组成。HTM层从其输入创建稀疏分布式表示,使得对于任何给定输入,固定数量的位处于激活状态。此表示随后被馈送到序列记忆,后者随时间学习模式之间的转换。序列记忆使用受锥体神经元启发的神经动力学形式,包括远端树突和突触可塑性。
应用与实现
HTM已通过Numenta的示例应用和Numenta合作伙伴的少数商业应用在软件中测试和实现。主要商业用例是流数据中的异常检测,如服务器指标、金融交易或传感器读数。HTM无需标记数据即可持续学习的能力使其适合实时系统中检测异常模式。Numenta已发布开源实现,包括NuPIC(Numenta智能计算平台)库,该库提供构建基于HTM系统的工具。虽然不如深度学习方法广泛采用,但HTM已在在线学习和噪声鲁棒性至关重要的专业应用中使用。
与其他AI方法的关系
HTM与主流人工智能方法(如深度学习和基于Transformer (architecture)的模型)有根本不同。深度学习通常需要大量标记数据和离线训练,而HTM在无监督方式下持续学习。Transformer为大型语言模型提供动力,依赖注意力机制,并非以相同方式受生物学启发。HTM对时间序列和层级结构的关注更接近大脑中神经计算的理论。然而,HTM尚未达到深度学习的商业成功水平,其在自然语言处理等复杂任务上的可扩展性仍有限。Numenta(公司)等机构的研究人员继续发展该理论,但HTM在机器学习中仍是一个小众领域。