什么事反向传播算法(反向传播算法过程)

自从机器学习被引入到递归的非线性函数中(例如人工神经网络)以来,对相关内容的应用得到了充足的发展。在这种情况下,训练正确的神经网络是建立可靠模型最重要的方面。这种训练通常与”反向传播”一词联系在一起,这个术语对大多数新手来说是非常模糊的。这也是本文所存在的意义。

什么事反向传播算法(反向传播算法过程)

反向传播是神经网络训练的本质。它实际上是基于在前一历元(即迭代)中获得的误差率(即损失)对神经网络的权重进行微调的实践。适当的调整权重可确保较低的错误率,增加模型的适用性使模型更可靠。

那么这个过程如何运作的呢?让我们通过例子学习!

为了使这个例子尽可能便于大家理解,我们只涉及相关概念(例如损失函数、优化函数等)而不解释它们,因为这些主题值得我们另起一篇文章进行细说。

首先,让我们设置模型组件

想象一下,我们需要训练一个深层神经网络。训练的目的是构建一个模型,该模型使用两个输入和三个隐藏单元执行XOR(异或)函数,这样训练集看起来如下所示:

什么事反向传播算法(反向传播算法过程)

此外,我们需要一个激活函数来确定神经网络中每个节点的激活值。为简单起见,让我们选择一个激活函数:

什么事反向传播算法(反向传播算法过程)

我们还需要一个假设函数来确定激活函数的输入是什么。这个函数是:

什么事反向传播算法(反向传播算法过程)

让我们选择损失函数作为逻辑回归的一般成本函数,看起来有点复杂,但实际上相当简单:

什么事反向传播算法(反向传播算法过程)

此外,我们将使用批处理梯度下降优化函数,用于确定我们应该调整权重的方向,以获得比我们现有的更低的损失。最后,学习率为0.1,所有权重将初始化为1。

我们的神经网络

让我们最后画一张我们期待已久的神经网络图。它应该看起来像这样:

什么事反向传播算法(反向传播算法过程)

最左边的层是输入层,它将X0作为值1的偏置项,将X1和X2作为输入特征。中间的层是第一个隐藏层,它的偏置项Z0也取值为1。最后,输出层只有一个输出单元D0,其激活值是模型的实际输出(即h(x)) 。

现在我们向前传播

现在是将信息从一个层前馈到另一个层的时候了。这需要经过两个步骤,通过网络中的每个节点/单元:

1. 使用我们之前定义的h(x)函数获取特定单位输入的加权和。

2.将我们从步骤1得到的值插入我们的激活函数(本例中为f(a)= a)并使用我们得到的激活值(即激活函数的输出)作为连接输入特征的下一层中的节点。

请注意,单位X0,X1,X2和Z0没有任何连接到它们并任提供输入的单位。因此,上述步骤不会出现在这些节点中。但是,对于其余的节点/单元,训练集中第一个输入样本的整个神经网络都是这样的:

什么事反向传播算法(反向传播算法过程)

其他单位也是如此:

什么事反向传播算法(反向传播算法过程)
什么事反向传播算法(反向传播算法过程)

如前所述,最终单位(D0)的激活值(z)是整个模型的激活值(z)。因此,我们的模型预测输入集{0,0}的输出为1。计算当前迭代的损失/成本如下:

什么事反向传播算法(反向传播算法过程)

actual_y值来自训练集,而predict_y值是我们模型产生的值。所以这次迭代的成本是-4。

那么反向传播在哪里呢?

根据我们的例子,我们现在有一个模型没有给出准确的预测(它给我们的值是4而不是1),这归因于它的权重尚未调整(它们都等于1)。我们也有损失,即-4。反向传播就是以这样一种方式向后传递这种损失,我们可以根据这种方式微调权重。优化函数(在我们的例子中为梯度下降)将帮助我们找到权重。那就让我们开始吧!

使用以下功能进行前馈:

