我读了一篇关于自动编码器的文章,这是由Andrew Ng介绍的。其中,他使用了类似正则化的稀疏性来减少连接,但稀疏性的公式与正则性不同。所以,我想知道为什么我们不直接使用正则化项比如模型神经网络或逻辑回归:(1/2 * m) * Theta^2 ?
首先,让我们从一些命名约定开始,权重的稀疏性惩罚和L2惩罚都可以(并且经常)称为正则化器。因此,问题应该是"为什么使用基于稀疏的正则化而不是简单的基于l2规范的正则化?"和这个问题没有简单的答案,因为它没有深入底层数学,问什么是更好的方法来确保我们的网络创建一个泛化表示——保持参数或多或少固定球体(L2正规化,你建议)或确保无论我们把网络作为输入,它将产生相对简单的表示(可能有很多重量/成本的神经元,很少使用)。即使在这个抽象层次上,它也应该显示这两个正则化器之间的定性差异,这将导致构建完全不同的模型。稀疏项总是更好吗?可能不是,在ML中几乎没有什么是"总是更好的"。但平均来说,对于自动编码器来说,这似乎是一个不那么启发式的选择——你想要有一种压缩——因此你迫使你的网络创建压缩表示,这真的是……嗯. .压缩(小!),而使用L2正则化会简单地"压缩"范数的表示(因为通过小范数的权重点积不会增加太多的输入范数),但它仍然可以使用每个神经元的"一小部分",从而有效地构建一个复杂的表示(使用许多单元),但简单-用小的激活。