基于 YOLOR 的统一多任务学习范式

导读

多任务学习旨在使用一个单一模型来学习多个任务,并同时提高所有这些任务的性能,这个概念类似于人类能够同时学习多个任务并将所学的知识应用到其他任务上。在如今高速发展的 AI 领域,多模态、多任务学习已然不再是一个新的概念,反而是未来一种必然的趋势。例如,笔者上次为大家介绍过的 UniMatch便是一个典型的多任务学习:

UniMatch

同样地,在多模态领域,利用Transformer架构和交叉注意力机制来对齐语音、文本、图像等不同模态的信息更是家常便饭。然而,在当前,使用一个模型来执行多个任务仍然是一种核心概念,因为这要求模型能够在不同任务之间建立联系,就像人类的认知系统一样。

今天为大家介绍的这篇文章关注的是将多个视觉任务结合在一起,这些任务包括语义分割目标检测实例分割,甚至是图像字幕生成。虽然这些任务彼此之间均有者不同的目的,但它们在语义上应该具有相同或类似的定义,比如对于物体的定义应该在不同任务之间保持一致,比如“汽车”。如果能够正确定义任务之间的关联性,那么这样开发出的系统将会更加强大和易于使用。

特别地,本文不走变形金刚路线,而是选择了YOLOR这个多任务学习网络,以及YOLOv7中应用的 ELAN 的网络架构,其旨在优化梯度传递的效率。YOLOR 则利用了来自数据观察和学习到的隐藏信息的知识来提高多任务学习中的共享表示,同时尽量减少训练参数的数量。这个模型的目标是让不同任务的相同语义映射到相同的隐藏信息上,以便模型能够捕捉到多任务学习的统一表示。

与之前的YOLORYOLOv7只在两个任务之间进行训练不同,该工作将其有效地扩展到更多的任务上,包括图像字幕描述。

YOLOR

为了在多任务学习中最大化共享语义信息,作者精心设计了一些训练策略。此外,他们还观察到不同的数据增强方法对不同任务的语义影响不同,因此他们提出了一种从语义角度出发的训练过程设计,以减少不同任务之间的冲突并增强训练的稳健性。最后,本文还应用了一种不对称的数据增强方法,以减小语义不准确性带来的负面影响,作者发现这对于视觉语言和视觉任务的多任务学习非常有帮助。

方法

网络架构

本文以ELAN设计为网络的主轴,将YOLOR的概念作为系统的基础架构来构建网络的主干。然后,采用了硬参数共享机制来进行多任务学习,为各个任务设计了轻量级的头部,如目标检测、实例分割和语义分割,并将它们合并到图像编码器中以执行图像字幕生成任务。

这些头部的输出可以用来捕获具有足够语义信息的特征,这些特征可以满足文本编码器的需求。在编码器端处理不同视觉任务可以让系统获得具有不同语义的输出。在本文提出的系统中,不同的前景对象依靠目标检测和实例分割来获取准确的信息,而正确的背景信息则由语义分割提供。至于图像字幕生成任务的文本解码器,作者则是直接使用Transformer解码器。具体地,可以将图像编码器和文本解码器一起训练。这使得模型变得轻巧高效,同时降低了训练资源的消耗。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

最后,整个工作将YOLORELAN结合起来,这遵循了YOLOv7的设计。如上所述,YOLOR 是一种专门设计用于执行多任务的网络架构。从直觉上看,它模仿了人类的学习方式,既有明确的学习(来自数据观察和监督训练),也有潜意识的学习(来自编码先前学到的共同特征并将它们连接到不同任务中)。ELAN 中使用了梯度路径分析来设计网络架构。它最重要的设计理念是优化梯度路径。这种设计可以使网络更轻量化,同时也可以使网络传递梯度信息更高效,从而加速和提高模型的表示能力。

目标检测和实例分割头

对于目标检测任务,这里直接采用了 YOLOv7 的目标检测头部。对于实例分割任务,则选择了YOLACT模型,该工作是在 YOLO 架构上添加了一个实例分割头部。其中,YOLOv7 中有一个分支将 YOLACT 与实例分割任务合并在一起,因此选择了这个头部来执行实例分割任务。这个头部在实时实例分割任务中表现出色,并且理论上可以简单地与任意基于 YOLO 的架构进行融合。下图展示了目标检测头部和实例分割头部的架构:

语义分割头

对于语义分割任务,作者探索了使用单尺度和多尺度特征组合对语义分割的影响。具体地,他们设计了两种方法来获取语义掩码。一种是直接将特征图从最接近原始分辨率的8×8分辨率上采样到1×1的分辨率(单尺度),另一种是将颈部三种不同分辨率(8×8、16×16和32×32)的特征图组合起来,然后上采样到1×1(多尺度)。

其中,两种方法得到的结果如下图所示:

可以看到,多尺度模型在 stuff 区域的预测结果有噪音。作者认为这是目标检测和语义分割任务之间语义差距的结果。目标检测试图将所有非实例的区域都分类为背景,因此无论是天空、墙壁、天花板还是地面,都容易被分类为相同的类别。而对于语义分割任务,空间关系的敏感性相对重要,因此尝试选择在最高分辨率(即8×8)上以单尺度方式设计语义分割头部。

