gpt4 book ai didi

machine-learning - Caffe:应该计算什么后向函数?

转载 作者:行者123 更新时间:2023-11-30 09:51:30 24 4
gpt4 key购买 nike

我正在尝试使用 Python 层为 Caffe 定义自定义损失函数,但我无法澄清所需的输出是什么。我们将层的函数定义为 L = sum(F(xi, yi))/batch_size,其中 L 是要最小化的损失函数(即 top[0]),x 是网络输出(bottom[0]) ,y是真实标签(即bottom[1]),xi,yi是批处理中的第i个样本。

众所周知的 EuclideanLossLayer ( https://github.com/BVLC/caffe/blob/master/examples/pycaffe/layers/pyloss.py ) 示例表明,在这种情况下,后向级别必须返回 bottom[0].diff[i] = dL(x,y)/dxi。我发现的另一个引用资料显示了相同的内容:Implement Bhattacharyya loss function using python layer Caffe

但在其他示例中,我发现它应该乘以 top[0].diff。1.什么是正确的?底部[0][i] = dL/dx 或底部[0].diff[i] = dL/dxi*顶部[0].diff[i]

最佳答案

每个损失层可能有loss_weight:指示该特定损失的“重要性”(如果网络有多个损失层)。 Caffe 将此权重实现为 top[0].diff 并乘以梯度。

关于machine-learning - Caffe:应该计算什么后向函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44317911/

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