L2 正则化常数

机器算法验证 神经网络 正则化
2022-01-31 14:44:07

在实现神经网络(或其他学习算法)时,我们通常希望通过 L2 正则化我们通常通过向成本函数添加正则化项来做到这一点,如下所示: θi

cost=1mi=0mlossm+λ2mi=1n(θi)2

然后我们继续最小化这个成本函数,希望当我们达到最小值时,我们得到的模型比没有正则化的模型具有更少的过度拟合。据我所知,这是 L2 正则化方法(也是在深度学习库中实现的一种)。让我知道我是否犯了任何错误。

我的问题是:由于正则化因子与模型中的参数总数无关,在我看来,参数越多,第二项自然就越大。例如,如果一个模型有 3 亿个参数,并且我设置了,那么第二项可能会很大。那么,以某种方式减少以解释模型中的大量参数是标准做法,还是可以简单地接受以巨大成本开始?在我看来,如果我们不以某种方式与参数的数量成反比,那么使用大量参数,同时保持λ=1λλλ常数,意味着我们将有更强的正则化效果,因为第二项将强制参数更加严格。第二个任期将超过第一个任期。不过,我在遇到的任何资源中都没有提到这样做,所以我想知道我的分析是否在某个地方根本上是错误的。θi0

2个回答

您的观察是绝对正确的,参数的数量会影响正则化成本。

没有任何经验法则值(但会被认为很大)。如果交叉验证太耗时,您可以保留一部分训练数据并使用early stopping您仍然需要为尝试几个值,通常的做法是尝试类似的值。λλ=1λλ0.01,0.02,,0.4

对于非常大的网络,使用其他正则化方法可能更方便,例如dropout,而不是正则化。2

你不应该关心最终的损失,而应该关心它的导数。每个参数关于损失的导数将通过正则化校正其导数,但该术语不会影响反向传播。

所以总体上损失将是巨大的,但只有误差部分(不会随着参数数量真正扩大)会影响反向传播。