【AI前沿】深度学习基础:训练神经网络

文章目录

  • 📑前言
  • 一、前向传播与反向传播
    • 1.1 前向传播(Forward Propagation)
    • 1.2 反向传播(Backpropagation)
  • 二、损失函数和优化算法
    • 2.1 损失函数(Loss Function)
    • 2.2 优化算法(Optimization Algorithms)
  • 三、梯度下降法及其变种
    • 3.1 梯度下降法(Gradient Descent)
    • 3.2 梯度下降法的变种
  • 四、小结

📑前言

深度学习是当今人工智能领域的核心技术,尤其在图像处理、语音识别、自然语言处理等领域表现出色。要理解深度学习,首先需要掌握神经网络的训练过程,包括前向传播、反向传播、损失函数、优化算法以及梯度下降法及其变种。

一、前向传播与反向传播

1.1 前向传播(Forward Propagation)

前向传播是神经网络的计算过程,通过输入层传递到输出层。每个神经元接收输入信号,进行加权求和,并通过激活函数得到输出。这个过程层层递进,最终在输出层得到预测结果。以下是一个简单的前向传播过程的步骤:

  1. 输入层: 输入数据 x 传入网络。
  2. 隐藏层: 每个隐藏层节点在这里插入图片描述接收上一层节点的输出,并进行加权求和:image.png其中 image.png是权重,image.png是偏置。
  3. 激活函数: 通过激活函数image.png,将线性组合结果非线性化。
  4. 输出层: 类似隐藏层的计算方式,最终输出预测结果。

通过前向传播,神经网络可以将输入映射到输出,这一过程是通过层层传递的方式实现的。

1.2 反向传播(Backpropagation)

反向传播是神经网络训练的核心算法,用于调整网络的权重和偏置,以最小化预测结果与真实值之间的误差。其基本步骤如下:

  1. 计算损失: 使用损失函数计算预测输出image.png与真实标签 image.png 之间的误差 image.png
  2. 反向传递误差: 从输出层开始,逐层向后计算每个神经元的误差,并传递到前一层。
  3. 计算梯度: 对每个权重和偏置,计算损失函数关于它们的梯度 image.png
  4. 更新权重和偏置: 使用梯度下降法或其变种,更新网络的权重和偏置,使得损失函数值逐步减小。

反向传播的核心在于链式法则,通过逐层计算和传播梯度,最终调整所有参数,使网络的预测能力不断提高。

二、损失函数和优化算法

2.1 损失函数(Loss Function)

损失函数是衡量神经网络预测值与真实值之间差距的指标。常见的损失函数有:

  • 均方误差(MSE): 主要用于回归问题,计算预测值与真实值之间的平方误差平均值。
    image.png
  • 交叉熵损失(Cross-Entropy Loss): 主要用于分类问题,衡量预测概率分布与真实分布之间的差异。
    image.png

2.2 优化算法(Optimization Algorithms)

优化算法用于调整神经网络的权重和偏置,以最小化损失函数值。常见的优化算法包括:

  • 梯度下降法(Gradient Descent): 通过计算损失函数的梯度,并沿着梯度的反方向更新参数,逐步减小损失函数值。
  • 随机梯度下降(SGD): 每次仅使用一个或小批量样本来计算梯度并更新参数,适用于大规模数据集。
    image.png
  • 动量法(Momentum): 在更新参数时加入前一次更新的动量,帮助加速收敛并减少震荡。
    image.png
  • AdaGrad: 根据梯度历史动态调整学习率,对稀疏数据表现良好。
    image.png
  • RMSprop: 结合了动量和AdaGrad的优点,通过指数加权平均平滑梯度平方和。
    image.png
  • Adam: 结合动量和RMSprop,适用于各种类型的神经网络和数据集。
    image.png

三、梯度下降法及其变种

3.1 梯度下降法(Gradient Descent)

梯度下降法是神经网络训练中最基本的优化算法,通过计算损失函数相对于参数的梯度,并沿梯度的反方向更新参数。基本的梯度下降法步骤如下:

  1. 初始化参数: 随机初始化网络的权重和偏置。
  2. 计算梯度: 使用反向传播算法,计算损失函数关于每个参数的梯度。
  3. 更新参数: 根据梯度和学习率,更新网络的权重和偏置。
    image.png

其中,η 为学习率,控制每次更新的步长。

3.2 梯度下降法的变种

