关于深度学习:难以置信的目标检测小妙招多训练几个epochs平均一下就能获得更好的模型

8次阅读

共计 1388 个字符,预计需要花费 4 分钟才能阅读完成。

作者 | CV 君
报道 | 我爱计算机视觉(微信 id:aicvml)

随着深度学习技术的成熟,设计新的算法在支流的指标检测数据集比方 COCO 上晋升精度曾经很难了,但总有一些涨点技巧,比方谷歌前几天颁布的 简略粗犷“复制 - 粘贴”数据增广,简略又无效,让人措不迭防。

明天要跟大家介绍一篇新文章 SWA Object Detection , 可能是最简略、计算成本最低、入手老本最低的。

同样的,这篇文章全文无公式、无算法流程图,不改模型构造,不减少模型复杂度、推断工夫,也不对数据进行增广。但将其简略利用于支流的指标检测算法,可广泛在 COCO 数据集上取得 ~1 个 AP 的精度晋升!而且神奇的是原始模型精度越高晋升幅度越大。

该文昨天刚颁布,作者信息:

作者来自澳大利亚昆士兰科技大学、昆士兰大学。

简略一句话介绍办法:将模型在数据集上多训练几个 epochs,将多个 epochs 失去的 checkpoints 进行简略均匀,取得最终模型。该办法启发于 Stochastic Weights Averaging(随机权重均匀,SWA,来自论文 Averaging weights leads to wider optima and better generalization. UAI, 2018),其原本是为了改良深度学习模型的泛化能力。

SWA 实践认为均匀多个 SGD 优化轨迹上的多个模型,最终模型泛化性能更好。如下图:

W1、W2、W3 为模型优化过程中不同的 checkpoint,SWA 认为在其张成的空间中,中心点具备更好的泛化能力。故取 checkpoint 均匀。

问题来了,训练多少个 epoch 再均匀?如何调整学习率?

在 SWA 原实践中模型再训练时应用固定学习率或者循环余弦退火学习率。

循环余弦退火学习率调整示意图:

其实很难用实践答复,所以作者的做法很间接,屡次试验,看后果总结法则。

作者应用 Mask RCNN 在 COCO 上做了试验,固定学习率和循环余弦退火学习率调整都试了。

请看下表:

取得了很神奇的后果!checkpoints 均匀后取得了比之前训练门路上所有模型都更好的后果,循环余弦退火学习率调整取得的后果更好,bbox AP 和 mask AP 都能够取得超过 1 个 AP 的晋升!而且相比于 6 个、24 个、48 个 checkpoints 的均匀,12 是一个足够好的数字。

为验证此办法具备通用性,作者在不同的算法上进行验证。

将 SWA 用于 Mask RCNN  与 Faster RCNN 上的后果:

精度都有晋升,而对于自身精度更高的 Mask RCNN 晋升更显著。

将 SWA 用于 RetinaNet 与 FCOS 上的后果:

都取得了精度晋升,原始模型精度越高,取得的晋升越大!

将 SWA 用于 YOLOv3 与 VFNet 上的后果:

晋升仍然很显著!

下图为 Mask RCNN 应用 SWA 前后推断后果示例:

总结一下简略又神奇的 SWA 办法:

在传统的应用_lr__ini_和_lr__end_作为起始和完结学习率训练完结后,额定多训练 12 个 epochs,每个 epochs 学习率由_lr__ini_变动到_lr__end_,最初将这 12 个 checkpoints 均匀,失去最终的模型。

论文地址:

https://arxiv.org/pdf/2012.12…

代码地址:

https://github.com/hyz-xmaste…\_object\_detection

期待这种简略的抗过拟合办法,可能在其余视觉工作上无效!

正文完
 0