Autoencoder 的基本概念
机器学习中包含监督学习和非监督学习,其中非监督学习简单来说就是学习人类没有标记过的数据。
对于没有标记的数据最常见的应用就是通过聚类(Clustering)的方式将数据进行分类。对于这些数据来说通常有非常多的维度或者说Features。如何降低这些数据的维度或者说“压缩”数据,从而减轻模型学习的负担,我们就要用到Autoencoder了。
用Autoencoder 给数据“压缩”和降维不仅能够给机器“减压”,同时也有利于数据的可视化。
Autoencoder 实际上跟普通的神经网络没有什么本质的区别,分为输入层,隐藏层和输出层。唯一比较特殊的是,输入层的输入feature的数量(也就是神经元的数量)要等于输出层。同时要保证输入和输出相等。
结构大概如图所示

ae.py
import torchvision
import torch
from torch
本文介绍了Autoencoder的基本概念,作为一种非监督学习方法,用于数据降维和压缩,有助于模型简化和数据可视化。文章通过代码ae.py和main_ae.py展示了Autoencoder的实现。随后,探讨了VAE(变分自编码器),解释了KL散度和ELBO在VAE中的作用,提供代码vae.py和main_vae.py以展示VAE的实现。
订阅专栏 解锁全文
1141

被折叠的 条评论
为什么被折叠?



