文档库 最新最全的文档下载
当前位置:文档库 › HTM_CorticalLearningAlgorithms_chn

HTM_CorticalLearningAlgorithms_chn

HTM_CorticalLearningAlgorithms_chn
HTM_CorticalLearningAlgorithms_chn

H IERARCHICAL T EMPORAL M EMORY

including

HTM Cortical Learning Algorithms

层级实时记忆(HTM)脑皮质学习算法

俞天翔译

版本0.2, 12,10,2010

?Numenta, Inc. 2010

对于非商业目的的研究,使用Numenta的软件及知识产权,包括本文档中的观点是免费的。详情参见:https://www.wendangku.net/doc/288701623.html,/about-numenta/licensing.php.

Numenta Translation License

Copyright (c) 2010, 2011 Numenta, Inc.

All rights reserved.

The text, algorithms, sample code, pseudo code and other work included herein are based upon or translated from certain works related to hierarchical temporal memory (“HTM”) technology published by Numenta Inc. Numenta holds the copyright in the original works and patent rights related to HTM and the algorithms translated herein. Numenta has agreed not to assert its patent rights against development or use of independent HTM systems, as long as such development or use is for research purposes only, and not for any commercial or production use. Any commercial or production use of HTM technology that infringes on Numenta’s patents will require a commercial license from Numenta.

Based on the foregoing, Numenta grants you a license to use these algorithms and works for research purposes only and not for any commercial or production use. For purposes of this license, "commercial or production use" includes training an HTM network with the intent of later deploying the trained network or application for commercial or production purposes, and using or permitting others to use the output from HTM technology for commercial or production purposes. Any distribution, publication, or copying of this work must include the full text of this Translation License in both English and the target language.

NO EXPRESS OR IMPLIED LICENSES TO ANY PATENT RIGHTS ARE GRANTED BY THIS LICENSE. NUMENTA SPECIFICALLY DISCLAIMS ANY LIABILITY OR RESPONSIBILITY FOR THE QUALITY OR ACCURACY OF ANY TRANSLATIONS LICENSED HEREUNDER.

Numenta 翻译许可

版权所有 2010,2011 Numenta 有限公司

本公司保留所有权利

此处的文字、算法式、样例代码、伪代码、以及其他形式的工作成果均基于Numenta 有限公司发布的层级实时记忆(HTM)技术。Numenta 享有原始成果的版权和涉及到HTM 及此处算法的专利权。只要是用于研究的非商业的开发和使用,Numenta 同意不追究关于独立的HTM系统的使用及开发专利权。任何侵犯Numenta 专利权的有关HTM技术的商业生产行为都需要授权。

基于上述,Numenta 授予你非商业生产仅用于研究目的的算法及相关成果的使用许可。本许可中的“商业生产用途”包括以发布经过训练的商业生产用途的网络和软件为目的而进行的网络训练,使用或允许他人使用由HTM技术得到的结果进行商业生产。任何发布、出版、复制本成果的文档都需要包含完整的英语及目标语言的“翻译许可"。

本许可没有授予关于任何专利权的明确或暗指的许可。Numenta对于以下得到许可的译文的质量及准确性概不负责。

写在前头

这是本文档的一个草稿版本,你应该知道有一些东西是缺失的。

本文档包括什么

本文档详细描述了由Numenta 于2010开发的新型学习预测算法。看过本算法的介绍的程序员如果需要能够完全理解和实现本算法。本文档将由一个介绍章节开始,如果你以前读过Numenta 的其它技术文档,你会发现介绍章节中的内容十分熟悉,但是其他的内容是新的。

本文档不包括什么

有一些涉及到实现这些新算法的话题并没有被写入到这个早期的草稿中。

-虽然此算法的诸多方面已经实现成软件并经过测试,但详细的测试结果并不包括。

-本文档并不包含如何将此算法应用到实际问题中的说明。缺失的说明是如何将数据从传感器或数据库转化成适用于本算法的离散化数据结构。

-你能够在线学习此算法。一些特殊案例中没有涉及的细节你需要通过在线学习来获得。

-其他预计附加的内容包括有关稀疏离散表征的性能的讨论,关于应用程序和样例的介绍,以及附加内容的相关引文。

我们之所以用这样的形式发布是因为我们认为这将使得大多数人对此算法充满兴趣。

对于积极的研究者,缺少的内容并不会对你理解和实验本算法造成阻碍。我们将定期修订

