HTM学习笔记

层级实时记忆(Hierarchical Temporal Memory,HTM)脑皮质学习算法(Cortical Learning Algorithms)。文章内容概要


HTM概述(HTM Overview)

引言

HTM模仿新大脑皮层结构。

  • 新大脑皮层是智能思维产生的地方。
  • 高级视觉、听觉、触觉、运动、语言及计划都受新大脑皮层控制。
  • 新大脑皮层的神经回路具有高度的统一性,用一套公用算法去实现诸多不同的智能。

HTM为理解新大脑皮层及其机能提供了一个理论框架,目前仅实现了其中的一小部分。

HTM可以被视为一个神经网络。HTM神经元模型(在HTM中称为:细胞)是按列、按层、按区域排列的,且有等级划分。

HTM从根本上将是一个基于记忆的系统。传统的计算机记忆模型是一种平面的组织结构并且没有考虑时间性;HTM的记忆是有等级性的并且本质上是基于时间的,信息总是以分散模式存储。

HTM不仅可以接受人类视觉、触觉、听觉、语言及行为等输入流;还可接受来自非人类感官的输入流,例如雷达和红外线, 或者只是纯信息例如金融数据、天气数据、网络信息、文本等。

HTM原理(HTM Principles)

层级性(Hierarchy)

一个HTM网络是由按层级排列的区域组成的,区域是一个HTM网络的主要记忆和预测单元。层级和区域基本上是同义词,当描述内在功能时使用“区域”,当描述区域对整个层级的影响时,使用“层级”。
图1-1 一个四区域在四层级HTM中的排列

组合多个HTM网络,使得处理来自不同感受器的数据变为可能且更有意义。
图1-2 组合多个HTM网络

层级组织结构的好处就是高效。它显著减少了训练时间和使用的记忆空间,因为每一层级中已学会的模式将以一种新奇的方式在更高的层级中得到重用。以视觉为例,在层级的最底层,存储着视觉区域中极小组成部分的信息,如边和角。这些低级模式在中层级中重组成更复杂的模式,如曲线和条纹。这些中级的模式进一步组合成代表高级对象的模式,如物体。

HTM中需要多少层级,每层级存储多少信息存在一个权衡问题。然而,HTM可以自动从输入和已分配资源的统计资料中得出最佳的表征分配方式。

区域(Regions)

新大脑皮层是一张约2mm厚的巨大的神经细胞层,根据区域相互间的连接方式将其划分为不同的区域。

  • 新大脑皮层的区域在细节上看起来是相似的,不同的是尺寸及其在层级中的位置。
  • 新大脑皮层区域的每一层内有许多相互连接成列的细胞。
  • 新大脑皮层中的“第三层”是神经的主要前馈层之一。

HTM的区域也是由一层成列的高度内联的细胞组成;HTM区域中的细胞略等于新大脑皮层“第三层”区域中的神经细胞。
图1-3 HTM区域的一部分

HTM区域由许多细胞组成,细胞以成列的二维平面形式组织在一起。上图中为一个每列含4个细胞且每一列连接到另一子集的输入,每个细胞和区域中的其它细胞相连。HTM区域以及它的柱状结构等同于新大脑皮层区域中的一层神经细胞。

稀疏分布表示(Sparse Distributed Representations)

大脑中的信息总是通过巨大数量的神经细胞中的一小部分活跃细胞来表示,这种编码方式叫做“稀疏分布表示”

HTM的区域也使用稀疏分布表示,HTM的记忆机制依赖于且仅依赖于稀疏分布表示。HTM区域的输入总是离散表征,但可能并不稀疏,所以HTM区域所做的第一件事就是输入稀疏化。

图1-4 一个含有稀疏分布活跃细胞的HTM区域

时间的角色(The role of time)

时间在学习、推理和预测中扮演着举足轻重的角色。

  • 视觉、听觉、触觉在一般情况下都需要基于时间变化的输入。
  • HTM的任务是学习时间上连续的输入数据流,换句话说是建立一个能知道某些序列后面跟着哪些序列的模型。

HTM的主要功能包括:学习、推理、预测、行为(反应)。但至今每一个HTM区域只执行前三种功能。

学习(Learning)

  • 一个HTM区域通过发现模式并将它们从传感器数据中序列化来了解世界。

    区域并不“知道”当前输入代表着什么,它寻找着一起出现的输入位(bit)组合,也就是我们所说的空间模式。接着它研究这些空间模式怎样依次随着时间的变化而出现,也就是我们所说的实时模式或序列。

  • 单个HTM区域的学习能力是有限的。

    如果一个区域学习的空间模式是简单的,那么就需要一个层级结构来理解复杂信息。

  • HTM区域中的学习算法能够“在线学习”。

    也就是HTM可以通过最新的输入学习。

