我研究了普通的完全连接的人工神经网络,我开始研究回流网。我正在努力了解隐藏层如何连接。我确实理解输入矩阵如何将较小的值字段输入到第一个隐藏层中的特征映射,方法是每次移动一个本地感知字段并通过相同/共享权重(对于每个特征映射)向前馈送,因此,每个要素图只有一组权重与本地感知字段具有相同的结构。如果我错了,请纠正我。然后,要素图使用池来简化地图。下一部分是当我感到困惑时,这里是一个链接到3D CNN可视化,以帮助解释我的困惑
http://scs.ryerson.ca/~aharley/vis/conv/
在0-9之间画一个数字到左上方的垫子,你会看到它是如何工作的。这真的很酷。因此,在第一个合并图层(第4行包含16个过滤器)之后的图层上,如果您将鼠标悬停在过滤器上,则可以看到权重如何连接到上一个合并图层。在这一行尝试不同的过滤器,我不明白的是将第二个卷积层连接到前一个池层的规则。例如,在最左边的过滤器上,它们完全连接到池化层。但是对于靠近右边的那些,它们只能连接到之前汇集的大约3层。看起来很随意。
我希望我的解释有意义。我基本上混淆了将隐藏的池化层连接到下面隐藏的卷积层的模式。即使我的例子有点奇怪,我仍然会欣赏某种解释或链接到一个很好的解释。
非常感谢。
答案 0 :(得分:1)
欢迎来到自学CNN的魔力。这令人困惑,因为网络在训练时制定了这些规则。这是一个图像处理示例;其中大部分都是以一种与脊椎动物视觉皮层的简化模型中的学习方式相似的方式进行训练。
通常,第一层的内核“学习”“识别”输入的非常简单的特征:各种方向的线条和边缘。下一层结合了更复杂的特征,可能是左侧半圆或特定角度方向。模型越深入,“决策”越复杂,内核越复杂,和/或识别越少。
从左到右的连接差异可能是开发人员故意排序,或仅仅是模型中的环境。有些功能只需要“咨询”前面一层的内核;其他人需要一个整体委员会。注意简单的功能如何连接到相对较少的内核,而最终的决定是使用最后一个FC层中的大部分“像素”级单元检查十个类别中的每一个。
你可能会寻找更大的CNN实现的一些内核可视化,例如ILSVRC中的那些:GoogleNet,ResNet,VGG等。这些内核通过各层有一些引人注目的内核,包括模块匹配到一个轮子和放大器。挡泥板,站立的哺乳动物的前部,各种类型的面孔等。
这有帮助吗?
所有这一切都是培训期间有机增长的结果。