首页 > 其他分享 >神经网络误差反向传播思路整理

神经网络误差反向传播思路整理

时间:2025-01-07 13:30:01浏览次数:3  
标签:误差 函数 输出 神经网络 参数 激活 反向 输入

神经网络的误差反向传播,初次接触的时候,感觉思路并不复杂,但其中包含许多细节,容易产生迷惑。今天整理一下思路,仅供参考。

一、神经网络的定义

最常见的神经网络长这个样子,包含一个输入层、若干隐藏层和一个输出层。

输入向量:x^{0}=\begin{bmatrix} x_{1}\\x_{2} \\\vdots \\x_{m^{(0)}} \end{bmatrix}

l层的权重矩阵:W^{l}=\begin{bmatrix} w_{11}^{(l)} &w_{12}^{(l)} &\cdots &w_{1m^{(l-1)}}^{(l)} \\ w_{21}^{(l)} &w_{22}^{(l)} &\cdots &w_{2m^{(l-1)}}^{(l)} \\ \vdots &\vdots &\ddots &\vdots \\ w_{m^{(l)}1}^{(l)} &w_{m^{(l)}2}^{(l)} &\cdots &w_{m^{(l)}m^{(l-1)}}^{(l)} \end{bmatrix}

l层的偏置向量:b^{(l)}=\begin{bmatrix} b_{1}^{(l)}\\ b_{2}^{(l)}\\ \vdots \\ b_{m^{(l)}}^{(l)} \end{bmatrix}

l层的输出:x^{(l)}=a^{l}(W^{(l)}x^{(l)}+b^{(l)})

神经网络整体的表达式:f(x^{0})=a^{(L)}(W^{(L)}a^{(L-1)}(\cdots a^{(2)}(W^{(2)}a^{(1)}(W^{(1)}x^{(0)}+b^{(1)})+b^{(2)}))\cdots +b^{(L-1)})

其中,a^{(l)}为第l层的激活函数。这里注意激活函数的几个主要作用:一是增加层与层之间的非线性因素,防止神经网络退化;二是将层运算的结果映射到理想的结果空间,以起到激活或过滤的作用;三是采用合理的激活函数,能够简化误差反向传播的计算。

上述便是神经网络基本定义的所有要素了。

二、训练神经网络

1、训练神经网络是在干什么

我们训练神经网络这个举动,是利用输入空间X中的部分输入x^{(0)}和对应的真实结果y,来对一组预设的权重W和偏置b参数进行优化的过程。经过优化之后的参数,能够准确地揭示输入与输出之间的内在关系,我们称之为模型。利用训练好的模型,我们能够关联输入空间任意输入与输出。

2、目标函数(损失函数)

目标函数(损失函数)是神经网络输出f(x)与真实值(标签)y的均方差之和:

E(W,b)=\sum_{k=1}^{L}(y_{k}-f(x_{k}))^{2}

f(x_{k})是一组输入x_{k}在预设参数下的输出,而y_{k}则是真实结果。要想使f(x_{k})运算结果更接近真实结果y_{k},也就是求E(W,b)的最小值。

神经网络训练的过程,就是对目标函数(损失函数)最优化。由于最优化的过程并不是一个计算准确结果的过程,因此可以对函数进行适当的变形以实现简化计算的目的(这里利用的是求方差)。

3、梯度下降法

对目标函数(损失函数)E(W,b)最优化,需要对所有的参数进行调整,具体到某一个参数,例如w_{ij}^{(l)}b_{i}^{(l)},则是求w_{ij}^{(l)}b_{i}^{(l)}E(W,b)函数的偏导数,利用梯度下降法,逐步找到能够使E(W,b)取到最小值的那个w_{ij}^{(l)}b_{i}^{(l)}

w_{ij}^{(l)}:=w_{ij}^{(l)}-\eta\frac{\partial E(W,b)}{\partial w_{ij}^{(l)}}

b_{i}^{(l)}:=b_{i}^{(l)}-\eta\frac{\partial E(W,b)}{\partial b_{i}^{(l)}}

4、引入德尔塔\delta

由于神经网络的维度和层数增加以及非线性激活函数等因素,直接求w_{ij}^{(l)}b_{i}^{(l)}E(W,b)函数的偏导数,十分困难。E(W,b)本身是一个非线性复合函数,利用复合函数的链式求导法则,可以把参数w_{ij}^{(l)}b_{i}^{(l)}E(W,b)求偏微分的过程,分割成易于求解的部分,再加上合适的激活函数,可以大大简化偏微分求解过程。\delta就是在这样的情况下引入的一个中间结果:

\delta =\frac{\partial E(W,b)}{\partial z}

其中z表示某一层wb的加权输入,\delta表示输入函数对输出函数的偏导(变化量),也被称为“误差”(更详细的解释请参考神经网络的德尔塔(Delta)到底是什么)。凭借\delta在不同层的可推导性和可复用性,以及激活函数简化计算的加持,先求出输出层的\deltaw_{ij}^{(L)}b_{i}^{(L)}E(W,b)的偏微分,然后向前反推,就可以逐层求得w_{ij}^{(l)}b_{i}^{(l)}E(W,b)的偏微分结果,并逐层对w_{ij}^{(l)}b_{i}^{(l)}进行更新优化了。

