摘要
为了解决样本不平衡问题,已经有研究提出可以用带参数的损失函数来减轻该问题对模型性能的影响,例如带权CE损失。本文提出了一种通过训练自动调整损失函数的参数的方法,先训练模型权重,再训练损失函数参数,最后重新初始化整个模型的参数,用已经训练好的损失函数训练最终的模型。
方法
架构
在搜索阶段,先单独训练模型,进行t1轮迭代。接着,将训练集划分为训练数据和验证数据两部分,每一轮迭代,先更新模型参数,再更新损失函数参数,训练t2-t1轮。最后,重置模型参数,进行t2次迭代。
模型损失函数
本文的重点就是损失函数,损失函数分两部分,一个是针对模型的分类结果的,该模型中含有参数。
作者基于的,之前的损失函数公式为:
而作者自己提出的损失函数为
α的实质是三个K*1向量ω,l和和一个原文没说得很具体的增强方式A(.)的集合,分别表示传统带权CE损失的参数,对logits的加法改变和对logits的乘法改变。EA为0-1标签的值。 (.)是sigmoid操作,防止乘法改变的幅度太大。
增强
上一节提到了增强A(.),这里的增强不是常见的对输入进行简单的变换,个人感觉是在提取出表征representation之后,在这个表征的周围,进行几次随机取样,当作这个表征的同类,然后塞进分类器里。
如图,深色的为原始数据在空间中的位置,浅色的范围为增强时可能被采样到的点。右边不平等增强时,稀少的类被取样的范围更大,次数更多,就会迫使边界向着数据更多的类移动。
但虽然能够大致理解远离,但我还是不知道这一步是如何参数化的,感兴趣的可以看看作者的灵感来源:Smote: synthetic minority over-sampling technique。