这一节,我们来了解下什么是自编码器(AE)。
1.自编码器介绍
作为一种无监督或者自监督算法,自编码器本质上是一种数据压缩算法。我们可以类比下电脑上的压缩包,自编码器本质和压缩包类似,也是将数据进行压缩再解压的过程。
我们用一张图片来解释下AE的本质:
白色数据X经过一个神经网络压缩为一个code,code再经过一个神经网络解压后形成黑色数据X,然后通过对比黑白 X ,求出预测误差, 进行反向传递, 逐步提升自编码的准确性。 训练好的自编码中间code这一部分就是能总结出原数据的精髓。
2.自编码器结构
我们为完成压缩和解压这两个过程的神经网络分别起个名字:encoder和decoder。
- encoder(编码器): 编码器是将原始数据压缩成code的过程,也就是能得到原数据的精髓, 然后我们只需要再创建一个小的神经网络学习这个精髓的数据,不仅减少了神经网络的负担, 而且同样能达到很好的效果。
而encoder经历的这个过程就像是对数据进行了一个降维,可以类比下PCA算法。
- decoder(解码器): 与编码器正好相反,解码器在训练的时候是要将精髓信息解压成原始信息。