Convolutional Deep Belief Networks 卷积深信度网络 论文笔记

参考论文:1、Convolutional Deep Belief Networks for Scalable Unsupervised Learning of Hierarchical Representations 
                  2、Stacks of Convolutional Restricted Boltzmann Machinesfor Shift-Invariant Feature Learning

预备知识:http://blog.csdn.net/zouxy09/article/details/9993371

文章开头作者就提出目前的多层生成模型(如DBN)所存在的问题:对高维图像做全尺寸衡量(scaling such models to full-sized)很困难。详细来说传统的多层生成模型DBN有两个方面的挑战:

①图像时很高维度的,算法要能够合理的建模,且计算简便;

②对象常常分布在图像的局部,要求特征表示对输入的局部变换具有不变性。

接着,作者回想到CNN,其简便的计算和对局部特征的提取令人印象深刻。Bingo!CNN和DBN结合——CDBN!convolutional deep belief networks卷积深信度网络,该方法的关键部分是max-pooling,一种概率的降维技术手段。紧接着说出该方法是首创的,牛逼之处在于网络的第一、二和三层能够学习到边缘检测、对象局部和对象,如下图:

正文从序言介绍RBM和DBN开始,列出了RBM和Gaussian-Bernoulli RBM对应的能量函数,主要还是对前人工作的总结。对RBM或Gaussian-Bernoulli RBM的详细计算和推导可以在文章《Learning Multiple Layers of Features from Tiny Images》 BY Alex Krizhevsky,以及《深度学习读书笔记之rbm》自行百度谷歌吧。

接下来干货时间,仔细介绍CDBN。从介绍单层CRBM开始,先放出两个图,图2是单个滤波器在网络中的连接关系,图3是可视层到隐层的卷积计算方式:

一、单层CRBM网络的前向计算过程(positive phase)

输入为Nv×Nv的2D图像,和CNN一样CRBM可以设置多个特征滤波器(也称为卷积核),假设有K个大小为Nw×Nw的特征滤波器。每个滤波器可以理解成一个通道,某个通道内部计算和其余通道无关。每个滤波器的计算分为convolution和pooling两个部分:一是由可视层到隐层的计算(convolution),图3形象的表示了计算过程conv2(v,w,‘valid‘)=h1,sigmoid函数激活后得到滤波器1在隐层的值(h1称为一个group);二是隐层到下采样层pooling层的计算,这里采用了max-pooling方法,即按pool的大小(如2x2)每个区域选取当中最大值(图2中p),区域划为不重叠。这里的卷积和下采样过程类似CNN,详情参考LeCun的cnn论文。下面两个公式分别对应convolution和pooling的计算

              其中I为  ,Ba表示pooling区域

第二个pooling的公式是由max-pooling机制和P(h=1|v)的概率计算得到的,P(p=0|v)=1-P(h=1|v),这里的P(h=1|v)表示pooling区域内h单元出现1的概率,max-pooling后p单元为1的概率P(p=1|v)=P(h=1|v)→P(p=0|v)=1-P(p=1|v)=1-P(h=1|v)。

计算所有滤波器通道,得到K个大小为NpxNp(其中Np=Nv-Nw+1)的group。最后需要做Gibbs sampling,这样才完成了CRBM的前向传播过程positive phase。事实上由于pooling层没有参数需要训练,pooling仅作为一个降维和正则化操作。

二、CRBM的反向计算过程negative phase

如上图及公式,其中带*的w表示滤波器w的转置。在前向传播的说明中提到:pooling层没有自由参数,因此在训练CRBM时可以从隐层出发反向传播回可视层。

每个可视层单元v都与K个滤波器相连,因此在逆过程negative phase的重构一定是所有滤波器的共同作用实现的,公式里表示成K个滤波器作用的叠加Σ。计算过程中可以用full的conv2函数实现,如Σ(conv2(h,w‘,‘full‘))。在论文Stacks of Convolutional Restricted Boltzmann Machines for Shift-Invariant Feature Learning中还将可视层分为边缘和中心两个部分做计算(因为前向卷积计算过程中边缘部分权重较小),一般情况下分不分没关系,任务关注的目标常常分布于图像中间。

三、稀疏正则化

由于CRBM隐层单元远大于输入可视层,模型是超完备的。超完备容易容易导致滤波器仅表示单一像素而不是局部特征,一种常用的解决方法就是加入稀疏约束,强制隐层的大部分单元为零,设置整个隐层处于一个低的激活值。Lee还强调说:sparsity regularization during trianing was necessary for learning the oriented edge filters;when this term was removed the algorithm failed to learn oriented edges.没有稀疏约束算法就不能学习到有方向的边缘线条。

四、能量函数

在讲完网络的连接和计算后,给出模型的能量函数(个人以为:大神们的论文中总是将能量函数放在前面讲是为了方便而已,实际设计模型过程中往往是设计好可视层隐层和池化层后再在这个基础上推导出能量函数)。

五、参数计算

用类似RBM的contrastive divergence对比分歧算法,该算法是对极大似然函数的近似快速求解,关于RBM的CD算法具体内容见Hinton大神的文章。下面讲CRBM的参数求解:

来自为知笔记(Wiz)

