掌桥专利:专业的专利平台
掌桥专利
首页

一种基于微柱自荐的HTM空间池快速训练方法及系统

文献发布时间:2023-06-19 09:29:07


一种基于微柱自荐的HTM空间池快速训练方法及系统

技术领域

本发明涉及人工智能领域,尤其涉及一种基于微柱自荐的HTM空间池快速训练方法及系统。

背景技术

类脑学习是当前人工智能和机器学习领域研究的热点。层级时序记忆HTM(Hierarchical Temporal Memory)是一种通过模拟大脑皮层细胞的组织和机构,模仿人脑对信息的处理机制的机器学习技术。HTM本质上讲是一个基于记忆的系统。HTM网络被大量具有时间性的数据训练而成,存储着大量的模式序列,通过记忆的模式序列预测下一次可能的输入或者利用上一时刻预测检测当前时刻输入是否异常。HTM可以在拥有时序数据的领域中进行预测和异常检测。

与现有的人工神经网络不同,HTM以细胞为基本单位,并使用层级方式进行管理;首先将几个细胞组成一个微柱,再由这些微柱构成HTM网络空间。空间池算法和时间池算法是训练HTM时的两个重要步骤,首先使用空间池算法,从所有微柱中选择出部分被激活微柱以对应当前的输入。再使用时间池算法从这些微柱中选择部分激活的细胞表达输入所处位置信息,通过调整这些活跃细胞上相关的树突分支,构建输入与输入之间的关联,进行学习;同时利用活跃细胞和已构建的树突分支,对下一时刻的输入进行预测。

HTM以输入的稀疏分布表示为基础进行工作,空间池训练算法(spatial poollearning algorithm,SPL)利用赫比规则建立输入编码与微柱突触之间的连接,通过输入编码的有效位激活空间池中的微柱集,实现用空间池微柱的稀疏分布表征来表达输入。在该过程中,希望空间池能够像大脑皮层一样维持一定的灵活性:1、尽可能让空间池的所有微柱都参与输入的表达,2、表达输入的微柱具有一定的稀疏度并散列在空间池中,3、避免微柱与输入产生过多无效的突触连接,4、避免微柱被少量活跃突触激活,5、空间池具有一定的自适应性,应对微柱或输入的损坏。为此空间池训练算法引入了激励规则和抑制规则,设置微柱激活阈值以及维持庞大的突触池,通过多次训练,空间池便可动态调整到所希望的目标,但是维持庞大的突触池会降低空间池训练算法训练效率,激励规则和抑制规则会导致训练结果的不稳定。因此有必要设计新型的空间池池算法,降低HTM空间池训练算法的时间开销,提高空间池训练结果的稳定性。

发明内容

为了解决现有技术中存在的不足,本发明提出了一种基于微柱自荐的HTM空间池快速训练方法及系统,通过基于自荐状态的微柱激活规则以及基于压缩编码的微柱突触调整规则,用以解决HTM空间池训练效率低和空间池训练结果稳定性差的问题。

本发明所采用的技术方案如下:

一种基于微柱自荐的HTM空间池快速训练方法,包括如下步骤:

步骤1,根据输入编码中1分量的位置对编码进行压缩,得到输入序列的压缩编码;

步骤2,利用微柱与压缩编码的重叠值计算微柱的自荐状态,将自荐状态和微柱的承载度信息共同作为微柱的激活依据,构建微柱激活规则,在空间池中形成输入的稀疏分布表征;

步骤3,针对被输入所激活的微柱集,通过基于压缩编码的微柱突触调整规则调整激活微柱中的近端突触,构建输入压缩编码与激活微柱集的映射关系。

步骤4,将被激活的微柱集送入时间池进行训练,构建输入之间的时序关系,并在HTM中形成记忆,HTM根据记忆的内容预测后续的输入。

进一步,步骤1中针对于标量j,获得压缩编码的方法为:

s(j)=(w-k)×j+1

encoder(j)={s(j),s(j)+1,s(j)+2,……s(j)+w}

其中,w代表编码中为1分量的个数,k代表相邻标量编码中1分量的重叠数量,s(j)表达输入编码中为1分量的起始位置,encoder(j)为标量j的压缩编码。

进一步,步骤2中计算微柱与压缩编码的重叠值o

o

其中,active_i表示当前输入通过算法挑选出的活跃微柱的编号,W

进一步,依据微柱与压缩编码的重叠值,计算微柱的自荐状态state(i)的方法为:

