当前位置: 首页 > news >正文

深度学习(8)Adam 优化器、卷积神经网络与反向传播

一、Adam 优化算法(Adam Optimizer)

1. Adam 是什么?

        Adam(Adaptive Moment Estimation,自适应矩估计)是一种在深度学习中常用的优化算法。它结合了两种经典优化方法的优点:

  • Momentum(动量法):加快收敛;

  • RMSProp:自适应调整学习率。

        Adam 能在不同参数维度上自适应地调整学习率,同时保留动量的加速效果,因此非常适合处理噪声大、数据量大或稀疏梯度问题的场景。

2. Adam 的核心思想

Adam 在每次参数更新时,维护了两个“动量”:

  • 一阶矩估计(Momentum):

    表示梯度的加权平均,用来“平滑”梯度变化。

  • 二阶矩估计(RMSProp):

    表示梯度平方的加权平均,用于调节不同参数的学习率。

然后进行偏差修正:

最后更新参数:

其中:

  • α:学习率(learning rate)

  • β1​,β2​:动量参数(通常取 0.9 和 0.999)

  • ϵ:防止除零的小常数(如

3. Adam 的优点

优点:

  • 计算效率高;

  • 对超参数不敏感;

  • 自适应学习率;

  • 收敛速度快;

  • 能很好地处理稀疏梯度。

缺点:

  • 在某些任务上容易停滞于局部最优;

  • 不一定能带来更好的泛化性能(比 SGD 略差)。

4. TensorFlow 示例

model.compile(optimizer=tf.keras.optimizers.Adam(learning_rate=0.001),loss='categorical_crossentropy',metrics=['accuracy'])

二、卷积层(Convolutional Layer)

1. 卷积层的介绍

        卷积层(Convolutional Layer)是 卷积神经网络(CNN, Convolutional Neural Network) 的核心组成部分。它的主要功能是从输入数据中自动提取局部特征(如边缘、纹理、形状等)。在图像处理中,卷积层能让神经网络学会:

  • 第一层识别边缘;

  • 第二层识别形状;

  • 第三层识别物体特征。

2. 卷积运算的原理

        卷积操作通过一个称为卷积核(Filter 或 Kernel)的小矩阵,在输入图像上滑动(滑动窗口),计算加权和。

如下图所示(示意):

输入图像 (5x5)
1 2 3 0 1
0 1 2 3 1
3 1 2 2 0
0 2 3 1 1
1 0 2 2 3卷积核 (3x3)
1 0 1
0 1 0
1 0 1

通过卷积操作可得到输出特征图(Feature Map)。

3. 卷积层的样式

卷积层的主要超参数包括:

  • 滤波器数量(filters):决定输出通道数;

  • 卷积核大小(kernel_size):通常为 3×3;

  • 步幅(stride):控制滑动步长;

  • 填充(padding):保持尺寸一致(same)或缩小尺寸(valid)。

tf.keras.layers.Conv2D(filters=32, kernel_size=(3,3), strides=1, padding='same', activation='relu')

4. 卷积层的优点

优点总结:

  • 参数少:共享卷积核,减少训练参数;

  • 计算快:局部连接结构加快计算;

  • 防止过拟合:参数减少后模型更稳健;

  • 可视化强:每层可视化为特征提取效果。

5. 举例说明

例如在识别人脸时:

  • 第一个卷积层学习“边缘”;

  • 第二层学习“眼睛和鼻子”;

  • 第三层学习“人脸结构”。


三、卷积神经网络(CNN)

        卷积神经网络是将卷积层、池化层(Pooling)、全连接层(Fully Connected Layer)组合在一起的深度网络。典型结构如下:

输入层 → 卷积层 → 池化层 → 卷积层 → 池化层 → 全连接层 → 输出层

1. 池化层(Pooling Layer)

池化用于降维,常用方法:

  • 最大池化(Max Pooling):取局部区域最大值;

  • 平均池化(Average Pooling):取平均值。

tf.keras.layers.MaxPooling2D(pool_size=(2, 2))

2. 全连接层(Fully Connected Layer)

在卷积层提取特征后,最后通过全连接层将这些特征映射为具体类别(如猫/狗识别)。


四、反向传播(Backpropagation)

1. 什么是反向传播?

        反向传播是神经网络学习的核心算法,用于计算每个参数的梯度(Gradient),并将其用于优化器更新参数。其本质是应用链式法则(Chain Rule)来高效求导。

2. 工作流程

  • 前向传播(Forward Propagation):计算预测输出 y^​。
  • 计算损失(Loss):比较 y^​ 和真实值 y。
  • 反向传播(Backpropagation):计算损失函数对每个参数的偏导数。
  • 参数更新(Optimization):使用优化器(如 Adam、SGD)更新参数值。

3. 数学形式(链式法则)

对于某一层 LLL:

这样每一层的梯度都可以从后一层传递回来,形成高效的链式计算。

4. 为什么反向传播高效?

关键点:

  • 通过共享中间变量(如激活值),避免重复求导;

  • 每层梯度只需局部计算;

  • 与矩阵运算结合后,可高效在 GPU 上并行。


五、总结

模块主要功能优点
Adam 优化器更新参数自适应学习率、收敛快
卷积层提取局部特征减少参数、防止过拟合
CNN 网络多层特征学习可处理图像、语音等结构化数据
反向传播计算梯度并更新权重高效、通用
  • Adam 是目前最常用的优化算法之一;

  • 卷积层让模型具备自动特征提取能力;

  • CNN 结构是图像识别的核心框架;

  • 反向传播是所有深度学习模型的“灵魂算法”。

http://www.dtcms.com/a/557103.html

相关文章:

  • 上海虹桥停车亲测,省心方案分享
  • 《人工智能基础》[算法篇3]:决策树
  • Rust真的适合写业务后端吗?
  • 绿色农产品网站wordpress空间 腾讯
  • 开源AI智能客服、AI智能名片与S2B2C商城小程序在营销运营中的应用与重要性研究
  • 南通网站开发公司百度seo排名报价
  • 在网站文章锚文本怎么做教育培训机构怎么建设网站
  • 不只是随机停顿:构建拟人化爬虫的行为指纹模型
  • QML-动画
  • 如何是网站排名上升网站开发什么比较有创意
  • css中backdrop-filter 详细使用 ios毛玻璃效果、filter和backdrop-filter使用说明
  • 通过神经网络手搓一个带finetune功能的手写数字识别来学习“深度神经网络”
  • 开发一个企业网站要多少钱青岛房产信息网
  • Linux运维核心命令(入门)
  • Redis_3_Redis介绍+常见命令
  • 企业实训|AI技术在产品研发领域的应用场景及规划——某央企汽车集团
  • linux系统移植过程中挂死问题分析
  • C++笔记:std::variant
  • day03(11.1)——leetcode面试经典150
  • 《算法通关指南:数据结构和算法篇 --- 顺序表相关算法题》---移动零,颜色分类
  • 视觉差网站制作百度站长统计
  • 求职专栏-【面试-自我介绍】
  • Chroma向量数据库详解:高效向量检索在AI应用中的实践指南
  • 【开题答辩全过程】以 风聆精酿啤酒销控一体系统的设计与实现为例,包含答辩的问题和答案
  • 二.docker安装与常用命令
  • 珠海网红打卡景点网站排名优化首页
  • 计算机网络Day01
  • QCES项目Windows平台运行指南
  • 多线程编程:条件变量、同步、竞态条件与生产者消费者模型
  • 怎么做高端品牌网站设计潍坊市住房和城乡建设网站