我正在创建神经网络,目前主要是关注D. Kriesel的教程.一开始,它引入了至少三个(不同的?)学习规则(Hebbian,delta规则,反向传播),涉及监督学习.
我可能会遗漏一些东西,但如果目标只是为了最大限度地减少错误,为什么不只是应用梯度下降Error(entire_set_of_weights)
?
编辑:我必须承认答案仍然让我困惑.如果可以指出这些方法之间的实际差异,以及它们与直线梯度下降之间的差异,将会很有帮助.
为了强调它,这些学习规则似乎考虑了网络的分层结构.另一方面,找到Error(W)
整组权重的最小值完全忽略它.这怎么样?
一个问题是如何分配错误的"责备".经典的delta规则或规则LMS 是基本梯度下降.将Delta Rule应用于多层网络时,可以获得反向提升.出于各种原因创建了其他规则,包括对更快收敛的需求,非监督学习,时间问题,被认为更接近生物学的模型等.
关于"为什么不只是梯度下降?"的具体问题?梯度下降可能会解决一些问题,但许多问题都有局部最小值,天真的梯度下降会陷入其中.对此的初始响应是添加"动量"项,以便您可以"推出"局部最小值; 这几乎是经典的backprop算法.