其他
快速学会一个算法,CNN
CNN 的基本构成
卷积神经网络主要由以下层组成。
卷积层
卷积层是 CNN 的核心组件,用于提取输入数据的特征。
卷积核,一个小的矩阵,通常为 3x3、5x5 等,它在图像上滑动,对应位置的像素进行逐元素相乘并求和。 步幅(stride),卷积核在输入图像上滑动的步长,步幅越大,输出的特征图尺寸越小。 填充(padding),为保持卷积后特征图的尺寸,可以在输入图像边缘添加额外的像素。
池化层(Pooling Layer)
最大池化,从特征图的每个窗口取最大值
平均池化,从特征图的每个窗口取平均值
全连接层(Fully Connected Layer)
这些层将扁平化的特征图作为输入。
下面,我们通过一个具体的案例来进行说明,假设我们创建一个卷积神经网络模型,该模型用于确定图像是否代表 X。
过滤器/卷积核
然后我们可以通过确认图像中存在这个图案来确定图像是一个“X”。
这种模式在这里被称为过滤器。过滤器捕捉 X 的一个关键特征。
过滤器通常是小的方阵,最常见的是 3x3 像素,但大小可以有所不同。
要将过滤器应用于图像以进行模式检测,我们将 3x3 过滤器滑过每个部分,并计算过滤器与其覆盖的部分的点积。
如果输入大于 0,则函数按原样输出该值;如果输入小于或等于 0,则输出 0。
因此,通过将特征图传递给 ReLU 函数,我们得到以下更新的特征图。
然后将过滤器与图像进行卷积。
池化
全连接层
将这些值输入全连接层的第一步是展平特征图矩阵。
我们不能按原样输入特征图。因此,我们将其展平。
例如,如果我们有四个过滤器,它们将产生四个特征图。
然后,这些特征图又会从最大池化步骤产生四个 2x2 矩阵。
接下来就进行最终的分类或其他预测任务。
最后
—
「进群方式:加我微信,备注 “python”」
往期回顾
Fashion-MNIST 服装图片分类-Pytorch实现