为了提高训练效率和效果,梯度下降法有多种变种,每种变种都有其独特的特点和应用场景:

  1. 批量梯度下降(Batch Gradient Descent):
    • 使用整个训练集来计算梯度和更新参数。
    • 优点:每次更新都使用了全部数据,梯度计算准确。
    • 缺点:计算开销大,内存占用高,不适用于大规模数据集。
  2. 随机梯度下降(Stochastic Gradient Descent, SGD):
    • 每次仅使用一个样本来计算梯度并更新参数。
    • 优点:计算速度快,适用于大规模数据集。
    • 缺点:梯度更新波动较大,可能导致收敛速度慢。
  3. 小批量梯度下降(Mini-Batch Gradient Descent):
    • 使用一个小批量样本来计算梯度并更新参数。
    • 优点:折中批量梯度下降和随机梯度下降的优点,计算效率高,收敛较快。
    • 缺点:需要选择合适的批量大小(通常在32到256之间)。
  4. 动量法(Momentum):
    • 在梯度更新中引入动量,帮助加速收敛并减少震荡。
    • 公式:
      image.png
    • 优点:在凹谷形状的损失面中加速收敛,减少震荡。
  5. AdaGrad:
    • 根据梯度历史动态调整学习率,对稀疏数据表现良好。
    • 公式:
      image.png
    • 优点:在学习率调整上表现出色,适用于稀疏数据集。
    • 缺点:学习率可能会过早地变得过小。
  6. RMSprop:
  • 结合了动量和AdaGrad的优点,通过指数加权平均平滑梯度平方和。
  • 公式:
    image.png
  • 优点:在深度学习中表现稳定,适应性好。
  1. Adam(Adaptive Moment Estimation):
    • 结合动量和RMSprop,适用于各种类型的神经网络和数据集。
    • 公式:
      image.png
    • 优点:广泛适用,具有良好的收敛性和稳定性。

四、小结

神经网络的训练过程是深度学习的核心,前向传播和反向传播是其基本步骤,而损失函数和优化算法则决定了模型的性能。梯度下降法及其变种提供了多种优化选择,使得神经网络能够高效地学习和改进。

image.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/44453.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

极狐Gitlab使用

目录 续接上篇:极狐Gitlab安装部署-CSDN博客 1. 关闭注册功能 2. 创建群组 3. 创建用户 5. 邀请成员到群组 6. 设置导入导出项目源 7. 通过gitee导入库 8. 通过仓库URL导入 9. 自创建项目 10. 默认分支main的权限 11. 使用普通用户进入自建库 12. 创建用…

【Linux 线程】线程的基本概念、LWP的理解

文章目录 一、ps -L 指令🍎二、线程控制 一、ps -L 指令🍎 🐧 使用 ps -L 命令查看轻量级进程信息;🐧 pthread_self() 用于获取用户态线程的 tid,而并非轻量级进程ID;🐧 getpid() 用…

matlab仿真 模拟调制(上)

(内容源自详解MATLAB/SIMULINK 通信系统建模与仿真 刘学勇编著第五章内容,有兴趣的读者请阅读原书) 1.幅度调制 clear all ts0.0025; %信号抽样时间间隔 t0:ts:10-ts;%时间矢量 fs1/ts;%抽样频率 dffs/length(t); %fft的频率分…

国内从事人机交互的团队——浙江工业大学

一、背景 当我们选择一个新的课题后,需要清楚的了解从事该方向的团队都有哪些,这样可以及时跟踪和学习大牛团队的最新进展,以免自己认为的good idea,其实早就已经研究过了。 随着人形机器人的发展,机器人不仅需要在无…

【Windows】实现窗口子类化(基于远程线程注入)

