- 52
- 0
- 约8.28千字
- 约 55页
- 2020-07-27 发布于浙江
- 举报
自动编码器(AutoEncoder) 左图,输入的样本是有标签的,这样我们根据当前输出和target(label)之间的差去改变前面各层的参数,直到收敛。但现在只有无标签数据,也就是右边的图。那么这个误差怎么得到呢? ?将input输入一个encoder编码器,就会得到一个code,这个code也就是输入的一个表示,再加一个decoder解码器,这时候decoder就会输出一个信息,那么如果输出的这个信息和一开始的输入信号input是很像的(理想情况下就是一样的),就有理由相信这个code是靠谱的。通过调整encoder和decoder的参数,使得重构误差最小,这时候我们就得到了输入input信号的第一个表示了,也就是编码code了。因为是无标签数据,所以误差的来源就是直接重构后与原输入相比得到。 重构误差最小时的code就是原输入信号的良好表达了,将第一层输出的code当成第二层的输入信号,同样最小化重构误差,就会得到第二层的参数,并且得到第二层输入的code,也就是原输入信息的第二个表达了。其他层就同样的方法炮制就行了。 经过上面的方法,每一层都会得到原始输入的不同的表达。 这个AutoEncoder还不能用来分类数据,因为它还没有学习如何去连结一个输入和一个类。它只是学会了如何去重构或者复现它的输入而已。为了实现分类,我们就可以在AutoEncoder的最顶的编码层添加一
原创力文档

文档评论(0)