生成对抗性示例时,通常使用 logits 作为神经网络的输出,然后使用交叉熵训练网络。
但是,我发现cleverhans的教程使用log softmax,然后将pytorch模型转换为张量流模型,最后训练该模型。
我想知道是否有人对使用logits而不是log_softmax有什么看法?
答案 0 :(得分:0)
正如您所说,当我们从神经网络获取logit时,我们将使用CrossEntropyLoss
对其进行训练。另一种方法是计算log_softmax
,然后通过最小化对数可能性(NLLLoss
)来训练网络。
如果您要训练网络进行分类任务,则两种方法基本相同。但是,如果您具有不同的目标函数,则可能会发现这两种技术之一,在您的方案中特别有用。
参考