class torch.nn.CrossEntropyLoss(weight=None, size_average=True, ignore_index=-100, reduce=True)
我这里没有详细解读这个损失函数的各个参数,仅记录一下在sru中涉及到的。
sru中代码如下
criterion = nn.CrossEntropyLoss(size_average=False)
根据pytorch的官方文档
我得出的理解跟以上图片是一致的,图片来源:http://blog.csdn.net/zhangxb35/article/details/72464152?utm_source=itdadao&utm_medium=referral
跟我之前理解的交叉熵损失函数不太一样
这里指的交叉熵损失函数应该跟刘建平(http://www.cnblogs.com/pinard/p/6437495.html)里的“使用对数似然损失函数和softmax激活函数进行DNN分类输出“这个是一致的
关于参数size_average=False,根据pytorch的官方文档,size_average默认情况下是True,对每个小批次的损失取平均值。 但是,如果字段size_average设置为False,则每个小批次的损失将被相加。如果参数reduce=False,则忽略。