You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CNN中用Logits或Softmax层计算准确率为何结果近乎一致?

为啥用Logits和Softmax输出算CNN准确率结果几乎一样?

这事儿我之前也疑惑过!评估CNN的准确率时,我本来觉得肯定得用Softmax层输出的预测标签和目标标签比对,但实际用Logits(最后一层全连接层的原始输出,就只是矩阵乘法加偏置的w*x+b结果)来计算的话,准确率居然几乎完全相同。

先看核心的准确率计算代码:

matches = tf.equal(tf.argmax(y_pred,1),tf.argmax(y,1)) 
acc = tf.reduce_mean(tf.cast(matches,tf.float32))

这里的y_pred是没有加激活函数的最终全连接层输出,代码如下:

y_pred = normal_full_layer(second_hidden_layer,6)

数字6代表我们要做6个类别的分类任务。

用y_pred(也就是Logits)计算出来的准确率大概在96%左右,对应的准确率图表:
Using only Logits

之后我给y_pred加上Softmax激活得到pred_softmax,代码是这样的:

pred_softmax = tf.nn.softmax(y_pred)

再用它来计算准确率,结果和之前几乎一模一样,对应的准确率图表:
Softmax计算的准确率图表

内容的提问来源于stack exchange,提问作者Salman Shaukat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 10:14:29