什么事反向传播算法(反向传播算法过程)
什么事反向传播算法(反向传播算法过程)

本文转载自:https://www.gylmap.com

然后通过这些函数的偏导数发生反向反馈。不需要经过经过推导这些函数的过程。我们需要知道的是,上面的函数将遵循:

什么事反向传播算法(反向传播算法过程)

其中Z是我们从前馈步骤中的激活函数计算中获得的z值,而delta是图层中单位的损失。

我知道有很多信息一次性就能吸收,但我建议你花点时间,真正了解每一步发生了什么,然后再继续前进。

计算增量

现在我们需要找到神经网络中每个单元/节点的损耗。这是为什么呢?我们这样想,深度学习模型到达的每一次损失实际上是由所有节点累积到一个数字引起的。因此,我们需要找出哪个节点对每层中的大部分损失负责,这样我们就可以通过赋予它更小的权重值来惩罚它,从而减少模型的总损失。

计算每个单元的增量可能会有问题。但是,感谢吴恩达先生,他给了我们整个事情的捷径公式:

什么事反向传播算法(反向传播算法过程)

其中delta_0,w和f’(z)的值是相同单位的值,而delta_1是加权链接另一侧的单位损失。例如:

什么事反向传播算法(反向传播算法过程)

你可以这样想,为了获得节点的损失(例如Z0),我们将其对应的f’(z)的值乘以它在下一层(delta_1)连接的节点的损失,再乘以连接两个节点的链路的权重。

这正是反向传播的工作原理。我们在每个单元进行delta计算步骤,将损失反向传播到神经网络中,并找出每个节点/单元的损失。

让我们计算一下这些增量!

什么事反向传播算法(反向传播算法过程)

这里有一些注意事项:

  • 最终单位的损失(即D0)等于整个模型的损失。这是因为它是输出单位,它的损失是所有单位的累计损失,就像我们之前说的那样。
  • 无论输入(即z)等于什么,函数f’(z)总是给出值1。这是因为如前所述,偏导数如下:f’(a)= 1
  • 输入节点/单位(X0,X1和X2)没有delta值,因为这些节点在神经网络中无法控制。它们仅作为数据集和神经网络之间的一个链接。

更新权重

现在剩下的就是更新我们在神经网络中的所有权重。这遵循批量梯度下降公式:

什么事反向传播算法(反向传播算法过程)

其中W是手头的权重,alpha是学习率(在我们的例子中是0.1),J’(W)是成本函数J(W)相对于W的偏导数。再次强调,我们不需要进行数学运算。因此,让我们使用吴恩达先生的函数的偏导数:

什么事反向传播算法(反向传播算法过程)

其中Z是通过前向传播获得的Z值,delta是加权链接另一端的单位损失:

什么事反向传播算法(反向传播算法过程)

现在用我们在每一步获得的偏导数值,和批量梯度下降权重更新所有权重。值得强调的是,输入节点(X0,X1和X2)的Z值分别等于1,0,0。1是偏置单元的值,而0实际上是来自数据集的特征输入值。最后要注意的是,没有特定的顺序来更新权重。你可以按照你想要的任何顺序更新它们,只要你不会在同一次迭代中错误地更新任何权重两次。

为了计算新的权重,让我们给出神经网络名称中的链接:

什么事反向传播算法(反向传播算法过程)

新的权重计算方法如下:

什么事反向传播算法(反向传播算法过程)
什么事反向传播算法(反向传播算法过程)

需要注意的是,模型还没有正确训练,因为我们只通过训练集中的一个样本进行反向传播。我们为样本做了所有我们能做的一切,这可以产生一个具有更高精度的模型,试图接近每一步的最小损失/成本。

如果没有正确的方法,机器学习背后的理论真的很难掌握。其中一个例子就是反向传播,其效果在大多数现实世界的深度学习应用程序中都是可以预见的。反向传播只是将总损耗传回神经网络的一种方式,以方便人们了解每个节点的损失量,并随后通过为节点提供更高误差,进而使用损失最小化的方式来更新权重,反之亦然。

