梯度下降与反向传播算法的原理与推导

梯度下降算法是机器学习中最常用的优化算法之一,它可以求得目标函数的最小值,即算法的最优解。而对于复杂的多层神经网络来说,运用梯度下降算法十分复杂,因为其包含求导过程,为此学者将多层神经网络的优化问题简化为反向传播过程,也就是说,将目标函数(输出误差项)层层传递回输入层,求出每个节点的误差项,并根据每个节点的误差项更新各个权值。首先我们复习梯度下降算法,然后详细推导反向传播算法的原理。

梯度下降算法

我们的目标是优化目标函数,即求得目标函数的最小值,根据微积分的知识,求导数为0的点即是极值点。不过计算机可不会解方程,但是它可以凭借强大的计算能力,一步一步的去把函数的极值点『试』出来。

梯度下降与反向传播算法的原理与推导

那怎么保证快速地朝下降的方向走到局部最低点呢?这里的奥秘在于,我们每次都是向函数的 梯度相反方向走的。梯度是一个向量,它指向函数值上升最快的方向。显然,梯度的反方向当然就是函数值下降最快的方向了。我们每次沿着梯度相反方向去修改的值,当然就能走到函数的最小值附近。

梯度下降算法计算如下:

梯度下降与反向传播算法的原理与推导

梯度下降与反向传播算法的原理与推导

梯度下降与反向传播算法的原理与推导

接下来对E求导如下,将导数值代入(1)式即得到权值的更新值。

梯度下降与反向传播算法的原理与推导

反向传播算法

梯度下降算法在计算单个感知器或线性单元的优化函数时很方便,然而单个感知器功能十分有限。早在1969年,作为人工神经网络创始人的明斯基和佩珀特就论证了简单的线性感知器不能解决如”异或”(XOR )这样的基本问题。因此出现了由多个感知器构成的 多层神经网络,可以模拟复杂的非线性函数。但是怎么优化多层神经网络呢?此时仍然可以采用梯度下降算法,只是梯度下降算法包含求导过程,对于多层神经网络而言求导十分复杂,因此学者把多层神经网络的梯度下降问题分解成了 反向传播过程

首先我们用传统梯度下降算法计算一个三层神经网络,其中求导部分使用的 链式求导法则,关于这个大家可以看看微积分,这里就不赘述了。下面公式预警!(太难打了就手写,见谅)

三层神经网络如图,神经元的激活函数为sigmoid函数。从左到右分别为输入层(i),隐藏层(h),输出层(o),net代表单个神经元的输入,out代表单个神经元的输出。w代表权值。

梯度下降与反向传播算法的原理与推导

梯度下降与反向传播算法的原理与推导

梯度下降与反向传播算法的原理与推导

梯度下降与反向传播算法的原理与推导

梯度下降与反向传播算法的原理与推导

即使是非常复杂的神经网络也可以采用这个算法进行权值更新,它被称为反向传播算法的原因可以直观理解为下图:

误差传递:

梯度下降与反向传播算法的原理与推导

梯度下降与反向传播算法的原理与推导

权值更新:

梯度下降与反向传播算法的原理与推导

梯度下降与反向传播算法的原理与推导

梯度下降与反向传播算法的原理与推导

梯度下降与反向传播算法的原理与推导

这与前向传播过程十分相似,只是前向传播过程将输入层层传输至输出以获得目标函数(误差项),而反向传播过程将误差层层传递至输入层以更新权值矩阵。

前向传播过程如下图所示:

梯度下降与反向传播算法的原理与推导

梯度下降与反向传播算法的原理与推导

(图片参考自CSDN: “反向传播算法”过程及公式推导(超直观好懂的Backpropagation))

Reference

  1. 零基础入门深度学习: https://www.zybuluo.com/hanbingtao/note/448086
  2. 吴恩达教授,《机器学习》,斯坦福大学
  3. David E. Rumelhart, Geoffrey E. Hinton, Ronald J. Williams, Learning Representations By Back Propagating Errors , Nature 1986
  4. Aurelien Geron, Hands on Machine-Learning with Scikit-Learn, Keras &TensorFlow
  5. CSDN:”反向传播算法”过程及公式推导(超直观好懂的Backpropagation)

Original: https://blog.csdn.net/qq_53019232/article/details/122897777
Author: BetaDu
Title: 梯度下降与反向传播算法的原理与推导

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/689415/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球