本文主要是介绍Class-Aware Self-Distillation for Remote SensingImage Scene Classification,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
这篇文章提出了一种新的蒸馏方式,由于遥感场景图像具有类间相似性和类内多样性的特点,这篇文章试图解决这个问题。通过三个共享权重的分支,同时输入三张图片,其中两张类别相同的图片,一张类别不同但地物特征相似的图片,用x1,x2,x3表示。这样就获得了三个输出,将相同类别的输出和相似类别的输出同时对x1的输出进行蒸馏。过程如下图所示:
蒸馏的目标为增大类内相似性,减小类间相似性,通过构建如下的蒸馏损失函数来实现:
构建损失函数的目的是为了训练网络,论文中提到,这个训练过程分为了三个阶段。第一个阶段是z1和z3的距离小于z1和z2的距离也即类间的两张图片更加的相似。第二个阶段是z1和z3的距离小于z1和z2的距离加上一个常数,这个常数用表示,这是个可以训练的常数,随着网络训练的不同阶段数值不同。第三个阶段是z1和z3的距离大于z1和z2的距离。这个过程可以用下图表示
通过这种方式来降低遥感场景图像类内差异大,类间相似度高特性对分类所带来的影响。增大类间距离,减少类内距离。
最后,通过交叉熵损失和自蒸馏损失来共同监督网络模型的学习。
这篇关于Class-Aware Self-Distillation for Remote SensingImage Scene Classification的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!