Python神经网络编程(二)之更新神经网络权重.pdfVIP

  • 5
  • 0
  • 约3.15千字
  • 约 5页
  • 2023-06-03 发布于上海
  • 举报

Python神经网络编程(二)之更新神经网络权重.pdf

Python神经⽹络编程(⼆)之更新神经⽹络权重 那么我们接着上节开始讲更新权重、权重⽰例以及神经⽹路的准备布局。 1.14我们实际上是如何更新权重的。 (⼀) 以简单的3层,每层3个节点的神经⽹络为例。最后的输出是这样的。作者提出了⼀个问题:如何调整第⼀个节点和隐藏层第⼆个节点 的之间链路的权重,以使得输出层第三个节点的输出增加0.5呢? 太难了这式⼦,尝试换⼀种说法:⾸先是拥抱悲观主义,训练数据不⾜/有错、神经⽹络的缺陷性。假设你在伸⼿不见五指的⼭顶上, 地形陡峭、路况复杂,你只有⼀把⼿电筒做近距离观察,要下⼭你需要事先制定计划,⼀步⼀个脚印。在数学上这叫梯度下降。梯度是指地 ⾯坡度,你⾛的⽅向是最逗得坡度向下的⽅向。如果我们将复杂函数当作⽹络误差,那么下⼭找到最⼩值就意味着最⼩化误差,从⽽改进⽹ 络输出。 使⽤y=(x-1)^2+1来举例。y表⽰误差,我们希望可以找到最⼩x,可以最⼩化y,随机选⼀个点:斜率为负、沿着向下⽅向,同时沿x轴 向右。⼀直在改进,直到⼏乎不能改进为⽌,这样我们就确信⾃⼰到达了最⼩值。要注意的是改变步⼦⼤⼩,避免调超,正梯度减⼩x,负 梯度增加x。 如果y依赖于a,b,c,d⽽⾮单单x。我们可能会卡在错误的⼭⾕⾥ (因为复杂函数有多个⼭⾕),解决⽅法:我们从⼭上的不同点开

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档