在脑皮层学习算法 —nupic的深入学习(一)中大致分析了HTM算法的架构,在接下来的篇幅会详细学习空间池和时间池的大概。
首先复习下htm算法的大概经过:
- 构建输入的稀疏离散表征
近端树突接受encoder输入,将二进制的向量变成稀疏离散表征(SDR),柱状区域会全部激活
潜在突触: - 在有先前输入的环境中构建输入的表征
若一个柱状区域被激活,如果有一个或多个细胞已经处于预测状态,激活,否则激活整个柱状区域 - 在有先前输入的环境中根据当前环境构建预测
下面这段话摘自白皮书,说明算法是如何进行预测的
How does a region make a prediction? When input patterns change over time, different sets of columns and cells become active in sequence. When a cell becomes active, it forms connections to a subset of the cells nearby that were active immediately prior. These connections can be formed quickly or slowly depending on the learning rate required by the application. Later, all a cell needs to do is to look at these connections for coincident activity. If the connections become active, the cell can expect that it might become active shortly and enters a predictive state. Thus the feed-forward activation of a set of cells will lead to the predictive activation of other sets of cells that typically follow. Think of this as the moment when you recognize a song and start predicting the next notes.
——–
In summary, when a new input arrives, it leads to a sparse set of active columns. One or more of the cells in each column become active, these in turn cause other cells to enter a predictive state through learned connections between cells in the region. The cells activated by connections within the region constitute a prediction of what is likely to happen next. When the next feed-forward input arrives, it selects another sparse set of active columns. If a newly active column is unexpected, meaning it was not predicted by any cells, it will activate all the cells in the columns. If a newly active column has one or more predicted cells, only those cells will become active. The output of a region is the activity of all cells in the region, including the cells active because of feed-forward inpu