自动编码器的应用是什么?
数据压缩被应用于计算机视觉、网络、架构和许多其他领域。人工智能包含广泛的技术和方法,使计算机系统能够应对数据压缩等挑战。自动编码器是无监督神经网络,通过机器学习压缩数据。
什么是自动编码器?
自动编码器 (AE) 是一种无监督的人工神经网络,在机器学习中提供压缩和其他功能。自动编码器的主要功能是使用前馈方法从输入重建输出。输入在被解压缩为输出之前会被压缩,输出通常与原始输入相同。自动编码器就像一个衡量和比较相似输入和输出以执行结果的工具。
自动编码器也称为陀螺网络或自动关联器。
编码器、代码和解码器是自动编码器的三个主要组成部分。初始数据被转换为编码结果,然后由网络的后续层扩展为最终输出。检查“去噪”自动编码器是了解自动编码器的一种方法。去噪自动编码器通过将噪声输入与输出结合来细化输出,从而重建表示原始输入集的内容。自动编码器在图像处理、分类和机器学习的其他方面都有应用。
自动编码器架构
自动编码器由三个部分组成:
**编码器** - 编码器是一个完全集成的、前馈神经网络,它将输入图像压缩到潜在空间表示中,并将其编码为低维度的压缩表示。压缩后的图像是对原始图像的变形复制。
**代码** - 网络的这一部分存储传递给解码器的输入的缩减表示。
**解码器** - 解码器与编码器类似,也是一个前馈网络,结构与编码器相同。该网络负责将提供的代码重新组装到其原始维度。
自动编码器的类型
卷积自动编码器
自动编码器在其传统结构中忽略了信号可以被视为其他信号之和的思想。卷积自动编码器利用了这一发现,它使用卷积运算符。它们学习将输入编码为一系列基本信号,然后通过改变图像的几何形状或反射率从这些信号重建输入。
稀疏自动编码器
稀疏自动编码器提供了另一种在不减少隐藏层中节点数量的情况下引入信息瓶颈的方法。相反,我们将设计我们的损失函数来惩罚层内的激活。
深度自动编码器
深度自动编码器是普通自动编码器的扩展。深度自动编码器的第一层用于表示原始输入中的第一阶特征。第二层表示与第一阶特征外观模式相关的第二阶特征。深度自动编码器的更深层更有可能学习更高阶的特征。
深度自动编码器由两个对称的深度信念网络组成
前四五层浅层表示网络的编码部分,后四五层外部层表示网络的解码部分。
解码部分包含第二组四五层。
收缩自动编码器
收缩自动编码器是一种深度学习方法,它通过神经网络帮助编码未标记的训练输入。这是通过创建一个损失项来实现的,与输入训练样本相比,该损失项会惩罚隐藏层激活的大导数。有效地惩罚输入的微小变化导致编码空间发生显着差异的情况。
自动编码器的应用
到目前为止,我们已经看到了各种各样的自动编码器,每个自动编码器都擅长不同的任务。让我们看看它们可以做的一些事情。
数据压缩
尽管自动编码器旨在压缩数据,但在实践中很少出于此目的使用它们。原因如下:
**有损压缩** - 自动编码器的输出与输入不完全相同,但它是接近但退化的表示。它们不是无损压缩的最佳选择。
**数据特定** - 自动编码器只能压缩与其训练数据相同的数据。它们不同于传统的像 jpeg 或 gzip 这样的数据压缩算法,因为它们学习与提供的训练数据相关的特征。因此,我们不能期望用在手写数字上训练的自动编码器来压缩风景照片。
自动编码器很少用于压缩,因为我们现在有更有效和简单的算法,如 jpeg、LZMA 和 LZSS(与霍夫曼编码一起在 WinRAR 中使用)。近年来,自动编码器已被用于图像去噪和降维。图像去噪用于获取有关图像内容的准确信息。
降维
自动编码器将输入缩减为存储在称为代码的中间层中的缩减表示。通过将此层与模型分离,输入的信息已被压缩,现在可以将每个节点视为一个变量。因此,我们可以确定,通过删除解码器,输出为编码层的自动编码器可用于降维。
特征提取
自动编码器的编码部分有助于学习输入数据中存在的关键隐藏特征,从而减少重建误差。在编码过程中形成了新的独特特征组合。
图像生成
VAE(变分自动编码器)是一种生成模型,用于生成模型尚未见过的图像。其理念是,系统将根据输入图像(如人脸或风景)生成类似的图像。其目的是
创建新的动画角色
创建虚构的人像
图像着色
自动编码器的目的之一是将黑白图像转换为彩色图像。彩色图像也可以转换为灰度图像。