目录 前言 原理解释 完整项目 相关文献 文章出处链接:[https://blog.csdn.net/qq_59075481/article/details/140334106] 前言 众所周知,DLL 注入有多种用途,如热修补、日志记录、子类化等。本文重点介绍使用 DLL 注入对窗口进行子类化。…

GOLLIE : ANNOTATION GUIDELINES IMPROVE ZERO-SHOT INFORMATION-EXTRACTION

文章目录 题目摘要引言方法实验消融 题目 Gollie:注释指南改进零样本信息提取 论文地址:https://arxiv.org/abs/2310.03668 摘要 大型语言模型 (LLM) 与指令调优相结合,在泛化到未见过的任务时取得了重大进展。然而,它们在信息提…

又上热搜!曝iPhone 16将支持40W快充

ChatGPT狂飙160天,世界已经不是之前的样子。 更多资源欢迎关注 7月9日晚,微博话题“iPhone16系列或将支持40W快充”上了热搜榜,这已经是iPhone 16系列第N次上热搜了。 据爆料,iPhone 16系列充电功率将提升至40W,并且…

米家立式学习灯怎么样?书客、米家、孩视宝三款护眼大路灯巅峰PK!

米家立式学习灯怎么样?不知从什么时候开始,青少年成为了近视重灾区,主要促成近视的原因有长时间接触电子产品、学习时的不正确姿势、不良的灯光环境等,除了减少电子产品的使用以及多室外活动之外,剩下的就是室内孩子经常学习的光…

全球首款集成GPT-4o的智能眼镜AirGo Vision:AI眼镜的未来

引言 在人工智能和大模型技术迅猛发展的今天,AI硬件产品逐渐走入人们的生活。继Meta Ray-Ban智能眼镜之后,Solos公司在最近的香港智能眼镜峰会上发布了全球首款集成GPT-4o的智能眼镜AirGo Vision。本文将深入探讨这款AI智能眼镜的功能、技术特点以及其在…

侯捷C++面向对象高级编程(下)-2-non-explicit one argument constructor

1.构造函数 构造函数: Fraction(int num, int den 1) 初始化分子和分母,允许指定分子 num 和可选的分母 den。默认情况下,分母为 1。 加法运算符重载: Fraction operator(const Fraction& f) 重载了加法运算符 。这使得两个 Fraction 对象可以通过 …

Qt 异步实现事件的定时执行 - QTimer和QThread的联合使用

异步实现事件的定时执行 - QTimer和QThread的联合使用 引言一、核心源码二、其信号和槽函数简述三、定时器及其moveToThread简述 引言 在 Qt 中,如果想要定时执行某些事件或函数,通常会使用 QTimer 类。QTimer 允许设置一个时间间隔,当这个时…

echarts使用自定义图形实现3D柱状图

先看下效果吧 实现思路 使用graphic创建并注册自定义图形。根据每组的数据值,得到一个对应的点,从点出发用canvas绘制一组图形,分别为 顶部的菱形 const CubeTop echarts.graphic.extendShape({buildPath: function (ctx, shape) {const c1…

NVIDIA良心给显卡免费升级,只为挨更多的骂

起猛了,还真的以为 NVIDIA 良心发现了。 众所周知,英伟达对于咱们普通游戏玩家向来不屑一顾。只因为游戏业务在 NVIDIA 收入中占比较少。 在最新的 40 系显卡 RTX 4070 Ti Super 显卡中,NVIDIA悄悄给它来了一次核心「升级」,将原…

ARM学习(29)NXP 双coreMCU IMX1160学习----NorFlash 启动引脚选择

ARM学习(28)NXP 双coreMCU IMX1160学习----NorFlash 启动引脚选择 1、多种启动方式介绍 IMX1166 支持多组flexSPI 引脚启动,FlexSPI1以及FlexSPI2,通过boot cfg可以切换FlexSPI得实例。 每个实例又支持多组引脚,总共…

LiteOS增加执行自定义源码

开发过程注意事项: 源码工程路径不能太长 源码工程路径不能有中文 一定要关闭360等杀毒软件,否则编译的打包阶段会出错 增加自定义源码的步骤: 1.创建源码目录 2. 创建源文件 新建myhello目录后,再此目录下再新建源文件myhello_demo.c 3. 编…

程序员学长 | PyCaret,一个超强的 python 库

本文来源公众号“程序员学长”,仅用于学术分享,侵权删,干货满满。 原文链接:PyCaret,一个超强的 python 库 今天给大家分享一个超强的 python 库,PyCaret。 https://github.com/pycaret/pycaret 简介 …

[论文笔记]RAPTOR: RECURSIVE ABSTRACTIVE PROCESSING FOR TREE-ORGANIZED RETRIEVAL

引言 今天带来又一篇RAG论文笔记:RAPTOR: RECURSIVE ABSTRACTIVE PROCESSING FOR TREE-ORGANIZED RETRIEVAL。 检索增强语言模型能够更好地适应世界状态的变化并融入长尾知识。然而,大多数现有方法只能从检索语料库中检索到短的连续文本片段&#xff0…

FP5207+音频功率放大器的组合解决方案-适用于便携式音频播放器、无线耳机、智能音箱和车载音响系统等高质量音频输出需求的产品,以提高电池供电的效率和输出功率

随着消费者对智能家居的需求增长,智能音响市场成为重要增长点。同时,音响技术也在不断发展,音响及扬声器的功能和性能不断提升。 蓝牙音箱,这类音箱供电是以锂电池为主,一般选用内置升压的音频功放芯片,音响…

windows 构建nginx本地服务随系统自启

1.先去官网下载一个nginxzip 2.将zip解压&#xff0c;将nginx-server.exe文件放入文件夹 3.创建nginx-server.xml&#xff0c;将以下内容放进文件内 <service> <id>nginx</id> <name>Nginx Service</name> <description>High Per…

强化学习中的蒙特卡洛算法和时序差分算法

在强化学习&#xff08;Reinforcement Learning, RL&#xff09;中&#xff0c;价值函数的估计是核心任务之一。蒙特卡洛&#xff08;Monte Carlo, MC&#xff09;方法和时序差分&#xff08;Temporal Difference, TD&#xff09;方法是两种常用的策略&#xff0c;用于估计状态…