神经网络的前向和后向传播过程:
其实前向就是简单的矩阵乘法,后向是链式法则加矩阵乘法。过程我觉的不需要死记硬背,理解了就可以,把标记搞清楚,一步步推导其实不难。
及其详细且逻辑清晰的推导过程:
https://blog.csdn.net/u014313009/article/details/51039334
之前上吴恩达课的时候已经手动实现过一次了,无非就是先求第l层输入的导数,然后推公式把l-1层输入的导数和l层输入的导数间的关系式求出来,这两个都知道了,就可以从最后一层输入的导数往前推了。再推一下l层输入的导数和l-1层权重w的导数间的关系式,就可以进行梯度更新操作了。
产生的问题:1.梯度更新的参数怎么设置?就是步长 2.正则化向。3.其实总结起来就是神经网络的调优技巧,吴恩达都讲了,刚上完课忘了一半。
代码实现上,这里发现一位github上整理实现神经网络过程的国际友人,blog解说配python代码,不过只有18个星,先放在这里:
https://github.com/ImadDabbura/blog-posts
代码实现上的问题还有待整理。。。。。。。
网友评论