零基础入门语义分割-地表建筑物识别参赛记录(三)常见网络

1.几个经典语义分割模型简介

1.1FCN

在这里插入图片描述

1.2 PSPSNet

在这里插入图片描述

1.3 Deeplabv3

在这里插入图片描述

1.4 DANet

在这里插入图片描述

1.5 OCR

在这里插入图片描述

2. 网络的训练和调参

  • 数据增强, 参见链接
  • 验证集划分
  • 超参数设置

3. 模型融合

- TTA
测试时数据增强TTA(Test Time Augmentation)是常见的集成学习技巧,数据扩增不仅可以在训练时候用,而且可以同样在预测时候进行数据扩增,比如对同一个样本预测三次,然后对三次结果进行平均。
语义分割常用的TTA技巧是多尺度推理和左右翻转,通常能够稳定提升miou。下面是一段示例代码,将原图缩放到5个尺度进行推理,然后直接对分割的概率相加,除此之外还可以对每个尺度的分割类别以投票的方式进行集成。
- ensemble
还可以进行不同模型的融合,比如使用不同的backbone或者不同的segment head,如resnest200_danet +resnest269_danet +efficientnetb6_danet +resnest200_ocr等等。具体融合方式既可以直接相加概率也可以对分割结果硬投票还可以以不同权重融合不同模型的结果。
- snapshot
在论文Snapshot Ensembles中,作者提出使用cyclical learning rate进行训练模型,并保存精度比较好的一些checkopint,最后将多个checkpoint进行模型集成。
由于在cyclical learning rate中学习率的变化有周期性变大和减少的行为,因此CNN模型很有可能在跳出局部最优进入另一个局部最优。在Snapshot论文中作者通过使用表明,此种方法可以在一定程度上提高模型精度,但需要更长的训练时间。
- SWA

SWA(Stochastic Weights Averaging),随机权重平均简单来说就是对训练过程中的多个checkpoints 进行平均,以提升模型的泛化性能。一般来说我们通常选择在验证集上表现最好的模型作为最终模型。但SWA一般在最后采用较高的固定学习速率或者周期式学习速率额外训练一段时间,取多个checkpoints的平均值作为最终模型。另外一点是模型中如果有BN层,那么应该用SWA得到的模型在训练数据中跑一遍得到BN层的running statistics。SWA为什么有效?论文给出的解释是由于模型的参数属于高维空间,SGD训练的模型往往收敛到最优解的边界区域,得到次优解,那么平均多个次优解则可以接近最优解,提升模型的泛化能力。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI扩展坞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值