Module 01 · Foundations of Convolutional Neural Networks
Simple Convolutional Network Example简单卷积网络示例
在上一视频中,我们了解了卷积神经网络中单层卷积层的构建模块。现在,我们将通过一个深度卷积神经网络(ConvNet)的具体示例,帮助你更好地理解卷积神经网络的工作原理,并加深对我们在上个视频末尾引入的符号的理解。📊
任务介绍: 图像分类
假设我们有一个图像,并希望进行图像分类或图像识别。具体来说,输入是一个图像 x,我们的目标是判断这是否是一只猫,输出是0或1,属于分类问题。让我们构建一个卷积神经网络(ConvNet),用于完成这个任务。
图像尺寸和初始参数
为了简化计算,我们假设使用一个较小的图像,尺寸为 39 x 39 x 3。这里,39 是图像的高度和宽度,3 是图像的通道数(即RGB三个颜色通道)。因此,在第0层(输入层),有:
第1层卷积层
假设第一层使用 3x3 的卷积核(滤波器),并使用步幅(stride)为1,且没有填充(padding)。我们使用 10个滤波器。
根据公式:
因此,第一层的输出激活尺寸为 37 x 37 x 10。
第2层卷积层
接下来,我们使用一个 5x5 的滤波器,步幅为2,没有填充,并且使用 20个滤波器。
输出尺寸为:
因此,第二层的输出激活尺寸为 17 x 17 x 20。
第3层卷积层
再来一层卷积层,使用 5x5 的滤波器,步幅为2,且使用 40个滤波器。
输出尺寸为:
因此,第三层的输出激活尺寸为 7 x 7 x 40。
展平层(Flatten)
最后,将 7x7x40 的特征图展平成一个长向量。计算得:
这样,卷积网络的输出就是一个 1960维的向量,然后可以将这个向量传递给 逻辑回归单元 或 softmax单元,进行最终的分类预测。
综上所述
整个过程如下:
- 输入图像:39 x 39 x 3
- 卷积层1:3x3滤波器,步幅1,10个滤波器,输出为 37 x 37 x 10
- 卷积层2:5x5滤波器,步幅2,20个滤波器,输出为 17 x 17 x 20
- 卷积层3:5x5滤波器,步幅2,40个滤波器,输出为 7 x 7 x 40
- 展平:将 7 x 7 x 40 展平为 1960 维向量
- 分类:使用 softmax 或 逻辑回归 单元输出预测结果
超参数的选择
设计卷积神经网络时,最重要的工作之一是选择合适的超参数。比如:
- 卷积核大小(滤波器尺寸)
- 步幅(stride)
- 填充(padding)
- 滤波器数量(filters)
这些选择会影响网络的性能和计算效率。在本视频和后续的视频中,我们会给出一些建议和指导,帮助你选择合适的超参数。
卷积神经网络的层类型
在一个典型的卷积神经网络中,通常有三种主要的层:
- 卷积层(Conv Layer):用于提取特征。
- 池化层(Pooling Layer):常见的池化层包括最大池化(Max Pooling)和平均池化(Average Pooling),用来减少空间维度,同时保留重要信息。
- 全连接层(Fully Connected Layer,FC):通常用于分类任务,将前面的卷积特征映射到类别标签。
虽然可以仅通过卷积层设计出一个有效的网络,但大多数神经网络架构会结合池化层和全连接层。幸运的是,池化层和全连接层的定义相对简单,我们将在接下来的两集视频中快速介绍这些层。
总结
至此,你已经见识了一个完整的卷积神经网络(ConvNet)的工作原理,恭喜你!🎉
接下来,我们将深入探讨如何实现池化层(Pooling Layer)和全连接层(FC),并讨论如何训练这些网络,使用的是 反向传播算法(Backpropagation),你已经对此有所了解。在下一视频中,我们将介绍如何实现卷积神经网络中的池化层。
学习要点总结:
- 卷积神经网络的层次通常是卷积层、池化层、全连接层。
- 在设计网络时,超参数的选择至关重要。
- 卷积神经网络的常见模式是随着网络深度的增加,图像的空间维度会逐渐减小,而特征的通道数通常会逐渐增加。
希望通过这些示例和讲解,你能够更好地理解卷积神经网络的结构和运作原理。继续加油!🚀