重新思考AI模型中的学习动态:基于实验的早期理论

发布: (2026年1月15日 GMT+8 11:39)
4 min read
原文: Dev.to

Source: Dev.to

深度学习中的核心假设

  • 典型观点: 最小化损失 → 提升性能。
  • 观察到的现象: 仅仅最小化损失并不总是与有意义的表征学习相关,尤其是在训练的早期阶段。

提出的想法

表征不稳定阶段 —— 梯度首先优化表层模式,随后才出现稳定的内部抽象。
我不确定这个现象是否已有名称,或者我把训练噪声误认为了结构。

实证观察

训练阶段观察到的行为
早期 epoch嵌入向量高度波动
中期训练表征突然出现聚类
后期训练即使损失改进放缓,嵌入仍然趋于稳定

这些动态是在对合成数据训练一个小型类 Transformer 模型时,通过记录中间层激活得到的。

训练循环示例

for epoch in range(num_epochs):
    optimizer.zero_grad()

    outputs = model(inputs)
    loss = criterion(outputs, targets)

    loss.backward()
    optimizer.step()

    # Track embedding norm without gradients
    with torch.no_grad():
        embedding_norm = model.encoder.weight.norm().item()

    print(f"Epoch {epoch} | Loss: {loss.item():.4f} | Embedding Norm: {embedding_norm:.2f}")

注意: 嵌入范数和余弦相似度的变化幅度远大于损失值,尤其是在训练初期。

余弦相似度追踪器

prev_embedding = None
for epoch in range(num_epochs):
    current_embedding = model.encoder.weight.clone().detach()

    if prev_embedding is not None:
        similarity = cosine_similarity(
            prev_embedding.view(-1),
            current_embedding.view(-1)
        )
        print(f"Epoch {epoch} | Embedding Stability: {similarity.item():.4f}")

    prev_embedding = current_embedding

相似度分数起初波动剧烈,随后即使损失改进变得微乎其微,也会收敛到约 0.98–0.99。

工作假设

  • 梯度下降 最初倾向于优化捷径,而非语义结构。
  • 随后 收敛到稳健且可泛化的表征。

潜在影响

  • 提前停止 可能会阻止有意义的抽象形成。
  • 某些 过拟合阶段 可能是表征形成所必需的。
  • 正则化 可能会延迟而非阻止表征坍塌。

未解之问

  1. 数据集规模: 这是否是小数据集的伪象?
  2. 已有理论: 这是否与损失景观平坦性、模式连通性或信息瓶颈等概念相吻合?
  3. 度量指标: 是否有比损失更好的指标来追踪学习质量?
  4. 噪声 vs. 结构: 我是否把偶然的对齐误认为了新兴结构?
  5. 正式认知: “不稳定 → 抽象 → 稳定” 的模式在文献中是否已有正式的认定?

我更倾向于把这当作一个问题而非声明。非常感谢任何关于该推理可能出现的漏洞——或如何更严谨地表述它的见解。

Back to Blog

相关文章

阅读更多 »