卷积神经网络核心知识点

admin 2024年12月26日15:59:09评论8 views字数 2470阅读8分14秒阅读模式
卷积神经网络核心知识点
卷积神经网络(Convolutional Neural Network,缩写CNN),包含以下重要的知识点:
卷积层(Convolution Layer)
1. 卷积核(Filter或Kernel): 它是一个小型的矩阵(通常是正方形,如3×3、5×5等),在输入图像(或特征图)上滑动,通过对应元素相乘再求和的方式来提取局部特征。例如,一个3×3的卷积核在一张RGB图像(维度为高度×宽度×3)上滑动,每次计算对应9个像素点(针对单通道)与卷积核元素乘积之和,从而得到新的特征值。
 2. 步长(Stride): 指卷积核每次滑动的像素间隔。步长为1时,卷积核会逐个像素地滑动;步长为2时,卷积核每次滑动会跳过一个像素,这会影响输出特征图的尺寸大小,在控制特征图尺寸和减少计算量方面有重要作用。
 3. 填充(Padding): 在输入图像(或特征图)的边缘添加额外的像素值(通常是0),目的是保持输入输出特征图尺寸的一致性,或者控制输出特征图尺寸的变化情况,比如常用的“same”填充能让输出特征图尺寸和输入在空间维度上相同(当步长为1时)。
 4. 感受野(Receptive Field): 指卷积神经网络中某个神经元所对应的输入图像(原始图像)上的区域大小,随着网络层数增加,后面层的神经元感受野会逐渐变大,意味着其能获取到更宏观的特征信息。
 池化层(Pooling Layer)
 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连接,解决了网络加深时梯度消失等问题)等方面各有特点,以适应不同的任务场景,如图像分类、目标检测、图像分割等。 
卷积神经网络工作流程表
序号 层级名称 职能 作用 工作原理 工作流程总结
1
输入层
接收输入数据
接收原始数据(如图像)并传递给后续层
输入数据直接传入网络,不做任何处理
接收原始数据,传递到网络
2
卷积层
特征提取
提取局部特征,如边缘、角点、纹理等
使用卷积核(滤波器)在输入数据上滑动,执行卷积操作,生成特征图
提取图像的低级特征
3
激活层 (ReLU)
增加非线性
引入非线性因素,帮助网络学习复杂模式
使用ReLU激活函数,公式为f(x) = max(0, x),将负值变为0,保留正值
引入非线性,使网络能够学习复杂模式
4
池化层
降低特征图的空间维度,减少计算量
减少特征图的尺寸,同时保留图像的关键信息,防止过拟合
最大池化或平均池化,从每个池化窗口中选择最大值或平均值,通常为2x2或3x3窗口
降低维度,减小计算复杂度,减少过拟合
5
批归一化层 (BN)
对每一层输入进行归一化
加速训练过程,稳定学习过程,避免梯度消失/爆炸问题
对每个小批量的输入进行均值和方差归一化,然后进行尺度变换(可学习的参数)
加速训练,避免梯度问题,稳定网络
6
卷积层
提取更复杂的特征
继续从原始数据中提取更高级的特征
使用多个卷积核进行卷积操作,进一步提取高级特征
提取更复杂的特征,构建高级表示
7
激活层 (ReLU)
增加非线性
增加模型的非线性,允许模型学习复杂的映射
使用ReLU激活函数,增加网络的非线性表达能力
增强网络的非线性表达能力
8
池化层
减少特征图的维度,减少计算复杂度
缩小特征图的尺寸,减少计算量并提高泛化能力
最大池化或平均池化,对输入特征图进行下采样,减小尺寸并保留关键信息
继续降维,减少计算量,提高泛化能力
9
全连接层
用于决策或输出
根据卷积和池化层提取的特征进行最终的分类或回归预测
将所有前一层的神经元与全连接,生成最终的输出,通常用于最终的决策或预测
将提取到的特征进行组合,输出最终预测
10
Dropout层
随机丢弃部分神经元
防止过拟合,通过随机丢弃一部分神经元来避免对某些特征过度依赖
在训练过程中随机选择并“丢弃”一部分神经元,使得网络不依赖于某些特定的神经元
随机丢弃神经元,减少过拟合
11
全局平均池化层
下采样,将特征图转换为单一的数字输出
减少参数数量,防止过拟合,简化网络的输出
对每个特征图进行平均池化,生成一个单一的输出数值,用于分类或回归
降低参数数量,简化输出,防止过拟合
12
分类层 / 回归层
输出最终预测
对网络的输出进行分类或回归预测
使用 softmax 或线性激活函数,根据任务类型输出类别概率(分类)或连续数值(回归)
根据任务目标进行最终分类或回归预测

卷积神经网络核心知识点

原文始发于微信公众号(网络安全等保测评):卷积神经网络核心知识点

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年12月26日15:59:09
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   卷积神经网络核心知识点https://cn-sec.com/archives/3551455.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息