熵最小化原理及缺陷
最小熵原理是需要最小化如下损失函数:
我们简单起见,只考虑二分类问题,则可以将上式写为:
p 表示属于类1的概率,则(1- p )表示属于类2的概率。
当 p 趋近于0或者1时,说明属于类1或者类2的概率较大,如下图所示,此时
H
(
p
∣
x
t
)
H(p|x_{t})
H(p∣xt)的值也较小,是我们所希望的结果。
对
H
(
p
∣
x
t
)
H(p|x_{t})
H(p∣xt)求梯度得:
可视化为下图:
可看出当 p 趋近于0或者1时,属于好学习的样本,此时梯度值非常大;而 p 在0.5周围时,说明是难学习的样本,此时梯度很小,这会造成训练不平衡的问题。
MaxSquareLoss
为了缓解上诉问题,本文提出了MaxSquareLoss,具体为:
同样的只考虑2分类简单情况,可写成下式:
对其进行求导,则:
通过将最小熵和MaxSquareLoss对比可发现,当 p 趋近于0或者1时,梯度值大大降低,从而缓解了训练不平衡的问题。注意下图中的x轴范围是从0.5到1,当 p 取0到0.5时,将其沿x=0.5轴对称过来即可。论文下部分是从f-散度的角度进行解释,感兴趣的话自行阅读。
Image-wise Class-balanced Weighting Factor(图像级类平衡加权)
在图像分割时,会存在着不同类别样本数量失衡的问题,很显然这会影响训练,但是在UDA任务中,target dataset的标签是未知的,因此不能通过统计各个类别样本的数量然后进行加权,为了缓解该问题,本文统计了每个图像中的各个预测类别的像素个数:
然后将其倒数作为MaxSquareLoss的加权,得到下式:
其中
α
\alpha
α 是超参数。当
N
c
N^c
Nc越小时,说明图像中该类别的像素点越小,该类别分类困难,通过将
N
c
N^c
Nc倒数作为MaxSquareLoss的加权,可以提高训练时对少样本类别的关注度,使训练更加平衡。