卷积神经网络(Convolutional Neural Network,缩写CNN),包含以下重要的知识点:
1. 卷积核(Filter或Kernel): 它是一个小型的矩阵(通常是正方形,如3×3、5×5等),在输入图像(或特征图)上滑动,通过对应元素相乘再求和的方式来提取局部特征。例如,一个3×3的卷积核在一张RGB图像(维度为高度×宽度×3)上滑动,每次计算对应9个像素点(针对单通道)与卷积核元素乘积之和,从而得到新的特征值。
2. 步长(Stride): 指卷积核每次滑动的像素间隔。步长为1时,卷积核会逐个像素地滑动;步长为2时,卷积核每次滑动会跳过一个像素,这会影响输出特征图的尺寸大小,在控制特征图尺寸和减少计算量方面有重要作用。
3. 填充(Padding): 在输入图像(或特征图)的边缘添加额外的像素值(通常是0),目的是保持输入输出特征图尺寸的一致性,或者控制输出特征图尺寸的变化情况,比如常用的“same”填充能让输出特征图尺寸和输入在空间维度上相同(当步长为1时)。
4. 感受野(Receptive Field): 指卷积神经网络中某个神经元所对应的输入图像(原始图像)上的区域大小,随着网络层数增加,后面层的神经元感受野会逐渐变大,意味着其能获取到更宏观的特征信息。
1. 最大池化(Max Pooling): 在一个局部区域(比如2×2的窗口)内选取最大值作为输出,能够减少数据量、降低特征维度,同时保留主要的特征信息,还具有一定的平移不变性,即对小幅度的图像平移不敏感。
2. 平均池化(Average Pooling): 是在局部区域内计算平均值作为输出,同样起到下采样、减少数据量的作用,不过相比最大池化,它保留的是区域内特征的平均情况。
激活函数(Activation Function)
像ReLU(Rectified Linear Unit,整流线性单元,表达式为f(x) = max(0,x))、Sigmoid、Tanh等。激活函数能给神经网络引入非线性因素,因为卷积和池化等操作大多是线性的,若没有激活函数,整个网络就相当于一个线性变换模型,很难拟合复杂的函数关系,激活函数可以让网络学习到更复杂的特征和模式。
全连接层(Fully Connected Layer)
一般位于卷积神经网络的后端,将前面卷积、池化等操作得到的特征图展开成一维向量,然后与各个神经元全连接,起到整合特征、进行最终分类(在分类任务中)等作用,根据全连接层输出的结果,经过相应的损失函数计算等操作,就能判断输入图像所属的类别等情况。
反向传播(Backpropagation)与梯度更新
在训练阶段,通过计算损失函数关于网络中各参数(卷积核的权重、偏置等)的梯度,然后利用梯度下降等优化算法(如随机梯度下降、Adam等优化器)来更新参数,使得网络的输出能不断逼近真实标签,通过不断迭代训练,提升网络的性能和准确率。
例如经典的LeNet、AlexNet、VGG、ResNet等不同的卷积网络结构,它们在卷积层、池化层、全连接层的数量、排列组合方式以及是否采用残差连接(像ResNet中的shortcut连接,解决了网络加深时梯度消失等问题)等方面各有特点,以适应不同的任务场景,如图像分类、目标检测、图像分割等。
序号 |
层级名称 |
职能 |
作用 |
工作原理 |
工作流程总结 |
|
输入层 |
|
|
|
|
|
卷积层 |
|
|
使用卷积核(滤波器)在输入数据上滑动,执行卷积操作,生成特征图
|
|
|
激活层 (ReLU) |
|
|
使用ReLU激活函数,公式为f(x) = max(0, x) ,将负值变为0,保留正值
|
|
|
池化层 |
|
减少特征图的尺寸,同时保留图像的关键信息,防止过拟合
|
最大池化或平均池化,从每个池化窗口中选择最大值或平均值,通常为2x2或3x3窗口
|
|
|
批归一化层 (BN) |
|
加速训练过程,稳定学习过程,避免梯度消失/爆炸问题
|
对每个小批量的输入进行均值和方差归一化,然后进行尺度变换(可学习的参数)
|
|
|
卷积层 |
|
|
|
|
|
激活层 (ReLU) |
|
|
|
|
|
池化层 |
|
|
最大池化或平均池化,对输入特征图进行下采样,减小尺寸并保留关键信息
|
|
|
全连接层 |
|
根据卷积和池化层提取的特征进行最终的分类或回归预测
|
将所有前一层的神经元与全连接,生成最终的输出,通常用于最终的决策或预测
|
|
|
Dropout层 |
|
防止过拟合,通过随机丢弃一部分神经元来避免对某些特征过度依赖
|
在训练过程中随机选择并“丢弃”一部分神经元,使得网络不依赖于某些特定的神经元
|
|
|
全局平均池化层 |
|
|
对每个特征图进行平均池化,生成一个单一的输出数值,用于分类或回归
|
|
|
分类层 / 回归层 |
|
|
使用 softmax 或线性激活函数,根据任务类型输出类别概率(分类)或连续数值(回归)
|
|
![卷积神经网络核心知识点 卷积神经网络核心知识点]()
原文始发于微信公众号(网络安全等保测评):卷积神经网络核心知识点
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
点赞
https://cn-sec.com/archives/3551455.html
复制链接
复制链接
-
左青龙
- 微信扫一扫
-
-
右白虎
- 微信扫一扫
-
评论