本文档以反映我们的研究进度。

目录

前言:4第一章: HTM概述7第二章:HTM 脑皮质学习算法19第三章:空间沉积的实现和伪代码34第四章:时间沉积的实现和伪代码39附录 A : 生物神经元细胞与HTM细胞的对比47 附录 B : 新大脑皮层的层与HTM中的层的对比54 术语表65

前言

有许多事情对于人类而言简单,但是计算机目前是无法做到的。诸如视觉模式识别,理解自然语言,认知以及通过触觉操控物体和在复杂环境中行进等任务对于人类而言是简单的。尽管进行了数十年的研究,我们任然未能在计算机上实现和人类一样的行为能力。

对人类而言,这些能力大多数都是由新大脑皮层控制执行。层级实时记忆(HTM)就

是一种模仿新大脑皮层运作的技术。HTM是构建具有接近或超越人类行为水平的智能机器

的保证。

本文档详细描述了HTM技术。第一章是关于HTM的一个总述,概括了层级结构、稀疏离散表征和基于时间的渐进式学习的相关重点。第二章详细描述了HTM脑皮质学习算法。第三、四章介绍了HTM学习算法的两部分,空间数据池和时间数据池的实现伪代码。在学习了二至四章的内容后,有经验的软件工程师可以自己编写本算法的程序。我们希望读者们能走的更远并拓展我们的成果。

目标读者

本文档针对的是具有一定技术和教育基础的读者。我们不假定你具有神经科学的知识,但我们认为你能理解一些数学和计算机科学的概念。我们将本文档撰写成可以用作教学的课堂读物。我们第一理想的读者是计算机科学或认知科学的学生,或者是对构建具有和人脑相同原理的智能认知系统感兴趣的软件开发者。

没有基础的读者任然可以从本文档的某些部分受益,尤其是第一章。

软件发布

我们计划在2011年年中发布基于本文中算法的软件。

涉及的先前文档

部分HTM理论在2004出版的《人工智能的未来》一书,Numenta发布的白皮书以及Numenta 员工撰写的业内文档中均有所介绍。我们不假设你读过先前的文档,其中的大部分

已更新并包括在本文档之中。需要注意的是第二章至第四章的HTM学习算法并没有在先前

的文档中发表过。这个新的算法替代了我们原先称为Zeta 1 的第一代算法。我们曾临时称这

个算法“固定密度的离散表征” (Fixed-density Distributed Representations)或“FDR“,

但我们已经不再使用这个术语。我们称这一新的算法为HTM脑皮质学习算法,或者有时简

称HTM学习算法。

我们鼓励你阅读由Numenta公司的创始人Jeff Hawkins以及Sandra Blakeslee 撰写

的《人工智能的未来》一书。虽然此书中并未提到HTM这一名词,但是它用易读及非技术

性的语言描述了HTM理论及其相关的神经科学知识。在撰写《人工智能的未来》的时候我

们明白了支撑HTM的基本原则,但是我们并不知道如何将其算法化。你可以把本文档当做

《人工智能的未来》的后续。

关于Numenta

