神经网络学习总结

梯度下降

​ 梯度下降是一个高效的寻找函数参数最优值算法

image-20241130130717723!

损失函数

image-20241130141435945

​ 损失函数(Loss Function),也称为代价函数(Cost Function)或误差函数(Error Function),是机器学习和深度学习中一个核心的概念。它用于量化模型预测与实际目标之间的差异,是优化算法(如梯度下降)试图最小化的函数。损失函数的选择直接影响模型的学习过程和性能。

神经网络

image-20241130130450088

image-20241130130643781

一个神经元可以是一个函数,一般叫激活函数。

image-20241130131034808

sigmoid函数是常见的激活函数

卷积网络

卷积层

​ 卷积层是深度神经网络中的一种重要层,它在许多深度学习模型中都有应用,例如卷积神经网络(CNN)。卷积层的作用是对输入数据进行局部感知和特征提取。在卷积神经网络中,卷积层由多个卷积核组成,每个卷积核都可以对输入数据进行卷积运算,提取局部特征。
​ 卷积运算是一种线性运算,它将输入数据与卷积核进行逐点相乘和求和,得到输出数据。通过调整卷积核的权重参数,可以使得卷积层能够学习到不同的局部特征。在训练过程中,通过反向传播算法,不断调整卷积核的权重参数,使得卷积层能够更好地提取输入数据的特征。

池化层

​ 池化层是深度神经网络中的另一种重要层,它在卷积神经网络中常常与卷积层一起使用。池化层的作用是对卷积层的输出数据进行降采样,减少数据的维度和计算量,同时保留重要特征。
​ 池化运算是一种非线性运算,常见的池化运算有最大池化(Max Pooling)和平均池化(Average Pooling)等。最大池化是将每个池化窗口内的最大值作为输出数据,平均池化则是将每个池化窗口内的平均值作为输出数据。通过调整池化窗口的大小和步长,可以控制降采样的程度和特征的保留程度。
在训练过程中,池化层可以减少数据的维度和计算量,提高模型的训练效率和泛化能力。同时,池化层还可以使得模型对输入数据的平移、缩放等变化具有一定的鲁棒性。

卷积层和池化层的组合使用

​ 在实际应用中,卷积层和池化层常常是交替使用的。一般来说,在卷积层之后使用池化层可以降低数据的维度和计算量,提高模型的训练效率;在池化层之后使用卷积层则可以对特征进行更深入的学习和提取。这种组合方式可以使得模型在保持较好的特征表示能力的同时,降低计算量和过拟合的风险。

总结

​ 卷积层和池化层是深度学习中非常重要的概念和技术,它们在许多深度学习模型中都发挥着重要的作用。卷积层通过对输入数据进行局部感知和特征提取,使得模型能够更好地理解和处理数据;而池化层则通过对数据进行降采样,减少数据的维度和计算量,提高模型的训练效率和泛化能力。在实际应用中,卷积层和池化层的组合使用可以使得模型在保持较好的特征表示能力的同时,降低计算量和过拟合的风险。

yolo算法参考
YOLO v1

img

在这里插入图片描述

YOLO v2

YOLO v2 检测原理_yolov2原理-CSDN博客

YOLO v3

img

YOLO v4

img

YOLO v4-tiny

img

1、置信度损失函数

img

img其中 为第i个网格中第j个边界框的置信分数。 只是用来判别是否为目标的函数(0/1)。

2、分类损失函数

img

其中, 和 分别为对象在第i个网格的第j个边界框中属于c类的预测概率和真概率。

3、边界框回归损失函数

img

4、总损失函数

img

YOLO v4-tiny改进

文章作者为了进一步提升速度,使用ResBlock-D模块代替了部分CSPBlock模块,降低了计算的复杂度,同时设计了Auxiliary残差模块,以便提取更多的物体特征信息,以降低检测的误差;所提backbone网络如下:

img

整体架构可以概括为:输入层 -> 卷积层 -> 池化层 -> 卷积层 -> 全连接层 -> 输出层。

1. 输入层
  • 功能:接受输入图像,通常是 448x448 像素的 RGB 图像。这个尺寸是为了适配网络的架构,便于后续的卷积和池化操作。
2. 卷积层(Convolutional Layers)
  • 功能:负责提取图像中的特征。YOLO v1 使用了 24 个卷积层,这些层通过卷积操作对输入图像进行特征提取。每个卷积层使用不同数量和尺寸的卷积核来捕捉不同尺度和特征的图像信息。
3. 激活层(Activation Layers)
  • 功能:在每个卷积层之后通常会应用一个激活函数(例如,Leaky ReLU),以引入非线性因素,使模型能够更好地学习复杂的特征。
4. 池化层(Pooling Layers)
  • 功能:在卷积层之间使用最大池化(Max Pooling)操作,主要用于下采样特征图,减少数据维度,同时保留重要的特征信息。这有助于降低计算量,防止过拟合,并增强模型的平移不变性。
5. 全连接层(Fully Connected Layers)
  • 功能:在提取到特征后,特征图被展平为一个一维向量,进行全连接层的处理。YOLO v1 使用了两个全连接层。第一个全连接层负责将高维特征映射到一个较低维度的空间,第二个全连接层最终输出检测结果。
6. 输出层(Output Layer)
  • 功能

    :最终输出层负责生成目标检测的结果。YOLO v1 输出的向量包含:

    • 每个网格单元的边界框坐标(x, y, 宽度, 高度)。
    • 每个边界框的置信度(confidence),表示该框中包含目标的概率。
    • 每个边界框对应的类别概率,表示该框中每个类别的可能性。

image-20241130133411058

目标检测算法YOLO-V1算法详解_yolov1算法结构-CSDN博客


神经网络学习总结
http://witbit.cn/EMBEDDED/神经网络学习总结.html
作者
朝彻
发布于
2025年2月13日
许可协议