超维时序记忆
VTM (Vector Temporal Memory): 置换编码实现零梯度序列学习
创新点
置换编码实现零梯度序列学习。使用 Permute(循环移位)编码时序位置, 序列中的每个元素通过不同次数的置换与位置绑定,零梯度、零反向传播的序列学习。
代码位置:axoncog-field/src/memory/temporal.rs
编码原理
时序记忆的核心是使用置换操作(循环移位)来编码序列中的时间位置:
序列元素 A -> permute(HV_A, 0) # 位置 0
序列元素 B -> permute(HV_B, 1) # 位置 1
序列元素 C -> permute(HV_C, 2) # 位置 2
序列 HV = superpose(permute(A,0), permute(B,1), permute(C,2))
置换后的 HV 与原 HV 近似正交,但置换逆操作可恢复。这使得时序信息可以被编码到单一的 HV 向量中, 存储开销固定为 1256 字节,运算复杂度为 O(1)。
时序异常检测
支持时序异常检测:偏离历史模式的序列被标记。通过将当前序列的 HV 与历史记忆的 HV 做相似度比较, 相似度低于阈值则判定为异常。这一机制在工业预测性维护、工业安全监控等场景中具有直接应用价值—— 设备运行参数的时序模式偏离历史常态即触发告警。
与传统序列模型的对比
| 维度 | RNN / LSTM | VTM |
|---|---|---|
| 学习机制 | 反向传播 + 梯度下降 | 置换编码 + 叠加 |
| 梯度依赖 | 必需 | 零梯度 |
| 存储开销 | 随序列长度增长 | 固定 1256 字节 |
| 遗忘问题 | 长序列遗忘(梯度消失) | 零遗忘(增量叠加) |
| MCU 可运行 | 不可 | 可(1256B,整数运算) |
无先例性
HV 超维语义代数领域有时序编码研究,但 AxonCog 的工程化时序记忆模块 (含异常检测、上下文记忆)是原创的。