图像域泛化总结

项目场景:

近3个月的折磨 终于差不多结题了。进行一个小总结。

问题描述:

域泛化问题感觉是一个工业上很常见的问题。你的数据可能来自多个不同的数据源。或者说你的训练集是高清图像进行训练,实际的测试集却是较为模糊的图片。很多情况会导致训练域与实际的测试域不match的问题。

原因分析:

个人对于这个问题的定义是网络的鲁棒性和提高泛化能力。
训练集的域与测试集的域的不匹配,不是完全的不匹配。而是两者的分布有一定的偏差,导师网络的泛化能力的降低。一个显而易见的方案就是通过数据增强的方法来进行解决。通过数据增强的方式尽可能的使训练集的域能够囊括测试集的域。
训练集中的存在多个域的问题,训练集的数据可能来自多个数据源收集而来,因此会存在一定偏差。通过数据增强的方法肯定是能够有效的缓解这个问题带来的精度下降问题。

在我的工作中同时存在这两种问题。一下总结一些通用的方法,和尝试的方法。

解决方案:

多尺度

ShuffuleNetV2 和 MixNet进行对比实验发现。MixNet效果要比ShuffleNet更好,同时通过我自己写的一个类似spp的多尺度的一个残差模块,也对泛化效果有一小点提升。应该可以得出一个结论,多尺度的特征提取,多尺度训练的方法应该可以提高其泛化效果。
《Benchmarking Neural Network Robustness to Common Corruptions and Surface V ariations》
这篇论文中有提到多尺度,特征聚合和更大的网络有利于提高泛化能力

数据增强

目前效果最好的是使用Augmix的数据增强方式。Augmix也是为了提升模型的稳定性和泛化性的目的提出的。可能显著提高训练集测试集不match时候的测试精度,可以提高接近20个点。其中去掉JS loss会有3-5个点左右的影响。许多数据增强技术可能会以健壮性为代价提高清洁数据的精度,而许多提高健壮性的技术则会损害不确定性,反之亦然。总而言之,现有技术具有很多折衷。

在使用数据增强的时候不建议对color进行剧烈的变换,可以选择这一项保持不变

纹理特征

《IMAGENET-TRAINED CNNS ARE BIASED TOWARDS TEXTURE; INCREASING SHAPE BIAS IMPROVES ACCURACY AND ROBUST》这篇论文讨论了神经网络对纹理特征的学习问题。避免模型过渡的关注纹理信息可以提高网络的性能。然而网络的纹理信息往往是模型的浅层特征。通过对浅层特征在训练时施加随机噪声,可以明显的提高测试集的泛化效果。相同的随机噪声施加在高层的语义特征上会干扰分类效果。

预训练

在更大和更多样化的数据集上进行预训练可能会有一定效果。这个方法没怎么试。The Many Faces of Robustness: A Critical Analysis of Out-of-Distribution Generalization》这篇论文有个系统性的研究。

对抗训练效果很差

《Adversarial Examples Improve Image Recognition》通过这种对抗训练的方法,在不同域的测试集上效果很差。感觉是这种对抗训练过于激烈了,导致无法很好的去拟合这种轻微变化的域。

鲁棒性过拟合

这个问题在训练域泛化的问题上很明显。在某一点之后,进一步的训练将继续显着降低分类器的鲁棒训练损失,同时增加鲁棒测试损失。《Overfitting in adversarially robust deep learning》
《Fixing Data Augmentation to Improve Adversarial Robustness》这两篇论文对这个问题又研究。这里推荐一下SWA(Stochastic Weight Averaging)。pytorch现在集成了这个方法。可以提高模型的健壮性。

元学习

《Uncertainty-guided Model Generalization to Unseen Domains》这篇论文是元学习的处理方法。元学习不怎么懂,感觉是个可以尝试的方向。

人脸识别的相关loss

emm,尝试了一下,效果不好。

Attention

GCnet还是好用,多次尝试可以稳定提升1-2个点。对于这种域泛化问题,感觉需要偏global的attention效果应该会好一点。

更大的网络

emmm,换了更大的网络确实有一点点提升呢。

多分支?

结合了BIFPN貌似没啥太大的作用????个人感觉这个问题考虑在模型结构上进行改动不是个好方法。应该着重从输入数据和全局特征的角度来考虑。

  • 4
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值