首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >深信念网络与卷积神经网络

深信念网络与卷积神经网络
EN

Stack Overflow用户
提问于 2014-07-03 05:38:48
回答 2查看 22.9K关注 0票数 44

我是神经网络领域的新手,我想知道深层信念网络和卷积网络之间的区别。另外,是否有一个深卷积网络,它是深信念和卷积神经网络的结合?

到目前为止,这是我收集到的。如果我错了,请纠正我。

对于一个图像分类问题,深度信念网络有多个层次,每个层都采用贪婪分层策略进行训练。例如,如果我的图像大小为50x50,并且我想要一个包含4个层的深度网络,即

  1. 输入层
  2. 隐藏层1 (HL1)
  3. 隐藏层2 (HL2)
  4. 输出层

我的输入层将有50x50=2500个神经元,HL1 =1000个神经元(比如说),HL2 =100个神经元(比如)和输出层=10个神经元,为了训练输入层和HL1之间的权重( W1 ),我使用了一个AutoEncoder (2500 -1000-2500),并学习了大小为2500×1000的W1(这是无监督学习)。然后,我通过第一个隐藏层转发所有图像以获得一组特征,然后使用另一个自动编码器(1000-100-1000)获得下一组特征,最后使用softmax层(100-10)进行分类。(只有学习最后一层的权重(HL2 -输出,即软件最大层)才是监督学习)。

(我可以使用RBM而不是自动编码器)。

如果使用卷积神经网络解决了同样的问题,那么对于50x50输入图像,我将开发一个仅使用7x7补丁的网络。我的图层会是

  1. 输入层(7x7=49个神经元)
  2. HL1 (25个不同特征的25个神经元)-(卷积层)
  3. 池层
  4. 输出层(Softmax)

为了学习权重,我从大小为50x50的图像中取了7x7块,然后通过卷积层向前推进,所以我将得到25个不同的特征图,每个大小为(50-7+ 1) x(50-7+ 1) =44x44。

然后,我使用一个窗口(例如11x11 )作为池层的输出,从而得到大小为4x4的25个特征映射。我使用这些特征地图进行分类。

在学习权重时,我不像在深度信念网络(无监督学习)中那样使用分层策略,而是使用监督学习和同时学习所有层的权重。这是正确的,还是有其他方法来学习重量?

我理解的是正确的吗?

因此,如果我想使用DBN进行图像分类,我应该将我所有的图像调整到一个特定的大小(比如200x200),并且在输入层有那么多神经元,而在CNN的情况下,我只训练一个较小的输入块(比如200x200大小的图像10×10 ),并将学习到的权重转移到整个图像上?

DBN是否提供了比CNN更好的结果,还是完全依赖于数据集?

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-07-05 20:37:31

一般来说,DBN是一种生成神经网络,它叠加了受限Boltzmann机器(RBMs)。你可以认为RBM是生成式的自动编码器;如果你想要一个深层次的信念网,你应该堆叠RBMs,而不是普通的自动编码器,正如Hinton和他的学生Yeh所证明的那样,堆叠RBMs会导致印印式信念网。

在目前关于基准计算机视觉数据集(如MNIST )的文献中,卷积神经网络的性能优于DBN。如果数据集不是计算机视觉数据集,那么DBN的性能肯定会更好。从理论上讲,DBN应该是最好的模型,但目前很难准确地估计出联合概率。你可能对Lee感兴趣。艾尔(2009)的工作,卷积深信念网络,期待结合这两者。

票数 25
EN

Stack Overflow用户

发布于 2015-01-08 00:44:25

我将尝试通过学习鞋来解释情况。

如果您使用DBN来学习这些图像,那么在您的学习算法中将发生一件坏事。

  • 不同的地方会有鞋子。
  • 所有的神经元不仅要学习鞋子,还要学习鞋子在图像中的位置,因为它不会有“局部图像补丁”的概念。
  • 如果您的所有图像都是通过大小、平移和旋转对齐的,DBN是有意义的。

卷积网络的思想是,有一个概念叫做权重分担。如果我试图扩展这个“重量分享”的概念

  • 首先,你看了7x7个补丁,根据你的例子--作为第一层中3个神经元的例子,你可以说他们学到了鞋子的“前”、“后底”和“后上部”部分,因为这些部分在所有鞋子中的7x7补丁看起来都是一样的。

代码语言:javascript
复制
- Normally the idea is to have multiple convolution layers one after another to learn 
代码语言:javascript
复制
    - lines/edges in the first layer, 
    - arcs, corners in the second layer,
    - higher concepts in higher layers like shoes front, eye in a face, wheel in a car or rectangles cones triangles as primitive but yet combinations of previous layers outputs.

代码语言:javascript
复制
- You can think of these 3 different things I told you as 3 different neurons. And such areas/neurons in your images will fire when there are shoes in some part of the image. 
- Pooling will protect your higher activations while sub-sampling your images and creating a lower-dimensional space to make things computationally easier and feasible. 
- So at last layer when you look at your 25X4x4, in other words 400 dimensional vector, if there is a shoe somewhere in the picture your 'shoe neuron(s)' will be active whereas non-shoe neurons will be close to zero. 
- And to understand which neurons are for shoes and which ones are not you will put that 400 dimensional vector to another supervised classifier(this can be anything like multi-class-SVM or as you said a soft-max-layer)

我可以建议你看一看福岛1980年的论文,了解我试图说的关于平移不变性和直线->弧->半圆->鞋前->鞋的想法(http://www.cs.princeton.edu/courses/archive/spr08/cos598B/Readings/Fukushima1980.pdf)。即使只看报纸上的图片,也会给你一些想法。

票数 21
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24545725

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档