深信仰networking与卷积neural network
我是neural network领域的新手,我想知道Deep Belief Networks和Convolutional Networks之间的区别。 另外,还有深度卷积networking是深信与卷积neural network的结合吗?
这是我迄今为止收集的。 如果我错了,请纠正我。
对于图像分类问题, Deep Beliefnetworking有很多层次,每个层次都是使用贪心层次策略进行训练的。 例如,如果我的图片大小是50 x 50,并且我想要一个包含4个图层的深度networking
- input层
- 隐藏层1(HL1)
- 隐藏层2(HL2)
- 输出层
为了训练input层和HL1之间的权重(W1),我的input层将有50 x 50 = 2500个神经元,HL1 = 1000个神经元(比方说),HL2 = 100个神经元(比方说),输出层= 10个神经元。使用自动编码器(2500 – 1000 – 2500),并学习大小为2500 x 1000的W1(这是无监督学习)。 然后,我通过第一个隐藏层向前馈送所有图像以获得一组特征,然后使用另一个自动编码器(1000 – 100 – 1000)获取下一组特征,最后使用softmax图层(100 – 10)进行分类。 (只学习最后一层的权重(HL2 – 作为softmax层的输出)是监督学习)。
(我可以使用RBM代替autoencoder)。
如果使用卷积neural network解决同样的问题,那么对于50×50的input图像,我将只使用7×7的补丁(比如说)来开发一个networking。 我的层将是
- input层(7 x 7 = 49个神经元)
- HL1(25个不同特征的25个神经元) – (卷积层)
- 合并图层
- 输出层(Softmax)
为了学习权重,我从大小为50 x 50的图像中取得7 x 7个补丁,并通过卷积层前馈,因此我将有25个不同的特征图,每个大小为(50 – 7 + 1)x(50 – 7 + 1)= 44×44。
然后我用一个11×11的窗口来合并手,从而得到25个尺寸为(4 x 4)的特征图作为合并图层的输出。 我使用这些function图进行分类。
在学习权重的同时,我不使用深层信念networking(无监督学习)中的图层策略,而是使用监督式学习,同时学习所有图层的权重。 这是正确的还是有任何其他方式来学习权重?
我所理解的正确吗?
所以如果我想使用DBN的图像分类,我应该调整我的所有图像到一个特定的大小(如200×200),并在input层有许多神经元,而在CNN的情况下,我只训练在一个较小的补丁input(例如10×10的大小为200×200的图像)并将学习的权重在整个图像上进行卷积?
DBN是否比CNN提供更好的结果,还是纯粹依赖于数据集?
谢谢。
一般而言,DBN是生成式限制玻尔兹曼机(RBM)的neural network。 您可以将RBM视为生成自动编码器; 如果你想要一个深厚的信仰networking,你应该堆叠RBM而不是普通的自动编码器,因为Hinton和他的学生Yehcertificate堆叠RBM导致S形信念networking。
目前有关MNIST等基准计算机视觉数据集的文献中,卷积neural network本身的性能优于DBN。 如果数据集不是计算机视觉数据集,那么DBN可以更好地执行。 理论上讲,DBNs应该是最好的模型,但是现在要准确地估计联合概率是非常困难的。 你可能会对Lee et。 al的(2009)卷积深信仰networking的工作看起来将两者结合起来。
我会试着通过学习鞋来解释情况。
如果您使用DBN学习这些图像,那么在您的学习algorithm中将会发生这样的错误
-
在不同的地方会有鞋子。
-
所有的神经元将不仅学习鞋子,而且学习鞋子在图像中的位置,因为它不具有“局部图像块”的概念。
-
DBN是有意义的,如果所有的图像是通过大小,平移和旋转的方式alignment。
卷积networking的概念是有一个称为“权重共享”的概念。 如果我试图扩大这个“重量分享”的概念
-
首先你看7×7的补丁,并根据你的例子 – 作为你的第一层神经元的3个例子,你可以说,他们学到了鞋的“前”,“后底”和“后上部分”通过所有的鞋子看起来都像7×7补丁。
-
通常的想法是有多个卷积层一个接一个地学习
- 第一层中的线条/边缘,
- 弧形,第二层中的angular落,
- 更高层次的概念,比如鞋面,眼睛,车轮或者矩形三angular形等,作为原始的,但是还是前面层输出的组合。
-
你可以把我告诉你的3种不同的事情想成3种不同的神经元。 当图像的某些部分存在鞋子时,图像中的这些区域/神经元将会启动。
-
共享池将保护您的更高活性,同时对您的图像进行二次采样,并创build一个较低空间的空间,使计算更容易和可行。
-
所以在最后一层,当你看到你的25X4x4,换句话说就是400维的vector,如果在图片的某个地方有一只鞋子,你的“鞋神经元”将是活跃的,而非鞋子神经元将接近于零。
-
为了理解哪些神经元是鞋子,哪些不是你将把400维vector放到另一个监督分类器(这可以是任何类似多类SVM或者如你所说的一个软最大层)
-
我可以build议你浏览一下福岛1980年的论文,了解我对平移不变性和线条 – >弧 – >半圆 – >鞋面 – >鞋的想法( http://www.cs.princeton.edu /courses/archive/spr08/cos598B/Readings/Fukushima1980.pdf )。 即使只是看在纸上的图像会给你一些想法。