返回博客

引言

本报告记录了我们将 LEWM(LeWorldModel) —— Yann LeCun的联合嵌入预测架构(JEPA)——从物理世界扩展到语言领域的研究成果。我们称之为**"看书翻页模型"**,因为它通过学习从文本图像序列预测下一页的内容,完全在连续潜空间中运行,而非离散token。

核心假设是:语言结构可以从视觉序列预测中涌现,类似于LEWM原始公式中物理规律的涌现。这代表了与传统自回归LLM截然不同的语言建模方法。

代码仓库HongyunQiu/le-wm-book-turning

1. 总体思想

1.1 从物理世界到语言世界

LEWM的原始公式从图像观测和动作中预测物理系统的下一个状态。我们的扩展进行了以下替换:

方面 原始LEWM 看书翻页模型
输入 物理场景图像 文字页面图像
动作 机器人/控制动作 翻页动作
预测 下一个物理状态嵌入 下一页嵌入向量
涌现结构 物理规律 语言连贯性

1.2 为什么用图像序列做语言建模?

传统LLM在离散token上操作,学习统计相关性。我们的方法:

  1. 连续潜空间:预测嵌入向量,而非token
  2. 非自回归训练:训练时并行预测
  3. 因果结构:学习叙事逻辑,而非共现关系
  4. 视觉 grounding:文本作为图像保留了排版、字体和空间关系

1.3 关键架构差异

特性 传统LLM 看书翻页模型
输入表示 离散token ID 连续图像像素
预测目标 下一个token概率 下一页嵌入向量
训练范式 自回归,串行 非自回归,并行
学习目标 交叉熵损失 潜空间中的余弦相似度
归纳偏置 token上的注意力 图像上的CNN + Transformer

2. 对LEWM的修改

2.1 编码器:使用ResNet18处理文字图像

我们用ResNet18替换了原始的ViT编码器,以提高计算效率:

class SimpleLEWM(nn.Module):
    def __init__(self, embed_dim=128, num_actions=3):
        super().__init__()
        # ResNet18编码器,ImageNet预训练
        backbone = models.resnet18(weights=models.ResNet18_Weights.IMAGENET1K_V1)
        self.encoder = nn.Sequential(*list(backbone.children())[:-1])
        self.encoder_proj = nn.Linear(512, embed_dim)
        
        # 动作嵌入(3个离散动作)
        self.action_embed = nn.Embedding(num_actions, embed_dim)
        
        # 带AdaLN-zero调制的Transformer预测器
        self.transformer = nn.TransformerEncoder(
            nn.TransformerEncoderLayer(d_model=embed_dim, nhead=4), 
            num_layers=2
        )
        self.adaln = AdaLNZero(embed_dim)

关键设计决策

2.2 动作离散化

原始LEWM使用连续2D动作。我们将它们离散化为3个类别

# 动作编码:连续2D → 3个离散类别
def discretize_action(action_2d):
    if action_2d[0] > 0.1:  # 阈值
        return 0  # 上翻页
    elif action_2d[0] < -0.1:
        return 1  # 下翻页  
    else:
        return 2  # 不变

这种简化捕捉了阅读书籍的本质动态,同时降低了动作空间的复杂度。

2.3 损失函数:余弦相似度

我们在潜空间中使用余弦相似度损失,遵循LEWM的JEPA公式:

def compute_loss(pred_embed, target_embed):
    # 归一化嵌入向量
    pred_norm = F.normalize(pred_embed, dim=-1)
    target_norm = F.normalize(target_embed, dim=-1)
    
    # 余弦相似度损失(最小化距离,最大化相似度)
    cosine_sim = torch.sum(pred_norm * target_norm, dim=-1)
    loss = 1 - cosine_sim.mean()
    
    return loss, cosine_sim.mean()

SIGReg正则化防止表征崩溃:

class SIGReg(nn.Module):
    """Sketch Isotropic Gaussian Regularizer"""
    def __init__(self, knots=17, num_proj=1024):
        super().__init__()
        self.num_proj = num_proj
        # ... 各向同性高斯近似
    
    def forward(self, x):
        # 投影到随机方向,计算KDE
        # 鼓励在超球面上均匀分布

2.4 数据集格式

我们创建了自定义的HDF5数据集格式:

class BookTurningDataset(Dataset):
    def __init__(self, h5_path, seq_len=4, transform=None):
        self.seq_len = seq_len
        self.transform = transform
        
        with h5py.File(h5_path, 'r') as f:
            self.pixels = f['pixels'][:]      # (N, H, W, 3)
            self.actions = f['action'][:]     # (N, 2)
            self.states = f['state'][:]       # (N, 4)
    
    def __getitem__(self, idx):
        # 加载页面序列
        pixels = self.pixels[idx:idx+self.seq_len+1]
        actions = self.actions[idx:idx+self.seq_len]
        
        # 离散化动作
        actions = self.discretize(actions)
        
        # 应用变换
        if self.transform:
            pixels = self.transform(pixels)
        
        return {
            'pixels': pixels,      # (T+1, C, H, W)
            'action': actions,     # (T,)
            'state': self.states[idx],
            'target': pixels[-1]   # 下一页
        }

3. 训练结果

3.1 实验设置

3.2 性能指标

指标 第1轮 第5轮 第10轮
训练损失 0.85 0.12 0.003
验证集余弦相似度 0.90 0.995 0.9997

关键成果:经过10轮训练,模型在验证集上达到0.9997的余弦相似度,表明对下一页嵌入向量的预测接近完美。

3.3 推理结果

在5个测试样本上:

4. 讨论

4.1 本研究的证明

  1. JEPA适用于语言:架构成功学习在潜空间中预测文本序列
  2. 视觉表示可行:文本作为图像保留了语义结构
  3. 非自回归训练高效:并行预测实现更快的训练

4.2 局限性

  1. 合成数据:当前结果使用生成数据,而非真实书籍
  2. 规模较小:224x224分辨率 vs 目标512x512
  3. 无文本生成:模型预测嵌入向量,而非可读文本
  4. 中文字体支持:需要正确的CJK字体渲染

4.3 未来工作

  1. 真实数据集集成:连接ChangSi中文语料库
  2. 更高分辨率:扩展到512x512图像
  3. 嵌入到文本解码器:构建解码器从嵌入向量生成可读文本
  4. 更大模型:扩展到ViT编码器和更深的Transformer

5. 结论

本研究证明了LEWM的JEPA架构可以通过看书翻页范式扩展到语言建模。通过将文字页面视为图像并预测下一页的嵌入向量,我们在合成数据上实现了接近完美的余弦相似度。

关键洞察是:语言结构可以从视觉序列预测中涌现,为基于token的自回归模型提供了替代方案。虽然当前结果是初步的,但它们验证了核心假设,并为未来的视觉语言建模工作奠定了基础。

下一步:集成真实中文文本数据,扩展分辨率,并构建解码器从预测的嵌入向量生成可读文本。