1.普通自编码器
2.多层自编码器
3.卷积自编码器
由CNN卷积神经网络组成的自编码器。用卷积层替换全连接层的原因也很简单,传统自编码器一般使用的是全连接层,对于一维信号并没有什么影响,但是对于二维图像或视频信号,全连接层会损失空间信息,而通过卷积操作,卷积自编码器能很好的保留二维信号的空间信息。卷积自编码器如图 4.36所示。
4. 正则自编码器
稀疏自编码器:稀疏自编码器就是普通自编码器的隐藏层加一个L1正则项,也就是一个训练惩罚项,这样我们训练出的编码器(encoder)表征的特征更加的稀疏,从而能得到少且有用的特征项。这也是为啥用L1正则项而不用L2正则项的原因。至于L1,L2正则项的原理,笔者已经在4.4小节中提及,在此就不再赘述。
降噪自编码器:降噪自编码器就是输入换成了加噪的数据集,输出用原数据集去训练的自编码器,目的是习得降噪功能。
autoencoder.compile(optimizer='adadelta', loss='binary_crossentropy')
自编码器使用的损失函数是二分交叉熵,初步理解是预测值与真实值之间的差距越小,这个损失函数也就越小。