我一直在尝试在 vqa(视觉问答)数据集上运行多模式 cnn。但奇怪的是,训练损失立即变为零,然后变为负数。在对我的数据进行洗牌后,训练损失不会立即变为 0,但仍会立即变为负数。
为了对此进行调试,我将所有层逐一注释为只有基本的 imagenet 层,(所以基本上在 vqa 上进行微调)但仍然如下所示。
I0415 21:17:46.399898 36477 solver.cpp:222] Solving vqanet
I0415 21:17:46.399953 36477 solver.cpp:223] Learning Rate Policy: step
I0415 21:17:46.399971 36477 solver.cpp:266] Iteration 0, Testing net (#0)
I0415 21:17:59.448454 36477 solver.cpp:315] Test net output #0: accuracy = 0.135937
I0415 21:18:00.333122 36477 solver.cpp:189] Iteration 0, loss = 12.3874
I0415 21:18:00.333199 36477 solver.cpp:470] Iteration 0, lr = 0.001
I0415 21:18:27.789655 36477 solver.cpp:189] Iteration 20, loss = -83.2426
I0415 21:18:27.789788 36477 solver.cpp:470] Iteration 20, lr = 0.001
I0415 21:18:55.442523 36477 solver.cpp:189] Iteration 40, loss = -80.5134
I0415 21:18:55.442590 36477 solver.cpp:470] Iteration 40, lr = 0.001
I0415 21:19:23.450259 36477 solver.cpp:189] Iteration 60, loss = -327.512
I0415 21:19:23.450497 36477 solver.cpp:470] Iteration 60, lr = 0.001
I0415 21:19:47.745419 36477 solver.cpp:189] Iteration 80, loss = -416.213
I0415 21:19:47.745482 36477 solver.cpp:470] Iteration 80, lr = 0.001
I0415 21:20:14.822706 36477 solver.cpp:189] Iteration 100, loss = -563.594
I0415 21:20:14.822989 36477 solver.cpp:470] Iteration 100, lr = 0.001
我还运行了 flickr_style_finetune 模型来查看 softmax 层是否正确,但它在那里工作正常。请帮助我理解这个问题并正确训练 cnn。这是我的train_val.prototxt文件。