为什么不在autoencoder中使用正则化术语而不是稀疏项?

时间:2016-09-24 01:27:22

标签: machine-learning autoencoder

我已阅读有关autoencoder的this article,这是由Andrew Ng介绍的。在那里,他使用像正规化这样的差异来降低连接,但稀疏的公式与regur不同。所以,我想知道为什么我们不直接使用模型NN或逻辑回归的正则化项:(1/2 * m)* Theta ^ 2?

1 个答案:

答案 0 :(得分:1)

首先,让我们从一些命名约定开始,稀疏性惩罚和权重的L2惩罚可以(通常是)称为正则化者。因此,问题应该是“为什么要使用基于稀疏性的正则化而不是基于简单的L2规范?”。对于这个问题没有简单的答案,因为它没有深入到基础数学中,并且询问什么是更好的方法来确保我们的网络创建一个良好的概括表示 - 在固定范围内保持参数或多或少(L2正则化,你建议的那个)或者确保无论我们把它作为网络的输入,它都会产生相对简单的表示(可能代价是有很多很少使用的权重/神经元)。即使在这种抽象层次上,它也应该显示这两个正则化器之间的质量差异,这将导致构建完全不同的模型。稀疏性术语总是更好吗?可能不是,ML中几乎没有“总是更好”。但平均而言,对于自动编码器而言,它似乎是一种不那么启发式的选择 - 你希望有一种压缩 - 因此你强制你的网络创建压缩表示,这实际上......好吧......压缩(小!),同时使用L2正则化将简单地“压缩”表示为规范(因为点积通过具有小范数的权重不会增加输入的太多规范),但它仍然可以使用每个神经元的“微小位”,从而有效地构建复杂的表示(使用许多单位)但只是 - 小的激活。