卷积neural network的无监督预训练

我想devise一个(或多个)卷积层(CNN)和一个或多个完全连接的隐藏层的深层networking。
对于具有完全连接层的深度networking,在无监督预训练中使用例如使用去噪自动编码器或RBM的方法 。

我的问题是:我怎样才能实现一个无监督的卷积层预训练阶段?

我不期望一个完整的实现作为答案,但我将不胜感激链接到一个很好的教程或可靠的参考。

本文介绍了一种构build叠层卷积自动编码器的方法。 基于那篇论文和一些Googlesearch,我能够实现描述的networking。 基本上,您需要的所有东西都在Theano卷积networking中进行描述,并对自动编码器教程进行了降噪,除了一个关键的例外:如何在卷积networking中反转最大池化步骤。 我可以用这个讨论中的方法来解决这个问题 – 最棘手的部分是找出W_prime的正确维度,因为这取决于前馈滤波器的大小和池化比率。 这是我的反转function:

def get_reconstructed_input(self, hidden): """ Computes the reconstructed input given the values of the hidden layer """ repeated_conv = conv.conv2d(input = hidden, filters = self.W_prime, border_mode='full') multiple_conv_out = [repeated_conv.flatten()] * np.prod(self.poolsize) stacked_conv_neibs = T.stack(*multiple_conv_out).T stretch_unpooling_out = neibs2images(stacked_conv_neibs, self.pl, self.x.shape) rectified_linear_activation = lambda x: T.maximum(0.0, x) return rectified_linear_activation(stretch_unpooling_out + self.b_prime.dimshuffle('x', 0, 'x', 'x')) 
Interesting Posts