CNN中“内核”和“过滤器”之间的区别


Answers:


42

在卷积神经网络的上下文中,内核=过滤器=特征检测器。


这是斯坦福大学的深度学习教程中的一个很好的例子(Denny Britz也很好地解释了)。

在此处输入图片说明

过滤器是黄色的滑动窗口,其值为:

[101010101]

2
过滤器是否有特定名称?就像“模糊”或“边缘检测”一样
Pratik Khadloya

2
@PratikKhadloya不,这些名称是研究人员根据过滤器似乎在检测的内容主观给出的。
shadowtalker

1
@Frank Dernoncourt,根据指向datascience.com/的链接。当我们有多个渠道时,它们是不同的。实际上,当有多个通道时,每个过滤器实际上恰好是一个内核集合,该层的每个输入通道都有一个内核,并且每个内核都是唯一的。我很高兴
收到

6

在此特定上下文中,功能图与过滤器或“内核”相同。过滤器的权重确定检测到哪些特定特征。

因此,例如,弗兰克(Franck)提供了绝佳的视觉效果。请注意,他的过滤器/功能检测器的对角元素为x1,所有其他元素为x0。因此,该内核加权将检测图像中沿图像对角线的值为1的像素。

观察到,无论图像在3x3滤镜的对角线值处具有“ 1”的位置(由此在图像的特定3x3区域中检测到滤镜),所得的卷积特征均显示值为4,而在3×3滤镜区域中较低的值为2。过滤器匹配程度不高的图像。


4

对于权重的2D数组,我们如何使用术语“内核”,对于堆叠在一起的多个内核的3D结构,如何使用术语“过滤器”?过滤器的维数为(假设平方核)。组成过滤器的内核中的每个内核都将与输入的通道之一进行卷积(输入尺寸,例如 RGB图像)。使用一个不同的词来描述一个2D权重数组,使用一个不同的词来描述权重的3D结构是有道理的,因为在2D数组之间会发生乘法,然后将结果相加以计算3D运算。C C H i n × H i n × C 32 × 32k×k×CCCHin×Hin×C32×32

当前,该领域的命名存在问题。有许多描述同一事物的术语,甚至可以互换地用于不同的概念!以用于描述卷积层输出的术语为例:特征图,通道,激活,张量,平面等。

基于维基百科,“在图像处理中,内核是一个小的矩阵”。

根据维基百科,“矩阵是按行和列排列的矩形阵列”。

如果内核是矩形数组,则它不能是权重的3D结构,权重通常是维度。k1×k2×C

好吧,我不能说这是最好的术语,但是它比仅使用术语“内核”和“过滤器”更好。此外,我们确实需要一个词来描述构成过滤器的不同2D阵列的概念。


1

现有答案非常好,可以全面回答问题。只需添加卷积网络中的过滤器即可在整个图像中共享(即,输入与过滤器进行了卷积,如Franck的答案所示)。特定神经元的感受野是影响所讨论神经元的所有输入单位。卷积网络中神经元的接受域通常小于共享过滤器(也称为参数共享)的密集网络中神经元的接受域。

参数共享为CNN带来了一定的好处,即称为翻译的等方差的属性。也就是说,如果输入受到干扰或转换,则输出也将以相同的方式修改。伊恩·古德费洛(Ian Goodfellow)在深度学习书中提供了一个很好的例子,说明了从业者如何利用CNN的等方差:

处理时间序列数据时,这意味着卷积会生成一种时间线,以显示输入中何时出现了不同的特征。如果稍后在输入中移动一个事件,则该事件的确切表示将出现在输出中,刚过 与图像类似,卷积会创建一个二维地图,其中某些特征会出现在输入中。如果我们在输入中移动对象,则其表示将在输出中移动相同的数量。当我们知道将少量相邻像素的某些功能应用于多个输入位置时,此功能很有用。例如,在处理图像时,检测卷积网络第一层的边缘很有用。相同的边缘或多或少出现在图像的各处,因此在整个图像中共享参数是可行的。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.