gpt4 book ai didi

tensorflow - CNN 损失停留在 2.302 (ln(10))

转载 作者:行者123 更新时间:2023-12-01 21:50:45 25 4
gpt4 key购买 nike

我正在尝试对神经网络进行建模来解决 CIFAR-10 数据集,但是我面临着一个非常奇怪的问题,我已经尝试了 6 种以上不同的 CNN 架构以及许多不同的 CNN 超参数和完全连接的 #neurons 值,但似乎一切都失败了,损失为 2.302,相应的精度为 0.0625,为什么会发生这种情况,CNN 或神经网络的什么属性导致了这种情况,我还尝试了 dropout、l2_norm、不同的内核大小、CNN 和 Max Pool 中的不同填充。我不明白为什么损失会卡在这么奇数上?

我正在使用tensorflow实现这个,并且我尝试过softmax层+cross_entropy_loss和without_softmax_layer+sparse_cross_entropy_loss。神经网络损失函数是否陷入了停滞状态?

最佳答案

这似乎是您不小心将非线性/激活函数应用到网络的最后一层。请记住,交叉熵作用于 0 到 1 范围内的值。当您通过在计算交叉熵之前应用 softmax 函数自动“强制”输出到此范围时,您应该只“应用”线性激活函数(只是不添加任何函数)。

顺便说一下,2.302 的值无论如何都不是随机的。当您假设所有 10 个类别 (CIFAR-10) 最初获得相同的预期扩散概率 0.1 时,它实际上是 softmax 损失为 -ln(0.1) 的结果。看看 Andrej Karpathy 的解释: http://cs231n.github.io/neural-networks-3/

关于tensorflow - CNN 损失停留在 2.302 (ln(10)),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47822099/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com