Numenta有限公司(https://www.wendangku.net/doc/288701623.html,) 始建于2005年,致力于HTM技术的商业与科学用途的研究工作。为了实现这一目标,我们将探索的成果写成了丰富的文档。我们还将我们的软件以可供他人进行科学与商业开发的形式发布。我们之所以构建这个软件是为了鼓励独立的应用开发团体的出现。以研究为目的使用Numenta的软件及相关知识产权是免费的。我们靠技

术支持,授予软件许可及知识产权的商业开发许可来获利。我们将一直致力于让我们及我们的

开发伙伴获得双赢。

Numenta位于美国加利福尼亚州的红杉城,它是由私人资助的。

关于作者们

此文档是Numenta员工通力合作的结果。每一部分的主要作者将在修订历史记录中给出。

修订历史记录

我们只将有重大改变的版本列举出来,细微的改变将不做记录

第一章:HTM 概述

层级实时记忆是一种以捕捉新大脑皮层的结构与算法特性为目标的机器学习技术。

新大脑皮层在哺乳动物的大脑中对于智能思维有着重要的位置。高级视觉、听觉、触觉、运动、语言以及计划都是新大脑皮层所控制的。看到如此多的认知功能你或许认为新大脑皮层对于每一种功能都有一种对应的神经算发。但是情况正好相反,新大脑皮层的神经回路具有高度的统一性。生物学研究指出,新大脑皮层用一套公用算发去实现许多不同的智能功能。

HTM为理解新大脑皮层及其机能提供了一个理论框架。目前为止我们已经实现了这个理论框架的一小部分。随着时间的迁移,关于本理论更多的部分将被实现。我们相信我们至今已实现了足够的新大脑皮层在商业及研究方面价值的部分内容。

使用HTM编程不同于传统的电脑编程。现今的程序员针对特定的问题编写特定的程序。相对的, HTM通过感知数据流来训练自身。HTM的机能很大程度上是由训练它的数据所决定的。

HTM可以被视为一个神经网络。根据定义,任何试图对新大脑皮层架构细节建模的系统都是一个神经网络。然而,就它本身而言,“神经网络”这一术语并不十分适用,因为它被用于许多系统。个神经网络。然而,就它本身而言,“神经网络”这一术语并不十分适用因为它被用于许多系统。HTM神经元模型(在HTM中称为细胞"cell")是按列,按层,按区域排列的且有等级划分的。这也是为什么把HTM看作一种新型神经网络。

顾名思义,HTM从根本上讲是一个基于记忆的系统。HTM网络被大量具有时间性的数据训练而成,并依赖于储存的大量模式序列。从逻辑上讲HTM的数据存贮访问方式不同于当今程序员使用的标准模型。传统的计算机记忆模型是一种平面的组织结构并且没有考虑时间性。一个程序员可以实现任意的数据组织和结构在计算机内存上。他们能够完全掌控数据怎样储存以及储存到哪。相对而言 HTM的记忆系统就有很多的限制了。HTM的记忆是有等级性的并且是基于性间性的。信息总是被分散式的储存。用户可以指定HTM的等级划分以及用什么样数据去训练,但是HTM控制数据怎样储存以及储存在哪。

尽管HTM网络从实质上讲与传统计算不同,我们仍可以用普通电脑对其进行建模只要我们包含了层级、时间性、稀疏离散表征(稍后介绍)的关键特性。我们相信假以时日,专门用于生成HTM网络的硬件将会诞生。

在本文中我们会经常使用一些人类视觉、触觉、听觉、语言及行为的例子来阐明H TM的特性和规则。这些例子十分有用因为它们直观并且容易理解。但是我们需谨记HTM 能做到的远不止这些。它可以很容易的接受来自非人类感官的输入流,例如雷达和红外线,或者只是纯信息例如金融数据、天气数据、网络信息、文本等。HTM是可以被应用到许多领域的预测机器。

HTM原理

在这部分我们会涉及到HTM的一些核心原理:为什么层级组织结构是重要的,HTM 的区域是如何构建的,为什么数据要以稀疏离散表征的形式储存,为什么基于时间的信息是

关键。

层级性一个HTM网络是由按层级排列的区域所组成的。区域是一个HTM网络的主

要记忆和预测单元,我们将会在下面的部分详细介绍。具有代表性的是每个区域代表层级中

的一个等级。层级会随着等级的上升不断聚合,下级多个子元素将被聚合到一个上级元素中,然而,由于反馈连接的存在,信息也会随着等级的下降不断分流。(层级和区域基本上是

同义词。当描述区域内在功能的时候我们使用“区域”,档描述区域对于整个层级的影响

时我们使用“层级”一词。

图1.1:一个4区域在4层级中如何排列的简单示例,层内信息,层间信息,层级外部

的输入输出

将多个HTM网络组合到一起时可能的。这种结构使得从多个数据源和感受器提供数据变得有意义。举个例子,一个网络可能处理音频信息另一个网络可能处理视觉信息。独立的网络之间存在聚合,并且独立的分支只向上聚合。

图1.2:不同传感器网络的聚合

层级组织结构的好处就是高效率。它显著减少了训练时间和使用的记忆空间,因为每一层级中已学会的模式将以一种新奇的方式在更高的层级中得到重用。为了说明,让我们以视觉为例。在层级的最底层,你的大脑中储存着视觉区域中极小组成部分的信息,例如边和角。边是许多对象组成的基本构件。这些低级模式将会在中级层级中重组成更复杂的模式,例如曲线和条纹。一条弧线可以是耳朵的轮廓,方向盘的上部,咖啡杯的杯把。这些中级模式进一步组合成代表高级对象的模式,例如头、汽车、房子。学习这些新的模式你不需要重学它的构件。

另一个例子,想想当你学习一个新单词的时候,你不需要再学习字母、音节、音素。

层级中共享的表征也导致了预测能力的泛化。当你看见一种新的动物,如果你看到一张

嘴和牙齿你会预测这个动物用他的嘴来进食并且可能会咬你。层级结构使得新对象通过它的子构件来继承它的已知属性。

HTM层级中的一级能学习多少内容?或者换句话说,层级一共需要多少级?每级存储

多少信息和一共需要多少级之间存在一个权衡问题。幸运地是,HTM可以自动从输入和已

分配资源的统计资料中得出最佳的表征分配方式。如果你给某级分配了较多的空间,那级将会构建较大、较复杂的表征,这也就意味着可能需要更少的层级。如果你分配较少的空间,该层级就会构建较小、较简单的表征,这也就意味着可能需要更多的层级。

至此为止我们已经讨论了许多较难的问题,例如视觉识别(“识别”指模式识别)。但

是许多有价值的问题比视觉还要简单,并且一个HTM区域就足以解决。例如,我们用一个HTM网络来预测一个人浏览一个网站的时候下一步可能会点击哪里。这个问题涉及到使用

网络的点击数据流去饲养(训练)HTM网络。在这个问题中仅有一点或者没有空间上的层

级性,解决方案主要需要研究临时的统计数据,也就是通过识别用户典型的操作模式来预测用户下一步点击那里。HTM里的临时学习算法是这类问题的理想选择。

总而言之,层级能减少训练时间,减少使用的记忆空间,并且提供一种普适的框架。然而,许多简单预测问题只用一个层级就能解决。

区域

层级中的区域概念来自于生物学。新大脑皮层是一张约2毫米厚的巨大的神经细胞层。生物学家主要依据这些区域互相的连接方式来把新大脑皮层划分成不同“区域”。一些区域直接从感受器接受输入而另一些区域只接受传经几个区域的输入。层级性的定义就是这种从区域到区域的连通性。

所有新大脑皮层的区域在细节上看起来都是相似的。他们除了尺寸不同和在层级中位置不同之外都是相同的。如果你做个2毫米厚的新大脑皮层的区域横切片,你会看见6层,5层细胞层和1层非细胞层(一般是这样当然也有例外)。新大脑皮层区域的每一层内有许多互相连

12

接的成列的细胞。HTM区域也是由一层成列的高度内联的细胞组成的。新大脑皮层中的“第三层”是神经的主要前馈层之一。HTM区域中的细胞略等于新大脑皮层“第三层”区域中的神经细胞。

图1.3:HTM区域的一部分。HTM区域由许多细胞组成。细胞以成列的二维平面形式组织在一起。图中所示是一个每列4个细胞的HTM区域的一部分。每一列连接到另一子集的输入并且每个细胞和区域中的其他细胞相连(连接未画出)。注意HTM区域以及它的柱状结构等同于新大脑皮层区域中的一层神经细胞。

尽管HTM区域只在一部分上等同于新大脑皮层区域,它可以对复杂的数据流进行识别和预测,因此它可以解决许多问题。

稀疏离散表征

虽然新大脑皮层中的神经元高度连通,抑制神经元保证同一时间只有很少一部神经元处于活跃状态。因此,大脑中的信息总是通过巨大数量的神经细胞中的一小部分活跃细胞来表示。这种编码方式就叫做“稀疏离散表征”。“离散”意味着众多神经元的激活是为了表示一定的事物。一个神经元传达着一定的意义,但它必须被放到数量众多的神经元环境中解释才能传达完整的意义。

HTM区域也使用稀疏离散表征。实际上HTM区域的记忆机制就依赖且仅依赖于稀疏

离散表征。HTM区域的输入总是离散表征,但它可能并不稀疏,所以HTM区域所做的第一

件事就是将输入转化成稀疏离散表征。

13

举个例子,一个区域可能会接收到20000比特(位)的输入。输入位所含的的“0”、“1”百分比会随着时间发生显著的变化。有时可能会含有5000个“1”,有时可能会有9000个“1”。HTM区域可以将输入转换成一个10000位的,只有2%或者200位活跃(即发生变化)的内部表征,无论输入中有多少个“1”。随着时间的变化,HTM区域的输入也会变化,内部表征也会随之改变,但是在10000位中总是只有200位是活跃的。

潜在输入模式的数量远大于区域中潜在表征的数量使得看起来像这一过程导致了大量的信息丢失。然而这两者的数量都是巨大的。一个区域的实际输入只是所有潜在输入的冰山一角。稍后我们将介绍怎样根据一个区域的输入创建一个稀疏表征。理论上信息的丢失不会产生实际影响。

图1.4:一个含有稀疏离散活跃细胞的HTM区域

稀疏离散表征有些令人满意的特性并且是HTM的重要组成部分,我们将在后面再次谈及。

时间的角色

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

让我们先从识别说起。如果没有时间,我们将几乎不能识别任何东西通过我们的触觉和听觉。举个例子,如果你眼睛被蒙上了,有人在你手上放了一个苹果,你可以通过触摸它识别出你手中的物体。当你的手指在苹果上移动时,景观触觉的信息在不断变花,但是对象本身(苹果),和你高级认知中“苹果”这一概念是保持恒定的。然而,如果把一个苹果放在你手掌上并且不允许你用手指去触摸,那么你将很难分辨出它是一个苹果还是一个柠檬。

14

对于听觉这一点同样适用。一个静态的声音只能传达很少的意义。一个单词,例如“苹果”,或者某人嚼碎苹果的声音,只能通过大量快速、连续的基于时间变化的音程来识别

视觉与之相比情况比较特殊。不像触觉和听觉,人类可以识别图像,当他们从眼前一闪而过以至于没有机会给你的眼球转动的时候也是如此。因此,视觉识别不是总是需要基于时间变化的输入。但是在一般情况下我们不断地在移动我们的眼睛、头、身体,而我们观察的对象也在我们周围不停地运动。我们视觉的快速识别能力是一种特殊情况,是长时间训练的结果。视觉、听觉、触觉在一般情况下都需要基于时间变化的输入。

在谈论了识别的一般情况和视觉识别静态图像的特殊情况后,让我们来看看学习。为了能够学习,所有的HTM系统在训练时必须接受基于时间变化的输入。即便是有时能够识别静态的视觉,也必须在学习对象外貌的时候看着变化的图像。举个例子,想象一下有一只狗正在朝你跑来。在任意时刻,这只狗在你的视网膜上形成了一个活跃的模式。你能够理解这些都是同一只狗在不同视角下的不同模式,但是从数学角度讲这些模式是截然不同的。大脑通过连续的观察从而认定这些不同的模式代表着同一只狗。时间在这里扮演着“监督”的角色(应该是“监督型学习算法”中的概念,译者注),告诉你将那些稀疏的模式组合在一起。

需要注意的是感官输入不仅仅是变化的就够了。一系列前后不相关的感官模式只会导致混乱。基于时间变化的输入必选来自同一个对象。仍须注意的是尽管我们用人类感官举例但一般还是多应用在非人类感管上。如果我们想训练HTM去识别来自一个动力装置的温度、振动、噪音传感器的模式,HTM就需要来自这些传感器随时间变化的数据来训练。

一般来说,一个HTM网络需要大量的数据来训练。你学会如何识别狗是通过观察了许多品种的狗的实例,不是仅看了一只狗一眼。HTM算法的工作是学习时间上连续的输入数据流,

换句话说是建立一个能知道某些序列后面跟着哪些序列的模型。这项工作是困难的,因为我们可能不知道序列将从何时开始和结束,并且可能同时还重叠着其他的模式序列,学习就必须连续地进行,并且在有噪音的环境中进行。

学习和识别序列是能够预测的基础。当一个HTM知道一个模式可能跟在哪些模式后面时,他就可以通过当前输入预测下一个模式。稍后我们会涉及更多预测的细节。

15

我们现在回到HTM的四个基本功能:学习、识别、预测和行为(反应)。每一个HTM

区域执行前三项功能:学习、识别和预测。然而行为是不同的。我们从生物学角度可知绝大

多数新大脑皮层区域在形成行为中有着一席之地,但是我们不认为对于许多有趣的应用行为

是必不可少的。因此我们并没有将行为包含在当前HTM的实现中。我们只是为了完整性才

在这里提到它。

学习

一个HTM区域通过发现模式并将它们从传感数据中序列化来了解世界。区域并不“知道”当前输入代表着什么。它处在一个纯粹的统计学领域内。它寻找着经常一起出现的输入位(bit)组合,也就是我们所说的空间模式。接着它研究这些空间模式怎样依次随着时间的变化而出现,也就是我们所说的实时模式或序列。

如果区域的输入来自一栋建筑周围环境的传感器,区域会发现建筑北侧的温度与湿度的组合不同于建筑南侧的。然后它会随着日积月累学会这些组合如何变化。

如果一个区域的输入代表着某家商店的销售,HTM区域会发现某些类型的商品在周末销售,或者是当天气寒冷时的晚上某些价格幅度是受欢迎的。那么它就可以知道紧随在熟悉的序列化模式后出现的各种销售数据。

单个的HTM区域学习能力是有限的。一个区域会根据现有的记忆空间和输入数据的复杂性自动调整学习内容。如果分配给一个区域的记忆空间减少了,这个区域学习的空间模式也会根据需要简化。同样,当区域的记忆空间增加了,学习的空间模式也会相应地复杂化。如果一个区域医学会的空间模式是简单的,那么就需要一个层级结构去理解复杂的信息(前面所提到的每层的空间与层数是个权衡点,译者注)。我们可以从人类视觉系统中看出这一特性。新大脑皮层区域从视网膜接收到只表示视觉区域中很小一部分的空间模式。只有经过好几个层级的组合,空间模式才能表示整个或者绝大部分的视觉区域。

16

正如一个生物系统,HTM区域中的学习算法能够“在线学习”,也就是说它可以通过最新的输入来学习。这里不需要从识别的阶段先划分出一个学习阶段,尽管通过附加的学习可以促进识别。随着输入模式的变化HTM区域也会逐渐发生变化。

经过初始化训练后,一个HTM可以继续学习或者在训练阶段完成后废除学习功能。另一种选择是只关闭最低层级的学习功能,在更高的层级依然继续学习。当一个HTM已经学会其

世界的基本组成结构,更多的学习会发生在层级中的更高级内。如果HTM遇到以前没有见过

的低层级结构,那么HTM将会用更长的时间去学习这些新模式。我们可以从人类身上发现这

一特性。学习一个你已掌握的语言的新单词是相对容易的。然而,如果你尝试学习一个外语中有着不熟悉发音的单词,你会发现这会难很多,因为你不知道这些低层级的发音。

能够简易地发现模式是一种具有潜在价值的能力。能理解市场波动、疾病、天气、制造业中的高级模式,或者复杂系统中的风险,例如电力网,是极具价值的。即便如此,学习空间的实时的模式对识别和预测来说也是一个创举(意思是模式识别其实是个古老的问题,译者注)。

识别

当一个HTM学会了模式之后,它就可以对前所未见的输入进行识别。HTM会在接

收输入的时候与以前学过的空间实时模式进行匹配。新输入与旧序列的成功匹是识别和模

式匹配的关键。

想想你如何识别一段旋律。听到第一个音符之后你只能得到一点信息。第二个音符

显著地缩小了可能性范围但是仍然不够。一般情况下你需要听到3、4个甚至多的音符才

能认出一段旋律。HTM区域的识别与之相似。它时刻注意着输入的数据流并将它们与之

前学过的模式序列进行匹配。HTM区域可以从一个序列的起始处发现匹配,但是多数情

况下这个位置是不固定的,就像你从一段旋律任意处开始都可以识别出来。由于HTM区

域使用离散表征,其对于序列记忆空间的使用和识别比旋律的例子要复杂的多,但是这个

例子有助于我们认识它是如何工作的。

这可能不是显而易见的,但实际上你的感官经验对于你以前的经验来说都是新奇的,

17

即便你可以轻易地发现新奇输入中熟悉的模式。举个例子,你可以理解任何人说的“早餐”

一词,不论他们是年长或是年轻,男性或是女性,语速快还是慢,或者是否带有很重的方言

口音。甚至是你听同一人说“早餐”一百次,你的耳蜗(听觉感受器)也不可能受到两次完

全相同听觉刺激。

HTM区域和你的大脑面临同样的问题:输入可能永远不会重复。所以HTM区域和你的大脑一样必须想办法在识别和训练的时候处理新奇的输入。HTM区域处理新奇输入的一种办法是通过使用稀疏离散表征。稀疏离散表征的一个关键特性就是你只用比较模式中的一部分

就可以断定是否匹配。

预测

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

下面是HTM预测的一些关键特性。

1)预测是连续的

你总是在不停的预测,即使你自己没有意识到。HTM也是如此。当你在听歌的时候你会预测下一个音符。当你下楼梯的时候你会预测你的脚什么时候碰到下一级台阶。当看到投手掷球你会预测球将接近击球手。在HTM区域中,预测和识别基本上是一样的道理。预测不是独立的某一部分,而是贯穿于整个HTM区域的工作机制当中。

2)预测发生在层级中的每一层

