自编码器(Auto-Encoder)顾名思义即可以利用自身的高阶特征编码自己。自编码器也是一种神经网络他的输入和输出是一致的,他借助稀疏编码的思想目标是使用稀疏的一些高阶特征重新组合来重构自己。
因此他的特征十分明显:
希望使用高阶特征来重构自己而不只是复制像素点
自编码器的输入节点和输出節点的数量是一致的,但如果只是单纯的逐个复制输入节点则没有意义像前面提到的,自编码器通常希望使用少量稀疏的高维特征来重構输入所以加入几种限制:
(1)中间隐含层节点的数量。如果中间隐含节点数量小于输入/输出的数量则为一个降维的过程。此时不可能出现复制所有节点的情况只能学习数据中最重要的特征,将不太相关的特征去除如果再加一个L1正则,则可以根据惩罚系数控制隐含節点的稀疏程度惩罚系数越大,学到特征越稀疏
(2)给数据加入噪声变成了Denoising AutoEncoder(去噪自编码器),将从噪声中学习出数据的特征此时呮有学习数据频繁出现的模式和结构,将噪声去除才可以复原数据。
去噪自编码器中最常使用的噪声有:
特点:根据某一层网络的输入、输出节点数量自动调整最合适的分布Xavier让权重满足0均值,同时方差为