您发布的第二种卷积神经网络(CNN)架构来自本文。在本文中,作者描述了S2和C3层之间发生的情况。他们的解释不是很清楚。我要说的是,这种CNN架构不是“标准”的,作为CNN的第一个示例,它可能会造成很大的混乱。
首先,需要澄清特征图的生成方式以及它们与过滤器的关系。特征图是滤波器与特征图卷积的结果。让我们以INPUT和C1层为例。在最常见的情况下,要在C1层中获取6个尺寸为特征图,则需要6个尺寸为滤镜(“有效”卷积尺寸为的图像与的大小滤波器,假设,具有尺寸28×285×5M×MN×NM≥N(M−N+1)×(M−N+1)。但是,您可以通过组合由多于或少于6个过滤器生成的特征图(例如,将它们加起来)来生成6个特征图。在本文中,虽然对于C1层没有任何暗示。
以下是在S2层和C3层之间发生的情况。由S2层中的6个特征图生成的C3层中有16个特征图。C3层中的滤波器数量确实并不明显。实际上,仅从体系结构图中,就无法判断生成这16个特征图的确切滤波器数量。该论文的作者提供了下表(第8页):
他们使用该表提供以下说明(第7页的底部):
C3层是具有16个特征图的卷积层。每个特征图中的每个单元在S2的特征图中子集的相同位置上连接到 x邻域。5×5
在表中,作者表明,C3层中的每个要素图都是通过组合3个或更多要素图(第8页)生成的:
前六个C3特征图从S2中三个特征图的每个连续子集中获取输入。接下来的六个从四个相邻的子集中获取输入。接下来的三个从四个不连续的子集中获取输入。最后,最后一个从所有S2特征图中获取输入。
现在,C3层中有多少个过滤器?不幸的是,他们没有解释这一点。两种最简单的可能性是:
- 每个C3特征图的每个S2特征图有一个过滤器,即与同一C3特征图相关联的S2特征图之间没有共享的过滤器。
- 每个C3特征图只有一个过滤器,该过滤器在组合的S2层的(3个或更多)特征图中共享。
在这两种情况下,“组合”都意味着每个S2特征图组的卷积结果需要组合到生成的C3特征图上。作者没有指定完成的方式,但是添加是一种常见的选择(例如,参见本页中间的gif动画。
不过,作者提供了一些其他信息,可以帮助我们解密体系结构。他们说“ C3层有1,516个可训练参数”(第8页)。我们可以使用此信息来决定上述情况(1)和(2)。
在(1)的情况下,我们有 x过滤器。过滤器大小为。在这种情况下,可训练参数的数量为可训练参数。如果我们假设每个C3特征图的偏置单位为1,则得到参数,这就是作者所说的。为了完整起见,在情况(2)中,我们将拥有参数,情况并非如此。(6×3)+(9×4)+(1×6)=60(14−10+1)×(14−10+1)=5×55×5×60=1,5001,500+16=1,516(5×5×16)+16=416
因此,如果我们再次查看上面的表I,则每个S2特征图都有10个不同的 C3过滤器(因此总共有60个不同的过滤器)。
作者解释了这种选择:
[在C3层中]不同的特征图被迫提取不同的(希望是互补的)特征,因为它们获得了不同的输入集。
我希望这可以澄清情况。