深度学习中的自动编码器是什么?
介绍
数据编码是使用称为自动编码器的卷积神经网络进行无监督学习的。
自动编码器学习高维数据的低维形式(编码),以学习低维形式的高维数据,通常用于降维。
自动编码器
自动编码器在无监督机器学习领域非常有用。它们可以用来减少数据大小并对其进行压缩。
主成分分析 (PCA) 寻找数据可以以最小方差外推的方向,而自动编码器则从其压缩版本重建我们的原始输入,两者之间存在差异。
如有必要,可以使用自动编码器使用压缩数据恢复原始数据。
架构
自动编码器是一种神经网络的形式,可以使用其压缩版本学习重建图像、文本和其他类型的输入。
通常,自动编码器具有三层:
编码器
编码
解码器
编码器层将输入图像转换为潜在空间表示。它从提供的图像生成具有降低维度的压缩图像。
原始图像已以压缩形式变形。
编码层将压缩输入表示到解码器层。
解码图像后,解码器层将其恢复到原始维度。可以使用潜在空间表示重建解码图像,而原始图像则可以使用潜在空间表示进行有损重建。
开发自动编码器时,应考虑以下因素:
代码或瓶颈的大小是配置自动编码器的第一个也是最重要的超参数。它选择需要压缩多少数据。它也可以用作正则化短语。
其次,请记住,层数对于微调自动编码器很重要。较浅的深度更容易处理,而较深的深度会使模型复杂化。
第三,我们需要考虑每一层可以支持多少个节点。随着输入到每一层的降低,自动编码器中的节点数量在各层之间减少。
自动编码器的类型
完全在自动编码器下运行的无监督神经网络可用于压缩输入数据。
重要的是要获取输入图像并尝试预测相同的图像作为输出,以从其压缩瓶颈区域重建图像。
这些自动编码器通常用于生成潜在空间或瓶颈,它充当输入数据的压缩版本,并在需要时借助网络快速轻松地解压缩。
稀疏自动编码器
要控制稀疏自动编码器,可以更改每一隐藏层中的节点数量。
由于构建在隐藏层中具有可自定义节点数量的神经网络具有挑战性,因此稀疏自动编码器的工作原理是抑制这些层中某些神经元的活动。
这表明对损失函数施加与活动神经元数量成反比的惩罚。
由于稀疏函数,其他神经元无法激活。
正则化器有两种类型
L1损失方法可用作通用正则化方法来提高模型幅度。
与仅将所有样本上的激活相加的L1损失方法相比,KL散度方法同时考虑所有激活。在这个组中,我们为每个神经元的平均强度设定了上限和下限。
收缩自动编码器
在解码器中重建输入之前,收缩自动编码器会将其通过瓶颈。瓶颈函数正在用于在图像处理过程中学习图像的图像表示。
收缩自动编码器还具有正则化项,以防止网络找出恒等函数并将输入转换为输出。
为了训练满足此要求的模型,我们必须确保隐藏层激活导数相对于输入最小。
降噪自动编码器
您是否曾经想从图像中去除背景噪声,但不知道从哪里开始?如果是这样,降噪自动编码器就是您的答案!
降噪自动编码器与传统自动编码器的功能类似,它们接受输入并输出。但它们彼此不同之处在于它们不接受输入图像作为绝对真理。相反,它们使用更响亮的版本。
这是因为处理照片时去除图像噪声很困难。
为了将嘈杂的概念转换为低维频谱,在那里噪声过滤更容易调节,我们可以改用降噪自动编码器。
这些网络使用的标准损失函数是L2或L1损失。
变分自动编码器
变分自动编码器 (VAE) 是为解决传统自动编码器的一个特定问题而创建的模型。自动编码器学习仅在所谓的潜在空间或瓶颈中表示输入。训练后的潜在空间不一定是连续的,这使得插值具有挑战性。
专注于此主题的变分自动编码器将其潜在特征表示为概率分布,从而产生易于采样和扩展的连续潜在空间。
用例
自动编码器具有多种应用,例如:
使用惩罚模型复杂度的损失函数的自动编码器可以发现数据异常。这可能有助于金融市场的异常检测,您可以在其中使用它来发现异常行为并预测市场波动。
音频和视频数据的降噪 − 自动编码器可以帮助降噪音频或视频文件。它们还可以应用于音频和视频记录以减少环境噪声。
自动编码器已被用于填充图像中的空白,方法是学习根据周围像素恢复丢失的像素。
例如,如果我们试图修复一张右侧缺失一部分的旧照片,自动编码器可以根据其先前对图像其余部分的了解来确定如何填充缺失的部分。
信息检索:自动编码器可作为基于内容的图像检索系统,使用户能够根据其内容查找图像。
结论
自动编码器是用于数据压缩和分析的有用工具。它们可以用来发现数据中的隐藏模式,然后可以使用这些模式生成原始数据的压缩版本。在处理太大的数据集难以轻松处理或想要研究数据中不同类别如何分布时,这可能会有所帮助。