2013-02-17 88 views
18

阅读了一些关于深度学习和深度信念网络的论文后,我对它的工作原理有了一个基本概念。但仍然坚持最后一步,即分类步骤。 我在互联网上发现的大多数实现都与世代相同。 (MNIST数字)图像分类深度学习

是否有一些解释(或代码)可用的地方谈论使用DBN分类图像(最好是自然图像或对象)?

另外一些方向上的指针将会非常有帮助。

+0

在交叉验证:见这个问题:http://stats.stackexchange.com/a/41201/14673 – 2013-02-18 09:51:24

+0

这个问题属于交叉验证http://stats.stackexchange.com/questions/41029/restricted-boltzmann-机换回归/ 41201#41201 – lejlot 2014-01-12 10:10:22

回答

24

基本思想

这些天,对图像分类问题的状态的最先进的深度学习(例如ImageNet)通常是“深卷积神经网络”(深ConvNets)。他们看起来大致是这样的ConvNet配置由Krizhevsky et alenter image description here

对于推理(分类),你喂的图像到左侧(请注意,在左侧的深度为3,对于RGB),紧缩通过一系列卷积滤波器,并在右侧吐出一个1000维向量。这张图片特别针对ImageNet,它专注于对1000种图像进行分类,因此1000d矢量“是该图像适合该类别的可能性的得分。”

训练神经网络只是稍微复杂一点。对于训练,你基本上是反复运行分类,并且每经常进行一次反向传播(参见Andrew Ng的讲座)以改进网络中的卷积滤波器。基本上,反向传播问“网络分类正确/错误的分类是什么?对于错误分类的东西,让我们稍微修复一下网络。”


实施

Caffe深卷积神经网络的速度非常快的开源实现(快于cuda-convnet从Krizhevsky等)。 Caffe代码很容易阅读;基本上每种网络层都有一个C++文件(例如卷积层,最大池层等)。

2

现在人们开始在分类层中使用SVM。

深度学习是非常自由和广泛的发展。