神经网络与深度学习习题解答
反向传播算法
最近在看 Michael Nielsen的Neural Networks and Deep Learning,这本书是以网页的形式放在网上,非常合适入门,附上传送地址:http://neuralnetworksanddeeplearning.com/chap1.html#learning_with_gradient_descent
国内哈工大社会计算与信息检索研究中心将这本书翻译成中文版放在网络上,地址为:https://hit-scir.gitbooks.io/neural-networks-and-deep-learning-zh_cn/content/chap1/c1s5.html
这一章详细介绍了反向传播算法以及其推导,对于反向传播四个公式在
给出了较为详细的证明。下面为该部分的习题
- 修改一个神经元后的反向传播
假设我们修改了正向传播网络中的一个神经元,使得该神经元的输出为f(∑jwjxj+b),其中f是一个非sigmoid函数的函数。在这种情况下我们应该怎样修改反向传播算法?- 线性神经元的反向传播
假设我们在整个神经网络中用σ(z)=z代替常用的非线性方程σ。重新写出这种情况下的反向传播算法。
根据该章内容已知反向传播的四个公式
而修改一个神经元,注意只修改一个,假设修改的神经元在第 l 层第 j 个,则对于第 l 层之后的反向传播算法均不变,即第l+1层、l+2层....的权重和偏置的更新方法不改变,由于是反向传播,传播到第l层第j个神经元才遇到修改的神经元,第 l 层的其他神经元未受直接影响,因而第 l 层的除了第 j 个神经元的其他神经元前面的权重和偏置的更新依然不受影响。故第 l 层反向传播受到影响的是
、
(这是一个向量),第 l 层之前的所有权重和偏置的更新均受到影响。对于需要更新的权重,其反向传播算法修正如下
对于线性神经元的反向传播,将反向传播公式里涉及到
公式换成1即可。