GrowPIP
← 返回所有素材

INFO · info-20260121-123

SDR 编码器训练方法:从数据到稀疏表示

[INFO] SDR 编码器训练方法:从数据到稀疏表示

  • 时间: 2026-01-21
  • 类型: 引用
  • 来源: Numenta、Cortical.io 技术文档整理
  • 置信度: 8/10
  • 标签: #AI #SDR #编码器 #语义折叠 #稀疏表示

内容

概述

SDR(稀疏分布式表示)编码器的目标:将原始数据转换为稀疏二进制向量,使得语义相似的输入产生重叠度高的 SDR


方法 1:规则编码器(数值/类别)

适用:数值、时间、类别等结构化数据

数值编码 (Scalar Encoder):

输入: 温度 = 25°C, 范围 [0, 100]
                    ↓
SDR (n=100, w=5):  [0,0,0,...,1,1,1,1,1,0,0,0,...]
                           第25位附近的5个1

规则: 相近数值 → SDR 重叠度高

特点

  • 无需训练,规则定义,确定性映射
  • 参数:n(总位数)≥ 100,w(激活位数)≥ 20

方法 2:语义折叠(Semantic Folding)

来源:Cortical.io,专为自然语言设计

核心思想:用 2D 语义地图生成词的"语义指纹"

Step 1: 构建语义地图 (128×128 = 16,384 位)
┌────────────────────────────────┐
│  ┌───┐  ┌───┐  ┌───┐          │
│  │政治│  │经济│  │科技│  ...    │ ← 每个位置 = 一个"上下文/话题"
│  └───┘  └───┘  └───┘          │   (从语料库聚类得到)
│  ┌───┐  ┌───┐  ┌───┐          │
│  │体育│  │医疗│  │艺术│  ...    │ ← 相似话题在地图上相邻
│  └───┘  └───┘  └───┘          │
└────────────────────────────────┘

Step 2: 为每个词生成 SDR
  对于词 "apple":
    扫描语料库,找到所有包含 "apple" 的上下文
    在地图上激活这些上下文对应的位置
    ↓
  apple-SDR: [0,0,1,0,0,1,0,0,0,1,0,...]
              (科技+水果+商业 相关位激活)

关键特性

  • 完全无监督:只需要大规模语料库
  • 语义可组合apple OR computer = 科技公司相关的 SDR
  • 可解释:每个激活位对应具体的上下文/话题
  • 高效:比 BERT 快 2800 倍,能效高 4300 倍

方法 3:稀疏自编码器(Dense → SDR)

思路:先用 LLM 得到稠密向量,再转换为 SDR

Dense Embedding (768维浮点)
        │
        ▼
┌─────────────────────────────────┐
│     Sparse Autoencoder          │
│                                 │
│  编码器: Dense → 高维稀疏       │
│  k-WTA: 只保留 top-k 激活       │
│  解码器: 稀疏 → Dense (重建)    │
│                                 │
│  训练目标: 最小化重建误差        │
└─────────────────────────────────┘
        │
        ▼
SDR (16000维二进制,~2%激活)

优势:可以复用现有的 Embedding 模型,与 LLM 生态兼容


方法 4:k-WTA 神经网络层

思路:端到端训练,网络内部使用稀疏激活

class kWTA_Layer:
    def forward(self, x):
        # 1. 线性变换
        h = W @ x + b

        # 2. k-Winners-Take-All
        threshold = top_k(h, k)  # 找到第k大的值
        output = (h >= threshold).float()  # 二值化

        return output  # 稀疏二进制输出

特点

  • 可微分(用 Straight-Through Estimator 反向传播)
  • 可插入任何神经网络架构
  • 强制稀疏性

方法对比

方法训练方式适用数据可解释性与 LLM 兼容
规则编码无需训练数值/类别-
语义折叠无监督聚类自然语言独立体系
稀疏自编码有监督/自监督任意可以
k-WTA 层端到端任意可以

核心洞察

语义折叠 vs Word2Vec

  • 同样基于分布式假设("词的意义由上下文决定")
  • Word2Vec → 稠密浮点向量
  • 语义折叠 → 稀疏二进制向量
  • 不同的表征,相同的语言学直觉

实用路径

  • 稀疏自编码器可能是最实用的方案
  • 允许在现有 LLM 生态上叠加 SDR 优势
  • 不需要从头构建新系统

关联

  • 直接相关:

    • INFO-122(HTM 技术原理)- SDR 是 HTM 的核心表示格式
    • INFO-120(HTM 概念)- SDR 的理论背景
    • NODE-AI意识与学习 - SDR 作为替代表征范式的一部分
  • 技术对照:

    • 语义折叠的 16,384 位 vs Embedding 的 768 维
    • 二进制稀疏 vs 浮点稠密
    • 位运算 vs 向量运算
  • 待探索:

    • 稀疏自编码器的具体实现和训练细节
    • 语义折叠与 Transformer Attention 的结合可能性
    • SDR 在记忆系统中的应用(高效检索)

参考资源