在看了FoldingNe之后补一下自动编码器的知识
AE(AutoEncoder) 学习笔记
目录
- AE(AutoEncoder) 学习笔记
- Auto-Encoder, AE
- Denosing Auto-Encoders, DAE
- Stacked Denoising Auto-Encoders, SAE
- Convolution Auto-Encoders, CAE
- Variational Auto-Encoders, VAE
- Reference
Auto-Encoder, AE
传统的自动编码器是一种数据的压缩算法
其算法包括编码阶段和解码阶段,且拥有对称的结构。
AE的应用:
- 第一是数据去噪
- 第二是为进行可视化而降维
公式描述为:
损失函数:
我们真正关心的是隐层表达,而不是实际输出。因此,针对自编码器的很多改进方法都是对隐层表达增加一定的约束,迫使隐层表达与输入不同。
Denosing Auto-Encoders, DAE
一个好的表达能够捕获输入信号的稳定结构,以该目的为出发出现了降噪自动编码器(DAE)。
首先对干净的输入信号加入噪声产生一个受损的信号(主动)。然后将受损信号送入传统的自动编码器中,使其重建回原来的无损信号。
过程可用公式描述:
是噪声的分布,\(\hat{x}\)
DAE的目标是最小化损失函数:
DAE与传统的AE的主要区别在于:
- 降噪自编码器通过人为的增加噪声使模型获得鲁棒性的特征表达
- 避免使隐层单元学习一个传统自编码器中没有意义的恒等函数
最大的缺陷在于每次进行网络训练之前,都需要对干净输入信号人为地添加噪声,以获得它的损坏信号,这无形中就增加了该模型的处理时间。
Stacked Denoising Auto-Encoders, SAE
SAE和DAE区别主要在于:SAE是有监督学习,DAE是无监督学习。所以SAE是DAE的一种应用方法。
Convolution Auto-Encoders, CAE
🌟实战链接🔗卷机自编码器图像去噪 PyTorch练习(五)卷积自编码器图像去噪 - 锦恢的文章 - 知乎
STL-10 数据集下载链接:
CAE其实就是用常规的CNN的处理流程,卷积+池化,然后上采样(反卷积)这样可以恢复到一个和输入图像相同的维度,这样可以用于图像去噪。
上采样的两种方法:
- 转置卷积
- 二重线性插值