如何计算像素级预测的交叉熵
How is cross entropy calculated for pixel level prediction
我是 运行 Keras 中的一个 FCN,它使用 binary cross-entropy 作为损失函数。但是,我不确定损失是如何累积的。
我知道损失是在像素级别应用的,但是图像中每个像素的损失是否加起来形成每张图像的单个损失?还是不求和,求平均?
此外,每张图像的损失是不是简单地在批处理中求和(或者是其他一些操作)?
我假设您的问题是一般性问题,并且针对特定型号(如果不能,您可以分享您的型号吗?)。
你是对的,如果在像素级使用交叉熵,结果必须在所有像素上减少(求和或平均)以获得单个值。
这是一个在 tensorflow 中的卷积自动编码器的例子,其中这个步骤是特定的:
相关行是:
loss = tf.nn.sigmoid_cross_entropy_with_logits(labels=targets_, logits=logits)
cost = tf.reduce_mean(loss)
无论你取成本函数的均值还是求和都不会改变最小值。但是如果你取平均值,那么当你改变批量大小或图像大小时,成本函数的值更容易在实验之间进行比较。
我是 运行 Keras 中的一个 FCN,它使用 binary cross-entropy 作为损失函数。但是,我不确定损失是如何累积的。
我知道损失是在像素级别应用的,但是图像中每个像素的损失是否加起来形成每张图像的单个损失?还是不求和,求平均?
此外,每张图像的损失是不是简单地在批处理中求和(或者是其他一些操作)?
我假设您的问题是一般性问题,并且针对特定型号(如果不能,您可以分享您的型号吗?)。
你是对的,如果在像素级使用交叉熵,结果必须在所有像素上减少(求和或平均)以获得单个值。
这是一个在 tensorflow 中的卷积自动编码器的例子,其中这个步骤是特定的:
相关行是:
loss = tf.nn.sigmoid_cross_entropy_with_logits(labels=targets_, logits=logits)
cost = tf.reduce_mean(loss)
无论你取成本函数的均值还是求和都不会改变最小值。但是如果你取平均值,那么当你改变批量大小或图像大小时,成本函数的值更容易在实验之间进行比较。