【机器学习300问】71、神经网络中前向传播和反向传播是什么?

这篇具有很好参考价值的文章主要介绍了【机器学习300问】71、神经网络中前向传播和反向传播是什么?。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

        我之前写了一篇有关计算图如何帮助人们理解反向传播的文章,那为什么我还要写这篇文章呢?是因为我又学习了一个新的方法来可视化前向传播和反向传播,我想把两种方法总结在一起,方便我自己后续的复习。对了顺便附上往期文章的链接方便回顾:

【机器学习300问】59、计算图是如何帮助人们理解反向传播的?

一、用计算图来理解

        再用小孩儿做数学题的例子来为大家介绍什么是前向传播(又叫正向传播),什么是反向传播。假设你在教一个小孩儿,计算 【机器学习300问】71、神经网络中前向传播和反向传播是什么?,【机器学习】,神经网络,人工智能,深度学习 。

【机器学习300问】71、神经网络中前向传播和反向传播是什么?,【机器学习】,神经网络,人工智能,深度学习

(1)前向传播

        就像是小孩按照步骤一步步计算题目。比如说他要计算 (a+b) × c,他先算出 a+b 的结果,然后再把这个结果乘以 c 得到最后的答案。

        前向传播是神经网络中从输入层到输出层的计算过程。在神经网络中,输入层接收原始数据,然后通过隐藏层的处理,最终由输出层产生预测结果。每个神经元都会根据前一层神经元的输出和自身的权重进行计算,然后将结果传递给下一层。

(2)损失函数

        相当于你用来判断小孩答案对错的标准,本质是个衡量错误程度的“分数”。如果他的答案离正确答案差很多,那么这个分数就会很高,表示他错的很离谱。反之,若他的损失分数很小,说明他的答案很接近正确答案。

        损失函数是用来衡量神经网络预测结果与实际结果之间差距的指标。损失函数越小,说明神经网络的预测结果越接近实际结果。在训练过程中,我们的目标就是最小化损失函数。

(3)反向传播

        反向传播类似你指导小孩如何改正错误的过程。假设他最后的答案错了,你会告诉他:“你计算的最后一步有问题,你需要知道是因为 c 值没乘对还是前面 a+b 的结果就不对。”于是你从最后一个步骤开始,告诉小孩每一步对他最后答案的影响有多大(也就是计算梯度),这样他才能有针对性地调整自己的计算步骤,以便下次做得更好。

        反向传播是神经网络中根据损失函数的梯度信息调整权重的过程。在前向传播得到预测结果并计算损失函数后,我们需要知道每个权重对损失函数的影响程度,也就是梯度。通过反向传播算法,我们可以从输出层开始,逐层计算每个神经元的梯度,并根据梯度信息更新权重。

二、用神经网络块来理解

        让我们首先来画一个神经网络:

【机器学习300问】71、神经网络中前向传播和反向传播是什么?,【机器学习】,神经网络,人工智能,深度学习

        我先用语言来描述一下这个神经网络,上图是一个四层神经网络,有三个隐藏层。我们用来表示隐藏层总个数,显然。输入层的索引为0,故三个隐藏层的神经元个数分别表示为。而输入层的特征数表示为。而每层都用来表示激活函数输出的结果。输入激活函数中权重和偏置表示为:

【机器学习300问】71、神经网络中前向传播和反向传播是什么?,【机器学习】,神经网络,人工智能,深度学习

(1)神经网络块

【机器学习300问】71、神经网络中前向传播和反向传播是什么?,【机器学习】,神经网络,人工智能,深度学习

 

        在第层你有参数和,正向传播里有输入的激活函数,输入是前一层,输出是,我们之前讲过【机器学习300问】71、神经网络中前向传播和反向传播是什么?,【机器学习】,神经网络,人工智能,深度学习,,那么上图就是可视化展示出如何从输入走到输出的。之后你就可以把的值缓存起来,因为缓存的对以后的正向反向传播的步骤非常有用。

        然后是反向步骤或者说反向传播步骤,同样也是第层的计算,你需要实现一个函数输入为,输出的函数。一个小细节需要注意,输入在这里其实是以及所缓存的值,之前计算好的值,除了输出的值以外,还需要输出你需要的梯度和,这是为了实现梯度下降。

(2)前向传播

【机器学习300问】71、神经网络中前向传播和反向传播是什么?,【机器学习】,神经网络,人工智能,深度学习

        在正向传播过程中,“传播”的是信号数据(就是你通过节点式子算出来的值)。 

(3)反向传播