然而,将特征图上采样回原始大小是低效的,因此又在相对浅的层次上(从8×8到4×4)进行一次上采样,以获得语义分割的预测。通过这种方法,与多尺度相比,单尺度在上采样回原始大小(1×1)的情况下,减少了94.3%的参数数量,减少了6.3%的训练时间。而相对于直接上采样到1×1,上采样到4×4减少了84.4%的训练时间,同时能够保持更少的参数并获得最高的准确性。

图像字幕生成头

对于图像字幕生成任务,本文是受到了 Transformer 在 NLP 领域的成功启发,因此作者在主干网络中实现了自注意力机制,并将其用作图像编码器。然后,他们将 Transformer 文本解码器作为图像字幕生成的头部:

表2显示,他们使用了 CATR 模型,该模型使用全尺度的 Transformer 作为文本解码器,并将其结果与仅使用 Transformer 解码器的结果进行了比较。总体参数数量减少了7.5%,训练时间减少了25%,而 BLEU-4 分数略有提高。文中假设全尺度的 Transformer 性能较差,是因为其与主干网络存在冲突,因为主干网络已经执行了自注意力,与 Transformer 编码器的功能重叠。根据这一实验的结果,他们使用了一个简化的 Transformer 文本解码器,并再次将 ELAN+YOLOR 用作主干网络。

训练策略

数据增强

数据增强是用来提高模型鲁棒性的方法。然而,并不是所有的数据增强方法都一定有效,有些方法会导致数据空间标签空间之间的语义不一致。为了解决这个问题,本文设计了一种简单而直观的训练流程,以学习不同任务。

首先,作者根据每个任务的性质整理了几个数据增强流程。例如,对于目标检测、实例分割和语义分割任务,他们选择使用了MixUpCutoutMosaicCopy pasteRandom perspective等方法。对于图像字幕生成任务,他们只使用了resizepadding

此外,他们同时在同一张图像上应用不同的数据增强流程,以确保在学习过程中所有任务都能保持目标语义的正确性。这种设计策略兼顾了模型在视觉任务中的稳健性,同时保持了不同任务之间的数据和语义的一致性。

优化器策略

在图像字幕生成任务中,通常会预训练一个图像编码器,然后在训练新的文本解码器的同时微调编码器。因此,通常会给图像编码器一个较小的学习率,以避免干扰图像编码器已经学到的知识。然而,在这项研究中,作者认为,由于同时训练多个任务,图像编码器需要能够适应不同的数据类型和输出,因此需要一个较大的学习率。

为此,他们进行了一系列实验来验证这一观点,并发现当图像编码器和文本解码器的学习率相等时,效果最好。这样可以确保图像编码器能够适应不同的输入和输出,同时继续学习,获得比其他情况更好的效果。总的来说,这些训练策略有助于提高模型的性能,同时保持了多任务学习的一致性和鲁棒性。这些策略的设计对于实现多任务学习的成功非常重要。

实验

<,,>

总结

本文从人类学习的角度分析了图像字幕生成任务所需的语义信息。研究人员分析了不同视觉任务之间的关联性,将多个任务结合在一起进行训练,最大化了所有任务之间的共享语义。此外,他们深入讨论了数据增强技术和优化器模式,以从语义的角度设计训练流程,并减少语义错误的影响。实验结果显示,相比其他多任务模型,本文所提模型更轻量化,并在所有任务上取得了出色的成绩。此外,在多任务联合学习架构下,通过共享语义和学习率,能够使图像字幕生成任务能够在不使用任何预训练模型的情况下达到不错的性能,同时具备良好的可扩展性。

探讨

从这里其实可以引申出一个问题,即不同网络架构的影响其实是不大的。通过本文工作大家也不难发现,对于"统一"这件事,其实并不是说只有 Transformer 能做,"传统"的 CNN 其实也能干好这件事,只要通过合理的设计,其实都能 work 的,而且有时候试错成本还低很多。

当然,不同网络架构之间的差异确实存在,但任务的有效性取决于多个因素的综合影响。选择合适的网络架构、数据、训练策略和任务关联性是实现多任务学习成功的关键因素。不同任务的性质和需求也会影响选择哪种网络架构以及如何进行训练。因此,在解决具体任务时,还是需要综合考虑这些因素,以获得最佳性能。

说到这里,笔者还是蛮期待 OpenAIGPT4V 早日能够放出它的技术报告,而非微软那不痛不痒的“测评报告”~~~大家仔细观察评测可以发现,这次的 GPT4V 理论上应该不是一个简单的“变形金刚”对齐多模态信息去做图像理解(没啥新意),也不太像用到 MOE(精度不是很诚恳),但按照 OpenAI 以往的工作而言,这大概率是一个 end-to-end 的多模态、多任务学习范式,但内心总感觉可能是一个类似 CLIP 这种非常简单但有效,低调而不失优雅的工作,关键是如何让其 work,还 fit 得很 nice?

猜你喜欢

转载自blog.csdn.net/CVHub/article/details/134224749