神经网络与深度学习 (Michael Nielsen) \text{(Michael Nielsen)} (Michael Nielsen)笔记(二)
误差反向传播算法
首先定义神经网络中的一些重要参数
w j k l w^{l}_{jk} wjkl:表示从 ( l − 1 ) t h (l-1)^{\mathrm{th}} (l−1)th层的第 k t h k^{\mathrm{th}} kth个神经元到 l t h l^{\mathrm{th}} lth层的第 j t h j^{\mathrm{th}} jth个神经元的连接权重,如下图所示
b j l b_{j}^{l} bjl:表示在 l t h l^{\mathrm{th}} lth层第 j t h j^{\mathrm{th}} jth个神经元的偏置
a j l a_{j}^{l} ajl:表示 l t h l^{\mathrm{th}} lth层第 j t h j^{\mathrm{th}} jth个神经元的激活值,如下图所示:
l t h l^{\mathrm{th}} lth 层第 j t h j^{\mathrm{th}} jth个神经元的激活值 a j l a_{j}^{l} ajl和 ( l − 1 ) t h (l-1)^{\mathrm{th}} (l−1)th层的激活值通过下面方程关联起来 a j l = σ ( ∑ k w j k l a k l − 1 + b j l ) a_{j}^{l}=\sigma\left(\sum_{k} w_{j k}^{l} a_{k}^{l-1}+b_{j}^{l}\right) ajl=σ(k∑wjklakl−1+bjl)其中求和是在 ( l − 1 ) t h (l-1)^{\mathrm{th}} (l−1)th层的所有 k k k个神经元上进行的.
定义权重矩阵 w l w^l wl ,第 j t h j^{\mathrm{th}} jth行第 k t h k^{\mathrm{th}} kth列的元素就是 w j k l w_{j k}^{l} wjkl ,对每一层定义一个偏置向量,则 l t h l^{\mathrm{th}} lth层的偏置向量为 b l b^l bl激活向量定义为 a l a^l al,其元素为激活值 a j l a_{j}^{l} ajl,于是上式的向量形式可写成: a l = σ ( w l a l − 1 + b l ) a^{l}=\sigma\left(w^{l} a^{l-1}+b^{l}\right) al=σ(wlal−1+bl)令中间量 z l ≡ w l a l − 1 + b l z^{l} \equiv w^{l} a^{l-1}+b^{l} zl≡wlal−1+bl ,称 z l z^l zl为 l l l层神经元的带权输入,上式也写成 a l = σ ( z l ) a^{l}=\sigma\left(z^{l}\right) al=σ(zl)的形式, z l z^l zl的每个元素是 z j l = ∑ k w j k l a k l − 1 + b j l z_{j}^{l}=\sum_{k} w_{j k}^{l} a_{k}^{l-1}+b_{j}^{l} zjl=∑kwjklakl−1+bjl , z j l z_j^l zjl是第 l l l层第 j j j个神经元的激活函数的带权输入
二次代价函数: C = 1 2 n ∑ x ∥ y ( x ) − a L ( x ) ∥ 2 C=\frac{1}{2 n} \sum_{x}\left\|y(x)-a^{L}(x)\right\|^{2} C=2n1∑x∥∥y(x)−aL(x)∥∥2 , L L L表示网络的层数
Hahamard \boldsymbol{\text{Hahamard}} Hahamard乘积 s ⊙ t s \odot t s⊙t 表示按元素乘积,如: [ 1 2 ] ⊙ [ 3 4 ] = [ 1 ∗ 3 2 ∗ 4 ] = [ 3 8 ] \left[\begin{array}{l}{1} \\ {2}\end{array}\right] \odot\left[\begin{array}{l}{3} \\ {4}\end{array}\right]=\left[\begin{array}{l}{1 * 3} \\ {2 * 4}\end{array}\right]=\left[\begin{array}{l}{3} \\ {8}\end{array}\right] [12]⊙[34]=[1∗32∗4]=[38]
反向传播的四个方程
为了计算偏导数 ∂ C ∂ w j k l \frac{\partial C }{ \partial w_{j k}^{l}} ∂wjkl∂C, ∂ C ∂ j l \frac{\partial C }{ \partial _{j}^{l}} ∂jl∂C,首先引入一个中间量, δ j l \delta_{j}^{l} δj