abstract:
1. He et al. 发现在ImageNet上的预训练(pre-training)对COCO上的目标检测(object detection)影响甚微。
2. 作者将自训练(self-training)作为另一种方法,在与预训练的设置相同的情况下,利用附加的数据(additional data)与预训练进行对比。
3. 研究揭示了自训练的通用性和灵活性,有这样三个观点:
(1)更强的数据增强方法和更多的带有标签的数据(label data)会减小预训练的价值。
(2)与预训练不同的是,无论是使用更强的数据增强方法,还是利用很少的标签数据或是很多的标签数据,自训练都是有帮助的。
(3)在预训练有帮助的情况下,自训练能在此基础上更进一步优化。
Introduction
1. 预训练在计算机视觉中占主要地位。在实际操作中,预训练在目标识别和语义分割(Semantic Segmentation)中是非常普遍的。
2. 但是He et al. 展示了一个令人惊讶的结果:在ImageNet上的预训练并没有提高在COCO数据集上的精确度。
3. 与预训练形成鲜明对比的是自训练。假设我们想要用ImageNet与帮助COCO的目标检测,使用自训练的方法,我们会这样做:舍弃ImageNet数据集的label,先在COCO上训练一个目标检测模型,然后用这个模型在ImageNet上产生伪标签(pseudo label),然后将有伪标签的ImageNet数据和有真实标签的COCO数据结合起来训练一个新的模型。
4. 最近自训练的成功表现抛出这样两个问题:自训练的表现比预训练的表现能够好到什么程度?在ImageNet和COCO数据上,自训练能在预训练表现不好的设置(setup)下,表现好吗?
5. 作者的研究就聚焦于上述两个问题。作者设置了一系列的控制实验,自变量为数据增强(data augmentaion和COCO中label data的量)。在这些实验里,目标都是用ImageNet数据来促进COCO数据。
6. 实验展示了:随着数据增强的强度增强或COCO label data量的增加,预训练的价值会减小(diminish)。而自训练与data augmentation却有很好的影响:更强的data augmentation不会损害自训练,反而会促进。在相同的data augmentation和ImageNet下,自训练能够得到正1.3AP的提升,而预训练反而会损害表现。这两个结果为上述问题提供了答案。
7. 一个越来越受欢迎的预训练方法是自监督学习,自监督的学习方法不使用数据的标签进行预训练,以期获得能够在不同的任务、数据集中都能工作的通用表示(universal representation)。
8. 作者研究了使用最好的自监督学习技术预训练的ImageNet模型,并将其与在COCO上预训练的,然后用标准的监督学习方法获得的ImageNet模型进行比较。作者发现两者的表现相当。在high data或强data augmentation设置下,两者都会损害COCO的表现,而自训练却会促进。这个结果表明了:当label data的规模增大时,监督的和自监督的预训练方法都不能起作用,而自训练任然有用。
9. 作者的工作并不旨在摒弃预训练在计算机直觉中的使用。细调的预训练模型的训练会比从头训练和自训练更快。在label data不足的情况下,预训练也会使其受益,在这样的情景下,带不带有预训练的自训练都能使其受益。也就是说预训练获得的收益不会抵消自训练的收益,即使是使用相同的数据,这展示了自训练的一般性。
10. 作者探索了自训练在COCO和PASCAL数据集上的局限性,进一步证明了自训练的灵活性。灵活性体现在:unlabeled data的来源、模型结构和计算机视觉任务。
Related Work、Methodology、Experiments
主要是一些控制实验、大部分都是描述使用的模型结构、参数设置。
Discussion
1. 重新思考预训练和通用特征表示。计算机视觉最重大的一个目标是发展能够解决多任务的通用特征表示。作者的实验展示了来源于分类、自监督任务的通用展示的局限性,证明了自训练和预训练表现的差异。作者对预训练不好表现的洞察为:预训练不能意识到我们感兴趣的任务,因此就不适用(fail to adapt)。当我们转换任务时,这样的适用是被需要的。例如,对于ImageNet来说,好的特征表示可能会抛弃位置信息,而这样的信息对于COCO来说,是需要的。作者认为,将监督学习和自训练联合起来训练得到的模型会有更好的适用性。作者怀疑这会使自训练更具一般性(generality)。
2. 联合训练的好处。自训练范式(self-training paradigm)的一个优点是它联合训练监督的、自训练的目标。ImageNet预训练得到+2.6AP的提升,但是使用随机初始化和联合学习的方法也能够得到与前者相当的提升,+2.9AP。不过后者需要训练的epoch数更少。
3. 任务对其的重要性。在作者的实验中,一个有趣的结果是,ImageNet 预训练,即使是带有人工标志的标签,表现也比自训练差。在PASCAL数据集上同样得到了验证。作者的实验证明了,在使用强大的data augmentation情况下,用train+aug数据去训练实际上会损害精确性。同时,自训练在相同的aug dataset上产生的伪标签能够显著的提高精确性。这两个结果表明,嘈杂的(PASCAL)或是非靶向的(ImageNet)打标签比靶向的伪标签表现差。
值得一提的是,Shao et al. 报告了在Open Images上的预训练损害了在COCO上的表现,尽管这两者都被相同的边框盒(bounding boxes)注释。这意味着,我们不仅希望任务一样,同时也希望注释一样。换句话说,自训练非常通用,并且能够使用Open Images成功地提高COCO的表现。这个结果表明了,自训练能够与我们感兴趣的任务进行对其。
4. 局限性。目前的自训练技术任然有一些局限性。特别是,自训练比细调的预训练需要更多的计算。在low data的应用中,我们任然需要好的预训练模型。
5. 自训练的扩展性、一般性和灵活性。
(1)灵活性。在low data、high data regime,weak data augmentation、strong data augmentation下都能工作的很好。对不同的模型结构、数据来源和任务都有效。
(2)一般性。预训练无论是有效还是无效,自训练都有效。
(3)扩展性。自训练被证明能够表现的很好假如我们有更多的labeled data和更好的模型。在机器学习中,一个非常苦涩的教训是,当我们有更多的labeled data或更多的计算或更好的监督训练方法,大部分的方法都会失效,但是这在自训练中似乎并不是这样。