1
我正在尝试对具有2个单位输入层,2个单位隐藏层和1个单位输出层的简单前馈神经网络执行梯度检查。我做的是以下几点:反向传播中的梯度检查
- 取所有层之间的网络权重的每个权重w,并使用w + EPSILON然后w - EPSILON执行前向传播。
- 使用两个前馈传播的结果计算数值梯度。
我不明白的是如何执行反向传播。通常,我将网络输出与目标数据(分类情况下)进行比较,然后反向传播网络中的误差导数。然而,我认为在这种情况下,其他值必须反向传播,因为在数值梯度计算结果中,不依赖于目标数据(但仅限于输入),而误差反向传播取决于目标数据。那么,梯度检查的反向传播部分应该使用什么值?
谢谢你的回应。但是,我正在具体询问梯度检查程序的情况。 – bdfgegtertasdg 2014-10-04 12:15:21
反向传播完全一样。分类问题只是另一种数值问题。您需要为您的特定情况选择适当的错误函数,计算其导数,并反向传播该导数。 – 2014-10-04 12:18:42
你打算使用什么错误函数? – 2014-10-04 12:19:09