三、总结

训练神经网络的主要思路,就是对预设参数的目标函数进行最优化,优化参数是通过梯度下降法求参数对函数的偏导数实现的,为了简化计算过程,其中引入了\delta这样一个中间值(误差),通过反向传播的方式逐步求得每一层得参数,并进行优化。

标签:误差,函数,输出,神经网络,参数,激活,反向,输入
From: https://blog.csdn.net/courniche/article/details/144977190

相关文章

  • 基于自抗扰控制器和线性误差反馈控制律(ADRC-LSEF)的控制系统simulink建模与仿真
    1.课题概述基于自抗扰控制器和线性误差反馈控制律(ADRC-LSEF)的控制系统simulink建模与仿真。 2.系统仿真结果  3.核心程序与模型版本:MATLAB2022a 4.系统原理简介      自抗扰控制器(ActiveDisturbanceRejectionController,ADRC)结合线性误差反馈控......
  • 通过粒子群优化算法(PSO)优化BP神经网络(matlab代码)
    引言在机器学习与人工智能领域,神经网络作为一种强大的计算模型,广泛应用于分类、回归、预测等多种任务。BP神经网络,即反向传播神经网络,以其简单有效的结构和强大的学习能力,成为研究者们关注的焦点。然而,BP神经网络在实际应用中存在一些问题,如容易陷入局部极小值、收敛速度慢等......
  • 神经网络的德尔塔(Delta)到底是什么
    (本文假设读者已经了解梯度下降法及的推导过程,仅对的作用和意义进一步讨论)神经网络使用误差反向传播法更新权重和偏置参数的过程中,引入了一个重要的参数,这个到底是什么?是通过梯度下降法更新权重和偏置的过程中引入的,目的是计算权重或偏置的对损失函数的偏微分,来更新或。在这个......
  • DL00564-图卷积神经网络GCN心电图信号ECG心律失常检测python完整代码
    图卷积神经网络(GraphConvolutionalNetwork,GCN)作为一种图神经网络(GraphNeuralNetwork,GNN)的代表,近年来在各类数据结构上表现出了优异的性能,尤其是在处理具有图结构数据时。心电图(ECG,Electrocardiogram)信号分析,特别是心律失常的检测,是医学信号处理中一个重要且挑战性的任务......
  • 做【传统外贸】好还是【反向海淘】好?
    中国的外贸始于20世纪50年代(1950年),距今已经有74年历史,最早主要是以农产品和轻工业品出口为主。在改革开放的推进下,中国的外贸规模逐渐扩大,出口品种和市场也逐渐多元化。贸易模式也在不断增加,例如反向海淘模式。随着不同贸易模式的兴起,不少人开始对传统外贸和反向海淘产生了诸多......
  • [转]使用nginx的proxy_bind选项配置透明的反向代理
     原文:https://pengpengxp.github.io/archive/before-2018-11-10/2017-06-27-%E4%BD%BF%E7%94%A8nginx%E7%9A%84proxy_bind%E9%80%89%E9%A1%B9%E9%85%8D%E7%BD%AE%E9%80%8F%E6%98%8E%E7%9A%84%E5%8F%8D%E5%90%91%E4%BB%A3%E7%90%86.html 1 背景一般使用nginx做为反向代理......
  • 学习 - Nginx - 浅谈反向代理&正向代理
    一张图搞懂反向代理&正向代理反向代理客户端发送请求连接到互联网以后,不能直接访问到业务服务器(如Tomcat集群),需要通过Nginx反向代理才能访问,同理Tomcat返回报文数据的时候也不能直接返回给客户端,也需要通过Nginx才可以正向代理用户通过代理服务器(网关)访问外网......
  • GRU-PFG:利用图神经网络从股票因子中提取股票间相关性
    “MCI-GRU:StockPredictionModelBasedonMulti-HeadCross-AttentionandImprovedGRU”论文地址:https://arxiv.org/pdf/2410.20679摘要金融市场因复杂性及大数据时代的来临,使得准确预测股票走势变得尤为重要。传统的时序分析模型,例如GRU,在应对市场非线性的动......
  • 能发顶会!图神经网络(GNN)创新方案整理
    2024深度学习发论文&模型涨点之——图神经网络图神经网络(GraphNeuralNetworks,简称GNN)是一种专门用于处理图数据的深度学习模型。它通过迭代地传递和聚合节点及其邻居的特征信息,从而学习节点和图的表示。GNN的核心思想是利用图中的节点和边之间的关系,通过消息传递和节点更新......
  • 【开源】pgrok : 一个针对小团队的多租户 HTTP/TCP 反向代理解决方案
    背景介绍在进行软件开发、远程协作和产品测试阶段时,开发团队或许会面临一个问题,如何将本地的开发环境稳定且安全的提供给公网的其他用户进行访问?这其中涉及到了自己搭建反向代理的问题,以及项目如何对接单点登录服务提供商等一系列问题。今天要给大家推荐一个GitHub开源项目pg......