我是神经网络领域的新手,我想知道深度信念网络和卷积网络之间的区别。另外,有没有深度信念和卷积神经网络结合的深度卷积网络?
这是我到现在为止收集到的。如果我错了,请纠正我。
对于图像分类问题,Deep Belief 网络有很多层,每一层都使用贪婪的逐层策略进行训练。例如,如果我的图像大小是 50 x 50,并且我想要一个有 4 层的深度网络,即
- 输入层
- 隐藏层 1 (HL1)
- 隐藏层 2 (HL2)
- 输出层
我的输入层将有 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 补丁的网络(比如说)。我的图层将是
- 输入层(7 x 7 = 49 个神经元)
- HL1(25 个神经元,用于 25 个不同的特征)-(卷积层)
- 池化层
- 输出层(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 更好的结果,还是完全依赖于数据集?
谢谢你。