重新思考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。
工作假设
- 梯度下降 最初倾向于优化捷径,而非语义结构。
- 随后 收敛到稳健且可泛化的表征。
潜在影响
- 提前停止 可能会阻止有意义的抽象形成。
- 某些 过拟合阶段 可能是表征形成所必需的。
- 正则化 可能会延迟而非阻止表征坍塌。
未解之问
- 数据集规模: 这是否是小数据集的伪象?
- 已有理论: 这是否与损失景观平坦性、模式连通性或信息瓶颈等概念相吻合?
- 度量指标: 是否有比损失更好的指标来追踪学习质量?
- 噪声 vs. 结构: 我是否把偶然的对齐误认为了新兴结构?
- 正式认知: “不稳定 → 抽象 → 稳定” 的模式在文献中是否已有正式的认定?
我更倾向于把这当作一个问题而非声明。非常感谢任何关于该推理可能出现的漏洞——或如何更严谨地表述它的见解。