机器学习和深度学习中的logit

系列博客目录


文章目录


图像分类任务 中,"logit" 是指模型在输出层的未经过激活函数(如 Softmax 或 Sigmoid)处理的原始输出值。下面通过一个具体的例子来说明 logit 的概念,以及它如何用于图像分类任务。

背景

假设我们有一个简单的图像分类任务,目标是对输入图像进行 3 类分类(例如,类别 A、类别 B 和类别 C)。神经网络模型的最后一层是一个全连接层,它输出 3 个 logit 值(每个类别对应一个 logit)。

这些 logit 值通常被解释为"未归一化的分数",用于衡量输入图像属于某个类别的可能性大小。

模型假设

  1. 输入图像特征 :假设经过卷积网络处理后,我们得到了特征向量 f = [ 0.5 , 0.8 , 1.2 ] \mathbf{f} = [0.5, 0.8, 1.2] f=[0.5,0.8,1.2]。
  2. 最后一层权重和偏置
    • 权重矩阵 (W):
      W = [ 1.0 − 1.0 0.5 0.8 0.5 − 0.3 − 0.5 1.2 1.0 ] W = \begin{bmatrix} 1.0 & -1.0 & 0.5 \\ 0.8 & 0.5 & -0.3 \\ -0.5 & 1.2 & 1.0 \end{bmatrix} W= 1.00.8−0.5−1.00.51.20.5−0.31.0
    • 偏置向量 (b = [0.2, -0.1, 0.5])。

计算 logit

logit 值通过以下公式计算:
z = W ⋅ f + b \mathbf{z} = W \cdot \mathbf{f} + b z=W⋅f+b

其中:

  • z \mathbf{z} z 是 logit 值(模型的原始输出)。
  • W W W 是权重矩阵。
  • f \mathbf{f} f 是输入特征。
  • b b b 是偏置。

逐步计算:

  1. 点积计算

    • 对类别 A:
      z 1 = ( 1.0 ⋅ 0.5 ) + ( − 1.0 ⋅ 0.8 ) + ( 0.5 ⋅ 1.2 ) = 0.5 − 0.8 + 0.6 = 0.3 z_1 = (1.0 \cdot 0.5) + (-1.0 \cdot 0.8) + (0.5 \cdot 1.2) = 0.5 - 0.8 + 0.6 = 0.3 z1=(1.0⋅0.5)+(−1.0⋅0.8)+(0.5⋅1.2)=0.5−0.8+0.6=0.3
    • 对类别 B:
      z 2 = ( 0.8 ⋅ 0.5 ) + ( 0.5 ⋅ 0.8 ) + ( − 0.3 ⋅ 1.2 ) = 0.4 + 0.4 − 0.36 = 0.44 z_2 = (0.8 \cdot 0.5) + (0.5 \cdot 0.8) + (-0.3 \cdot 1.2) = 0.4 + 0.4 - 0.36 = 0.44 z2=(0.8⋅0.5)+(0.5⋅0.8)+(−0.3⋅1.2)=0.4+0.4−0.36=0.44
    • 对类别 C:
      z 3 = ( − 0.5 ⋅ 0.5 ) + ( 1.2 ⋅ 0.8 ) + ( 1.0 ⋅ 1.2 ) = − 0.25 + 0.96 + 1.2 = 1.91 z_3 = (-0.5 \cdot 0.5) + (1.2 \cdot 0.8) + (1.0 \cdot 1.2) = -0.25 + 0.96 + 1.2 = 1.91 z3=(−0.5⋅0.5)+(1.2⋅0.8)+(1.0⋅1.2)=−0.25+0.96+1.2=1.91
  2. 加上偏置

    • 对类别 A:
      z 1 = 0.3 + 0.2 = 0.5 z_1 = 0.3 + 0.2 = 0.5 z1=0.3+0.2=0.5
    • 对类别 B:
      z 2 = 0.44 − 0.1 = 0.34 z_2 = 0.44 - 0.1 = 0.34 z2=0.44−0.1=0.34
    • 对类别 C:
      z 3 = 1.91 + 0.5 = 2.41 z_3 = 1.91 + 0.5 = 2.41 z3=1.91+0.5=2.41

最终 logit 值为:
z = [ 0.5 , 0.34 , 2.41 ] \mathbf{z} = [0.5, 0.34, 2.41] z=[0.5,0.34,2.41]

解释 logit

这些 logit 值 [ 0.5 , 0.34 , 2.41 ] [0.5, 0.34, 2.41] [0.5,0.34,2.41] 表示模型对每个类别的未归一化预测分数:

  • 类别 A 的分数为 0.5 0.5 0.5。
  • 类别 B 的分数为 0.34 0.34 0.34。
  • 类别 C 的分数为 2.41 2.41 2.41。