其中,o

进一步,步骤2中微柱激活规则为:

步骤2.3.1,针对自荐状态为same的一类微柱,挑选包含当前输入值的微柱进行激活并统计微柱个数记为n1,若n1大于等于a_n,则返回这个激活的微柱集作为输入的表达;否则,在剩余的微柱中随机挑选承载度最低的n2个微柱进行激活,n2取满足约束n1+n2≤o_n的最大值;然后更新这n2个微柱的承载度信息,即在微柱上保存当前输入的内容,并将微柱参与输入的个数增加1。

步骤2.3.2,若在自荐状态为same类的微柱中,激活的微柱数量少于o_n,则在自荐状态为similar的微柱中随机挑选承载度最低的n3个微柱进行激活,n3取满足约束n1+n2+n3≤o_n的最大值;同时更新这n3个微柱的承载度信息,即在微柱上保存当前输入的内容,并将微柱参与输入的个数增加1,这些微柱的近端突触也要根据当前输入的编码进行调整;

步骤2.3.3,在自荐状态为distinct的一类微柱中,随机挑选承载度最低的a_n-n1-n2-n3个微柱进行激活;同时更新这些微柱的承载度信息,即在微柱上保存当前输入的内容,并将微柱参与输入的个数增加1,这些微柱的近端突触也要根据当前输入的编码进行更新;

其中,a_n表示空间池用多少个微柱来表达输入,o_n表述两个相邻输入的微柱集最多重叠多少个微柱。

进一步,步骤3中压缩编码与激活微柱集的映射关系表示为:

W

其中,active_i表示当前输入通过算法挑选出的活跃微柱的编号,W

一种基于微柱自荐的HTM空间池快速训练系统,包括依次连接的压缩编码模块、空间池模块和时间池模块;所述压缩编码模块对输入的序列进行压缩;所述空间池模块包括依次连接微柱激活子模块和微柱突触调整子模块,所述微柱激活子模块用于激活空间池的微柱集,获取输入的稀疏分布表征;所述微柱突触调整子模块用于对微柱上的突触进行调整,构建输入与激活微柱集的映射关系;所述时间池模块用于构建时序序列中输入的前后关系以及对后续输入形成预测。

本发明的有益效果:

1、本发明对HTM空间池的结构进行了重构,在每个微柱中增加所匹配的输入信息,计算微柱的承载度,作为考核微柱在HTM空间池中利用程度的度量,为选择的微柱能够稀疏分布空间池提供支撑。

2、本发明与现有空间池算法主要使用重叠值挑选微柱不同,利用HTM中微柱与输入的重叠值对微柱进行分级,再结合微柱的承载度等信息挑选微柱,增强HTM空间池中选择微柱的均匀性,提高空间池微柱的利用率。

3、本发明与现有空间池算法使用赫比规则调整输入与微柱之间的链接不同,设计基于压缩编码的突触调整规则,在学习新输入时,保护HTM微柱中已有的有效关联信息,从而在保证HTM良好动态适应能力的同时,减少HTM空间池的抖动,提高HTM训练的效率,增强空间池的稳定性。

附图说明

图1为基于微柱自荐的HTM空间池快速训练系统流程图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用于解释本发明,并不用于限定本发明。

如图1所示,一种基于微柱自荐的HTM空间池快速训练系统,包括依次连接的压缩编码模块、空间池模块和时间池模块;所述压缩编码模块对输入的序列进行压缩,并将压缩后得到的压缩编码输入空间池模块;所述空间池模块包括依次连接微柱激活子模块和微柱突触调整子模块,所述微柱激活子模块用于激活空间池的微柱集,获取输入的稀疏分布表征;所述微柱突触调整子模块用于对微柱上的突触进行调整,构建输入与激活微柱集的映射关系;所述时间池模块用于构建时序序列中输入的前后关系以及对后续输入形成预测。

基于上述一种基于微柱自荐的HTM空间池快速训练系统,本发明还提出了一种基于微柱自荐的HTM空间池快速训练方法,该训练方法包括计算输入序列的压缩编码、激活微柱集形成输入的稀疏分布表征、调整微柱树突分支、时间池训练和预测这四个步骤,具体过程如下:

步骤1,计算输入序列对应的编码,构建输入序列的分布特征表示;并根据输入编码中1分量的位置对编码进行压缩,得到输入序列的压缩编码,过程可表示为:

s(j)=(w-k)×j+1

