CNN基础学习(自用)

1.什么是one-hot编码?为什么使用?

one-hot编码 是一种把类别数据(分类变量)转换为数值型向量 的方式,常用于机器学习和深度学习中。计算机擅长处理数字,但分类数据(比如"红/绿/蓝")是非数值的。如果直接用数字代替类别(比如红=1,绿=2,蓝=3),模型可能会误以为它们之间存在大小关系或距离(例如蓝 > 绿 > 红),但其实类别之间没有这种顺序。所以需要 one-hot 编码,把每个类别表示成一种"独立"的方式。

2.卷积层总结

卷积核的channel与输入特征层的channel相同

输出特征矩阵的channel与卷积核的个数相同

3.常用激活函数

3.1 sigmoid激活函数

缺点在于Sigmoid激活函数饱和时梯度值非常小,故网络层数较深时,容易出现梯度消失现象

3.2 ReLU激活函数

缺点在于当反向传播过程中有一个非常大的梯度经过时,反向传播更新后可能导致权重分布中心小于0,导致该处的倒数始终为0,反向传播无法更新权重,即进入失活状态

3.3 为什么使用激活函数

因为在我们的计算过程中是一个线性的计算过程,为了引入非线性因素,使其具备非线性计算能力,那么就需要通过一个非线性函数来达到这个目的。在实际应用中,ReLU函数用的更多

4.当卷积过程中出现越界时如何解决

使用padding的方式在图像周围补零即可,补完之后便可以正常卷积;在卷积操作过程中,矩阵经卷积操作后的尺寸由以下几个因素决定:

  1. 输入图片大小w*w
  2. Filter大小F*F Filter表示滤波器或者叫做卷积核kernel
  3. 步长 S
  4. padding的像素p

经卷积后的矩阵尺寸大小计算公式为:

5.池化层

5.1目的

对特征图进行稀疏处理,减少数据运算量

5.2特点

没有训练参数(卷积层的每个卷积核都有各自的参数),只是在原始的特征层上求取最大值(MaxPooling下采样层)或者最小值

只改变特征矩阵的w和h,不改变channel(深度)

一般poolsize(池化核大小)和stride(布局)相同

6.反向传播过程中的一些问题

6.1什么是反向传播

反向传播BP是神经网络学习的核心算法,它的作用是自动计算每个参数(权重、偏置)对最终误差(损失)的影响,并用这些信息来更新参数,让模型学得越来越好。

6.1.2正向传播

输入数据经过神经网络(层层加权、非线性激活),得到输出结果。用损失函数衡量输出和真实标签之间的差距。

例如:预测结果为0.8 ,真实值为1 ,损失为0.04

6.1.3反向传播

反向传播就是从输出层往输入层"反传"误差,计算每个参数应该怎样调整。

核心思想:用链式法则(微积分中的导数规则) ,逐层计算损失函数对每个参数的偏导数(梯度) 。梯度表示"如果我稍微改变这个参数,损失会变大还是变小"。计算完梯度后,用优化算法(最常见是梯度下降)来更新参数:

其中是权重参数,为学习率,是损失函数对参数的梯度

总结:反向传播 = 链式法则 + 梯度下降,它让神经网络能够"自我调整",学会从错误中改进。如果没有反向传播,神经网络就无法有效训练。

6.2损失的计算一般为:交叉熵损失(Cross Entropy Loss)
6.2.1针对多分类问题

softmax输出,所有输出概率和为1,公式如下:

对于上述两个公式其中为真是标签值,为输出预测值,

默认以e为底

6.3优化器optimazer
6.3.1 SGD优化器

为学习率,t 时刻对参数的损失梯度

缺点:易受样本噪声的影响,可能陷入局部最优解

6.3.2 SGD+Momentum优化器(常用)

为学习率,t 时刻对参数的损失梯度,为动量系数

6.3.3 Adagrad优化器(自适应学习率)

为学习率,t 时刻对参数的损失梯度,为防止分母为零的小数

缺点:学习率下降的太快,可能还没收敛就停止训练了

6.3.4 RMSProp优化器(自适应学习率)

为学习率,t 时刻对参数的损失梯度,为动量系数,控制衰减速度,为防止分母为零的小数

相关推荐
西岸行者2 天前
学习笔记:SKILLS 能帮助更好的vibe coding
笔记·学习
悠哉悠哉愿意2 天前
【单片机学习笔记】串口、超声波、NE555的同时使用
笔记·单片机·学习
别催小唐敲代码2 天前
嵌入式学习路线
学习
呆萌很2 天前
卷积神经网络的基石——基础卷积模块
神经网络
毛小茛2 天前
计算机系统概论——校验码
学习
babe小鑫2 天前
大专经济信息管理专业学习数据分析的必要性
学习·数据挖掘·数据分析
winfreedoms3 天前
ROS2知识大白话
笔记·学习·ros2
在这habit之下3 天前
Linux Virtual Server(LVS)学习总结
linux·学习·lvs
我想我不够好。3 天前
2026.2.25监控学习
学习
im_AMBER3 天前
Leetcode 127 删除有序数组中的重复项 | 删除有序数组中的重复项 II
数据结构·学习·算法·leetcode