gpt4 book ai didi

tensorflow - 为什么不将 L2 正则化添加回原始损失函数?

转载 作者:行者123 更新时间:2023-12-02 14:53:55 29 4
gpt4 key购买 nike

我知道在使用内核正则化器时,尤其是 l2 损失,我应该将其重新添加到损失函数中,这是其他帖子中正在做的事情。然而,在 Keras 中,他们并没有遵循这个过程。为什么会这样?

例如,考虑 thisthis笔记本。他们在某些层中使用 l2 损失作为内核正则化器,但没有加回到原始损失中。这是因为特定的损失,还是仅在 Keras 中遵循的行为,还是我完全误解了一切?

最佳答案

Keras 隐藏了很多复杂性(这并不总是一件好事)。

您正在使用 Model 抽象:此模型内部包含有关架构和训练过程的所有必需信息。

当您调用方法 compiletraintrain_on_batch 时,您指定了损失函数,但在幕后发生的事情是:

  • 实例化指定的损失函数(例如分类交叉熵)
  • 从模型中获取应用的正则化并将它们全部添加到先前实例化的损失项中

您可以看到将要添加到损失项中的操作访问模型实例的属性.losses(这是 tensorflow 操作的列表,通常是所有乘法操作,因为正则化在 for regularization_strenght * norm_p(variable) 中。

关于tensorflow - 为什么不将 L2 正则化添加回原始损失函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53976243/

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