在盘点常见损失函数之前,有必要先说一下在很多的损失函数中都出现的三个参数,也即size_average
,reduce
以及reduction
,并且它们三个之间还存在一定的关系。
-
size_average
:bool
类型;默认情况下,如果只有一个batch,每个batch有多个元素,那么误差计算结果是这个batch中多个元素的平均值;如果是有多个batch,然后每个batch有多个元素,那么误差计算的结果是将每个batch的平均值放到一块再求多个batch的平均值;如果把这个参数设置为False
,那么只需要将计算平均值换成计算和即可,其他完全一样;默认该参数值为True
;但是如果reduce
参数被指定为False
,那么这个参数将被忽略,也即不起作用。 -
reduce
:bool
类型;默认情况下,计算结果的形式会由size_average
来决定,要么是求平均值,要么是求和,也即返回的是标量;但是如果reduce
参数被设置成False
,那么既不求平均,也不求和,而是把每个batc