gpt4 book ai didi

tensorflow - 当度量为 SparseTopKCategoricalAccuracy/TopKCategoricalAccuracy 时,在 Keras 中使用什么损失函数?

转载 作者:行者123 更新时间:2023-12-04 14:11:21 24 4
gpt4 key购买 nike

对于多类分类问题,Keras 和 tf.keras 具有 SparseTopKCategoricalAccuracy 和 TopKCategoricalAccuracy 等指标。但是,如果使用 SparseCategoricalCrossentropy 或 CategoricalCrossentropy 等损失函数,则它们无法实现这两个指标的最大值。

当想要最大化 SparseTopKCategoricalAccuracy 或 TopKCategoricalAccuracy 时,使用什么损失函数比较好?

我知道 SparseTopKCategoricalAccuracy 不可微分,就像准确性一样。我试图找到一个可以近似平滑损失函数并为 SparseTopKCategoricalAccuracy 产生更高数字的函数。

最佳答案

CrossEntropy 在处理 Top-k 精度时不是最好的损失函数,因为交叉熵可能容易在小数据集或嘈杂标签上过度拟合。。 p>

正如您已经指出的,“平滑损失”函数是为使用 SVM 进行前 k 分类而开发的。据我所知,Keras/TF 中没有最适合 top-k 的“现成”损失函数。但是,我建议您尝试在 article 中介绍的 Smooth Surrogate Loss (SSL)并在 Pytorch 中实现以与深度神经网络一起使用(参见 Github)。它源自多类 SVM,因为 SSL 在正确的 top-k 预测和不正确的预测之间创建了一个边界。由于分而治之的方法和多项式的使用,SSL 的训练时间与交叉熵的训练时间相当(参见 implementation)。

关于tensorflow - 当度量为 SparseTopKCategoricalAccuracy/TopKCategoricalAccuracy 时,在 Keras 中使用什么损失函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63972516/

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