key points:
在一些神经网络中能够比早期的一些算法学习的更快
W(jk)=W’(kj)
损失函数对不同变量的偏导表示了,相应的变量的变化对损失函数的影响率。
BP3: ∂C∂blj=δlj
对于BP4: ∂C∂wljk=al−1kδlj , 即 ∂C∂w=ainδout , 当 ain≈0 时,w与b的学习变慢。
根据BP1: δL=∇aC⊙σ′(zL) ,当最后一层的神经元的激活值近似于0或1时,w与b的学习也会变慢,通常我们称之为输出神经元饱和。
根据BP2: δl=((w(l+1))Tδ(l+1))⊙σ′(zl) ,同样的,当 l 层神经元饱和时,w与b的学习变慢,也就是说,输出到一个饱和神经元的参数的学习会变慢,但如果
(w(l+1))Tδ(l+1) 足够大,情况则不同。总结起来也就是,当输入神经元低激活或者输出神经元饱和(低激活或高激活)时,网络学习变慢。
BP方程并不限定于特定的激活函数,我们可以设计具有某种特定学习属性的激活函数,比如导数恒正且不趋于0的激活函数,以避免sigmoid神经元出现的饱和现象。
矩阵的各种运算法则、各种矩阵的产生:考虑设计原因,为了哪些应用场景而设计。
BP算法的产生:将损失函数梯度的计算转化为数学问题,因此沿着网络传递信息相反的方向求偏导便是理所当然的一种方法。