我认为卷积层应该完全连接(参见这个和这个)。也就是说,每个特征图应该连接到前一层的所有特征图。然而,当我查看这个 CNN可视化时,发现第二层的卷积层并没有与第一层完全连接。具体来说,第二层的每个特征图连接到第一层的3到6个(全部)特征图,我没有看到其中的任何模式。问题是
- 完全连接卷积层是标准做法吗?
- 可视化中部分连接的理由是什么?
- 我是不是漏掉了什么?
回答:
神经网络的一个显著特性是知识并不是存储在某个特定的地方,而是以分布式的方式存在。如果你拿一个工作中的网络,你通常可以切除很大一部分,仍然能得到一个大致相同的工作网络。
一个相关的效果是,确切的布局并不是非常关键。ReLu和Sigmoid(tanh)激活函数在数学上非常不同,但它们都工作得相当好。同样,层中节点的确切数量并不重要。
从根本上说,这与训练中你优化所有权重以最小化你的误差函数有关,或者至少找到一个局部最小值。只要有足够的权重并且这些权重足够独立,你就可以优化误差函数。
然而,还需要考虑另一个效果。如果权重过多而训练数据不足,你就无法很好地优化网络。规则化只能帮到一定程度。CNN的一个关键见解是,它们比完全连接的网络拥有更少的权重,因为CNN中的节点只连接到前一层中一个小的局部邻域的节点。
因此,这个特定的CNN比所有特征图都连接的CNN拥有更少的连接,因此权重也更少。这允许你对于给定的数据量拥有更多和/或更大的地图。这是最佳解决方案吗?也许是——选择最佳布局仍然有点像黑魔法。但这并不是先验上不合理的。