自动编码器用于降维,并作为无监督特征学习的工具。此外,自动编码器已被用于构建和训练多层神经网络。
当我们谈论自动编码器时,我们引入了稀疏度,我想知道,为自动编码器引入稀疏度项的目的是什么?
自动编码器用于降维,并作为无监督特征学习的工具。此外,自动编码器已被用于构建和训练多层神经网络。
当我们谈论自动编码器时,我们引入了稀疏度,我想知道,为自动编码器引入稀疏度项的目的是什么?
请记住,自动编码器正试图提出数据的最佳汇总/压缩(隐藏/延迟)表示,以使重构误差最小化。这可以用以下等式表示:
其中是数据点的重建,是我们正在考虑的函数空间和是您选择的一些成本/距离函数。
如果您选择像多层神经网络这样强大的模型,它是一种通用逼近器,那么这意味着您基本上可以复制您获得的任何输入数据。因此,上述问题的解决方案可能变得空洞和琐碎,因为您的神经网络可能会学习恒等映射:
如果您的成本函数在。对于许多常用的成本函数来说,这可能是正确的,比如欧几里得距离。例如:
当时为零。
因此,如果对您正在考虑的函数空间没有任何进一步的限制,您将不会学习有意义的数据压缩/隐藏表示(因为您的系统/算法太强大并且基本上是一种“过度拟合”)。
要求稀疏解决方案只是解决此问题的一种方法。它只是对您给定的问题强加先验,以便您获得有意义的解决方案。直观地说,它类似于解决“没有免费午餐”的问题。没有某种先验,很难得到有用的东西。