Semi-supervised domain adaptation
熵与交叉熵
熵描述的是:
一个概率分布本身有多乱、多不确定。
定义是:
这里 是各类别的概率。
越不确定,熵越大;越确定,熵越小。
交叉熵描述的是:
你预测的分布 ,和真实目标分布 差多远。
常写成:
注意这里有两个分布:
- :真实分布
- :预测分布
举例
分类任务里,真实标签通常是 one-hot。
比如三分类里,真实类别是第 2 类:
模型预测:
那交叉熵就是:
因为真实类是第 2 类,所以只看模型给真实类分了多少概率。
结论
- 给真实类概率越大,交叉熵越小
- 给真实类概率越小,交叉熵越大
所以分类训练里最小化交叉熵,本质上就是:让模型把更高概率分给正确类别。
熵衡量一个分布有多不确定;交叉熵衡量一个分布和另一个目标分布有多不一致。
熵最小化
熵最小化(entropy loss minimization),就是:通过最小化预测熵,让模型对样本的预测更“自信”。
对目标域样本 ,分类器输出类别概率 。
熵一般写成:
做 entropy minimization,就是最小化这个量:
目标是让分布变尖锐,而不是平的。
domain adaptation 中的熵最小化
因为目标域没有标签,不能直接算普通的监督交叉熵。但你又希望目标域特征能形成清晰的类别簇。于是就用这个思路:
- 如果一个目标样本已经靠近某个类别簇
- 那就鼓励模型更坚定地把它判成那一类
- 久而久之,目标域特征会更聚集、更可分
entropy minimization 本质上是在推动目标域样本:远离模糊区域,靠向某个类别簇。
注意
entropy minimization 的前提是:模型初始预测不能太差,不然“让它更自信”可能是在放大错误。
- cross-entropy loss用于有标签数据,目标是让预测接近真标签。
- entropy minimization用于无标签数据,没有真实标签,只能要求模型“别犹豫,要自信一点”。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Touchsky's Blog!