中学生就能看懂:从零开始理解LLM内部原理【七】| “概率”从哪里来?

AITNT-国内领先的一站式人工智能新闻资讯网站
# 热门搜索 #
AITNT-国内领先的一站式人工智能新闻资讯网站 搜索
中学生就能看懂:从零开始理解LLM内部原理【七】| “概率”从哪里来?
6816点击    2025-03-25 14:34

Softmax函数 - “概率”的起源


LLM本质上是一个基于概率输出的神经网络模型。但这里的“概率”来自哪里?今天我们就来说说语言模型中一个重要的角色:Softmax函数。(相信我,本文真的只需要初等函数知识)


01 困境来自哪里?


之前我们假设了一个神经网络,它的任务是输入一组特征数据,输出预测结果。预测的方式是从一组输出神经元中选择值最高的那个神经元


比如,我们让神经网络预测是“叶子”还是“花”,最后的输出是两个数字,分别代表它认为“叶子”和“花”是正确答案的信心,假设是 (5, 1)。也就是神经网络认为它更倾向于选择“叶子”,因为 5 比 1 大。


一切似乎工作的很好,但有一个问题:


我们需要根据神经网络的输出与期望的理想值之间的差距(损失)来迭代调整模型参数(还记得梯度下降吗),不断的最小化损失(让模型预测得越来越准)。但这个“期望的理想值”应该是多少呢?应该是10还是100?当然最好是无穷大,但这样每次计算出的损失就也是无穷大,也就永远无法降低!


容易想到的解决办法是:把这个最大的“理想值”设定为固定值,比如“1”。现在每次输出只需要与这个固定值来比较,就可以计算损失。


02 为什么需要“概率”?


现在我们有了一个输出的“标杆”,一个固定的理想值:“1”。但仍然有一个问题,比如上面例子中的两次预测结果:


一次输出(5,1),选择更大的5,对应了“叶子”,假设这是正确的;

一次输出(0,1),选择更大的1,对应了”花“,这是错误答案;


现在我们要计算损失。把输出值与理想值(因为期望输出叶子,所以理想值是【1,0】)比较,显然第一次的(5,1)偏离更大,第二次的(0,1)偏离更小(实际上的损失计算当然不是这么简单),也就是:预测正确的第一种情况计算的损失反而更大!


所以,这里需要一个数学上的方法,它具有这样的作用:能够把一组任意数值对应到介于0-1之间的数,且总和为1,也就是“概率”。类似于一个函数:


中学生就能看懂:从零开始理解LLM内部原理【七】| “概率”从哪里来?


比如把(5,1)转化为(0.83,0.17),既没有改变原义;又易于理解(选择叶子的概率为0.83);同时永远不会超过理想值(“1”)。

这个数学上的方法就是Softmax函数。


03 Softmax函数如何工作?


Softmax 是一个数学函数,它的作用就是将神经网络的一组输出转化成概率分布,这样就能清晰地知道神经网络选择每个选项的可能性。它的数学形式为:


中学生就能看懂:从零开始理解LLM内部原理【七】| “概率”从哪里来?


Zi是第i个选项的原始分数,n是选项的总数。


Softmax的数学特性可以确保三个重要特征:


  • 所有概率值都在 (0,1) 之间。
  • 所有概率值的总和严格等于 1。
  • 原始分值的大小关系被保留(即分数高的选项概率一定更高)。


我们以三个候选词的分值分别为(2,1,0.1)举例,它的计算过程如下:


1. 对每个分数做指数运算:


  • e² ≈ 7.389
  • e¹ ≈ 2.718
  • e⁰·¹ ≈ 1.105


为什么必须用指数函数?


  • 差异放大:能够放大决策信号
  • 正数保障:无论输入正负,结果永远为正
  • 单调性:能够保持原来数值的大小顺序


还有一个特征,暂时我们知道就好:由于e指数函数的导数等于其自身,反向传播时能简化梯度计算。


2. 归一化计算概率:


将指数计算后的值相加:

7.389+2.718+1.105≈11.212


那么每个值的概率就是:

  • “2”的概率:7.389/11.212 ≈ 65.9%
  • “1”的概率:2.718/11.212 ≈ 24.2%
  • "0.1"的概率:1.105/11.212 ≈ 9.9%


很显然,这样计算的结果一定小于1,且总和严格等于1,符合概率要求


04 Softmax函数的价值


截至目前,我们已经知道Softmax在语言模型中的两个典型应用:输出层预测与注意力机制(计算注意力权重)。


是否还有其他意义呢?


Softmax把神经网络的输出转化为概率,而不是直接选择最高分的那个选项。更大的价值是:让模型在生成过程中可以根据概率探索更多样的可能。


1. 简单决策的问题


假设模型正在逐字符生成"Humpty Dumpty"这个词组,当前已经生成了"Humpty Du",接下来需要预测下一个字符。模型的计算结果可能是:


  • "m":得分较高(例如0.45)
  • "u":得分最高(例如0.5)
  • 其他字符(如"a", "b"等):得分极低(例如0.05)


如果模型直接选择得分最高的"u",那么生成的文本会变成"Humpty Duu...",这显然是一个错误的路径,因为"Humpty Duu"并不是一个有效的词组。此时,模型的生成任务可能会陷入困境,因为后续的字符预测也会变得困难。


2. Softmax的灵活决策


Softmax的作用在于,它不会让模型盲目地选择得分最高的选项,而是根据得分分配概率。例如:


  • "u":50%的概率
  • "m":45%的概率
  • 其他字符:5%的概率


这样,模型有接近一半的概率会选择"m",从而生成正确的"Humpty Dumpty"。即使模型一开始选择了错误的"u",它也有机会在后续的生成过程中回溯并修正错误。


所以,Softmax通过赋予次优选项一定的概率,使得模型能够在生成过程中进行探索。不过,这也是语言模型“不确定性”的来源,因为它总是在“探索”不同概率下的可能性。


05 一个熟悉的参数:温度(Temperature)


很多人会比较熟悉这个参数,用来控制文本输出结果的特征。这是怎么实现的呢?


其实温度就是在Softmax中引入一个参数:


中学生就能看懂:从零开始理解LLM内部原理【七】| “概率”从哪里来?


这个参数T用来控制转化后的概率的结果。简单的说就是:


  • 低温(T较小):Softmax输出的概率分布更尖锐,模型更倾向于选择得分最高的选项,生成结果更确定,更保守,多样性较低。


  • 高温(T较大):Softmax输出的概率分布更平缓与均匀,模型更愿意尝试多样化的选项,生成结果更具创造性。


这就好比你在选择外卖,如果两家餐厅的评分为5分和1分,你会毫不犹豫的选择5分的;而如果它们的评分分别为4.9和4.7,你可能更愿意轮流尝试不同的餐厅。


以上就是Softmax函数的介绍,虽然易于理解,但却意义重大,是语言模型生成时的“决策导航仪”。通过概率转化,Softmax赋予了语言模型一种"智慧":在犯错时有机会修正,在探索时保持多样性。


文章来自于“AI大模型应用实践”,作者“曾经的毛毛”。


中学生就能看懂:从零开始理解LLM内部原理【七】| “概率”从哪里来?

关键词: AI , LLM , AI科普 , 人工智能
AITNT-国内领先的一站式人工智能新闻资讯网站