卷积神经网络直觉 - 高内核滤波器大小与大量特征之间的结果差异

我想了解以下差异背后的架构直觉:

tf.keras.layers.Conv2D(64, (3,3), activation='relu', input_shape=(28, 28, 1))

tf.keras.layers.Conv2D(32, (7,7), activation='relu', input_shape=(28, 28, 1))

假设,

  1. 随着内核大小的增加,可以在卷积步骤中执行更复杂的特征模式匹配。

  2. 随着特征尺寸的增加,较小特征的较大方差可以定义特定层。

我们如何以及何时(如果可能的话请提供场景)在抽象层面上证明权衡的合理性?


波斯汪
浏览 63回答 1
1回答

喵喔喔

这可以从 3 种不同的观点来回答。参数:由于您比较了 2 个不同大小的 convolution2D 层,因此了解𝑀∗(𝐾∗𝐾∗𝐷)+𝑀每个所需的训练参数数量很重要,这反过来会使您的模型更加复杂,并且容易/难以训练。在这里,当使用 conv2d 的第二个配置时,可训练参数的数量增加了 2.5 倍以上first conv2d layer: 64*(3*3*1)+64 = 640 second conv2d layer: 32*(7*7*1)+32 = 1600输入:另一种询问必须使用什么过滤器尺寸和原因的方法是首先分析输入数据。由于第一个 conv2d 层(在输入上)的目标是捕获图像中最基本的模式,问问自己图像中最基本的模式是否真的需要更大的过滤器来学习?如果您认为网络识别对象需要大量像素,您将使用大过滤器(如 11x11 或 9x9)。如果您认为区分对象的是一些小的局部特征,您应该使用小过滤器(3x3 或 5x5)通常,更好的做法是堆叠 conv2d 层以捕获图像中的更大图案,因为它们由更小的过滤器更容易捕获的更小图案的组合组成。最终目标:通常 conv 网络的目标是将图像的高度和宽度压缩到大量通道中,这些通道由过滤器组成。这个将图像转化为其代表性特征的过程down sampling使我们能够最终在最后添加几个密集层来完成我们的分类任务。第一个 conv2d 将仅对图像进行一点点下采样,并生成大量通道,而第二个 conv2d 将对其进行大量下采样(因为较大的 conv 过滤器跨过图像),并且过滤器数量较少。但是下采样的行为,以获得具有较少通道(过滤器)的较小图像会立即导致信息丢失。因此建议逐步完成,以尽可能多地保留原始图像中的信息。然后它可以与其他 conv2d 堆叠以获得分类前图像的近似向量表示。概括:与该步骤中的第一个 conv2d 相比,第二个 conv2d 将能够一次捕获更大更复杂的模式。第二个 conv2d 会从原始图像中丢失更多信息,因为它会跳过来自更小和更简单模式的特征。第一个 conv2d 将能够捕获图像中的更多基本模式,并使用这些模式的组合(在堆叠的 Conv 层中)为您的最终任务构建一组更强大的功能。与第一个 conv2d 相比,第二个 conv2d 需要更多的参数来学习图像的结构。在实践中,建议使用具有较小过滤器的卷积层堆叠,以更好地检测图像中较大的更复杂的图案。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python