如果你有一个HTM区域的层级结构,那么预测会发生在每一层。区域会根据它们已掌握的模式进行预测。以语言为例。低级区域可能会预测下一个音素,而高级区域可能会预测下一个单词或词组。

3)预测对上下文环境是敏感的

预测是基于过去所发生的事,并且和现在正在发生的也有关系。因此一个输入可能会由于先前环境的不同而产生不同的预测。一个HTM区域会根据需要去使用先前的环境,并且

18

上下文环境在时间上可长可短。这种能力被称为“可变顺序记忆”。举个例子,想象一下记忆像葛底斯堡演说这样的演讲。为了预测下一个词,只知道当前的词是远远不够的。在第一句中,单词“and”后面跟着“seven”并且后面又有一个“and”后面跟着

“dedicated”。有时候只是一小段上下文就可以帮助我们预测;知道了“four score and”

就可以帮我们预测出“seven”。而在另外一些时候会存在着重复的词语,并且可能需要一个大时间跨度的上下文才能知道你处于演讲中的什么位置,以及接下来是什么。

4)预测是趋于稳定的

区域的输出就是预测。HTM的特性之一就是区域的输出会变得稳定—变化的更慢,在更高层级驻留时间更长。这些特性是由区域预测的机制造成的。一个区域不是仅仅预测接下来会发生什么。如果它可以,它会提前预测很多步。我们假设一个区域可以提前预测五步。当一个新输入来临,最新预测的那步会改变但是之前预测的四步可能不会改变。结果就是,即便每个新输入都是完全不同的,由于只有一部分输出发生改变,所以使得输出相对于输入更稳定。这一特性反映了我们现实世界的经验,高级意识要比低级意识变化的慢得多,就像一首歌的名称比它实际的音符更难发生改变。

