freeCodeCamp/guide/chinese/machine-learning/backpropagation/index.md

2.4 KiB
Raw Blame History

title localeTitle
Backpropagation 反向传播

反向传播

Backprogapation是神经网络的子主题,是计算网络中每个节点的梯度的过程。这些梯度测量每个节点对输出层有贡献的“误差”,因此在训练神经网络时,这些梯度被最小化。

注意:反向传播和机器学习一般需要非常熟悉线性代数和矩阵操作。在尝试理解本文的内容之前,强烈建议您阅读或阅读此主题。

计算

反向传播的过程可以分三个步骤来解释。

鉴于以下内容

  • m个L层神经网络的训练样例xy
  • g = sigmoid函数
  • Thetai=从第i层到第i + 1层的过渡矩阵
  • al= gzl;基于一个训练示例的层l中的节点的值的数组
  • zl= Thetal-1al-1
  • Delta一组L矩阵表示第i层和第i + 1层之间的过渡
  • dl=一个训练示例的层l的梯度阵列
  • D一组L矩阵每个节点具有最终梯度
  • lambda网络的规范化术语

在这种情况下对于矩阵MM'将表示矩阵M的转置

  1. 分配Deltai的所有条目对于i从1到L为零。
  2. 对于从1到m的每个训练示例t执行以下操作
  • 在每个示例上执行前向传播以计算每个层的1和zl
  • 计算dL= aL - yt
  • 计算dl=Thetal'•dl + 1•gzl表示l从L-1到1
  • 增量Deltal乘以deltal + 1•al'
  1. 将Delta matricies插入我们的偏导数矩阵中 Dl= 1 \ mDelta1+ lambda·Thetal;如果l≠0 Dl= 1 \ m•Deltal;如果l = 0

当然,只是看到这篇文章看起来非常复杂,应该只在神经网络和机器学习的更大背景下理解。请查看加密的参考资料,以便更好地理解整个主题。

更多信息: