Pytorch中的自编码(autoencoder)

Posted jiading

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Pytorch中的自编码(autoencoder)相关的知识,希望对你有一定的参考价值。

Pytorch中的自编码(autoencoder)

本文资料来源:https://www.bilibili.com/video/av15997678/?p=25

什么是自编码

先压缩原数据、提取出最有代表性的信息。然后处理后再进行解压。减少处理压力

通过对比白色X和黑色X的区别(cost函数),从而不断提升自编码模型的能力(也就是还原的准确度)

技术图片

由于这里只是使用了数据本身,没有使用label,所以可以说autoencoder是一种无监督学习模型。

实际在使用中,我们先训练好一个autoencoder模型,然后只取用其前一半,来获取到压缩了的特征进行其他的训练,以达到压缩特征的目的。

自编码可以达到类似于PCA的效果

自编码in Pytorch

  • encoder

技术图片

  • decoder

    技术图片

  • 连接成网络

技术图片

  • 设置优化器和损失函数

    autoencoder=AutoEncoder()
    optimizer=torch.optim.Adam(autoencoder.parameters(),lr=LR)
    loss_func=mm.MSELoss()
  • 搭建网络,传入数据

技术图片

这里的y是压缩之前的数据,用来在loss function中和decoded对比的

  • 设置输出

技术图片

以上是关于Pytorch中的自编码(autoencoder)的主要内容,如果未能解决你的问题,请参考以下文章

PyTorch笔记 - MAE(Masked Autoencoders) PyTorch源码

PyTorch笔记 - MAE(Masked Autoencoders) PyTorch源码

PyTorch笔记 - MAE: Masked Autoencoders Are Scalable Vision Learners

PyTorch笔记 - MAE: Masked Autoencoders Are Scalable Vision Learners

PyTorch笔记 - MAE: Masked Autoencoders Are Scalable Vision Learners

Pytorch Note43 自动编码器(Autoencoder)