这些分数尚未转换为概率,因此不能直接用于分类决策。

从 logit 转为概率

logit 值可以通过 Softmax 激活函数 转换为概率分布:
Softmax ( z i ) = exp ⁡ ( z i ) ∑ j = 1 3 exp ⁡ ( z j ) \text{Softmax}(z_i) = \frac{\exp(z_i)}{\sum_{j=1}^3 \exp(z_j)} Softmax(zi)=∑j=13exp(zj)exp(zi)

进行逐步计算:

  1. 计算每个类别的指数值

    • 对类别 A:
      exp ⁡ ( 0.5 ) ≈ 1.65 \exp(0.5) \approx 1.65 exp(0.5)≈1.65
    • 对类别 B:
      exp ⁡ ( 0.34 ) ≈ 1.41 \exp(0.34) \approx 1.41 exp(0.34)≈1.41
    • 对类别 C:
      exp ⁡ ( 2.41 ) ≈ 11.14 \exp(2.41) \approx 11.14 exp(2.41)≈11.14
  2. 计算指数值的总和
    ∑ j = 1 3 exp ⁡ ( z j ) = 1.65 + 1.41 + 11.14 = 14.2 \sum_{j=1}^3 \exp(z_j) = 1.65 + 1.41 + 11.14 = 14.2 j=1∑3exp(zj)=1.65+1.41+11.14=14.2

  3. 计算每个类别的概率

    • 对类别 A:
      P ( A ) = exp ⁡ ( 0.5 ) 14.2 = 1.65 14.2 ≈ 0.116 P(A) = \frac{\exp(0.5)}{14.2} = \frac{1.65}{14.2} \approx 0.116 P(A)=14.2exp(0.5)=14.21.65≈0.116
    • 对类别 B:
      P ( B ) = exp ⁡ ( 0.34 ) 14.2 = 1.41 14.2 ≈ 0.099 P(B) = \frac{\exp(0.34)}{14.2} = \frac{1.41}{14.2} \approx 0.099 P(B)=14.2exp(0.34)=14.21.41≈0.099
    • 对类别 C:
      P ( C ) = exp ⁡ ( 2.41 ) 14.2 = 11.14 14.2 ≈ 0.785 P(C) = \frac{\exp(2.41)}{14.2} = \frac{11.14}{14.2} \approx 0.785 P(C)=14.2exp(2.41)=14.211.14≈0.785

最终概率分布为:
P = [ 0.116 , 0.099 , 0.785 ] P = [0.116, 0.099, 0.785] P=[0.116,0.099,0.785]

分类决策

根据 Softmax 的输出概率,类别 C 的概率最大 ( P ( C ) = 0.785 P(C) = 0.785 P(C)=0.785),因此模型将输入图像分类为类别 C。

总结

  1. logit 值 是模型在最后一层的原始输出值,未经过激活函数处理。例如,本例中的 logit 值为 [ 0.5 , 0.34 , 2.41 ] [0.5, 0.34, 2.41] [0.5,0.34,2.41]。
  2. logit 值可以通过 Softmax 函数 转换为概率分布,用于分类任务。
  3. 通过计算,最终概率分布为 [ 0.116 , 0.099 , 0.785 ] [0.116, 0.099, 0.785] [0.116,0.099,0.785],模型将图像分类为类别 C。
相关推荐
DisonTangor16 分钟前
TableGPT2-7B:用于表格数据分析的大规模解码器模型
人工智能·数据挖掘·数据分析
Altair澳汰尔21 分钟前
数据分析丨世界杯冠军猜想:EA 体育游戏模拟能成功预测吗?
人工智能·游戏·数据挖掘·数据分析
噜噜噜噜鲁先森24 分钟前
零基础利用实战项目学会Pytorch
人工智能·pytorch·python·深度学习·神经网络·算法·回归
程序员陆通36 分钟前
Streamlit + AI大模型API实现视频字幕提取
人工智能·音视频
DisonTangor38 分钟前
【AI绘画】Alpha-VLLM 的 Lumina-Next:新一代图像生成器
人工智能·aigc
_linyu__1 小时前
TensorFlow 2.0 windows11 GPU 训练环境配置
人工智能·python·tensorflow
@BangBang1 小时前
Dropout 和 BatchNorm 在训练和验证中的差异
人工智能·深度学习·机器学习
吕小明么1 小时前
对于Ilya当下Scaling law瓶颈观的思考
人工智能·算法·语言模型·aigc·agi
文心智能体平台Agentbuilder1 小时前
百度世界2024|李彦宏:智能体是AI应用的最主流形态,即将迎来爆发点
人工智能·百度·ai·文心智能体·百度世界2024·秒哒