时间: 2024-10-09 21:23:09

Convolutional Deep Belief Networks 卷积深信度网络 论文笔记的相关文章

(六)6.15 Neurons Networks Deep Belief Networks

Hintion老爷子在06年的science上的论文里阐述了 RBMs 可以堆叠起来并且通过逐层贪婪的方式来训练,这种网络被称作Deep Belife Networks(DBN),DBN是一种可以学习训练数据的高层特征表示的网络,DBN是一种生成模型,可见变量  与  个隐层的联合分布: 这里 x = h0,为RBM在第 k 层的隐层单元条件下的可见单元的条件分布, 是一个DBN顶部可见层与隐层的条件分布,如图下: DBN的训练: 1. 首先充分训练第一个 RBM: 2. 固定第一个 RBM 的

Deep Belief Network简介——本质上是在做逐层无监督学习,每次学习一层网络结构再逐步加深网络

from:http://www.cnblogs.com/kemaswill/p/3266026.html 1. 多层神经网络存在的问题 常用的神经网络模型, 一般只包含输入层, 输出层和一个隐藏层: 理论上来说, 隐藏层越多, 模型的表达能力应该越强.但是, 当隐藏层数多于一层时, 如果我们使用随机值来初始化权重, 使用梯度下降来优化参数就会出现许多问题[1]: 如果初始权重值设置的过大, 则训练过程中权重值会落入局部最小值(而不是全局最小值). 如果初始的权重值设置的过小, 则在使用BP调整参

(转载)Convolutional Neural Networks卷积神经网络

Convolutional Neural Networks卷积神经网络 Contents 一:前导 Back Propagation反向传播算法 网络结构 学习算法 二:Convolutional Neural Networks卷积神经网络 三:LeCun的LeNet-5 四:CNNs的训练过程 五:总结 本文是我在20140822的周报,其中部分参照了以下博文或论文,如果在文中有一些没说明白的地方,可以查阅他们.对Yann LeCun前辈,和celerychen2009.zouxy09表示感谢

论文笔记之:UNSUPERVISED REPRESENTATION LEARNING WITH DEEP CONVOLUTIONAL GENERATIVE ADVERSARIAL NETWORKS

UNSUPERVISED REPRESENTATION LEARNING WITH DEEP CONVOLUTIONAL GENERATIVE ADVERSARIAL NETWORKS  ICLR 2016  摘要:近年来 CNN 在监督学习领域的巨大成功 和 无监督学习领域的无人问津形成了鲜明的对比,本文旨在链接上这两者之间的缺口.提出了一种 deep convolutional generative adversarial networks (DCGANs),that have certai

深度复数网络 Deep Complex Networks

转自:https://www.jiqizhixin.com/articles/7b1646c4-f9ae-4d5f-aa38-a6e5b42ec475  (如有版权问题,请联系本人) 目前绝大多数深度学习模型中的数学都是实数值的,近日,蒙特利尔大学.加拿大国家科学院-能源/材料/通信研究中心(INRS-EMT).微软 Maluuba.Element AI 的多名研究者(其中包括 CIFAR Senior Fellow Yoshua Bengio)在 arXiv 上发布了一篇 NIPS 2017(

Convolutional Neural Networks卷积神经网络

转自:http://blog.csdn.net/zouxy09/article/details/8781543 9.5.Convolutional Neural Networks卷积神经网络 卷积神经网络是人工神经网络的一种,已成为当前语音分析和图像识别领域的研究热点.它的权值共享网络结构使之更类似于生物神经网络,降低了网络模型的复杂度,减少了权值的数量.该优点在网络的输入是多维图像时表现的更为明显,使图像可以直接作为网络的输入,避免了传统识别算法中复杂的特征提取和数据重建过程.卷积网络是为识别

Spark MLlib Deep Learning Deep Belief Network (深度学习-深度信念网络)2.3

Spark MLlib Deep Learning Deep Belief Network (深度学习-深度信念网络)2.3 http://blog.csdn.net/sunbow0 第二章Deep Belief Network (深度信念网络) 3实例 3.1 測试数据 依照上例数据,或者新建图片识别数据. 3.2 DBN实例 //****************例2(读取固定样本:来源于经典优化算法測试函数Sphere Model)***********// //2 读取样本数据 Logge

Reducing the Dimensionality of data with neural networks / A fast learing algorithm for deep belief net

Deeplearning原文作者Hinton代码注解 1 Matlab示例代码为两部分,分别对应不同的论文: 2 3 1. Reducing the Dimensionality of data with neural networks 4 5 ministdeepauto.m backprop.m rbmhidlinear.m 6 7 2. A fast learing algorithm for deep belief net 8 9 mnistclassify.m backpropclas

Spark MLlib Deep Learning Deep Belief Network (深度学习-深度信念网络)2.2

Spark MLlib Deep Learning Deep Belief Network (深度学习-深度信念网络)2.2 http://blog.csdn.net/sunbow0 第二章Deep Belief Network (深度信念网络) 2基础及源代码解析 2.1 Deep Belief Network深度信念网络基础知识 1)综合基础知识參照: http://tieba.baidu.com/p/2895759455   http://wenku.baidu.com/link?url=