我试图为具有2个单位输入层,2个单位隐藏层和1个单位输出层的简单前馈神经网络实现梯度检查。我的工作如下:
我不明白的是如何进行反向传播。通常,我将网络的输出与目标数据(在分类的情况下)进行比较,然后反向传播网络中的误差导数。但是,我认为在这种情况下,一些其他值必须反向传播,因为数值梯度计算的结果不依赖于目标数据(但仅取决于输入),而错误反向传播取决于目标数据。那么,在梯度检查的反向传播部分应该使用的值是什么?
答案 0 :(得分:-1)
无论您是要进行某种分类还是让您的网络计算某个数字函数,您始终都会有一些目标数据。例如,假设您想训练网络来计算函数f(a, b) = a + b
。在这种情况下,这是您要训练网络的输入和目标数据:
a b Target
1 1 2
3 4 7
21 0 21
5 2 7
...
正如“正常”分类问题一样,输入目标对越多越好。