5)预测可以告诉我们一个新输入是否是期望的

每个HTM区域都是一个新鲜事物检测器。因为每个区域都会预测接下来将发生什么,所以当有未预期的事发生的时候它会“察觉”。HTM可以同时预测很多接下来可能的输入。

所以它可能并不能准确预测接下来会发生什么,但是如果下面的输入不符合预测中的任何一个,HTM区域会知道发生了异常。

6)预测有助于增强系统的鲁棒性

当一个HTM预测出接下来会发生什么,预测会使系统识别的结果更倾向于它预测的结果。

举个例子,当一个HTM处理自然语言的时候,它会预测接下来将发出怎样的声音、单词和观点。预测帮助系统补全缺失的信息。如果接收到一个有歧义的声音,HTM会将它识别成它所预期的结果,这样便帮助了系统在噪音中识别。

序列记忆、识别、预测在一个HTM区域中是一个密不可分的整体。它们共同构成一个区域的核心功能。

19

行为

我们的行为会影响我们的感知。当我们转动眼球时,我们的视网膜会接收到变化的感官输入。移动我们的四肢和手指会将变化的触觉输入传输到大脑。几乎我们的一举一动都会影响到我们将感受什么。感官输入和运动行为是紧密联系在一起的。

数十年来主流观点认为新大脑皮层中的一个区域,初级运动区,是运动命令在新大脑皮层中的发源地。随着时间的推移,人们发现新大脑皮层中的大多数区域都有运动输出,甚至是在低级感官区域。它使得整个皮质区域看上去是一个包含感官与运动功能的整体。

我们希望把运动输出添加到当前已实现框架的每个HTM区域中去,因为产生运动输出和产生预测有些相似。然而至今为止所有的HTM实现都是纯感官的,没有一个运动组件。

在实现HTM方面取得的进步

我们在将HTM理论框架转化成实际技术方面已经取得了实质性进展。我们已经实现并测试了几个版本的HTM脑皮质学习算法并且找到了可发布的基本架构。随着我们用新的数据集测试算法,我们会改善算法并且补全缺失的部分。我们会根据我们的工作更新这篇文档。下面三章描述了算法当前所处于的状态。

还有很多理论中的部件没有被实现,包括注意力,区域间的反馈,特殊的计时(specific timing),以及行为/感官-运动机制。这些缺失的部件应该适用于已经建立的框架。

20

相关文档