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对比的
- 设置输出