6

我一直在阅读有关 Conv Nets 的大量资料,甚至使用 Julia 的 Mocha.jl 包(它看起来很像 Caffe,但你可以在 Julia REPL 中使用它)。

在卷积网络中,卷积层之后是“特征图”层。我想知道的是,如何确定一个网络需要多少特征图才能解决某个特定问题?这有什么科学依据还是更多的艺术?我可以看到,如果您尝试进行分类,至少最后一层应该有特征图的数量 == 类的数量(除非你在网络的顶部有一个完全连接的 MLP,我想)。

就我而言,我并没有进行分类,而是试图为图像中的每个像素提出一个值(我想这可以看作是类别从 0 到 255 的分类)。

编辑:正如评论中所指出的,我正在尝试解决输出在 0 到 255 范围内(在这种情况下为灰度)的回归问题。尽管如此,问题仍然存在:如何确定在任何给定的卷积层使用多少特征图?这对于回归问题和分类问题有什么不同吗?

4

2 回答 2

5

基本上,就像任何其他超参数一样——通过在单独的开发集上评估结果并找到最有效的数字。还值得检查处理类似问题的出版物并找出他们使用了多少特征图。

于 2015-01-19T09:11:33.663 回答
1

更多艺术。使用 conv-nets 的 imagenet 获胜者之间的唯一区别是改变了层的结构,也许还有一些新的训练方式。

VGG 就是一个很好的例子。从过滤器大小开始,从 2^7 开始,然后是 2^8,然后是 2^9,然后是完全连接的层,然后是一个输出层,它会给你你的类。您的地图和图层深度可能与输出类的数量完全无关。

您不希望在顶部有一个完全连接的层。这违背了卷积网络旨在解决的目的(过度拟合和优化每个神经元数十万个权重)

大集合的训练需要大量的计算资源。如果您正在使用 imagenet - 有一组带有 caffe 的预训练模型,您可以在http://caffe.berkeleyvision.org/model_zoo.html之上构建

我不确定你是否可以将这些移植到摩卡咖啡。有一个张量流的端口,如果你对此感兴趣的话https://github.com/ethereon/caffe-tensorflow

于 2017-01-05T02:43:53.447 回答