41

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

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

对于图像分类问题,Deep Belief 网络有很多层,每一层都使用贪婪的逐层策略进行训练。例如,如果我的图像大小是 50 x 50,并且我想要一个有 4 层的深度网络,即

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

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

(我可以使用 RBM 代替自动编码器)。

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

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

为了学习权重,我从大小为 50 x 50 的图像中获取 7 x 7 个补丁,并通过卷积层前馈,因此我将有 25 个不同的特征图,每个大小为 (50 - 7 + 1) x (50 - 7 + 1) = 44 x 44。

然后我使用一个 11x11 的窗口来池化手,因此得到 25 个大小为 (4 x 4) 的特征图作为池化层的输出。我使用这些特征图进行分类。

在学习权重时,我没有使用深度信念网络(无监督学习)中的逐层策略,而是使用监督学习并同时学习所有层的权重。这是正确的还是有其他方法可以学习权重?

我的理解正确吗?

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

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

谢谢你。

4

2 回答 2

25

一般来说,DBN 是堆叠受限玻尔兹曼机 (RBM) 的生成神经网络。您可以将 RBM 视为生成式自动编码器;如果你想要一个深度信念网络,你应该堆叠 RBM,而不是简单的自动编码器,因为 Hinton 和他的学生 Yeh 证明堆叠 RBM 会产生 sigmoid 信念网络。

在当前关于基准计算机视觉数据集(如 MNIST)的文献中,卷积神经网络本身的性能优于 DBN。如果数据集不是计算机视觉数据集,那么 DBN 绝对可以表现得更好。理论上,DBN 应该是最好的模型,但目前很难准确地估计联合概率。你可能对李等感兴趣。al's (2009) 在卷积深度信念网络上的工作,它看起来将两者结合起来。

于 2014-07-05T20:37:31.087 回答
20

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

如果你在这里使用 DBN 来学习这些图像,那么你的学习算法会发生坏事

  • 不同的地方会有鞋子。

  • 所有的神经元不仅会尝试学习鞋子,还会尝试学习鞋子在图像中的位置,因为它不会在权重中包含“局部图像补丁”的概念。

  • 如果您的所有图像都通过大小、平移和旋转来对齐,那么 DBN 是有意义的。

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

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

    • 通常的想法是有多个卷积层一个接一个来学习

      • 第一层的线/边,
      • 弧,第二层的角,
      • 更高层中的更高概念,如鞋前部、面部眼睛、汽车中的轮子或矩形圆锥三角形作为原始但仍是前一层输出的组合。
    • 您可以将我告诉您的这 3 种不同的事物视为 3 种不同的神经元。当图像的某些部分有鞋子时,图像中的这些区域/神经元会触发。

    • 池化将保护您的更高激活,同时对您的图像进行二次采样并创建一个低维空间,以使计算更容易和可行。

    • 所以在最后一层,当你查看你的 25X4x4,也就是 400 维向量时,如果图片中某处有一只鞋,你的“鞋神经元”将是活跃的,而非鞋神经元将接近于零。

    • 并且要了解哪些神经元是用于鞋子的,哪些不是,您将把 400 维向量放到另一个监督分类器中(这可以是多类 SVM 之类的任何东西,或者如您所说的 soft-max 层)

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

于 2015-01-08T00:44:25.260 回答