encoder(j)={s(j),s(j)+1,s(j)+2,……s(j)+w}

其中,w代表编码中为1分量的个数,k代表相邻标量编码中1分量的重叠数量,s(j)表达输入编码中为1分量的起始位置,encoder(j)为标量j的压缩编码。

最后将序列的压缩编码输入微柱激活子模块中。

步骤2,在微柱激活子模块中,利用微柱与所输入的压缩编码的重叠值计算微柱的自荐状态,将自荐状态和微柱的承载度信息共同作为激活微柱的依据,构建微柱的激活规则,具体地过程为:

步骤2.1,计算微柱与压缩编码的重叠值o

o

其中,active_i表示当前输入通过算法挑选出的活跃微柱的编号,W

步骤2.2,依据微柱与压缩编码的重叠值,计算微柱的自荐状态state(i),表示为:

o

步骤2.3,依据微柱自荐状态和微柱的承载度构建微柱的激活规则,挑选微柱进行激活,构造输入的稀疏分布表征;微柱的激活规则可表示为:

步骤2.3.1,在每个微柱中增加所匹配的输入信息,计算微柱的承载度,作为考核微柱在HTM空间池中利用程度的度量,为选择的微柱能够稀疏分布空间池提供支撑。针对自荐状态为same的一类微柱,挑选包含当前输入值的微柱进行激活并统计微柱个数记为n1,若n1大于等于a_n,则返回这个激活的微柱集作为输入的表达。否则,在剩余的微柱中随机挑选承载度最低的n2个微柱进行激活,n2取满足约束n1+n2≤o_n的最大值。然后更新这n2个微柱的承载度信息,即在微柱上保存当前输入的内容,并将微柱参与输入的个数增加1。

步骤2.3.2,若在自荐状态为same类的微柱中,激活的微柱数量少于o_n,则在自荐状态为similar的微柱中随机挑选承载度最低的n3个微柱进行激活,n3取满足约束n1+n2+n3≤o_n的最大值。同时更新这n3个微柱的承载度信息,即在微柱上保存当前输入的内容,并将微柱参与输入的个数增加1,这些微柱的近端突触也要根据当前输入的编码进行调整。

步骤2.3.3,在自荐状态为distinct的一类微柱中,随机挑选承载度最低的a_n-n1-n2-n3个微柱进行激活。同时更新这些微柱的承载度信息,即在微柱上保存当前输入的内容,并将微柱参与输入的个数增加1,这些微柱的近端突触也要根据当前输入的编码进行更新。

其中,a_n表示空间池用多少个微柱来表达输入,o_n表述两个相邻输入的微柱集最多重叠多少个微柱。

步骤3,针对被输入所激活的微柱集,根据基于压缩编码的突触调整规则调整激活微柱中的近端突触,构建输入压缩编码与激活微柱集的映射关系,方法可表示为:

W

其中,active_i表示当前输入通过算法挑选出的活跃微柱的编号,W

步骤4,将被激活的微柱集送入时间池进行训练,构建输入之间的时序关系,并在HTM中形成记忆,此时HTM可根据记忆的内容预测后续的输入。

为了更清楚的解释本发明的技术方案,在本实施例中,假设空间池设定用7个微柱形成输入的稀疏分布表征,相邻输入的编码可重叠5个1分量,相邻输入对应的微柱稀疏分布表征可重叠3个微柱,并假设当前输入50进入空间池的训练过程:

首先通压缩编码过程,形成输入50的编码为{101,102,103,104,105,106,107}。

通过X的压缩编码与所有微柱的重叠值,计算每一个微柱的自荐状态:same、similar、distinct,通过微柱自荐状态,可以将空间池中的微柱分为三个级别的集合U

更新这些激活微柱的承载度信息,在每个激活的微柱中增加输入50的信息,并将激活微柱的参与个数增加1.

调整这些激活微柱的突触,将50的编码信息加载到激活微柱的突触上。

至此,我们完成了对于输入50的训练过程。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示意性实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

以上实施例仅用于说明本发明的设计思想和特点,其目的在于使本领域内的技术人员能够了解本发明的内容并据以实施,本发明的保护范围不限于上述实施例。所以,凡依据本发明所揭示的原理、设计思路所作的等同变化或修饰,均在本发明的保护范围之内。

相关技术
  • 一种基于微柱自荐的HTM空间池快速训练方法及系统
  • 一种基于RGB色彩空间的微流血型检测卡微腔反应池精密定位方法
技术分类

06120112188812