`3 x 3`过滤器将在本书的其余部分中广泛用于神经网络开发。 例如,您将在 ResNet 和 Inception 层中看到大量使用它,我们将在“第 5 章”,“神经网络架构和模型”中进行讨论。 TensorFlow 中可以将大小为`3 x 3`的 32 个过滤器表示为`.tf.keras.layers.Conv2D(32, (3,3))`。 在本章的后面,您将学习如何将此卷积与 CNN 的其他层一起使用。
# 卷积– 1 x 1 过滤器
# 卷积 – `1 x 1`过滤器
在本节中,我们将学习`1 x 1`卷积的重要性及其用例。 1 x 1 卷积过滤器是图像的直倍数,如下图所示:
在本节中,我们将学习`1 x 1`卷积的重要性及其用例。 `1 x 1`卷积过滤器是图像的直倍数,如下图所示:
![](img/d37f03a9-c3a6-4796-8ca8-0c40c106eb73.png)
在上图中,在上一节输出的`5 x 5`图像上使用了`5 x 5`卷积过滤器值 1,但实际上它可以是任何数字。 在这里,我们可以看到使用`5 x 5`过滤器可以保留其高度和宽度,而深度则增加到过滤器通道的数量。 这是`5 x 5`过滤器的基本优点。 三维内核(`f[i]`)中三个(1 x 1 x 3)单元中的每一个都与输入的相应三个单元相乘 (`A[i]`)。 然后,将这些值与 ReLU 激活函数(`b[i]`)一起加在一起,以形成单个元素(`Z`):
在上图中,在上一节输出的`5 x 5`图像上使用了`5 x 5`卷积过滤器值 1,但实际上它可以是任何数字。 在这里,我们可以看到使用`5 x 5`过滤器可以保留其高度和宽度,而深度则增加到过滤器通道的数量。 这是`5 x 5`过滤器的基本优点。 三维内核(`f[i]`)中三个(`1 x 1 x 3`)单元中的每一个都与输入的相应三个单元相乘 (`A[i]`)。 然后,将这些值与 ReLU 激活函数(`b[i]`)一起加在一起,以形成单个元素(`Z`):
![](img/f772de26-1cb9-482d-9bfd-27910c641878.png)
...
...
@@ -90,7 +90,7 @@ CNN 的图像过滤和处理方法包括执行多种操作,所有这些操作
上图显示了`1 x 1 x 128`图像过滤器如何将卷积深度减少到 32 个通道。
1 x 1 卷积在所有 128 个通道中与`5 x 5`输入层执行逐元素乘法–将其在深度维度上求和,并应用 ReLU 激活函数在`5 x 5`中创建单个点 输出表示 128 的输入深度。本质上,通过使用这种机制(卷积+整个深度的和),它会将三维体积折叠为具有相同宽度和高度的二维数组。 然后,它应用 32 个过滤器以创建`5 x 5 x 32`输出,如前所示。 这是有关 CNN 的基本概念,因此请花一些时间来确保您理解这一点。
`1 x 1`卷积在所有 128 个通道中与`5 x 5`输入层执行逐元素乘法–将其在深度维度上求和,并应用 ReLU 激活函数在`5 x 5`中创建单个点 输出表示 128 的输入深度。本质上,通过使用这种机制(卷积+整个深度的和),它会将三维体积折叠为具有相同宽度和高度的二维数组。 然后,它应用 32 个过滤器以创建`5 x 5 x 32`输出,如前所示。 这是有关 CNN 的基本概念,因此请花一些时间来确保您理解这一点。
本书将使用`1 x 1`卷积。 稍后,您将了解到池化会减小宽度,而`1 x 1`卷积会保留宽度,但可以根据需要收缩或扩展深度。 例如,您将看到在网络和 Inception 层中使用了`1 x 1`卷积(在“第 5 章”,“神经网络架构和模型”中。具有 1 的 32 过滤器) x 1 的卷积可以在 TensorFlow 中表示为`.tf.keras.layers.Conv2D(32, (1,1))`。
...
...
@@ -105,7 +105,7 @@ CNN 的图像过滤和处理方法包括执行多种操作,所有这些操作
![](img/e008ce29-8194-4fe6-baa0-058c073a2f98.png)
请注意,由于合并,3 x 3 窗口如何缩小(由绿线显示)为单个值,从而导致`5 x 5`矩阵尺寸更改为`5 x 5`矩阵。
请注意,由于合并,`3 x 3`窗口如何缩小(由绿线显示)为单个值,从而导致`5 x 5`矩阵尺寸更改为`5 x 5`矩阵。
左图显示了传统 CNN 中的线性过滤器,它将输入图像连接到下一层。 右图显示了微网络,该微网络由多个全连接层组成,然后是将输入图像连接到下一层的激活功能。 这里的初始层是 NIN 的逻辑顶点,描述如下:
* 初始架构的主要思想是基于发现如何用易于获得的密集分量(3 x 3 和 5 x 5)补充 CNN 中的最佳局部稀疏(并行`1 x 1`多个)结构。 初始论文的作者找到了答案,方法是将`1 x 1`卷积与 3 x 3、5 x 5 卷积和池化层并行使用。 可以认为,附加的`1 x 1`卷积和 ReLU 相当于 NIN 微网络。 1 x 1 卷积可作为降维机制,还有助于增加网络的宽度(通过并排堆叠)以及深度。 在同一层(起始层)中同时并行部署具有多个过滤器和池化层的多个卷积会导致该层是稀疏层,并且宽度增加。 1 x 1 卷积由于较小的内核大小而遭受了较少的过拟合。
* 初始架构的主要思想是基于发现如何用易于获得的密集分量(`3 x 3`和`5 x 5`)补充 CNN 中的最佳局部稀疏(并行`1 x 1`多个)结构。 初始论文的作者找到了答案,方法是将`1 x 1`卷积与`3 x 3`、`5 x 5`卷积和池化层并行使用。 可以认为,附加的`1 x 1`卷积和 ReLU 相当于 NIN 微网络。 `1 x 1`卷积可作为降维机制,还有助于增加网络的宽度(通过并排堆叠)以及深度。 在同一层(起始层)中同时并行部署具有多个过滤器和池化层的多个卷积会导致该层是稀疏层,并且宽度增加。 `1 x 1`卷积由于较小的内核大小而遭受了较少的过拟合。
* 目的是让神经网络在训练网络时学习最佳权重,并自动选择更有用的功能。
* 为了进一步减小尺寸,在`3 x 3`和`3 x 3`卷积之前使用`3 x 3`卷积,如下图所示: