探索人工神经网络中的自动编码器的想法并不新鲜。实际上第一个应用程序可以追溯到1980年代,自动编码器概念最初用于降维和特征学习,经过发展,现在广泛用于学习数据生成模型。
本文将讨论5种流行的自动编码器:
- 欠完备自动编码器
- 稀疏自动编码器
- 收缩自动编码器
- 去噪自动编码器
- 变分自动编码器
1.欠完备自动编码器
欠完备自动编码器是最简单的自动编码器类型之一。它的工作方式非常简单,欠完备自动编码器接收图像并尝试预测与输出相同的图像,在压缩的瓶颈区域重建图像。
欠完备自动编码器是真正不受监督的,因为它们不采用任何形式的标签,目标与输入相同。像这样的自动编码器的主要用途是生成潜在空间或瓶颈,它形成输入数据的压缩替代品,并且可以在需要时借助网络轻松解压回来。这种数据压缩形式可以建模为一种降维形式。
2.稀疏自动编码器
稀疏自动编码器类似于欠完备自动编码器,因为它们使用相同的图像作为输入。然而监管信息编码的方式截然不同。
欠完备自动编码器通过调节瓶颈的大小来微调,而稀疏自动编码器通过改变每个隐藏层的节点数来调节。由于不可能设计出在其隐藏层具有灵活数量节点的神经网络,因此稀疏自动编码器通过惩罚隐藏层中某些神经元的激活来工作。
这种称为稀疏函数的惩罚阻止神经网络激活更多神经元并用作正则化器。
3.收缩自动编码器
与其他自动编码器类似,收缩自动编码器执行学习图像表示的任务,同时将其传递通过瓶颈并在解码器中重建它。
收缩自动编码器还有一个正则化项,以防止网络学习恒等函数并将输入映射到输出。
收缩自动编码器的工作基础是相似的输入应该有相似的编码和相似的潜在空间表示,这意味着潜在空间不会因输入的微小变化而变化很大。
为了训练与约束工作的模型,我们必须确保隐藏层激活的导数相对于输入较小。
4.去噪自动编码器
顾名思义,去噪自动编码器是从图像中去除噪声的自动编码器。与我们已经介绍过的自动编码器相反,这是第一个没有将输入图像作为其基本事实的自动编码器。
在去噪自动编码器中,我们提供了图像的噪声版本,并通过数字更改添加噪声。噪声图像被馈送到编码器-解码器架构,并将输出与真实图像进行比较。
去噪自动编码器通过学习可以轻松滤除噪声的输入表示来消除噪声。
虽然直接从图像中去除噪声似乎很困难,但自动编码器通过将输入数据映射到低维,如欠完备自动编码器来执行此操作,从而更容易过滤噪声。
本质上,去噪自动编码器是在非线性降维的帮助下工作的。这些类型的网络通常使用L1或L2损失函数。
5.变分自动编码器
标准变分自动编码器仅以称为潜在空间或瓶颈的压缩形式表示输入。它更像是概率自动编码器,这意味着即使在训练后,它们的输出会部分由概率决定。因此,训练模型后形成的潜在空间不一定是连续的。
变分自动编码器处理并将其潜在属性表示为概率分布,从而形成可以轻松采样和插值的连续潜在空间。当提供相同的输入时,从形成的潜在分布中采样潜在属性并将其馈送到解码器,从而重建输入。