Pytorch Note43 自动编码器(Autoencoder)

Pytorch Note43 自动编码器(Autoencoder)


全部笔记的汇总贴: Pytorch Note 快乐星球

自动编码器

自动编码器最开始是作为一种数据压缩方法,同时还可以在卷积网络中进行逐层预训练,但是随后更多结构复杂的网络,比如 resnet 的出现使得我们能够训练任意深度的网络,自动编码器就不再使用在这个方面,下面我们讲一讲自动编码器的一个新的应用,这是随着生成对抗模型而出现的,就是使用自动编码器生成数据。

其特点有:
(1)跟数据相关程度很高,这意味着自动编码器只能压缩与训练数据相似的数据.因为使用神经网络提取的特征一般是高度相关于原始的训练集,使用人脸训练出来的自动编码器在压缩自然界动物的图片时表现就会比较差,因为它只学习到了人脸的特征,而没有学习到自然界图片的特征。
(2)压缩后数据是有损的,这是因为在降维的过程中不可避免地要丢失信息。到了2012年,人们发现在卷积神经网络中使用自动编码器做逐层预训练可以训练更深层的网络,但是人们很快发现,良好的初始化策略要比复杂的逐层预训练有效得多,2014年出现的 Batch Normalization技术也使得更深的网络能够被有效训练,到了2015年年底,通过残差(ResNet)基本可以训练任意深度的神经网络。
所以现在自动编码器主要应用在两个方面:第一是数据去噪,第二是进行可视化降维。自动编码器还有一个功能,即生成数据。

自动编码器的一般结构如下

  • 6
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
引用中提到了一个基于PyTorch卷积自动编码器的实现。这个自动编码器模型使用了卷积层、最大池化层、上采样层和激活函数作为主要组成部分。代码如下: ```python class AutoEncoder2(torch.nn.Module): def __init__(self): super(AutoEncoder2, self).__init__() self.encoder = torch.nn.Sequential( torch.nn.Conv2d(1, 64, kernel_size=3, stride=1, padding=1), torch.nn.ReLU(), torch.nn.MaxPool2d(kernel_size=2, stride=2), torch.nn.Conv2d(64, 128, kernel_size=3, stride=1, padding=1), torch.nn.ReLU(), torch.nn.MaxPool2d(kernel_size=2, stride=2) ) self.decoder = torch.nn.Sequential( torch.nn.Upsample(scale_factor=2, mode='nearest'), torch.nn.Conv2d(128, 64, kernel_size=3, stride=1, padding=1), torch.nn.ReLU(), torch.nn.Upsample(scale_factor=2, mode='nearest'), torch.nn.Conv2d(64, 1, kernel_size=3, stride=1, padding=1) ) def forward(self, input): output = self.encoder(input) output = self.decoder(output) return output ``` 这个模型的编码部分由两个卷积层和最大池化层组成,用于提取输入数据的核心特征。解码部分由两个上采样层和卷积层组成,用于实现数据的重构。整个模型的作用是对输入数据进行清洗,如去除噪声数据、增强关键特征等。通过实例化这个模型并调用`forward`方法,可以对输入数据进行自动编码的处理。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Pytorch基础-07-自动编码器](https://blog.csdn.net/Galen_xia/article/details/109593783)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

风信子的猫Redamancy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值