稀疏自编码器效果不错,但是有个固有缺陷:必须对输入数据的范围缩放到(0,1)。
设想一个图像如果不经预处理,直接把大于1的值输入稀疏自编码器,那么被sigmoid一下,就成了(0,1)的范围了,再被sigmoid一下,还是在(0,1)范围。这样残差根本没办法算,因为经过了sigmoid变换之后的数据已经不可能与输入数据相等了。
但是如果我们把第三层,原先的sigmoid函数换成恒等函数,事情就发生了变化。
这样我们就能用实值输入,不需要放缩样本到(0,1)范围,比如这在处理彩色图像、PCA白化时是很难做到的。
因此我们只需要再对稀疏自编码算法的最后