📃
Nielsen-NNDL
  • Introduction
  • 第1章 使用神经网络识别手写数字
    • 感知机神经元
    • sigmoid神经元
    • 神经网络的架构
    • 用于识别手写数字的简单网络
    • 梯度下降学习法
      • 准备工作
      • 梯度下降法
      • 应用到神经网络
    • 实现数字分类的神经网络
      • 数据集
      • 初始化
      • 向后传递
      • 随机梯度下降
      • 总结
  • 第2章 反向传播算法的工作原理
    • 热身:一种矩阵方法快速计算神经网络的输出
    • 关于代价函数的两个假设
    • Hadamard积
    • 反向传播算法中的4个等式
      • 一个新的定义
      • 4个等式
      • 等式的意义
    • 4个等式的证明
    • 反向传播算法
    • 代码解读
    • 反向传播算法为什么这么快
  • 第3章 提升神经网络的学习方法
    • cross-entropy代价函数
      • 当前神经网络存在的问题
      • 引入cross-entropy代价函数
      • 使用cross-entropy分类手写数字
      • cross-entropy代价函数是怎么推出来的
      • cross-entropy的数学意义
      • softmaxt+loglikelihood
    • 过拟合和正则化
      • 过拟合
      • L2正则化
      • 在当前神经网络中使用L2正则化
      • 其它问题
      • L1正则化
      • dropout正则化
      • 人为扩充训练数据
    • weights初始化
    • 回到手势识别代码
    • 怎样选择超参数
      • broad策略
      • 学习率eta
      • 迭代次数epochs
      • 正则化参数lambda
      • minibatch样本数m
      • 自动化技术
    • 其它技术
      • Hessian技术
      • momentum技术
      • tanh神经元
      • RectifiedLinear神经元
  • 第5章 训练深度神经网络难以训练
    • 梯度消失问题
    • 梯度消失的原因
  • 第6章 深度学习
    • 卷积神经网络介绍
      • LocalReceptiveField
      • SharedWeights
      • pooling层
      • 组装到一起
    • 卷积神经网络的实践与改进
    • 其它深度神经网络的方法
  • 术语中英文对照
Powered by GitBook
On this page
  • 等式一
  • 等式二
  • 等式三
  • 等式四

Was this helpful?

  1. 第2章 反向传播算法的工作原理

4个等式的证明

Previous等式的意义Next反向传播算法

Last updated 5 years ago

Was this helpful?

等式一

证明:δjL=∂C∂ajLσ′(zjL)\delta^L_j = \frac{\partial C}{\partial a^L_j} \sigma'(z^L_j)δjL​=∂ajL​∂C​σ′(zjL​)

\begin{eqnarray} \delta^L_j = & \frac{\partial C}{\partial z^L_j}. \tag{36} \\ = & \sum_k \frac{\partial C}{\partial a^L_k} \frac{\partial a^L_k}{\partial z^L_j}, \tag{37} \\ = & \frac{\partial C}{\partial a^L_j} \frac{\partial a^L_j}{\partial z^L_j}. \tag{38} \\ = & \frac{\partial C}{\partial a^L_j} \sigma'(z^L_j), \tag{39} \end{eqnarray}

等式(1)得证

等式二

证明:δl=((wl+1)Tδl+1)⊙σ′(zl)\delta^l = ((w^{l+1})^T \delta^{l+1}) \odot \sigma'(z^l)δl=((wl+1)Tδl+1)⊙σ′(zl)

\begin{eqnarray} \delta^l_j & = & \frac{\partial C}{\partial z^l_j} \tag{40}\\ & = & \sum_k \frac{\partial C}{\partial z^{l+1}_k} \frac{\partial z^{l+1}_k}{\partial z^l_j} \tag{41}\\ & = & \sum_k \frac{\partial z^{l+1}_k}{\partial z^l_j} \delta^{l+1}_k, \tag{42} \\ & = & \sum_k w^{l+1}_{kj} \delta^{l+1}_k \sigma'(z^l_j). \tag{45} \end{eqnarray}

等式二得证

公式(45)说明:

\begin{eqnarray} z^{l+1}_k = \sum_j w^{l+1}_{kj} a^l_j +b^{l+1}_k = \sum_j w^{l+1}_{kj} \sigma(z^l_j) +b^{l+1}_k. \tag{43} \\ \frac{\partial z^{l+1}_k}{\partial z^l_j} = w^{l+1}_{kj} \sigma'(z^l_j). \tag{44} \end{eqnarray}

等式三

本章在4个等式的形式和证明过程中,下标有些混乱,给理解公式带来障碍,这里把下标的含义重新申请一下: j:当前层的神经元的下标 k:下一层神经元的下标 i:上一层神经元的下标

\begin{eqnarray} z^{l+1}_k = \sum_j w^{l+1}_{kj} a^l_j +b^{l+1}_k \tag{43}\end{eqnarray}
\begin{eqnarray} z^{l}_j = \sum_i w^{l}_{ji} a^{l-1}_i +b^{l}_j \tag{43.1}\end{eqnarray}
\begin{eqnarray} \frac{\partial C}{\partial b^l_j} & = & \frac{\partial C}{\partial z^l_j} \frac{\partial z^l_j}{\partial b^l_j} = \delta^l_j \end{eqnarray}

等式三得证

等式四

根据等式三中关于下标的定义,等式四应调整为:

\begin{eqnarray} \frac{\partial C}{\partial w^l_{ji}} = \frac{\partial C}{\partial z^l_j} \frac{\partial z^l_j}{\partial w^l_{ji}} = a^{l-1}_k \delta^l_j \end{eqnarray}

等式三得证

证明:∂C∂bjl=δjl\frac{\partial C}{\partial b^l_j} = \delta^l_j∂bjl​∂C​=δjl​

书上已经写给了zkl+1z^{l+1}_kzkl+1​与wkjl+1w^{l+1}_{kj}wkjl+1​、bkl+1b^{l+1}_kbkl+1​的关系为:

同理可写出zjlz^{l}_jzjl​与wjilw^{l}_{ji}wjil​、bjlb^{l}_jbjl​的关系为:

证明:∂C∂wjkl=akl−1δjl\frac{\partial C}{\partial w^l_{jk}} = a^{l-1}_k \delta^l_j∂wjkl​∂C​=akl−1​δjl​

∂C∂wjil=ail−1δjl\frac{\partial C}{\partial w^l_{ji}} = a^{l-1}_i \delta^l_j∂wjil​∂C​=ail−1​δjl​