0%

AutoEncoder

AutoEncoder

压缩与解压

有一个神经网络,他在做的事情是:接受一张图片,然后给他打码,最后再从打码的图片中还原。

img

假设刚刚的神经网络是这样,对应上刚刚的图片,可以看出,图片实际上是经过了压缩,再解压的这一道工序,原有的图片质量被缩减,解压时用信息量小却包含了所有关键信息的文件恢复出原本的图片。

为什么要这样做呢?

img

有的时候神经网路偶要接受大量的输入信息,比如输入信息是高清图片时。输入信息可能达到上千万,让神经网络直接从上千万个信息源中学习是一件很吃力的事情,所以,何不压缩一下,提取出原图片中的最具代表性的信息,缩减信息量,再把缩减过后的信息放进神经网络学习,这样学习起来就简单轻松很多了,所以,自编码就能在这时发挥作用。

通过将元数据白色的X压缩,解压成黑色的X,然后通过对比黑白,求出预测误差,进行反向传递,逐步提升自编码的准确性,训练好的自编码中间这一部分就是元数据的精髓,可以看出,从头到尾,我们只用到了输入数据X,并没有用到X对应的数据标签,所以也可以说自编码是一种非监督学习

到了真正使用自编码的时候,通常只会用到自编码的前半部分。

编码器Encoder

img

编码器得到原数据的精髓,然后我们只需要再创建一个小的神经网络学习这个精髓的数据,不仅减少了神经网络的负担,而且同样能达到很好的效果

img

这是通过一个自编码整理出来的数据,他能从原数据中总结出每种类型数据的特征,如果把这些特征全部放在一张二维的图片上,每种类型都已经被很好的用原数据的精髓区分开来。

PCA主成分分析,在提取主要特征时,自编码和PCA一样,甚至超越了PCA。换句话说自编码可以像PCA一样给特征属性降维。