如何在没有特定任务微调或任何模型修改的情况下将预训练好的视觉模型适应新的下游任务?
提出一个问题的解决方案:如何在没有特定任务微调或任何模型修改的情况下将预训练好的视觉模型适应新的下游任务? 注意几个关键词:没有微调以及任何模型修改,预训练好的模型,适应不同新的任务。
这个事情在 NLP 的 GPT-3 模型当中做过,解决方案是:Prompt。
面对新的任务,在推理时给 GPT-3 输入输出的示例和新的输入 (Prompt),目标是自动生成输出结果,且与给定示例一致。
因此,本文希望在视觉中实现这一点,即:在推理时,给定新任务的输入输出图像示例和新输入图像,目标是自动生成输出图像,与给定示例一致。
那如何解决这个问题呢?本文的结论是:只要在正确的数据进行训练,并将这个问题作为图像修复问题 (image inpainting),就可以解决。
作者在 Arxiv 学术论文的 88k 张无标注数据集上进行训练,并在很多图像到图像的下游任务,比如前景分割,单目标检测,着色,边缘检测上证明了方法的有效性。
本文做了什么工作
-
证明许多计算机视觉任务都可以按照图像修复任务来对待,只需给一些任务输入和输出示例和查询图像就可以做成。
-
构建了一个包含 88000 量的大型数据集,允许模型能够学习图像修复任务。无需任何标注信息,任务相关的描述。
-
展示出为训练数据集增加额外数据 (比如 ImageNet) 能获得更好效果。
1 通过图像修复任务完成视觉提示
论文名称:Visual Prompting via Image Inpainting (NeurIPS 2022)
论文地址:http://arxiv.org/pdf/2209.00647.pdf
论文主页:http://yossigandelsman.github.io/visual_prompt/
1.1 语言模型中一个通用模型做多种下游任务的特点能否迁移到视觉领域?
在过去的几年里,自监督学习在计算机视觉和自然语言处理中越来越受欢迎。现代深度学习模型的容量日益增大,使它们在较小的有标注数据集上训练时容易出现过拟合现象。自监督学习为这个问题提供了很好的解决方案,即解决这些高容量深度学习模型的数据饥饿问题。
但是,自监督学习学到的特征并不是 "拿来即用 (ready for use)" 的,通常需要通过对一些有标注数据集进行微调来适应给定的下游任务。那么,有没有可能去避免这种微调?
其实这个问题在 NLP 中早就已经被解决掉了,解决的方法就是所谓的提示 (Prompt)。Prompt 的意思是对于一种特定的语言理解任务,在测试时为期提供对应于目标任务的示例输入,和 query 信息。比如,下面就是一个 Prompt 的信息: