Rethinking Pre-training and Self-training 论文解读(视频)
论文地址:https://arxiv.org/pdf/2006.06882.pdf
简单介绍自训练(Self-Training)方法:
对于下游任务比如 CoCo 物体检测或 Pascal 语义分割等,首先用有标注数据随机初始化训练模型,接着用训好的模型在比如 ImageNet 数据集上生成伪标签(物体检测任务就是生成伪包围框和物体类别,分割就是生成伪的 mask ),再把这些伪标注的数据结合人工标注数据去再去重新训一个新随机初始化的 student 模型,这样反复迭代。
论文中通过实验得出的结论是:
对于下游任务(CoCo 物体检测或 Pascal语义分割等)采用自训练方法得到的模型,比在 ImageNet 上做有监督预训练或者自监督预训练得到模型做初始化再finetune 的效果要好。
不过对于下游任务来说,采用预训练初始化再 finetune 的方式还是有优点的,能比自训练迭代式的随机初始化再从头开始训练的方式要快1.3 ~ 8倍,所以要看的是模型性能和训练时间之间的权衡。
视频转载自:https://www.youtube.com/watch?v=QSjMLGA7e2o
已同步上传B站:https://www.bilibili.com/video/BV1ot4y1S7fS/
我自己以前也尝试过类似的思路,就是在做分割模型轻量化的时候,当把模型通过裁剪通道变轻量级之后,模型的性能也随之下降。
而有标注的数据有限且分割数据的标注又很耗时,所以还有大量的数据没有标注(几十万左右)。
然后我就在想能不能用上这些无标注的数据,因为裁剪之前的大模型在同样的标注数据集上训出来的效果要比轻量化之后的模型要好。
所以我就用大模型在这几十万无标注数据上生成伪标注的mask,与原来的人工标注数据合在一起训练轻量化的模型,实际在验证集上测试是能提升那么一点iou。
对文章有相关的问题或者想要加入交流群,欢迎添加本人微信: