【发布时间】:2015-09-15 23:55:54
【问题描述】:
我试图通过 Torch 教程理解监督学习。
http://code.madbits.com/wiki/doku.php?id=tutorial_supervised
和反向传播:
http://home.agh.edu.pl/~vlsi/AI/backp_t_en/backprop.html
据我所知,这个torch教程中的参数更新是在第4步训练过程中,
output = model:forward(inputs[i])
df_do = criterion:backward(output, targets[i])
model:backward(inputs[i], df_do)
例如,我得到了这个
output = -2.2799
-2.3638
-2.3183
-2.1955
-2.3377
-2.3434
-2.3740
-2.2641
-2.3449
-2.2214
[torch.DoubleTensor of size 10]
targets[i] = 9
df_do 是这个吗?
0
0
0
0
0
0
0
0
-1
0
[torch.DoubleTensor of size 10]
我知道这个例子中目标是9,输出是4,所以结果是错误的,给df_do的第9个元素“-1”。
但是为什么呢?
根据http://home.agh.edu.pl/~vlsi/AI/backp_t_en/backprop.html,
df_do 是 [目标(期望的输出) - 输出]。
【问题讨论】:
标签: backpropagation torch