翻译

交叉熵;在Transformer训练场景完整叫法:交叉熵损失函数

一、一句话业务通俗定义

对比两组概率分布: 一组=模型预测出来的概率(Softmax输出) 一组=标准答案(真实单词的One-Hot向量) 交叉熵算出两者之间的差距,差距越大=损失越高,用来指导模型自我修正。

供应链生活化例子(承接你整套案例)

上下文文本:汽车配件缺货 真实下一个词:零部件 ✅ 标准答案(One-Hot):[0, 1, 0, 0]

场景1(模型预测优秀) 模型概率输出:[0.02, 0.92, 0.04, 0.02] 模型给正确词「零部件」很高概率 → 交叉熵数值很小,惩罚很轻

场景2(模型预测很差) 模型概率输出:[0.85, 0.03, 0.07, 0.05] 模型误以为下一词是「汽车配件」,正确单词概率极低 → 交叉熵数值很大,严厉惩罚模型

核心规则:训练目标 = 不断缩小交叉熵数值

二、极简数字演算(贴合你学习链路)

词表:[汽车配件,零部件,缺货,物流] 真实目标词:零部件 → One-Hot:[0, 1, 0, 0] 模型Softmax预测概率:[0.02, 0.92, 0.04, 0.02]

交叉熵简化公式(one-hot场景): $Loss = -log(正确类别的预测概率)$

计算:$-log(0.92)≈0.083$ 损失很小 假设模型预测正确词概率=0.05 $-log(0.05)≈2.996$ 损失巨大

直观规律: 模型给正确单词概率越高,损失越低; 给正确单词概率越低,损失急剧飙升。

三、串联整条Transformer训练完整链路(重中之重)

  1. 文本 → Token Index → Embedding词向量
  2. 编码器/解码器、多头注意力、FFN层层运算
  3. 输出向量经过Linear层 → Logits原始分值
  4. Softmax → 输出整套词汇表的预测概率分布
  5. Cross-Entropy交叉熵:对比【预测概率】和【目标单词One-Hot真值】,算出损失
  6. 反向传播:根据损失大小,自动调整网络所有权重参数
  7. 反复迭代,持续降低损失,完成训练

💡区分阶段 训练阶段:需要交叉熵,用来纠错、更新模型 推理阶段(线上使用):不需要交叉熵,只需要Softmax+Argmax挑选词汇

四、关键知识点答疑

  1. 为什么搭配Softmax+交叉熵? Softmax把Logits转为合法概率;交叉熵专门衡量概率分布差异,二者组合梯度稳定,是文本生成模型标配。

  2. One-Hot在这里扮演什么角色? 训练时真实标签采用One-Hot(Output Vocabulary one-hot),代表“唯一正确答案”,作为交叉熵计算的对标基准。

30秒汇报口述精简版

交叉熵损失用来衡量模型预测概率和真实答案之间的差距。 训练时,模型输出经过Softmax得到每个候选单词的预测概率,再和真实单词的独热编码做交叉熵计算得到损失。 损失越高,代表预测偏差越大;模型依靠这个损失信号反向调整内部参数,持续优化预测准确度。

整套术语串联清单(你目前学完的完整链条)

词向量Embedding → QKV矩阵 → 点积 → 缩放 → Softmax → 多头注意力 → 残差+LayerNorm → FFN → Logits → Softmax → Argmax(推理) 训练新增环节:预测概率 + One-Hot真值 → Cross-Entropy交叉熵损失 → 反向更新权重