【机器学习300问】71、神经网络中前向传播和反向传播是什么?,【机器学习】,神经网络,人工智能,深度学习

        通过完整的神经网络计算块,可以清晰直观的感受前向传播和反向传播参数和参数的梯度是如何在各层中传递的。 反向传播,“传播”的是误差信号在神经网络中的梯度(梯度就是指导参数该怎么变的变化率)。文章来源地址https://www.toymoban.com/news/detail-854374.html

到了这里,关于【机器学习300问】71、神经网络中前向传播和反向传播是什么?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 神经网络基础-神经网络补充概念-26-前向和反向传播

    前向传播(Forward Propagation): 前向传播是神经网络中的正向计算过程,用于从输入数据开始,逐层计算每个神经元的输出值,直到得到最终的预测值。在前向传播过程中,我们按以下步骤进行: 输入数据:将输入数据传递给输入层。 加权求和:对每个神经元的输入进行加权

    2024年02月12日
    浏览(38)
  • 神经网络基础-神经网络补充概念-27-深层网络中的前向传播

    深层神经网络中的前向传播是指从输入数据开始,逐层计算每个神经元的输出值,直到得到最终的预测值。 1输入数据传递: 将输入数据传递给网络的输入层。输入数据通常是一个特征矩阵,每一列代表一个样本,每一行代表一个特征。 2加权求和和激活函数: 对于每个隐藏

    2024年02月12日
    浏览(43)
  • Day_71-76 BP 神经网络

    目录 一. 基础概念理解         1. 一点个人理解         2. 神经网络 二. bp神经网络的局部概念         1. 神经元         2. 激活函数  三. bp神经网络的过程         1. 算法流程图         2. 神经网络基础架构         2.1 正向传播过程         2.2 反向传播过

    2024年02月15日
    浏览(35)
  • 0基础入门---第3章---神经网络(前向传播)

    🌞欢迎来到深度学习的世界  🌈博客主页:卿云阁 💌欢迎关注🎉点赞👍收藏⭐️留言📝 🌟本文由卿云阁原创! 🙏作者水平很有限,如果发现错误,请留言轰炸哦!万分感谢! 目录 3.1 从感知机到神经网络 3.2 激活函数 3.3 多维数组的运算 3.4 3层神经网络的实现 3.5 输出

    2024年02月09日
    浏览(51)
  • 【机器学习】——深度学习与神经网络

    目录 引入 一、神经网络及其主要算法 1、前馈神经网络 2、感知器 3、三层前馈网络(多层感知器MLP) 4、反向传播算法 二、深度学习 1、自编码算法AutorEncoder 2、自组织编码深度网络 ①栈式AutorEncoder自动编码器 ②Sparse Coding稀疏编码 3、卷积神经网络模型(续下次) 拓展:

    2024年02月09日
    浏览(46)
  • 【机器学习】——神经网络与深度学习

    目录 引入 一、神经网络及其主要算法 1、前馈神经网络 2、感知器 3、三层前馈网络(多层感知器MLP) 4、反向传播算法 二、深度学习 1、自编码算法AutorEncoder 2、自组织编码深度网络 ①栈式AutorEncoder自动编码器 ②Sparse Coding稀疏编码 3、卷积神经网络模型(续下次) 拓展:

    2024年02月10日
    浏览(52)
  • 机器学习-有监督学习-神经网络

    向量版本 y = ⟨ w , x ⟩ + b y = langle w, x rangle + b y = ⟨ w , x ⟩ + b 懂得两者区别 激活函数,损失函数 感知机模型的本质是线性模型,再加上激活函数 训练数据、损失函数、梯度下降,小批量梯度下降 神经网络算法整体流程: 初始化网络 前向传播 计算损失 计算微分 梯度下

    2024年02月07日
    浏览(48)
  • 机器学习 | 卷积神经网络

    采用任意一种课程中介绍过的或者其它卷积神经网络模型(例如LeNet-5、AlexNet等)用于解决某种媒体类型的模式识别问题。 卷积神经网络可以基于现有框架如TensorFlow、Pytorch或者Mindspore等构建,也可以自行设计实现。 数据集可以使用手写体数字图像标准数据集,也可以自行构

    2024年01月17日
    浏览(46)
  • 【机器学习】神经网络

    神经网络:一种计算模型,由大量的节点(或神经元)直接相互关联而构成。每个节点(除输入节点外)代表一种特定的输出函数(或者认为是运算),称为激励函数;每两个节点的连接都代表该信号在传输中所占的比重(即认为该信号对该节点的影响程度) 神经网络三要素:模型、策略

    2024年02月15日
    浏览(77)
  • 【头歌】机器学习 --- 神经网络

    第1关:神经网络基本概念 第2关:激活函数 第3关:反向传播算法  第4关:使用pytorch搭建卷积神经网络识别手写数字

    2024年02月04日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包