自动编码器(Autoencoders)

img

在“深度学习”系列中,我们不会看到如何使用深度学习来解决端到端的复杂问题,就像我们在《A.I. Odyssey》中所做的那样。我们更愿意看看不同的技术,以及一些示例和应用程序。

1、引言
① 什么是自动编码器(AutoEncoder,AE)?

神经网络以各种形状和大小存在,并且通常以其输入和输出数据类型为特征。例如,图像分类器是用卷积神经网络构建的。它们将图像作为输入,并输出类的概率分布。

自动编码器是一类输入与输出相同的神经网络。它们的工作原理是将输入压缩到潜在空间表示中,然后从该表示中重建输出。

我们将看到如何使用修改版本的输入会更有趣。

img

简单的自动编码器架构 —— 输入被压缩,然后重建。

② 卷积自动编码器(Convolutional AutoEncoders,CAE)

自动编码器的一个非常流行的用途是将它们应用于图像。**诀窍是用卷积层代替完全连接的层。**这样,连同池化层,将输入从宽和细(假设100×100像素,3通道RGB)转换为窄和厚。这有助于网络从图像中提取视觉特征,从而获得更准确的潜在空间表示。重建过程使用上采样(upsampling)和卷积(convolution)。

由此产生的网络被称为卷积自动编码器。

img

卷积自动编码器架构 —— 它将宽而细的输入空间映射到窄而厚的潜在空间。

③ 重建质量

输入图像的重建往往是模糊的,质量较低。这是我们在压缩过程中丢失一些信息的结果。

img

训练CAE重建其输入。

img

重建的图像很模糊。

2、CAE的使用
案例1:超基础图像重建(Ultra-basic image reconstruction)

卷积自动编码器可以用于重建。例如,它们可以学习去除图像中的噪声,或者重建缺失的部分。

为此,我们不使用相同的图像作为输入和输出,而是使用有噪声的版本作为输入,干净的版本作为输出。在这个过程中,神经网络学会填补图像中的空白。

让我们看看CAE可以做些什么来替换眼睛的部分图像。假设有一个十字准星,我们想把它移开。我们可以手动创建数据集,这非常方便。

img

CAE接受过移除准星的训练。

img

即使它是模糊的,重建的输入没有留下十字准星。

现在我们的自动编码器已经训练好了,我们可以用它来去除我们从未见过的眼睛图片上的十字准星。

案例2:超基础图像上色(Ultra-basic image colorization)

在这个例子中,CAE将学习从圆形和正方形的图像映射到相同的图像,但是圆形是红色的,正方形是蓝色的。

img

训练CAE为图像上色。

img

虽然重建的图像很模糊,但颜色基本正确。

CAE为图像的正确部分上色方面做得很好。它知道圆形是红色的,正方形是蓝色的。紫色来自蓝色和红色的混合,网络在圆形和正方形之间徘徊。

现在我们的自动编码器已经训练好了,我们可以用它来给我们以前从未见过的图片上色。

3、先进的应用

上面的例子只是概念证明,展示了卷积自动编码器可以做什么。

更令人兴奋的应用包括全图像着色、潜在空间聚类或生成更高分辨率的图像。后者是用低分辨率作为输入,高分辨率作为输出得到的。

img

img

4、总结

在这篇文章中,我们已经看到了如何使用自动编码器神经网络来压缩、重建和清理数据。获得图像作为输出是一件非常令人兴奋和有趣的事情。

注意:有一个修改版本的AEs称为变分自动编码器(Variational Autoencoders),用于图像生成。

你可以试试那边的代码:

5、自动编码器(AE)vs. 卷积自动编码器(CAE)vs. 变分自动编码器(VAE)

自动编码器(AE)、卷积自动编码器(CAE)和变分自动编码器(VAE)是深度学习中常见的无监督学习模型,它们在结构和应用上存在一些区别和联系。

① 自动编码器(AE)

AE由编码器和解码器组成,用于将高维数据压缩成低维数据,再从这个低维表示重构原始数据。AE主要用于数据压缩和去噪,但由于其潜在空间的不连续性,不适用于数据生成任务。

AE的训练目标是最小化输入和重构之间的差异,通常使用均方误差作为损失函数。

② 卷积自动编码器(CAE)

CAE是AE的一个变体,它使用卷积层代替了传统的全连接层,特别适合处理图像数据。CAE能够很好地保留图像的空间结构信息,常用于去噪和特征提取。

CAE的编码器和解码器部分通常由卷积层、激活函数和池化层组成,能够处理任意尺寸的输入图像。

③ 变分自动编码器(VAE)

VAE在AE的基础上引入了概率分布的概念,其编码器输出潜在变量的参数(均值和标准差),然后从这个参数化的分布中采样得到潜在变量,再输入到解码器进行重构。

VAE的训练不仅考虑重构损失,还包括一个正则项——KL散度,用于衡量潜在变量分布与先验分布之间的差异,这使得VAE的潜在空间更加规则化,适合于数据生成任务。

VAE通过重参数化技巧解决了在潜在空间中采样的梯度问题,允许模型在训练过程中进行有效的反向传播。

AE、CAE和VAE都适用于学习数据表示的无监督模型,但它们在结构和应用上各有侧重。AE主要用于数据压缩和去噪,CAE适用于图像数据的处理,而VAE则因其潜在空间的连续性和规则化,适合于数据生成和样本的多样性生成。VAE可以看作AE的升级版,它通过引入概率分布和KL散度,解决了AE在数据生成上的局限性。

6、参考资料
  • 23
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值