进过初始化训练后,一个 HTM 可以继续学习或者在训练阶段完成后废除学习功能。另一种选择是只关闭最低层级的学习功能,在更高的层级依然继续学习。当一个 HTM已经学会其世界的基本组成结构,更多的学习会发生在层级中的更高层级内。如果 HTM 遇到以前没有见过的低层级结构,那么HTM将会用更长的时间去学习这些新模式。我们可以从人类身上发现这一特性。学习一个你已经掌握的语言的新单词是相对容易的。然而,如果你尝试学习一个外语中有着不熟悉发音的单词,你会发现这会难很多,因为你不知道这些低层级的发音。

推理(Inference)

当一个HTM学会了模式后,就可以对前所未见的输入进行推理。HTM会在接收输入时与以前学过的空间实时模式进行匹配。

HTM区域与大脑面临相同的问题:输入可能永远不会重复。所以HTM区域和大脑一样必须想办法在训练和推理的时候处理新奇的输入。HTM区域处理新奇输入的方法是采用稀疏分布表示,即比较模式中的一部分来判断是否匹配。

预测(Prediction)

HTM的每一个区域都存储着模式序列。通过当前输入和存储序列的比较,一个区域会形成对接下来输入可能是什么的预测。HTM区域实际上存储的是稀疏分布表示的渐变。在一些实例中,这中渐变可以看做是一种线性序列,就像一段旋律中的音符,但是在多数情况下会同时预测多个可能的输入。HTM区域会依据可追溯到很久之前的上下文环境来产生不同的预测。HTM中大多数空间都被用来存储序列或者存储空间模式之间的渐变。

HTM的预测的关键特性:

  1. 预测是连续的
    当人听歌时,会预测下一个音符;当人下楼梯时,会预测脚在什么时候碰到下一级台阶……,HTM如人一样总是在不停地预测。在HTM区域中,预测不是独立的某一部分,而是贯穿于整个工作机制当中。

  2. 预测发生在层级中的每一层
    HTM的每一层都在预测,如低级区域可能会预测下一个音素,而高级区域可能会预测下一个单词或词组。

  3. 预测对上下文环境是敏感的
    预测是基于过去发生的事,并与现在正在发生的有关。一个HTM区域会根据需要使用先前的环境,并且上下文环境在时间上可长可短(被称为:可变顺序记忆)。

  4. 预测是区域稳定的
    区域的输出就是预测,HTM的特性之一就是区域的输出会变得稳定,在更高层级驻留更长时间。一个区域不仅仅预测接下来发生什么,可以预测的更远。如现实世界中一样,高级意识比低级意识变化的慢得多。

  5. 预测可以告诉我们一个新输入是否是期望的
    每个HTM区域都是一个新鲜事物检测器。因为每个区域都会预测接下来将发生什么,所以当有未预期的事发生时,HTM就会“察觉”。

  6. 预测有助于增强系统的鲁棒性
    预测会使系统推理的结果更倾向于它预测的结果。

行为(Behavior)

我们的行为会影响我们的感知。当我们转动眼球时,视网膜会接收到变化的感官输入,几乎我们的一举一动都会影响到我们所感受到的。感官输入和运动行为是紧密联系在一起的。

新大脑皮层中的大多数区域甚至是在低级感官区域都有运动输出,而不仅仅是初级运动区。

迄今为止,所有的HTM实现都是纯感官的,没有一个运动组件。

HTM脑皮质学习算法

术语(Terminology)

与神经系统科学中的术语概念存在偏差,具体见附录。

细胞的状态(Cell States)

HTM的细胞有三种输出状态:由前馈输入激活(active from feed-forward input)、由横向输入激活(active from lateral input,表示预测)、非激活(inactive)。第一种相当于神经元中动作电位的第一个段脉冲,第二种相当于神经元中较缓慢、较平稳的动作电位。

树突段(Dendrite Segments)

突触(Synapses)

综述(Overview)

共有的概念(Shared Concepts)

二值权重(Binary Weights)

联通值(Permanence)

树突段(Dendrite Segments)

潜在突触(Potential Synapses)

学习(Learning)

空间沉积池概念(Spatial Pooler Concepts)

空间沉积池细节(Spatial Pooler Details)

时间沉积池概念(Temporal Pooler Concepts)

时间沉积池细节(Temporal Pooler Details)

单一源与可变源的序列与预测(First order versus variable order sequences and prediction)



参考文献

发布了84 篇原创文章 · 获赞 130 · 访问量 41万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览