自适应权重的交叉熵计算
在训练集中类别不平衡的情况下,可对不同类别赋予不同的权重。有采用固定权重,也有实时计算权重。在这里,介绍一种自适应权重的计算方法,参考论文《ENet: A Deep Neural Network Architecture for Real-time Semantic Segmentation》。对类别的权重定义如下:其中,c是一个超参数,设为1.02,是该类样本所占的比例。最后,将...
·
在训练集中类别不平衡的情况下,可对不同类别赋予不同的权重。有采用固定权重,也有实时计算权重。
在这里,介绍一种自适应权重的计算方法,参考论文《ENet: A Deep Neural Network Architecture for Real-time Semantic Segmentation》。
对类别的权重定义如下:
其中,c是一个超参数,设为1.02,是该类样本所占的比例。最后,将
限制在[1.0,50]的范围内。
本人实验中,在类别不平衡的情况下(达到了30:1),在一个batch内,采用上述公式计算类别权重,与固定权重相比,最终的F1从百分之九十五点几上升到百分之九十六点几。
用pytorch接口
loss = F.cross_entropy(logits,gt,weight=weight)
其中,weight为上述公式计算出来的权重。
(PS:以此记录,便于查阅)
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐
所有评论(0)