什么事反向传播算法(反向传播算法过程)

秒鲨号所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈!本站将在三个工作日内改正。
(0)

大家都在看

  • 营销推广策划方案怎么才能做出更好的效果(附:网络营销方案)

    网络营销策划方案第一步:网站推广计划a、全面登录搜索引擎 统计表明,网站6%的访问量来自各大搜索引擎,因此品牌网站科学登录各大搜索引擎,是进行网站推广的首要步骤。 b、参加许可邮件…

    2022年5月11日
  • 乳房怎么下垂(胸下垂松弛)

    不穿Bra会导致胸部下垂吗? 女人真是累!总是要比男生多穿一件! 夏天,穿bra热成狗,冬天,穿脱bra冷的发颤! 杨幂的胸部虽然大,但是跟同样大胸的柳岩比起来,胸围就比较低,也可…

    2022年5月7日 专栏投稿
  • 怎么养兔兔(家庭养兔子的方法)

    第一节 饲养管理的一般要领(1)搞好清洁卫生,减少疾病兔的抗病率很弱,搞好笼舍卫生是保证兔健康的基本措施,做到兔笼通风干燥,经常清除粪尿,笼底、食具定期擦洗,兔舍勤打扫和消毒。 (…

    2022年4月20日
  • 助力中小企业发展的成功案例( 央地新一轮政策)

    《经济参考报》记者获悉,央地正协同发力加码中小企业支持政策,其中提升其专业化能力、创新融资渠道正成为新一轮施策重点。 我国中小企业规模正在快速壮大。数据显示,今年上半年平均每天新登…

    2022年5月17日
  • 移动硬盘打开很慢是什么原因(提升机械硬盘读写速度)

    如今我们常用的硬盘类型,无非就是固态硬盘和机械硬盘两种。固态硬盘读写速度快,但是价格跟机械比较为贵一些,现在降价好多。而机械硬盘价格便宜,但是读写速度较慢。虽然现在新配的电脑,固态…

    2022年3月21日
  • 显示器怎么拆(液晶显示器拆机图解)

    液晶拼接大屏幕属于易碎品,一般情况下都不建议用户轻易挪动及触碰到屏体,否则很容易造成液晶面板漏液,但是遇到必须要移动大屏的情况也是可以移动的,只不过我们自己不要尝试着去移动,只能联…

    2022年4月13日
  • 店铺怎么推广(网店推广方式)

      在现在的电商平台,想要做好自己的店铺,离不开的就是店铺的推广,它可以让店铺拥有更多的发展机会,受到很多商家的重视。而在推广中一般是有两种方式:付费推广和免费推广。   付费推广…

    2022年5月9日
  • 怎么布置房(布置的意思)

    房间布置会有各种各样技巧,布置房间有什么技巧?今日就由PChouse为你一一解答。 1、家具风格大小适宜 在装扮房子时,要注意家具选择及摆放问题,最好家具的风格、大小都要统一协调,…

    2022年4月6日
  • 美甲学费多少(考个美甲证多少钱)

    女生学美甲好不好,手是女孩子的第二张脸,女孩子对脸的保护很有名,女孩子学化妆美甲有前途吗?如果价格合理的设计新颖的话,当然会有不断的客人。现在的女孩子对指甲艺术的接受度很高哦。数百…

    2022年5月28日
  • ppt是什么软件做的(手机免费制作ppt的软件)

    在日常办公中,我们经常都需要进行一些屏幕录制,像课程教学啊,操作教程啊之类的,不知道大家是用哪个软件进行录屏的呢?要说哪个录屏工具最好用的话,小编果断要pickPPT!没错!你没看…

    2022年6月14日 专栏投稿
品牌推广 在线咨询
返回顶部