使用RBM的深度自动编码器

use*_*089 1 machine-learning neural-network unsupervised-learning rbm

我正在使用RBM实现Deep autoencoder.我理解,为了展开网络,我们需要使用编码器的转置权重来解码.但我不确定我们应该为解码器使用哪些偏差.如果有人能为我详细说明或给我发送伪代码链接,我感激不尽.

小智 5

我相信Geoff Hinton在他的网站上提供了他的所有源代码.他是这种技术的RBM版本的首选.

基本上,如果您有一个尺寸为10000 x 100的输入矩阵M1,其中10000是您拥有的样本数量,100是要素数量,并且您想要将其转换为50维空间,您将训练一个带有重量的受限制的boltzman机器维数矩阵101 x 50,额外行是始终打开的偏置单位.在解码方面,你将采用101 x 50矩阵,从偏置中删除额外的行,使其成为100 x 50矩阵,将其转换为50 x 100,然后为偏置单元添加另一行,使其为51 x 100.然后,您可以通过backpropogation运行整个网络,以训练整个网络的权重.