从MAE到C-Eval(2)

从MAE到C-Eval(1)

这个系列好久没更了,当时停更是因为没有阅读量,但是我现在其实也不为了阅读量了,愿意写啥,写啥,所以就把这个系列又捡起来了(我之前留的所有坑,每个系列也都会填上的)

之前的文章介绍了MAE和MSE,这俩玩意都是做回归的

再复习一下

这次换一个公式写法为了好理解,我们用单样本损失

yi 就是y_true,y_i^就是预测值,对单个样本ii,有一个损失ℓ_iℓii

如果是回归 + MAE

数学特点:

线性误差:误差每增大一点,惩罚线性增加,不会像平方那样放大极端值。

导数是符号函数:

在 0 点有"尖角",对梯度下降不如 MSE 那么平滑。

适用场景:

回归任务,但:

函数曲线这样

如果是回归 + MSE:

数学特点:

二次方:误差越大,惩罚增长得非常快。

适用场景:

回归任务的默认首选

(连续值预测:房价、温度、评分等)。

你希望模型对"大误差"反应更剧烈(因为平方会放大远离点)

缺点:

对 outlier(极端样本)特别敏感,容易被坏点拖着跑。

函数曲线

那么MAE比起MSE呢

对比 MSE:

MSE:惩罚大误差更狠,适合你希望模型尽量别出"大错"的回归;

MAE:对每个误差一视同仁,适合你想稳一点,不想被极端点绑架, 那你可以用MAE

然后上节还讲了熵

香浓信息熵:

直白讲:

随机变量 X 服从分布 p

它的熵H(p) = 用分布p自己的概率,去算"平均每次观察一个样本,带来的信息量"。

再看不懂就拆开讲

设有一个随机事件x,它发生的概率是p(x)。

定义一个量:

I(x)=−log⁡p(x)

你现在只要记两点直觉:

如果p(x)很大(比如 0.99),那−logp(x)很小

这个结果一点不意外,"信息量"小。

如果p(x)很小(比如 0.001),那−logp(x)很大

这个结果很罕见,"信息量"大。

所以:

−log⁡p(x)被叫做"这个具体结果的惊喜度 / 信息量"。

你可以先当成定义:事件越罕见,看到它时获得的信息越多,用

−logp(x)度量。

接下来我们要讲一个概念:熵 = "信息量的平均值"

现在不只是一个结果,而是一个随机变量X:

它可能取很多种值:x1,x2,...

每个值出现的概率是p(x)

那么:

每次我们看到一个具体结果x,它的信息量是−log⁡p(x)

但每次看到的结果不一样,信息量也会不一样。

熵H(p)做的事情就是:

用分布 p自己的概率,去算:

"平均每看到一次结果,带来的信息量是多少?"

数学上就是把"信息量"−log⁡p(x)按概率p(x)求加权平均(期望)

这个式子就是这么来的

讲完了信息熵的定义了

我们为什么要讲它,不是在讲损失函数吗?

对喽,讲完了MSE,MAE回归任务经常用的损失函数,就该讲分类常用的损失函数交叉熵了,也就是cross-entropy

你看它也有entropy可见叫XX熵也算实至名归,那为什么要冠以cross呢?

我们去熵公司的前面部分,就是带期望那个

熵:

交叉熵:

区别只在一件事:

熵:真分布p既负责说"样本出现的频率"(期望),又负责"我们认为它的概率"(log 里);

交叉熵:

所以交叉熵是个假的啊(肯定假啊,毕竟你预测的不是真值,然后去收敛模型么,对吧)

交叉熵 ="真实世界按 p出现样本,但我们用 q来编码这些样本时,平均每个样本需要多少信息量(多少 bit)"。

如果模型q跟真实p很接近,交叉熵就接近熵本身(能接近理论最优的编码长度)。

如果q很烂,把高概率事件当低概率给,交叉熵就会大很多。

分类/语言模型训练时,我们的情况刚好就是:

真实标签分布 =p(one‑hot 或经验频率,可以当"真分布"),比如LLM其实就是one-hot,不是在embedding的时候而是在词表V推理(sotamax概率)的时候其实就是一个one-hot,几万十几万的词表,只有那个词被推理出来,它是1,别人是0

模型输出的概率分布 =qθ(softmax、sigmoid 的输出)。

用的损失函数就是:

还是用llm来解释,这个时候x就是你的context,y就是你要推出来的next-token,这就好理解了吧

优化目标也是让qθ 逼近p:

哎!这就把KL散度也给引入了

,然后,下次再讲吧

讲熵,交叉熵,KL散度的关系

写在最后:我为啥又把这些东西翻出来了,是因为我发现RL的东西对大多数人太抽象了(好多读者都希望我更新,但是属实有很多人留言看不懂,其实没很多人,因为纯讲算法的,几乎没什么人读

)但是抽象的核心原因,好像并不是RL本身,反而是这些最普通的基础概念,所以我决定先给读者补补基础,否则后面ppo为什么要用grpo取代

grpo的为什么有的论文把KL散度直接删了,不弄清楚这些底层概念,读者是看不懂的,不过这个东西长一长也许能长成一本深度学习数学红宝书也不一定

相关推荐
陈天伟教授19 小时前
数据库技术发展趋势- 04.大数据技术
数据库·人工智能·数据挖掘
lpfasd12320 小时前
Spring Boot 4.0.1 集成 Spring Boot AI 全攻略
人工智能·spring boot·后端
观远数据20 小时前
人效分析怎么做?4步构建数据驱动的人效提升体系
大数据·人工智能·数据分析
抖知书20 小时前
针对小说写作卡文痛点,用小说写作教程学方法、技巧找思路、提示词拓脑洞、助力剧情续写
人工智能
用你的胜利博我一笑吧21 小时前
opencv(自用)
人工智能·opencv·计算机视觉
pps-key21 小时前
ai交易算力研究
大数据·jvm·人工智能·机器学习
2401_8414956421 小时前
【机器学习】限制性玻尔兹曼机(RBM)
人工智能·python·深度学习·神经网络·机器学习·无监督学习·限制性玻尔兹曼机
最晚的py21 小时前
cnn卷积层详解
人工智能·pytorch·cnn卷积层
彭军辉21 小时前
生命体AI的本质是抽象主义人工智能
人工智能