gpt4 book ai didi

tensorflow - 究竟什么是损失?

转载 作者:行者123 更新时间:2023-12-03 16:35:16 26 4
gpt4 key购买 nike

我正在训练 tensorflow 的 im2txt 样本,它输出损失:

INFO:tensorflow:global step 2174: loss = 3.6930 (15.83 sec/step)
INFO:tensorflow:global step 2175: loss = 3.6651 (15.52 sec/step)
INFO:tensorflow:global step 2176: loss = 3.5733 (18.25 sec/step)
INFO:tensorflow:global step 2177: loss = 3.1979 (18.87 sec/step)
INFO:tensorflow:global step 2178: loss = 2.9362 (15.99 sec/step)
INFO:tensorflow:global step 2179: loss = 3.6375 (15.65 sec/step)

什么是损失?它与 AI 正确执行的概率有什么关系(是否有公式)?通常可接受的损失是多少?

最佳答案

发件人:https://github.com/tensorflow/models/blob/master/im2txt/im2txt/show_and_tell_model.py

  losses = tf.nn.sparse_softmax_cross_entropy_with_logits(labels=targets,
logits=logits)
batch_loss = tf.div(tf.reduce_sum(tf.multiply(losses, weights)),
tf.reduce_sum(weights),
name="batch_loss")
softmax基本上是一个花哨的 max 函数,它是可推导的(您可以在文档中查找确切的定义)。对于最大的激活,它将具有很高的值。它可以有多个高激活,这将因所有错误的激活而受到惩罚。

损失是您希望模型优化的东西。

这通常意义不大,除非您已经训练了许多具有完全相同损失的类似模型。通常您会查看损失图以查看模型何时停止取得进展,以便您可以停止训练。还请记住,对于其他模型,您可能希望将其他内容添加到您可能想要优化的损失中(比如您希望平均为 1.0 的一些输入权重),这会增加损失,但这并不意味着模型更差。

如果您想确定您的模型是好是坏,请为您关心的事情添加指标。显而易见的事情是精确度/召回率/准确度。您已经可以使用预定义的指标 ( streaming_accuracy )。或者,您可以计算指标并将其添加为摘要,但这将无法从 eval 数据集中获得。

另一种选择是设置一个明显不好的模型(恒定或随机),并将该模型的损失与您得到的进行比较。

关于tensorflow - 究竟什么是损失?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42061855/

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