理解稀疏自动编码器背后的逻辑。

问题描述 投票:0回答:1

我目前正在经历一个 稀疏的自动编码器。 我的理解是,我们不需要所有的隐藏单元对每一个输入都开火,而需要的是 一些特定的隐蔽单位 取决于输入的类型。为此,我们增加了一个 稀疏正则化项 到损失函数中。但我无法理解,在损失函数中加入这个正则化项,如何帮助我们阻止某些隐藏单元发射?稀疏自动编码器

machine-learning deep-learning neural-network autoencoder
1个回答
0
投票

但我无法理解,在损失函数中加入这个正则化项如何帮助我们阻止某些隐藏单元发射?

因为这个正则化项恰恰会惩罚过度的激活。相对于传统的正则化,在传统的正则化中,通过重新惩罚权重 L1L2 规范,在这种情况下,我们通过一个尺度因子来惩罚激活函数的输出。这种方法确保了隐藏层中只有特定输入的神经元子集被激活,这总体上会产生更好的结果,因为你最终会得到更多 "专门化 "的神经元,它们只对特定的输入开火,而不是所有的输入。

所以就用传统的正则化工作方式来思考。通过在 Lasso 回归中的损失函数中添加一个正则化项,我们通过对高系数进行惩罚。L1 规范,并强制要求当最小化时,损失函数将产生更小的权重。那么在稀疏正则化中,我们反而是缩小了 激活向量 并减少每个输入的神经元的子集,将发射。

© www.soinside.com 2019 - 2024. All rights reserved.