什么是Tensorflow中的正则化损失?

27

使用Tensorflows Object Detection API训练目标检测DNN时,可视化平台Tensorboard绘制了一个名为regularization_loss_1的标量。

那这是什么?我知道正则化是什么(通过各种方法如舍弃法使网络具有泛化能力),但我不清楚这个显示的损失是什么。

谢谢!

1个回答

23

TL;DR: 正则化函数生成的额外损失。将其添加到网络的损失中并在两者之和上进行优化。

正如您正确指出的那样,正则化方法用于帮助优化方法更好地概括。 一种获得此效果的方法是将一个“正则化项”添加到损失函数中。这个项是一个通用函数,它修改“全局”损失(即网络损失正则化损失总和),以便将优化算法推向期望的方向。

例如,假设出于某种原因,我想鼓励优化的解使权重尽可能接近零。因此,一种方法是将网络产生的损失与网络权重的函数相加(例如,所有权重的绝对值之和的缩小比例)。由于优化算法最小化全局损失,我的正则化项(当权重远离零时较高)将推动优化朝着具有接近于零的权重的解的方向。


1
为什么要让权重接近于零?这个信息可能会改善答案。 - Hakaishin
我只是举了一个可能与输入数据无直接关系的损失的例子。我不知道权重接近零是否是一件值得称赞的事情。 - GPhilo
8
接近于零的权重会导致神经元的激活接近于其触发边界(sigmoid或relu的斜率),而远离饱和的端点。这反过来使你的网络能力更弱,无法产生高度非线性的决策边界,因此不太可能出现过拟合现象,且更能泛化,但也更难捕捉非常复杂的模式。 - Francois Zard
2
这是一个简单的稻草人正则化项。他也可以说,“假设我想鼓励接近42的解,因为那是生命等答案……”损失函数的形式不是问题或答案的重点。 - welch
2
在我的TensorFlow目标检测训练中,我得到了正则化损失一直增加的情况。为什么会发生这种情况?有什么想法如何解释这个问题吗? - hafiz031
我知道这是一个旧帖子,但你认为每个时期正则化损失的减少意味着什么?这可能是过拟合的迹象吗? - Typo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接