目录
自编码器介绍
自编码器的结构简单,由Encoder和Decoder组成,Encoder产生的Latent variables是潜在变量,它是Decoder的输入。
自编码器的目标是寻找有意义的feature,用这些feature来代表输入变量,并且可以通过Decoder还原变量。
如果具体到某一个数据集MINIST,他的结构如下图所示,中间代表了卷积网络层或者全连接层。
PCA与自编码器对比:
自编码器更接近真实图像,因为它可以是非线性的。
自编码器与分类网络相比:
自编码器没有额外的label,属于无监督学习,而分类网络需要label,属于监督学习。
从零开始训练自编码器
数据集是MINIST,基于python的pytorch框架。
import os
import torch
import torch.nn as nn
import torch.nn.functional as F
# Parameter Settings
latent_dims = 10
num_eopchs = 50
batch_size = 64
capacity = 64
learning_rate = 1e-3
# use_