人工智能之深度学习基础——反向传播(Backpropagation)

news/2025/2/28 1:35:52/文章来源:https://www.cnblogs.com/zhoushusheng/p/18563781

反向传播(Backpropagation)

反向传播是神经网络的核心算法之一,用于通过误差反传调整网络参数,从而最小化损失函数。它是一种基于链式法则的高效梯度计算方法,是训练神经网络的关键步骤。

1. 反向传播的基本步骤

1.1 前向传播

在前向传播过程中,输入数据从输入层经过隐藏层传递到输出层,计算出模型的预测值 ypred和损失值 L

1.2 损失计算

损失函数(如均方误差或交叉熵)衡量模型的预测值与真实值之间的差异:

L=Loss(ypred,ytrue)

1.3 反向传播

根据链式法则,计算损失函数相对于每个参数的梯度 ∂L/∂w,从输出层向输入层逐层反向传播。

1.4 参数更新

利用梯度下降等优化算法,通过梯度信息更新每层的权重和偏置:

w=wηw/L

其中:

  • w:参数;
  • η:学习率。

2. 反向传播的数学推导

2.1 神经网络的层间关系

假设神经网络的某一层:z(l)=W(l)a(l1)+b(l

           a(l)=f(z(l))

其中:

  • z(l):隐藏层的线性输出;
  • W(l):权重矩阵;
  • b(l):偏置向量;
  • a(l):激活值;
  • f:激活函数。

2.2 损失函数

以均方误差为例:

2.3 输出层梯度

输出层的误差:

 

其中:

 

2.4 隐藏层梯度

隐藏层的误差通过链式法则传播:

2.5 梯度计算

权重和偏置的梯度为:

 

3. 反向传播的流程

  1. 前向传播:计算每一层的线性输出 z(l)、激活值 a(l),直到输出层。
  2. 计算损失:使用目标函数(如交叉熵、均方误差)计算预测值与真实值的差距。
  3. 反向传播
    • 从输出层开始,计算每一层的误差 δ(l)
    • 通过误差传播公式,将误差逐层传递至输入层。
  4. 更新参数:利用梯度下降算法更新每层的权重 W(l) 和偏置 b(l)

4. 反向传播的简单例子

问题

构造一个简单的单隐藏层神经网络,输入数据 x=[0.5,0.1],目标输出 ytrue=0.6,激活函数使用 Sigmoid。

模型结构

  1. 输入层:2 个神经元。
  2. 隐藏层:2 个神经元。
  3. 输出层:1 个神经元。

参数初始化

 

 计算步骤

 σ这里是SIgmoid函数

 

反向传播求导详细计算

 

反向传播的核心是计算损失函数对网络参数的梯度,即 ∂L/∂W∂L/∂b。以下详细解析各步骤的求导,逐步展开每个公式的由来。

1. 网络的定义

 单隐藏层神经网络

 2. 输出层的梯度计算

 损失函数对输出层的梯度

 激活值对线性输出的梯度

激活函数是 Sigmoid:

Sigmoid 的导数为: 

 

因此: 

 

链式法则:损失对线性输出的梯度

根据链式法则:

代入:

  

 

3. 隐藏层的梯度计算

损失对隐藏层激活值的梯度

输出层误差会传播到隐藏层:

 隐藏层激活值对线性输出的梯度

活函数为 Sigmoid:

 

 

 

 

总结

反向传播通过链式法则逐层计算梯度,并利用梯度下降法更新网络参数,最终最小化损失函数。反向传播算法是现代深度学习的基石,结合优化算法(如 SGD、Adam)可以高效训练复杂的神经网络模型。

 

 

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

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

相关文章

【Azure Redis】部署在AKS中的应用,连接Redis高频率出现timeout问题

查看Redis状态,没有任何异常,服务没有更新,Service Load, CPU, Memory, Connect等指标均正常。在排除Redis端问题后,转向了AKS中。开始调查AKS的网络状态。最终发现每次Redis客户端出现超时问题时,几乎都对应了AKS NAT Gateway的更新事件,而Redis服务端没有任何异常。…

20222402 2024-2025-1 《网络与系统攻防技术》实验六实验报告

1.实验内容 1.1本周学习内容 常见的网络安全协议包括SSL/TLS等。 网络安全协议攻击手段 DNS欺骗攻击:攻击者冒充域名服务器,将查询的IP地址设为攻击者的IP地址,从而诱骗用户访问恶意网站或下载恶意软件。 ARP欺骗攻击:分为对路由器ARP表的欺骗和对内网PC的网关欺骗,通过截…

谈一类计数DP——DP套DP

谈一类计数dp——dp套dp 一、dp套dp的定义 dp套dp就是一种将dp的值存入另一个dp的状态,而外层另作一个dp去取得记录这种状态的方案数。 二、dp套dp的搜索表征 对于一般的计数dp而言,其搜索形如: void DFS(int x){if(x==n+1)return void(ans+=Check());for(int i=1;i<=m;i…

AI翻唱神器,一键用你喜欢的歌手翻唱他人的曲目(附下载链接)

最近,“AI孙燕姿”翻唱众多明星的歌曲在各大网络平台上走红,其作品不仅累积上千万的播放量,在科技圈和音乐圈也都引发了热议,歌手孙燕姿在社交平台发文回应称:人类无法超越AI技术已指日可待,凡事皆有可能,凡事皆无所谓。伴随歌迷的呼声,“AI周杰伦”“AI陈奕迅”等一众…

SPI总线学习笔记

1、SPI的定义以及特点 SPI是串行外设接口(Serial Peripheral Interface)的缩写。是 Motorola 公司推出的一种同步串行接口技术,是一种高速的,全双工,同步的通信总线。 1):高速、同步、全双工、非差分、总线式 2):主从机通信模式 通信简单,速率快 2、通信协议介绍 SPI具…

实验五 信息搜集技术实践

一.实验内容 对网站进行 DNS 域名查询,包括注册人、IP 地址等信息,还通过相关命令查询 IP 地址注册人及地理位置。 尝试获取 QQ 好友 IP 地址并查询其地理位置。 使用 nmap 对靶机环境扫描,获取靶机 IP 活跃状态、开放端口、操作系统版本、安装服务等信息。 使用 Nessus 对靶…

20222409 2024-2025-1 《网络与系统攻防技术》实验六实验报告

1.实验内容 1.1 本周学习内容学习了Metasploit渗透测试框架的使用方法,重点掌握了从搜索模块到执行攻击的完整流程。在实验中熟悉了标准操作步骤,如搜索模块、加载模块、设置参数和运行攻击。 实验中实践了下列典型漏洞:Vsftpd后门漏洞、Samba命令注入漏洞、Java RMI命令执行…

基于Atheros-CSI-tool的CSI采集软硬件环境

软硬件环境搭建 基于Atheros csi tool的采集环境搭建 硬件设备 信号发生和采集设备:TP-Link WDR4310v1/TP-Link WDR4900v2 控制主机 交换机 拓扑结构软件环境[!NOTE] 官方安装文档 官方固件 官方openwrt源码操作系统 在终端刷上openwrt固件openwrt-ar71xx-generic-tl-wdr4300-…

MATLAB图注意力网络GAT多标签图分类预测可视化

全文链接:https://tecdat.cn/?p=38321 原文出处:拓端数据部落公众号 本示例展示了如何使用图注意力网络(GATs)对具有多个独立标签的图进行分类。当数据中的观测值具有带有多个独立标签的图结构时,可以使用GAT来预测未知标签观测值的标签。GAT利用图结构和图节点上的可用信…

律师必备:一款免费开源工具,单文档30秒内提取案件关键信息!

一、工具简介 这款工具是一款基于自然语言处理(NLP)技术的开源软件,旨在帮助法律专业人士快速获取文档中的重要信息。无论是合同、判决书还是其他法律文件,该工具都能迅速分析并提取出相关的法律条款、案件事实、当事人信息等。二、客户案例 1、中型律所的高效管理: 一家中…

upload-labs-master第12关详细教程

upload-labs-master第12关详细教程,包含环境的配置,已经闯关的教程,图文并茂环境配置需要的东西phpstudy-2018 链接: https://pan.baidu.com/s/1D9l13XTQw7o6A8CSJ2ff9Q 提取码:0278 32位 vc9和11运行库 链接: https://pan.baidu.com/s/1pBV3W8UWJe0bmDl_cPFDQw 提取码:…