Autoencoders

重建输入以检测异常,去除噪声,并生成图像和文本

自动编码器是一种深度学习网络,经过训练可以复制其输入数据。自动编码器在精度和性能上已经超越了传统的工程技术在许多应用,包括异常检测文本生成图像生成图像去噪,数字通信

您可以使用MATLAB深度学习工具箱™适用于多种自动编码器的应用例子,详情见下文。

自动编码器如何工作?

自动编码器输出输入的重建。自动编码器由两个较小的网络组成:编码器和解码器。在训练过程中,编码器从输入数据中学习一组特征,称为潜在表示。同时,对解码器进行训练,根据这些特征重构数据。然后,该自动编码器可以用于预测以前未见过的输入。自动编码器是非常通用的,可以用于不同的数据类型,包括图像、时间序列和文本。

图1:自动编码器由编码器和解码器组成。

什么应用程序使用自动编码器?

自动编码器将自然忽略任何输入噪声编码器训练。当输入和输出比较时,该特性非常适合去除噪声或检测异常(参见图2和图3)。

图2:图像噪声去除。

图3:基于图像的异常检测。

潜在表示也可用于生成合成数据。例如,您可以自动创建看起来逼真的笔迹或文本短语(图4)。

图4:从现有文本生成新文本的短语。

基于时间序列的自编码器也可用于检测信号数据中的异常。例如,在预测性维护中,可以根据工业机器的正常运行数据对自动编码器进行训练(图5)。

图5:对正常运行数据进行预测性维护的训练。

然后在新的输入数据上测试经过训练的自动编码器。自编码器输出的较大变化表明操作异常,可能需要进行调查(图6)。

图6:显示输入数据异常的大错误,这可能是需要维护的迹象。

要点

  • 自动编码器不需要标记输入数据进行训练:它们是无监督的
  • 有几种自动编码器用于不同的工程任务,包括:
    • 卷积自编码器——解码器输出试图镜像编码器输入,这对于去噪很有用
    • 变分自动编码器——这些会创建一个生成模型,对异常检测很有用
    • LSTM自动编码器-这些为时间序列应用程序创建生成模型

参见:什么是深度学习长短期记忆网络什么是卷积神经网络?异常检测

Baidu
map