我已经通过神经网络并且几乎完全理解了反向传播的推导(最终!)。但是,我有一个小疑问。 我们同时更新所有重量,因此保证它们可以降低成本。如果权重逐个更新,肯定会导致成本降低,并且类似于线性回归。但是如果你同时更新所有权重,我们可能不会越过最小值吗?
另外,我们是否更新偏差,就像我们在每次测试用例的每次前向传播和反向传播后更新权重一样?
最后,我开始阅读RNN&#39。在RNN中理解BPTT有哪些好的资源?
答案 0 :(得分:0)
是的,当时仅更新一个重量可能会导致每次减少错误值,但在使用NN的实际解决方案中进行此类更新通常是不可行的。今天的大多数架构通常都有~10 ^ 6个参数,因此每个参数的一个纪元可以持续很长时间。此外 - 由于反向传播的性质 - 你通常必须计算不同导数的负载,以便计算相对于给定参数的导数 - 因此在使用这种方法时你将浪费大量的计算。
但是你提到的这种现象很久以前就已经被注意到,并且有一些方法可以解决它。有两个最常见的问题:
关于BPTT我强烈推荐Geoffrey Hinton关于ANN的课程,尤其是video。