第10章:从不确定中学习——概率与信息论极简入门
到目前为止我们聊的所有东西都是确定的。函数是确定的——输入3f(x)2x1 永远输出7不会有第二个答案。向量和矩阵的运算也是确定的——你给一个矩阵和一个向量乘法结果只有一个。导数也是确定的——一个函数在某一点的导数就是一个具体的数不跟你打马虎眼。但AI面对的真实世界不是这样的。你拍一张猫的照片给AI看。照片可能模糊可能在逆光猫可能只露出半个屁股。AI判断它是猫——这个判断有几分把握它不知道。它只能猜一个概率比如95%是猫5%不是猫。或者你让大模型给你推荐一部电影。它说根据你的喜好你大概率会喜欢这部电影——但这个大概率到底是多少它自己也不知道。它只是在模仿人类说话的方式顺便带了一个模糊的程度副词。所以AI在处理真实问题的时候必须跟不确定性打交道。而你如果听不懂不确定性的数学语言就看不懂AI的一半行为。这门语言叫概率论。天气预报就是概率我们今天最熟悉的概率例子是天气预报。“明天降水概率70%”——这句话你听过无数遍了。它到底在说什么不是说明天会有70%的时间在下雨也不是说70%的地区会下雨。它说的是在相似的天气条件下历史上这种情况有70%的概率会下雨。当然天气预报的实际算法比这个复杂得多但这个可能性的直觉是对的概率就是一个0到1之间的数表示某件事发生的可能性有多大。0表示绝对不会发生1表示绝对会发生0.7表示大概率会。条件概率如果我知道了这件事……概率还有一个重要的升级版叫条件概率。还是说天气。如果没有任何信息明天降水的概率可能是30%。但如果你知道今天傍晚起风了——在你的经验里起风之后第二天经常下雨——那起风的情况下明天降水的概率可能就变成了60%。这个在已知某件事发生的前提下另一件事发生的概率就是条件概率。数学上写作 P(A|B)读作在B发生的条件下A的概率。在AI里条件概率到处都是。给你一张图片条件这张图片是猫的概率 P(猫 | 图片)给你一段英文条件这段英文的正确中文翻译的概率 P(翻译 | 英文)给你一段患者的症状描述条件这个患者得肺炎的概率 P(肺炎 | 症状)你看出来了。AI的几乎所有任务本质上都是在做同一件事给定输入输出最可能的那个结果。它的底层语言就是条件概率。分类器输出95%是猫就是在告诉你 P(猫 | 这张图片) 0.95。独立性A和B没关系条件概率的反面是独立性。如果A的发生不影响B发生的概率那A和B就是独立的。比如你掷一枚硬币的结果跟你明天穿什么颜色的袜子——这两个事件互相不影响。P(硬币正面 | 你穿红袜子) 就等于 P(硬币正面)因为穿什么袜子不会改变硬币的物理规律。独立性的概念在AI里有个很重要的应用当两个特征彼此独立的时候你可以把它们分开处理——计算量会小很多。如果所有特征都互相依赖那模型就得考虑它们之间所有可能的组合方式那个数字会大到吓死人。不过在今天的大模型里事情刚好相反特征之间几乎都是互相依赖的。一段文字里的每个词都在影响其他词的理解。这也是为什么Transformer我们后面会讲特别厉害——它专门设计了注意力机制来捕捉这种依赖关系。熵信息量惊喜程度接下来这个概念有点反直觉但理解了它你就能看懂AI训练的核心逻辑。一条消息的信息量跟它让你有多惊讶成正比。如果天气预报说明天太阳从东边升起你会觉得这条消息毫无信息量——因为它没有提供任何你不知道的东西。但如果天气预报说明天太阳从西边升起这条消息的信息量就大得惊人——因为你非常惊讶这完全出乎你的意料。信息论的创始人克劳德·香农就是达特茅斯会议那个香农在1948年提出了一个公式用来量化一条消息的惊喜程度。他把这个量叫做信息熵——一般简称熵。熵的计算公式看起来有点复杂但它的直觉特别简单一个事件的概率越低它发生时带给你的惊喜就越大信息量就越大。一个概率为1的事件必然发生熵为0——没有任何惊喜没有任何信息。一个五五开的情况比如抛硬币熵是1——你完全不确信它会怎样所以它发生时你得到的信息量最大。你可能会觉得熵这个词很耳熟。物理里也有一个熵——热力学第二定律里那个。它们说的是同一个概念的不同侧面但你别被吓到。在AI里熵就是不确定性的度量。交叉熵AI训练里最重要的损失函数之一现在我们把概率和微积分串起来看一眼AI实际是怎么用的。在分类任务里AI输出的通常是一个概率分布。比如给一张图片它输出猫0.85狗0.10兔子0.05。真实标签是猫对应的真实概率分布是猫1狗0兔子0。AI的输出和真实标签之间有差距。这个差距怎么量化交叉熵就是干这个的。它计算的是AI预测的概率分布和真实概率分布之间的差异。如果AI的预测跟真实标签越接近交叉熵就越小预测越离谱交叉熵就越大。训练一个分类器本质上就是让交叉熵损失函数的值不断变小。而这个不断变小的过程正好用上了前面第9章讲的梯度下降——通过调整矩阵里的数字让交叉熵沿着梯度的反方向一步一步滑下去。这就是为什么我们要先讲导数、再讲概率、再讲交叉熵然后再去讲神经网络。因为到了那一章你会看到这些零件是怎么完美地组装在一起的。一个你可能已经在想的问题你可能在问这些概率数字——0.85、0.10、0.05——它们从哪儿来的答案是从神经网络的最后一层来的。这一层通常用了一个叫Softmax的函数它把最后一层输出的那堆任意数字全部挤压成0到1之间的概率并且保证加起来等于1。至于Softmax怎么工作我们到神经网络那部分再详细拆解。你现在只需要知道整个AI的输出层就是用概率在跟你说话。它不给你绝对确定的答案因为它知道自己不是全知全能的。它给你一个我觉得是这个但我也有一定的不确定。而正是这种承认自己不确定的态度让AI在遇到没见过的情况时至少不会胡言乱语得太离谱——它会给一个接近均匀的分布告诉你我完全没把握。把石头垒起来我们现在的工具箱里多了一样东西概率。加上前面的函数、向量、矩阵、导数我们已经凑齐了理解AI所需要的大部分数学概念。你在后面的章节里会反复见到它们被组合起来使用回归问题用函数拟合数据 → 微积分优化分类问题用概率表示判断 → 交叉熵衡量误差神经网络用矩阵做变换 → 链式法则做反向传播深度学习用梯度下降调参数 → 用概率输出结果下一章我们终于要进入机器学习的大门了。第一站是一个极度简单、但又极其有力的算法用一条直线穿过数据。它叫线性回归。参考文献3Blue1Brown. (2022). “Solving Wordle using information theory”. YouTube / 3Blue1Brown官网. https://www.3blue1brown.com/推荐理由这期视频用Wordle游戏作为载体从头讲解了信息论和香农熵的核心思想——如何用信息量来指导决策。全程没有公式堆砌全是直观的视觉推理。看完你会对熵就是惊喜程度这个直觉有一个身体级别的感受。Shannon, C. E. (1948). A Mathematical Theory of Communication.Bell System Technical Journal, 27(3), 379–423.推荐理由信息论的奠基之作。虽然专业读起来有难度但开篇几页对信息量的讨论完全是白话级别的——香农是那种能把最深刻的想法用最平实的语言讲出来的人。适合跳读感受一下大神是怎么从通信这件事一路推到熵的。Goodfellow, I., Bengio, Y., Courville, A. (2016).Deep Learning. MIT Press. 第3章Probability and Information Theory。推荐理由深度学习教材里概率论部分的标准参考。这一章把概率论和信息论压缩到约30页重点讲的是机器学习为什么要用概率——因果关系的解释非常到位适合在读完本篇后翻一翻看看交叉熵是怎么从熵的直觉走到实际损失函数的。