gpt4 book ai didi

machine-learning - 为什么当进入具有多个损失的更深网络时损失会增加?

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

我正在使用 ResNet 方案来训练我的网络架构。每 16 层之后,我使用一个反卷积和损失层 (SoftmaxWithLoss)。当进入更深层次时,我发现与 loss2 相比,我的损失(loss3 和 loss4)有所增加。为什么会发生这种情况?如何为每个损失层选择损失权重?现在,我对除 loss_main 之外的所有损失层使用 loss_weight=0.1

Iteration 9960, loss = 0.287316
Train net output #0: loss_main = 0.0921776 (* 1 = 0.0921776 loss)
Train net output #1: loss1 = 0.259363 (* 0.1 = 0.0259363 loss)
Train net output #2: loss2 = 0.14823 (* 0.1 = 0.014823 loss)
Train net output #3: loss3 = 0.169563 (* 0.1 = 0.0169563 loss)
Train net output #4: loss4 = 0.21544 (* 0.1 = 0.021544 loss)
Iteration 9980, lr = 0.002
Iteration 9980, loss = 0.286957
Train net output #0: loss_main = 0.151433 (* 1 = 0.151433 loss)
Train net output #1: loss1 = 0.362414 (* 0.1 = 0.0362414 loss)
Train net output #2: loss2 = 0.267339 (* 0.1 = 0.0267339 loss)
Train net output #3: loss3 = 0.304756 (* 0.1 = 0.0304756 loss)
Train net output #4: loss4 = 0.393892 (* 0.1 = 0.0393892 loss)
Iteration 10000, lr = 0.002
Iteration 10000, loss = 0.287502
Train net output #0: loss_main = 0.149631 (* 1 = 0.149631 loss)
Train net output #1: loss1 = 0.377756 (* 0.1 = 0.0377756 loss)
Train net output #2: loss2 = 0.252874 (* 0.1 = 0.0252874 loss)
Train net output #3: loss3 = 0.26978 (* 0.1 = 0.026978 loss)
Train net output #4: loss4 = 0.355817 (* 0.1 = 0.0355817 loss)

最佳答案

损失不是单调递减函数;它上下变化。只要总体趋势呈下降趋势,训练就会按预期进行。由于您没有为该行为提供足够长的基线,因此我无法完全判断您的模型是否存在问题。

当然,您可以在源代码中调整损失权重——但我不推荐这样做。我想你也可以在train_val.prototxt中覆盖它,但我目前找不到引用。

关于machine-learning - 为什么当进入具有多个损失的更深网络时损失会增加?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43115964/

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