Jon*_*han 2 computer-vision neural-network keras tensorflow
我知道当使用内核正则化器,尤其是l2 loss时,我应该将其重新添加到loss函数中,这是在其他帖子中所做的。但是,在Keras,他们没有遵循此过程。为什么会这样呢?
例如,考虑这个和这个笔记本。他们在某些层级使用l2损失作为核心调节器,但并未加回到原始损失中。这是因为特定的损失,还是仅仅是Keras遵循的行为,还是我完全误解了一切?
Keras隐藏了很多复杂性(这并不总是一件好事)。
您正在使用Model抽象:此模型在内部包含有关体系结构和培训过程的所有必需信息。
当您调用该方法compile或train或train_on_batch指定损失函数但在幕后时,会发生以下情况:
您可以通过访问.losses模型实例的属性来查看将要添加到损失项中的操作(这是张量流操作的列表,通常是所有多重化操作,因为正则化在for中)regularization_strenght * norm_p(variable)。