卷积神经网络CNN
基本概念
卷积层(Convolutional Layer)
卷积层是CNN的核心组成部分。在这一层,模型通过一系列可学习的滤波器(或称为卷积核)对输入数据进行卷积操作。每个滤波器负责从输入数据中提取一种特定的特征。卷积操作通过在输入数据上滑动滤波器,并计算滤波器与数据局部区域的点积来完成。这个过程能够捕捉到局部特征,并且保持了输入数据的空间关系。激活函数(Activation Function)
卷积操作之后通常会跟随一个激活函数,如ReLU(Rectified Linear Unit)。激活函数的作用是引入非线性,使得模型能够学习和表示更加复杂的函数。ReLU函数的作用是将所有负值置为0,保留正值,这样可以增加模型的表达能力。池化层(Pooling Layer)
池化层通常跟在卷积层和激活函数之后,用于降低特征图(feature map)的空间维度,减少参数数量和计算量,防止过拟合。最常见的池化操作是最大池化(Max Pooling),它从特征图的局部区域中提取最大值。平均池化(Average Pooling)是另一种常见的池化操作,它计算局部区域内的平均值。全连接层(Fully Connected Layer)
在多个卷积和池化层之后,特征图会被展平,并通过一个或多个全连接层进行处理。全连接层的作用是将学习到的局部特征和全局特征结合起来,用于最终的分类或回归任务。在全连接层之后,通常会使用Softmax激活函数(对于多分类问题)或者线性激活函数(对于回归问题)。
填充、步长、通道数
- 填充(Padding):
填充是指在输入数据的边界添加额外的像素,这些像素通常是0值。这样做的目的是为了在卷积操作后保持输出的空间维度,即输出的高度和宽度与输入相同。 - 步长(Stride):
步长是卷积核在输入数据上移动的步幅。步长决定了卷积核滑动的快慢,从而影响输出特征图的尺寸。 - 通道数(Channel):
通道数是指卷积层中卷积核的数量,每个卷积核可以捕捉输入数据的不同特征。增加通道数可以让网络学习到更多的特征表示,有助于提高模型的表现能力。然而,更多的通道也意味着更多的参数和计算量,可能导致过拟合和增加训练难度。
LeNet-5
LeNet-5名称中的”5”指的是网络中的层数,包括两个卷积层(C1和C3),两个池化层(S2和S4),以及一个全连接层(F5),还有一个输出层(O)。
AlexNet
ImageNet Classification with Deep Convolutional Neural Networks
- AlexNet引入了更深的网络架构,它包含五个卷积层和三个全连接层。
- AlexNet首次在卷积神经网络中广泛使用Rectified Linear Unit (ReLU)激活函数。ReLU函数相比于LeNet中使用的tanh激活函数,具有更好的非线性特性和更快的计算效率,同时还能缓解梯度消失问题。
- AlexNet在训练过程中引入了Dropout技术,通过在每次训练迭代中随机丢弃一部分神经元的激活值,从而减少网络对特定训练样本的依赖,增强了模型的泛化能力。
VGG
VGG16相比AlexNet的一个改进是采用连续的几个3x3的卷积核代替AlexNet中的较大卷积核(11x11,7x7,5x5)。VGG中使用了3个3x3卷积核来代替7x7卷积核,使用了2个3x3卷积核来代替5x5卷积核,在保证具有相同感知野的条件下,提升了网络的深度,在一定程度上提升了神经网络的效果。
ResNet 残差网络
加更多的层总是能增进精度吗?
从上图我们可以看出,对于非嵌套函数类,较复杂(由较大区域表示)的函数类不能保证更接近“真”函数($f^*$)。但这种现象在嵌套函数类中就不会发生。
- Title: 卷积神经网络CNN
- Author: Kaleido
- Created at : 2024-04-07 20:31:56
- Updated at : 2024-04-17 13:04:19
- Link: https://redefine.ohevan.com/2024/04/07/NN-卷积神经网络/
- License: This work is licensed under CC BY-NC-SA 4.0.