各位小伙伴们大家好,这几天我在群里看见了一位小伙伴提出了关于BP神经网络的反向传播算法的梯度维度的问题,我对这个问题也很有兴趣,所以希望通过这篇文章来去和大家探讨下这方面的知识....在我们学习神经网络的时候,我们为了不断地迭代更新目标函数,我们总是不断地往复更新迭代神经网络中的各个参数和权值,而在实际过程中我们一般都是使用的矩阵向量化的方式去计算量化,但是如果我们能够了解这个矩阵求导的过程的话...(很多有疑惑的伙伴应该是看过CS231n吧,我记得没有读懂他的那个反向传播算法梯度的代码).
?...神经网络前向传播:
在这里因为上边也提到了,我们都是用的矩阵向量来去表示数据,这里的话每一个变量都是有自己的一个维度的信息的:
?...现在我们不妨设损失函数loss()=L,并且这个损失函数是一个标量(因为标量对于矩阵的求偏导数的话,矩阵的维度不会发生变化).那这时候我们挨个来,求求dx,dw,db的梯度:
1:dx的梯度:
在这里我们要用到链式求导法则