Lecture 13:Unsupervised Learning:Auto-encoder

Auto-encoder

由一个encoder和一个decoder组成,encoder负责将输入转成一个向量表示(维度通常小于输入),decoder负责将这段向量表示恢复成原来的输入。那么中间的code就可以作为输入的一个低维表示:

Auto-encoder for CNN

Unpooling

有两种方法,一种在pooling的时候记录最大值的位置,在unpooling时在相对位置填充最大值,其他位置填充0;另一种不记录最大值位置,直接在pooling区域全部填充最大值。

Deconvolution

其实本质就是convolution。

这是convolution:

我们期待的convolution:

实际上就等价在两边做padding,然后直接convolution:

Auto-encoder的用处

可以预训练每一层的DNN:

同理其它层也是一样,每次fix住其他层然后做Auto-encoder。那么在bp的时候只需要fine-tune就行。