torch チュートリアルで教師あり学習を理解しようとしました。
http://code.madbits.com/wiki/doku.php?id=tutorial_supervised
そして逆伝播:
http://home.agh.edu.pl/~vlsi/AI/backp_t_en/backprop.html
私が知っているように、このトーチ チュートリアルのパラメーターの更新は、ステップ 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 は [ターゲット (目的の出力) - 出力] です。