系列博客目录
在图像分类任务中,“logit” 是指模型在输出层的未经过激活函数(如 Softmax 或 Sigmoid)处理的原始输出值。下面通过一个具体的例子来说明 logit 的概念,以及它如何用于图像分类任务。
背景
假设我们有一个简单的图像分类任务,目标是对输入图像进行 3 类分类(例如,类别 A、类别 B 和类别 C)。神经网络模型的最后一层是一个全连接层,它输出 3 个 logit 值(每个类别对应一个 logit)。
这些 logit 值通常被解释为“未归一化的分数”,用于衡量输入图像属于某个类别的可能性大小。
模型假设
- 输入图像特征:假设经过卷积网络处理后,我们得到了特征向量 f = [ 0.5 , 0.8 , 1.2 ] \mathbf{f} = [0.5, 0.8, 1.2] f=[0.5,0.8,1.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])。
- 权重矩阵 (W):
计算 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 是偏置。
逐步计算:
-
点积计算:
- 对类别 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)+
- 对类别 A: