Keras Conv2D:过滤器与 kernel_size
Posted
技术标签:
【中文标题】Keras Conv2D:过滤器与 kernel_size【英文标题】:Keras Conv2D: filters vs kernel_size 【发布时间】:2018-12-13 06:46:41 【问题描述】:这两者有什么区别?这也有助于在更一般的卷积网络背景下进行解释。
另外,顺便提一下,什么是渠道?换句话说,请为我分解 3 个术语:通道、过滤器和内核。
【问题讨论】:
【参考方案1】:每个卷积层由几个卷积通道(又名深度或过滤器)组成。在实践中,它们是一个数字,例如64, 128, 256, 512
等。这等于卷积层输出中的通道数。另一方面,kernel_size
是这些卷积滤波器的大小。在实践中,它们采用诸如3x3
或1x1
或5x5
之类的值。简而言之,它们可以写成1
或3
或5
,因为它们在实践中大多是方形的。
编辑
下面的引用应该更清楚。
Discussion on vlfeat
假设X
是一个输入,大小为W x H x D x N
(其中N
是批次的大小)到网络中包含过滤器F
(大小为FW x FH x FD x K
)的卷积层。
特征通道的数量D
是此处输入X
的第三维(例如,如果输入包含彩色图像,则在网络的第一个输入处通常为 3)。
过滤器数量K
是F
的第四维。
这两个概念密切相关,因为如果一层中的过滤器数量为K
,它会产生具有 K 个特征通道的输出。所以下一层的输入会有K
特征通道。
上面的FW x FH
是您要查找的过滤器大小。
已添加
您应该熟悉filters。您可以认为每个过滤器负责从原始图像中提取某种类型的特征。 CNN 尝试学习这样的过滤器,即在 CNN 中参数化的过滤器是在 CNN 训练期间学习的。您将 Conv2D 中的每个过滤器应用于每个输入通道,并将它们组合起来以获得输出通道。所以,过滤器的数量和输出通道的数量是一样的。
【讨论】:
所以通道、过滤器和深度都意味着相同的东西? 只是为了确定,上面的 FW 是一个新变量,它不像 F*W,对吧? 是的,FW 是过滤器的宽度,FH 是过滤器的高度。 所以,在输入中,3个通道的含义很明确,R,G,B值。但是在隐藏值中,有时我们有超过 3 个通道,它们的含义是什么?此外,单个隐藏神经元中的值是否可以包含来自多个输入通道(例如 R 和 B)的值,或者通过卷积过程在输入通道之间没有“混合”? 我在上面修改了过滤器的解释。以上是关于Keras Conv2D:过滤器与 kernel_size的主要内容,如果未能解决你的问题,请参考以下文章
TensorFlow之keras.layers.Conv2D( )