自己的原文哦~ https://blog.51cto.com/whaosoft/12347824
#GenImage
百万量级的GenImage数据集,致力于构建AIGC时代的ImageNet。AIGC时代助力AI生成图片检测器研发
图1 数据集图像展示
论文地址:https://arxiv.org/abs/2306.08571
项目主页:https://genimage-dataset.github.io/
GitHub:https://github.com/GenImage-Dataset/GenImage
在这个AIGC爆发的时代,人人都可以利用AI算法生成高质量的文本,图像,音频内容。其中,由Midjourney, Stable Diffusion等图像生成方法制作的图像,其逼真程度让人赞叹。人眼已经难以对其真假进行区分了。这不禁唤起了人们的隐忧:大量虚假图片将会在互联网上广泛传播。虚假图片的泛滥会引发多种社会安全问题。例如,虚假新闻会扰乱社会秩序,混淆视听。恶意的人脸图片造假则会引发金融欺诈,造成信任危机。例如,下图为Midjourney生成的特朗普被捕图片。这类图片在社交媒体上广泛传播,对政治领域造成了不良影响。因此,对这些AI生成的图像进行有效监管是非常有必要的。
图2 AI生成的特朗普被捕图片,来源于https://news.sina.com.cn/c/2023-04-15/doc-imyqmchz0199110.shtml
考虑到人眼已经难以对真假图片进行区分,我们急需一种AI生成图像检测器以区分AI制作的图像和真实的图像。然而,现在大规模数据集的缺失妨碍了检测器的开发。因此,我们提出了百万量级的GenImage数据集,致力于构建AIGC时代的ImageNet。
数据集介绍:
表1 虚假图片检测数据集概览
过去业界也有推出一些数据集。他们主要有三个特点。第一个是数据规模小,第二个是都是基于GAN的,第三个是局限于人脸数据。随着时间推移,数据规模慢慢地在增加,生成器也从GAN时代过渡到Diffusion时代,数据的范围也在增加。但是一个大规模的,以Diffusion模型为主的,涵盖各类通用图像的数据集仍然是缺失的。
基于此,我们提出一个对标imagenet的genimage数据集。真实的图片采用了ImageNet。虚假的图片采用ImageNet的标签进行生成。我们利用了八个先进的生成器来生成,分别是Midjourney, Stable Diffusion V1.4, Stable Diffusion V1.5, ADM, GLIDE, Wukong,VQDM和BigGAN。这些生成器生成的图片总数基本与真实图片一致。每个生成器生成的图片数量也基本一致。每一类生成的图片数量基本一致。
这个数据集具有以下优势:
1. 大量的数据:超过百万对图片对。
2. 丰富的图片内容:利用ImageNet进行构建,具有丰富的标签
3. 先进的生成器:覆盖Midjourney, Stable Diffusion等Diffusion生成器。
在真实世界中检测器往往会遇到各种各样的困难。我们经过实验发现,检测器往往在两种情况下性能下降严重。第一种是面对训练集中未出现的生成器生成的图片时。第二种是面对退化的图像。例如,CNNSpot在Stable Diffusion V1.4上训练后,在Midjourney上测试仅有52.8的准确率。当训练和测试生成器同为Stable Diffusion V1.4,在面对模糊的图像时,CNNSpot准确率仅仅为77.9。基于此,我们在这个数据集基础上对检测器提出两个挑战:
1. 交叉生成器:检测器在一种生成器生成的数据上训练,在其他生成器生成的数据上验证。这个任务目的是考察检测器在不同生成器上的泛化能力。
2. 退化图像识别:检测器需要对于低分辨率,模糊和压缩图像进行识别。这个任务主要考察检测器在真实条件(如互联网上传播)中面对低质量图像时的泛化问题。
我们相信这个数据集的提出将大大有助于人们开发AI生成图片检测器。
实验:
我们做了一些实验来考察这个数据集,我们发现在某个生成器上训练的ResNet-50模型在其他的测试准确率会明显降低。然而在真实情况下我们难以得知遇到的图像的生成器是什么。因此检测器对于不同生成器生成图片的泛化能力很重要。
表2 使用ResNet 50在不同生成器上交叉验证我们对比了现有方法在Stable Diffusion V1.4上训练,然后在各种生成器上测试的结果,见图3。我们也评测了各种生成器上训练,然后在各种生成器上测试的结果。见图4。图4中,Testing Subset那一列中的每一个数据点,都是在八个生成器上训练,然后在一个生成器上测试得到的平均结果。然后我们将这些测试集上的结果平均,得到最右侧的平均结果。
表3 在Stable Diffusion V1.4上训练,不同测试集上测试
表4 在不同生成器上训练,不同测试集上测试
我们对测试集进行退化处理,采用不同参数下的低分辨率,JPEG压缩和高斯模糊,评测结果如下
表5 在不同退化图像上验证结果
那么采集这么多数据是不是有用呢?我们做了相关实验,证明通过提升数据类比和每类的图片数量,我们是可以提高性能的。
针对GenImage数据集对于不同图片的泛化能力,我们发现他对于人脸和艺术类图片也能达到很好的效果。
表7 泛化到艺术类和人脸类图片的结果
图3 测试所用的艺术类和人脸类图片展示
展望
随着AI生成图片能力的不断提升,对于AI生成的图片实现有效检测的需求将会越来越迫切。本数据集致力于为真实环境下的生成图片检测提供有效训练数据。我们使用ResNet-50在本数据集中训练,然后在真实推文中进行检测。如下图4,ResNet-50能够有效识别真图和假图。这个结果证明了GenIamge可以用于训练模型以判别真实世界的虚假信息。我们认为,该领域未来值得努力的方向是不断提升检测器在GenImage数据集上的准确率,并进而提升其在真实世界面对虚假信息的能力。
图4.1 真实推文展示(真图)
图4.2 真实推文展示(假图 )
#单目实现车辆测距的方法
关于单目测距的问题,检测的障碍物2-D框加上摄像头的姿态和路面假设。以下根据公开发布的论文讨论具体的算法:
1、基于视觉的单摄像机ACC: 范围和范围速率精度的界限
著名的Mobileye论文,先看成像几何如图:
本车A,前方车B和C,摄像头P焦距f,高度H,和障碍物B/C距离Z1/Z2,B/C检测框着地点在图像的投影是y1/y2。那么y=fH/Z,所以Z=fH/y。下面是三个不同距离的估计结果:
精度测量得到:90米误差大约10%, 44米误差约为5%。
2、车辆和车道综合检测与距离估计
算法流程如下:
先是从3个消失点估算摄像头焦距,然后6个2D-3D对应点得到摄像头姿态:
基于车道宽度的假设(3.75米),可以算出投影矩阵,随之得到距离公式:
下图是一些结果:
3、城市自主驾驶中使用单摄像机分析地面车辆运动
还是基于消失点原理,加上水平线,可得到道路场景几何关系。
消失点和pitch angle的关系:
从消失点得到pitch angle:
4、基于视觉的前方碰撞预警系统单摄像机距离估计
如果车辆宽度已知,那么车距为d=FW/w。
如上图,可以计算距离为:
整个FCW系统流程图如下:
给了一个虚拟水平线的概念,估计它的位置
,Hc为摄像头高度,Yb是车辆框底部的垂直位置。然后可以计算出车辆距离:
5、不良光照条件下车辆检测与距离估计
碰撞报警需要估算安全距离。下图几何关系能给出估计距离的公式:
距离公式为
下图是IPM的鸟瞰图展示距离:
6、利用车载单摄像机进行目标车辆距离估计
计算特征点运动,由此得到自身摄像头运动,从其平移向量推出pitch angle。
上图可以计算出前方车的距离:
整个系统流程图如下:
下面就是从SFM的几何关系推理距离:
看下面的关系可以得到pitch angle:
角度计算公式为
7、单摄像头前方碰撞警告
time to contact (TTC) 直接从车辆的大小和位置得到,下面是流程图:
车边框的位置以及光流大小可以确定碰撞的可能性:
这里主要是通过简单的几何关系,直接估算检测的路上车辆距离并给出可能的撞击时间。现在深度学习越来越强大,理论上得到车检测边框的同时,也可以回归车的距离。
#DVIS~
视频分割任务 (Video Segmentation) 由图像分割任务扩展而来,旨在同时分割、检测、追踪视频中的所有目标,是一项比图像分割更具挑战的基础任务。发挥offline方法的潜力,武大&快手提出解耦合的视频实例分割框架
相比于逐帧处理视频帧的图像分割算法,视频分割算法可以提供时序稳定、准确的分割结果,并追踪每一个单独的目标,实现视频中实例级别的理解与编辑功能。视频分割在视频编辑、短视频基础工具、自动驾驶、监控安防等下游任务有着重要作用。
视频编辑(目标擦除)[a]
视频编辑(视频换背景)[b]
近年来,Transformer [1] 在 CV 中各个领域被广泛应用。DETR [2] 作为基于 Transformer 的经典工作之一,在图像目标检测、图像实例分割领域展现出了强大的潜力。相比于基于 ROI 的实例表征方式,DETR 所采用的基于 Query 的实例表征方式展现出了更强劲的表征能力以及灵活性。受到图像目标检测领域进展的启发,VisTR [9] 首次将 Transformer 应用于 VIS 领域,展现出了巨大的性能提升。随后基于 Transformer 的方法在 VIS 领域成为了主流。
目前视频分割领域的方法可以分为在线 (online) 与离线 (offline) 方法。在线方法在预测当前帧结果时以当前帧及历史帧作为输入,主要应用于需要实时处理的需求场景,如自动驾驶中的实时感知。离线方法在预测当前帧结果时可以利用视频中任意帧作为输入,主要应用于离线处理的需求场景,如视频编辑等。
现有的 SOTA 的 online 方法 (MinVIS [3]、IDOL [4] 等) 遵循着先执行图像分割后逐帧关联实例的技术路线。这种技术路线并未根据其他帧的信息来优化当前帧的分割结果,因此缺乏对于视频信息的有效利用。
现有的 SOTA 的 offline 方法 (SeqFormer [5]、Mask2Former-VIS [6]、VITA [7]、IFC [8] 等) 采用一个紧耦合网络来端到端地处理视频分割任务。虽然这种技术路线理论上可以更加有效地利用视频信息,但是在长视频以及复杂场景中,性能却不尽人意。如以下视频抽帧所示,当视频中出现很多个同类目标发生相互遮挡换位等情况时,Mask2Former-VIS 的目标跟踪结果出现错乱,分割精度也受到影响。
Mask2Former-VIS 在换位场景极易追踪出错(ID 请放大观看)
offline 方法相比于 online 方法可以利用更多的信息,因此理论上应该有着更好的表现。然而事实并非如此,在复杂场景下现有的 offline 方法的性能显著低于 online 方法。我们认为这是由于现有的 offline 方法对实例表征的设定所导致的。现有的 offline 方法采用单一的可学习的 query 来表征视频中的一个实例,这种可学习的 query 可以被看作位置以及大小先验。然而在实际场景中,某个实例的表观和空间位置都可能发生大幅变化,因此仅靠位置与大小先验很难从所有帧中都探测到该实例的正确特征。 正如上面视频 demo 所示,3 号 query(红色掩码覆盖)学习到的先验位置信息处在视频的右侧,然而视频前段所标记的大象在视频结束时已运动至视频左侧。
那么如何充分利用视频信息以使得 offline 方法发挥出理论上应有的潜力?来自武汉大学与快手 Y-tech 的研究者共同研发了一种新的视频实例分割算法——DVIS,回答了该问题。研究论文已被 ICCV2023 接收。
- 论文地址:https://arxiv.org/pdf/2306.03413.pdf
- 项目地址:https://github.com/zhang-tao-whu/DVIS
DVIS 在 OVIS、YouTube-VIS、VIPSeg 等数据集上均取得了 SOTA 表现,在 OVIS 数据集上从 2023 年 2 月霸榜至今,并在 CVPR 2023 的 PVUW 挑战赛、ICCV2023 的 LSVOS 挑战赛等多项赛事中取得冠军。
具体来说,DVIS 具有以下特性:
- DVIS 可以实现视频通用分割,可以处理视频实例分割 (VIS)、视频语义分割 (VSS) 以及视频全景分割 (VPS) 三大任务。
- DVIS 可以在 online 以及 offline 模式下运行。
- 解耦的设计使得 DVIS 训练所需要的计算资源较少,相比于 segmenter 仅带来了不足 5% 的额外计算代价,DVIS-R50 可以在 2080Ti 上一天内完成训练。
- DVIS 在多个 VIS 以及 VPS 的数据集上均取得 SOTA 性能。
效果展示
在本文之前,VIS 领域的 SOTA 方法 MinVIS 在复杂视频上的表现较差,主要体现在目标跟踪 ID 容易发生错乱、分割掩码破碎等现象。本文提出的 DVIS 则可以在复杂长视频中追踪并稳定分割目标。MinVIS 和 DVIS 的对比如下视频所示。
除此之外,DVIS 在目标占画面比例较小时依然表现良好:
方法简介
既然直接建模实例在整个视频上的表征是困难的,那么是否可以首先在单帧中建模实例,然后逐帧关联实例来获取同一实例在所有帧的表征,最后再对实例的时序信息加以利用。毫无疑问,逐帧关联的难度要比直接关联所有视频帧上的同一实例小得多。在给出时间上良好对齐的实例特征的情况下,有效地对这些特征加以利用也是轻而易举的。
我们将 VIS 任务分解为图像分割、物体关联、时序精化三个子步骤,相应的我们分别设计 segmenter、tracker 和 refiner 三个网络模块来处理这三个子步骤。其中图像分割即为在单帧中分割出目标并获取目标的表征。物体关联即为关联相邻帧的目标表征,为 refiner 提供一个良好对齐的初值。时序精化即为基于对齐好的物体时序信息来优化物体的分割结果以及追踪结果。
当 DVIS 的架构确定好后,我们需要针对图像分割、物体关联、时序精化三个子步骤分别设计合理的 segmenter、tracker 以及 refiner 网络。图像分割子步骤中,我们采用了 SOTA 的图像通用分割网络 Mask2Former 作为 segmenter 来提取物体的表征;物体关联子步骤中,我们将追踪建模为参考去噪 / 重建任务,并设计了 Referring Tracker 来进行稳健的目标关联;在时序精化子步骤中,我们基于 1D 卷积以及 Self Attention 实现了 Temporal Refiner 来有效地利用物体的时序信息。
1. Referring Tracker
DVIS 将相邻帧物体的关联任务建模为根据上一帧物体 query 来重建当前帧对应的物体 query,即给定上一帧物体的 query 作为 reference query,然后从 segmenter 输出的当前帧的 object query 中聚合信息,最后输出 reference query 相应的实例在当前帧的掩码和类别。Referring Tracker 通过 Referring Cross Attention 来学习以上过程。Referring Cross Attention 充分利用 refrence query 来指导信息的聚合并阻隔了 reference query 与当前信息的混杂,其由标准 Cross Attention 稍作改动而得到:
2. Temporal Refiner
在 Referring Tracker 输出在时间维度上基本对齐的目标 query 后,就可以很容易的通过标准操作(如 1D 卷积以及 Self Attention)来对时序特征进行有效利用。我们设计的 Temporal Refiner 也非常简单,由 1D 卷积以及 Self Attention 来聚合时序特征。Temporal Refiner 基于物体的时序特征来优化分割结果以及追踪结果。
值得一提的是 DVIS 的设计很灵活,Referring Tracker 可以叠加于任何 query-based 的图像分割器来实现在线的视频分割,Temporal Refiner 同样可以叠加于任何在线的视频分割器来获取更强大的分割性能。
实验结果
我们在 OVIS 数据集上对于 Referring Tracker 和 Temporal Refiner 的作用进行了消融实验。Tracker 的主要作用是实现更鲁棒的目标关联,尤其是对于中度遮挡和重度遮挡的物体有较大改善(如下表所示,为中度遮挡以及重度遮挡的目标分别带来了 5.2 AP 和 4.3 AP 的性能提升)。Refiner 的主要作用是充分利用时序信息,结果显示由于时序信息的有效利用,Temporal Refiner 对于被轻度、中度、重度遮挡物体的性能都有显著提升(如下表所示,为轻度、中度以及重度遮挡的目标分别带来了 2.4 AP 和 1.8 AP 和 5.1 AP 的性能提升)。
并且,由于 Referring Tracker 和 Temporal Refiner 仅处理 object query,因此计算代价很小,计算量总和少于 Segmenter 的 5%(见下表):
DVIS 在 OVIS、YouTube-VIS (2019,2021) 以及 VIPSeg 等数据集上均取得 SOTA:
结论
在本文中,我们提出了 DVIS,一种将 VIS 任务解耦的框架,将 VIS 任务分为三个子任务:分割,跟踪和细化。我们的贡献有三个方面:1)我们将解耦策略引入了 VIS 任务并提出了 DVIS 框架,2)我们提出了 Referring Tracker,通过将帧间关联建模为引用去噪来增强跟踪的鲁棒性,3)我们提出了 Temporal Refiner,利用整个视频的信息来精化分割结果,弥补了之前工作在这方面的缺失。结果表明,DVIS 在所有 VIS 数据集上实现了 SOTA 性能。
虽然 DVIS 的设计来源于对 VIS 领域内既有方法不足的反思,但是 DVIS 的设计并不局限于视频实例分割领域,其可以无任何改动的在 VIS,VPS 和 VSS 上都取得 SOTA 性能,这证明了 DVIS 的通用性与强大潜力。我们希望,DVIS 将成为一个强大且基础的基准,并且我们的解耦洞见将激发在线和离线 VIS 领域的未来研究。
从未来技术发展的角度上,我们将会继续探索面向图像、视频以及更多模态的基础视觉感知技术,从模型通用性、开放类别等角度进一步拓展基础视觉感知技术的边界。
#Video-LLaMA
视频在当今社交媒体和互联网文化中扮演着愈发重要的角色,抖音,快手,B 站等已经成为数以亿计用户的热门平台。用户围绕视频分享自己的生活点滴、创意作品、有趣瞬间等内容,与他人互动和交流。
近期,大语言模型展现出了令人瞩目的能力。我们能否给大模型装上 “眼睛” 和 “耳朵”,让它能够理解视频,陪着用户互动呢?
从这个问题出发,达摩院的研究人员提出了 Video-LLaMA,一个具有综合视听能力大模型。Video-LLaMA 能够感知和理解视频中的视频和音频信号, 并能理解用户输入的指令,完成一系列基于音视频的复杂任务,例如音 / 视频描述,写作,问答等。目前论文,代码,交互 demo 都已开放。另外,在 Video-LLaMA 的项目主页中,该研究团队还提供了中文版本的模型,让中文用户的体验更丝滑。
- 论文链接:https://arxiv.org/abs/2306.02858
- 代码地址:https://github.com/DAMO-NLP-SG/Video-LLaMA
- Demo 地址:
- Modelscope: https://modelscope.cn/studios/damo/video-llama/summary
- Huggingface: https://huggingface.co/spaces/DAMO-NLP-SG/Video-LLaMA
- 样例输入文件地址:
- https://github.com/DAMO-NLP-SG/Video-LLaMA/tree/main/examples
模型设计
Video-LLaMA 采用了模块化设计原则,把视频中的视觉和音频模态信息映射到到大语言模型的输入空间中,以实现跨模态指令跟随的能力。与之前侧重于静态图像理解的大模型研究(MiNIGPT4,LLaVA)不同,Video-LLaMA 面临着视频理解中的两个挑战:捕捉视觉中的动态场景变化和整合视听信号。
为了捕捉视频中的动态场景变化,Video-LLaMA 引入了一个可插拔的视觉语言分支。该分支首先使用 BLIP-2 中预训练好的图片编码器得到每一帧图像的单独特征,再与对应的帧位置嵌入结合后,所有图像特征被送入 Video Q-Former,Video Q-Former 将聚合帧级别的图像表示并且生成定长的综合视频表征。最后采用一个线性层将视频表征对齐到大语言模型的 embedding 空间。
至于视频中的声音信号,Video-LLaMA 使用音频 - 语言分支进行处理。首先从原始视频中均匀采样多个时长两秒的音频片段,并将每个片段转换为 128 维的梅尔频谱图。然后,采用强大的 ImageBind 作为音频编码器,单独提取每个声音片段的特征。在添加可学习的位置嵌入后,Audio Q-Former 将片段特征进行整体聚合,并生成固定长度的音频特征。与视觉语言分支类似,最后采用线性层将音频表征对齐到大语言模型的 embedding 空间。
为了减少训练成本,Video-LLaMA 冻结了预训练好的图片 / 音频编码器,只更新了视觉和音频分支中的以下参数:Video/Audio Q-Former,位置编码层以及线性层(如图 1 所示)。
为了学习视觉和文本的对齐关系,作者们首先利用大规模的视频 - 文本数据集 (WebVid-2M) 和图像 - 文本数据集(CC-595K)对视觉分支进行预训练。之后,作者们利用来自 MiniGPT-4,LLaVA 的图像指令数据集和来自 Video-Chat 的视频指令数据集来微调,从而达到更好的跨模态指令跟随能力。
至于音频 - 文本对齐关系的学习,由于缺乏大规模高质量的音频 - 文本数据,作者们采用了一种变通策略来达到这一目标。首先,音频 - 语言分支中可学习参数的目标可以理解为将音频编码器的输出与 LLM 的嵌入空间对齐。而音频编码器 ImageBind 具有非常强的多模态对齐能力,它能将不同模态的嵌入对齐到一个共同的空间中。因此,作者们使用视觉 - 文本数据来训练音频 - 语言分支,将 ImageBind 的公共嵌入空间对齐到 LLM 的文本嵌入空间,从而实现音频模态到 LLM 文本嵌入空间对齐。通过这种巧妙的方式,Video-LLaMA 能在推理过程中展现出理解音频的能力,即使从未接受过音频数据的训练。
实例展示
作者展示了 Video-LLaMA 基于视频 / 音频 / 图像的对话的一些例子。
(1)下面两个例子展示了 Video-LLaMA 的视听综合感知能力,例子中的会话围绕有声视频展开。在例子二中,画面上仅仅显示了这个演奏家,但是声音中是观众的欢呼声和掌声,如果模型只能接受视觉信号,将无法推测到观众的积极响应,音频中并没有乐器的声音,但画面中出现了萨克斯,如果模型仅能接受听觉信号,也将无法得知演奏家演奏了萨克斯。
(2)Video-LLaMA 对于静态图像也有较强的感知理解能力,可以完成图片描述,问答等任
(3)令人惊奇的是,Video-LLaMA 能成功识别著名的地标和人物,并能进行常识性问答。比如下面 VIdeo-LLaMA 就成功识别出了白宫,并介绍了白宫的情况。又比如输入一张龙妈和囧雪的剧照(经典影视剧《权利的游戏》中角色),VIdeo-LLaMA 不仅能够成功识别,而且能说出他们剪不断理还乱的关系。
(4)针对于视频的动态事件,Video-llama 也能很好捕捉,例如嘘声的动作,小船行驶的方向。
总结
目前,音频视频理解依旧是一个非常复杂,尚未有成熟解决方案的研究问题,Video-LLaMA 虽然表现出了令人印象深刻的能力,作者也提到了其存在一些局限性。
(1)有限的感知能力:Video-LLaMA 的视觉听觉能力仍然较为初级,对复杂的视觉声音信息依然难以辨认。其中一部分原因是数据集的质量和规模还不够好。该研究团队正在积极构建高质量的音频 - 视频 - 文本对齐数据集,以增强模型的感知能力。
(2)难以处理长视频的:长视频 (如电影和电视节目) 包含大量的信息,对模型的推理能力和计算资源都较高。
(3)语言模型固有的幻觉问题,在 Video-LLaMA 中依然存在。
总的来说,Video-LLaMA 作为一个具有综合视听能力的大模型,在音频视频理解领域取得了令人印象深刻的效果。随着研究者的不断攻坚,以上挑战也将逐个被克服,使得音视频理解模型具有广泛的实用价值。
#I-JEPA 2
这是第二集了
让 AI 像人类一样学习和推理,这是人工智能迈向人类智能的重要一步。图灵奖得主 Yann LeCun 曾提出自监督 + 世界模型的解决方案,如今终于有了第一个实实在在的视觉模型。
去年初,Meta 首席 AI 科学家 Yann LeCun 针对「如何才能打造出接近人类水平的 AI」提出了全新的思路。他勾勒出了构建人类水平 AI 的另一种愿景,指出学习世界模型(即世界如何运作的内部模型)的能力或许是关键。这种学到世界运作方式内部模型的机器可以更快地学习、规划完成复杂的任务,并轻松适应不熟悉的情况。
LeCun 认为,构造自主 AI 需要预测世界模型,而世界模型必须能够执行多模态预测,对应的解决方案是一种叫做分层 JEPA(联合嵌入预测架构)的架构。该架构可以通过堆叠的方式进行更抽象、更长期的预测。
6 月 9 日,在 2023 北京智源大会开幕式的 keynote 演讲中,LeCun 又再次讲解了世界模型的概念,他认为基于自监督的语言模型无法获得关于真实世界的知识,这些模型在本质上是不可控的。
今日,Meta 推出了首个基于 LeCun 世界模型概念的 AI 模型。该模型名为图像联合嵌入预测架构(Image Joint Embedding Predictive Architecture, I-JEPA),它通过创建外部世界的内部模型来学习, 比较图像的抽象表示(而不是比较像素本身)。
I-JEPA 在多项计算机视觉任务上取得非常不错的效果,并且计算效率远高于其他广泛使用的计算机视觉模型。此外 I-JEPA 学得的表示也可以用于很多不同的应用,无需进行大量微调。
举个例子,Meta 在 72 小时内使用 16 块 A100 GPU 训练了一个 632M 参数的视觉 transformer 模型,还在 ImageNet 上实现了 low-shot 分类的 SOTA 性能,其中每个类只有 12 个标签样本。其他方法通常需要 2 到 10 倍的 GPU 小时数,并在使用相同数据量训练时误差率更高。
相关的论文《Self-Supervised Learning from Images with a Joint-Embedding Predictive Architecture》已被 CVPR 2023 接收。当然,所有的训练代码和模型检查点都将开源。
- 论文地址:https://arxiv.org/pdf/2301.08243.pdf
- GitHub 地址:https://t.co/DgS9XiwnMz
通过自监督学习获取常识型知识
I-JEPA 基于一个事实,即人类仅通过被动观察就可以了解关于世界的大量背景知识,这些常识信息被认为是实现智能行为的关键。
通常,AI 研究人员会设计学习算法来捕获现实世界的常识,并将其编码为算法可访问的数字表征。为了高效,这些表征需要以自监督的方式来学习,即直接从图像或声音等未标记的数据中学习,而不是从手动标记的数据集中学习。
在高层级上,JEPA 的一个输入中某个部分的表征是根据其他部分的表征来预测的。同时,通过在高抽象层次上预测表征而不是直接预测像素值,JEPA 能够直接学习有用的表征,同时避免了生成模型的局限性。
相比之下,生成模型会通过删除或扭曲模型输入的部分内容来学习。然而,生成模型的一个显著缺点是模型试图填补每一点缺失的信息,即使现实世界本质上是不可预测的。因此,生成模型过于关注不相关的细节,而不是捕捉高级可预测的概念。
自监督学习的通用架构,其中系统学习捕获其输入之间的关系。
迈向能力广泛的 JEPA 的第一步
I-JEPA 的核心思路是以更类似于人类理解的抽象表征来预测缺失信息。与在像素 /token 空间中进行预测的生成方法相比,I-JEPA 使用抽象的预测目标,潜在地消除了不必要的像素级细节,从而使模型学习更多语义特征。
另一个引导 I-JEPA 产生语义表征的核心设计是多块掩码策略。该研究使用信息丰富的上下文来预测包含语义信息的块,并表明这是非常必要的。
I-JEPA 使用单个上下文块来预测源自同一图像的各种目标块的表征。
I-JEPA 中的预测器可以看作是一个原始的(和受限的)世界模型,它能够从部分可观察的上下文中模拟静态图像中的空间不确定性。更重要的是,这个世界模型是语义级的,因为它预测图像中不可见区域的高级信息,而不是像素级细节。
预测器如何学习建模世界的语义。对于每张图像,蓝框外的部分被编码并作为上下文提供给预测器。然后预测器输出它期望在蓝框内区域的表示。为了可视化预测,Meta 训练了一个生成模型, 它生成了由预测输出表示的内容草图,并在蓝框内显示样本输出。很明显,预测器识别出了应该填充哪些部分的语义(如狗的头部、鸟的腿、狼的前肢、建筑物的另一侧)。
为了理解模型捕获的内容,Meta 训练了一个随机解码器,将 I-JEPA 预测的表示映射回像素空间,这展示出了探针操作后在蓝框中进行预测时的模型输出。这种定性评估表明,I-JEPA 正确捕获了位置不确定性,并生成了具有正确姿态的高级对象部分(如狗的头部、狼的前肢)。
简而言之,I-JEPA 能够学习对象部分的高级表示,而不会丢弃它们在图像中的局部位置信息。
高效率、强性能
I-JEPA 预训练在计算上也很高效,在使用更多计算密集型数据增强来生成多个视图时不会产生任何开销。目标编码器只需要处理图像的一个视图,上下文编码器只需要处理上下文块。
实验发现,I-JEPA 在不使用手动视图增强的情况下学习了强大的现成语义表示,具体可见下图。此外 I-JEPA 还在 ImageNet-1K 线性探针和半监督评估上优于像素和 token 重建方法。
ImageNet-1k 数据集上的线性评估。
I-JEPA 还能与以往在语义任务上依赖手动数据增强的方法竞争。相比之下,I-JEPA 在对象计数和深度预测等低级视觉任务上取得了更好的性能。通过使用较小刚性归纳偏置的更简单模型,I-JEPA 适用于更广泛的任务集合。
low shot 分类准确性:使用 1% 标签时 ImageNet-1k 上的半监督评估结果(每类只有 12 张标签图像)。
AI 智能向人类水平更近了一步
I-JEPA 展示了无需通过手动图像变换来编码额外知识时,学习有竞争力的现成图像表示的潜力。继续推进 JEPA 以从更丰富模态中学习更通用世界模型将变得特别有趣,比如人们从一个短上下文中对视频中的将来事件做出长期空间和时间预测,并利用音频或文本 prompt 对这些预测进行调整。
Meta 希望将 JEPA 方法扩展到其他领域,比如图像 - 文本配对数据和视频数据。未来,JEPA 模型可以在视频理解等任务中得到应用。这是应用和扩展自监督方法来学习更通用世界模型的重要一步。
#CRATE
基于Transformer的视觉基础模型在各种下游任务,如分割和检测中都展现出了非常强大的性能,并且DINO等模型经过自监督训练后已经涌现出了语义的分割属性。
马毅教授领导的研究团队开发了CRATE模型,推动了神经网络可解释研究!完全数学可解释的白盒Transformer,性能不输ViT
过去十多年,AI的飞速发展主要是工程实践上的进步,AI理论并没有起到指导算法开发的作用,经验设计的神经网络依然是一个黑盒。
而随着ChatGPT的爆火,AI的能力也被不断夸大、炒作,甚至到了威胁、绑架社会的地步,让Transformer架构设计变透明已刻不容缓!
最近,马毅教授团队发布了最新研究成果,设计了一个完全可用数学解释的白盒Transformer模型CRATE,并在真实世界数据集ImageNet-1K上取得了接近ViT的性能。
代码链接:https://github.com/Ma-Lab-Berkeley/CRATE
论文链接:https://arxiv.org/abs/2306.01129
在这篇论文中,研究人员认为,表示学习的目标是压缩和转换数据(例如token集合)的分布,以支持在不相干子空间(incoherent subspace)上的低维高斯分布混合,最终表征的质量可以通过稀疏率降低(sparse rate reduction)的统一目标函数来度量。
从这个角度来看,流行的深度网络模型,如Transformer等可以很自然地被认为是实现迭代方案(realizing iterative schemes)以逐步优化该目标。
特别是,研究结果表明标准Transformer块可以从对该目标的互补部分的交替优化中派生出:多头自注意力运算符可以被视为通过最小化有损编码率来压缩token集合的梯度下降步骤,而随后的多层感知器可以被视为尝试稀疏化token的表示。
这一发现也促进设计了一系列在数学上完全可解释的白盒Transformer类深度网络架构,尽管设计上很简单,但实验结果表明,这些网络确实学会了优化设计目标:压缩和稀疏化了大规模真实世界视觉数据集(如ImageNet)的表示,并实现了接近高度工程化Transformer模型(ViT)的性能。
图灵奖得主Yann LeCun对马毅教授的工作也表示赞同,认为Transformer使用LISTA(Learned Iterative Shrinkage and Thresholding Algorithm)类似的方法增量地优化稀疏压缩。
白盒CRATE的涌现属性
DINO的分割涌现能力
智能系统中的表征学习旨在将世界的高维、多模态感官数据(图像、语言、语音)转换为更紧凑的形式,同时保留其基本的低维结构,实现高效的识别(比如分类)、分组(比如分割)和追踪。
深度学习模型的训练通常采用数据驱动的方式,输入大规模数据,以自监督的方式进行学习。
在视觉基础模型中,自监督Transformer架构的DINO模型展现出了令人惊讶的涌现能力,即使没有经过有监督分割训练,ViTs也能识别出显式的语义分割信息。
后续有工作研究了如何在DINO模型中利用这种分割信息,并在下游任务中,如分割、检测等实现了最先进的性能,也有工作证明了用DINO训练的ViTs中的倒数第二层特征与视觉输入中的显著性信息强烈相关,如区分前景、背景和物体边界,从而提升图像分割和其他任务的性能。
为了让分割属性涌现,DINO需要在训练期间将自监督学习、知识蒸馏和权重平均巧妙地结合起来。
目前还不清楚DINO中引入的每个组件是否对于分割遮罩的涌现来说必不可缺,尽管DINO也采用ViT架构作为其主干,但在分类任务上训练的普通有监督ViT模型中,并没有观察到分割涌现行为。
让Transformer变白盒
这篇论文的主要目的在于用一个更统一的框架以设计类似Transformer的网络结构,从而实现数学上的可解释性和良好的实际性能。
为此,研究人员提出学习一个增量映射(incremental mappings)序列,以获得输入数据(token集合)的最小压缩和最稀疏的表征,优化一个统一的目标函数,即稀疏率降低。
这个框架统一了「Transformer模型和自注意力」、「扩散模型和降噪」、「结构化查找和率降低」(Structure-seeking models and rate reduction)三种看似不同的方法,并表明类似Transformer的深层网络层可以自然地从展开迭代优化(unrolling iterative optimization)方案中导出, 以增量地优化稀疏率降低目标。
映射的目标
Self-Attention via Denoising Tokens Towards Multiple Subspaces
研究人员使用一个理想化的token分布模型表明,如果朝着低维子空间系列迭代去噪,相关的评分函数就会呈现出类似于Transformer中的自注意力操作符的显式形式。
Self-Attention via Compressing Token Sets through Optimizing Rate Reduction
研究人员将多头自注意力层推导为一个展开的梯度下降步,以最小化速率降低的有损编码率部分,从而展现了将自注意力层解释为压缩token表征的另一种解释方法。
MLP via Iterative Shrinkage-Thresholding Algorithms (ISTA) for Sparse Coding
研究人员展示了在Transformer块中紧随多头自注意力层后面的多层感知机可以被解释为(并且可以被替换为)一个层,该层通过构建token表征稀疏编码来逐步优化稀疏率降低目标剩余部分。
CRATE
结合上述理解,研究人员创建了一个全新的的白盒Transformer架构CRATE(Coding RAte reduction TransformEr),学习目标函数、深度学习架构和最终学习到的表征都完全可以用数学解释,其中每一层执行交替最小化算法(alternating minimization algorithm)的一个步骤,以优化稀疏率降低目标。
可以注意到,CRATE在构建的每个阶段都选择了尽可能最简单的构建方式,只要新构建的部分保持相同的概念角色,就可以直接替换,并获得一个新的白盒架构。
基于DINO的成功案例,研究人员想要探究,复杂的自监督学习管道对于获得类似Transformer的视觉模型中的涌现属性是否是必要的。
研究人员认为,在Transformer模型中促进分割属性的一种有前途的方法是,在考虑输入数据结构的情况下设计Transformer模型架构,也代表了表征学习经典方法与现代数据驱动的深度学习框架的结合。
与目前主流的Transformer模型对比,这种设计方法也可以叫做白盒Transformer模型。
基于马毅教授组之前的工作,研究人员对白盒架构的CRATE模型进行了广泛的实验,证明了CRATE的白盒设计是自注意力图中分割属性涌现的原因。定性评估
研究人员采用基于[CLS] token的注意力图方法对模型进行解释和可视化,结果发现CRATE中的query-key-value矩阵都是相同的。
定性评估
研究人员采用基于[CLS] token的注意力图方法对模型进行解释和可视化,结果发现CRATE中的query-key-value矩阵都是相同的。
可以观察到CRATE模型的自注意力图(self-attention map)可以对应到输入图像的语义上,模型的内部网络对每个图像都进行了清晰的语义分割,实现了类似DINO模型的效果。相比之下,在有监督分类任务上训练的普通ViT却并没有表现出类似的分割属性。
遵循之前关于可视化图像学习的逐块深度特征的工作,研究人员对CRATE和ViT模型的深度token表征进行主成分分析(PCA)研究。
可以发现,CRATE可以在没有分割监督训练的情况下,依然可以捕捉到图像中物体的边界。
并且,主成分(principal compoenents)也说明了token和物体中相似部分的特征对齐,例如红色通道对应马腿。
而有监督ViT模型的PCA可视化结构化程度相当低。
定量评估
研究人员使用现有的分割和对象检测技术对CRATE涌现的分割属性进行评估。
从自注意力图可以看到,CRATE用清晰的边界显式地捕获了对象级的语义,为了定量测量分割的质量,研究人员利用自注意力图生成分割遮罩(segmentation mask),对比其与真实遮罩之间的标准mIoU(平均交并比)。
从实验结果中可以看到,CRATE在视觉和mIOU评分上都显著优于ViT,表明CRATE的内部表征对于分割遮罩任务生成来说要更有效。
对象检测和细粒度分割
为了进一步验证和评估CRATE捕获的丰富语义信息,研究人员采用了一种高效的对象检测和分割方法MaskCut,无需人工标注即可获得自动化评估模型,可以基于CRATE学到的token表征从图像中提取更细粒度的分割。
在COCO val2017上的分割结果中可以看到,有CRATE的内部表征在检测和分割指标上都要好于有监督ViT,有监督ViT特征的MaskCut在某些情况下甚至完全不能产生分割遮罩。
CRATE分割能力的白盒分析
深度在CRATE中的作用
CRATE的每一层设计都遵循相同的概念目的:优化稀疏速率降低,并将token分布转换为紧凑和结构化的形式。
假设CRATE中语义分割能力的涌现类似于「表征Z中属于相似语义类别token的聚类」,预期CRATE的分割性能可以随着深度的增加而提高。
为了测试这一点,研究人员利用MaskCut管道来定量评估跨不同层的内部表征的分割性能;同时应用PCA可视化来理解分割是如何随深度加深而涌现的。
从实验结果中可以观察到,当使用来自更深层的表征时,分割分数提高了,与CRATE的增量优化设计非常一致。
相比之下,即使ViT-B/8的性能在后面的层中略有提高,但其分割分数明显低于CRATE,PCA结果显示,从CRATE深层提取的表征会逐渐更关注前景对象,并且能够捕捉纹理级别的细节。
CRATE的消融实验
CRATE中的注意力块(MSSA)和MLP块(ISTA)都不同于ViT中的注意力块。
为了了解每个组件对CRATE涌现分割属性的影响,研究人员选取了三个CRATE变体:CRATE, CRATE-MHSA, CRATE-MLP,分别表示ViT中的注意块(MHSA)和MLP块。
研究人员在ImageNet-21k数据集上应用相同的预训练设置,然后应用粗分割评估和遮罩分割评估来定量对比不同模型的性能。
实验结果显示,CRATE在所有任务中都明显优于其他模型架构,可以发现,尽管MHSA和MSSA之间的架构差异很小,但只需要简单地用CRATE中的MSSA替换ViT中的MHSA,可以显著改善ViT的粗分割性能(即VOC Seg),证明了白盒设计的有效性。
识别注意头的语义属性
[CLS] token和图像块token之间的自注意力图可以看到清晰的分段掩码,根据直觉,每个注意力头应该都可以捕捉到数据的部分特征。
研究人员首先将图像输入到CRATE模型,然后由人来检查、选择四个似乎具有语义含义的注意力头;然后在其他输入图像上在这些注意力头上进行自注意力图可视化。
可以发现,每个注意力头都捕捉到了物体的不同部分,甚至不同的语义:例如第一列中显示的注意力头可以捕捉到不同动物的腿,最后一列中显示的注意力头捕捉的是耳朵和头部。
自从可形变部件模型(deformable part model)和胶囊网络发布以来,这种将视觉输入解析为部分-整体层次结构的能力一直是识别架构的目标,白盒设计的CRATE模型也具有这种能力。
实验部分
研究人员的实验目标不仅仅是在使用基本设计的情况下与其他精心设计的Transformer竞争,还包括:
1、与通常仅在端到端性能上评估的经验设计的黑盒网络不同,白盒设计的网络可以查看深层架构的内部,并验证学习网络的层是否确实执行其设计目标, 即对目标进行增量优化。
2、尽管CRATE架构很简单,但实验结果应当验证该架构的巨大潜力,即可以在大规模真实世界的数据集和任务上取得与高度工程化Transformer模型相匹配的性能。
模型架构
通过变化token维度、头数和层数,研究人员创建了四个不同规模的CRATE模型,表示为CRATE-Tiny,CRATE-Small,CRATE-Base和CRATE-Large
数据集和优化
文中主要考虑ImageNet-1K作为测试平台,使用Lion优化器来训练具有不同模型规模的CRATE模型。
同时还评估了CRATE的迁移学习性能:在ImageNet-1K上训练的模型作为预训练模型,然后在几个常用的下游数据集(CIFAR10/100、Oxford Flowers、Oxford-IIT-Pets)上对CRATE进行微调。
CRATE的层实现设计目标了吗?
随着层索引的增加,可以看到CRATE-Small模型在大多数情况下的压缩和稀疏化项都得到了提升,最后一层稀疏性度量的增加是由于用于分类的额外线性层。
结果表明,CRATE与原始的设计目标非常契合:一旦学习完毕,基本上通过其层逐渐学习对表示进行压缩和稀疏化。
在其他规模的CRATE模型以及中间模型检查点上测量压缩和稀疏化项后可以发现,实验结果依然非常一致,具有更多层的模型往往能更有效地优化目标,验证了之前对每个层角色的理解。
性能对比
通过测量ImageNet-1K上的最高准确率以及在几个广泛使用的下游数据集上的迁移学习性能来研究所提出的网络的经验性能。
由于设计的架构在注意力块(MSSA)和MLP块(ISTA)中都利用了参数共享,所以CRATE-Base模型(2208万)与ViT-Small(2205万)的参数数量相似。
可以看到,在模型参数数量相似的情况下,文中提出的网络实现了与ViT相似的ImageNet-1K和迁移学习性能,但CRATE的设计更简单,可解释性强。
此外,在相同的训练超参数下,CRATE还可以继续扩展,即通过扩大模型的规模不断提高性能,而在ImageNet-1K上直接扩大ViT的规模并不总是能带来一致的性能改善。
也就是说,CRATE网络尽管简单,但已经可以在大规模的真实世界数据集上学习所需的压缩和稀疏表示,并在各种任务(如分类和迁移学习)上取得与更工程化Transformer网络(如ViT)相当的性能。
参考资料:
https://arxiv.org/abs/2306.01129
#SnP~
本文介绍一篇我们发表于CVPR 2023的论文 《Large-scale Training Data Search for Object Re-identification》 。这篇文章主要介绍了澳大利亚国立大学新推出的训练集搜索任务,和相应的训练集搜索算法(SnP)。
针对目标重识别的大规模训练集搜索
- 论文链接: https://arxiv.org/pdf/2303.16186.pdf
- 源代码: https://github.com/yorkeyao/SnP
- 视频介绍: https://www.bilibili.com/video/BV1sN411S75q/
如上图所示,目前的很多研究,是可以归结为在以模型为中心的框架中的。他们的目标是:在固定源训练集和目标验证集的情况下,改进算法或模型。举个例子,对于分类或者检测任务来说,这个过程通常在 ImageNet 和 COCO 等完善的benchmark上进行。
但是试想一下,假如我们希望从头建立一个针对新目标的深度学习系统,我们可能先需要花大量的时间去收集/清理数据,然后才能去花时间配置深度学习网络。
因此,在本文中,我们针对这个数据收集的过程,讨论以数据为中心的一个全新任务:我们的目标不是专注于改进模型或学习算法以提高模型在目标域上的准确度,而是提高训练集质量来实现这一目标。也就是说,在固定目标验证集下,我们的目标是改进源训练数据以提高目标性能。
我们考虑这样一个场景:我们可以访问目标域,但无法负担在目标域上的训练数据注释。我们从而希望从大规模数据池构建替代训练集,以便获得有竞争力的模型。对于特定目标,我们指出直接在源池上训练模型可能不是一个好主意。首先,在超大规模的源池上训练模型会花费大量时间。其次,从这个源池中,我们发现我们有可能构建一个更好的训练集,对目标有更高的准确率。
出于这样的动机,我们设定我们的任务目标:我们想从源池中提取图像以形成一个小型训练集,这个训练集虽然规模不大,但可以训练出在目标域上的高精度模型。
这时候,可能有人会问,我们想知道什么样的训练集比较好,直接训练一下不就可以了?的确,我们可以从真实的训练中选择训练集。如上图所示,从源池中,我们可以选择多个训练集,并进行真正的训练和验证。然后我们可以使用验证集上的准确率进行数据集比较。然而,这样的过程非常耗时,并且需要对验证集进行标记。
因此,如果我们能找到验证集准确率以外的指标来表明训练集的质量,我们就可以用它来执行训练集搜索。我们通过相关性研究找到了这样的指标。如上图所示,在person re-ID的实验上,我们展示了域差距(domain gap)、数据集大小和在验证集上的性能之间的关系。Pearson相关性表明域差距(domain gap)和验证集准确率之间存在较强的负相关性。数据集大小和验证集准确率之间存在正相关关系。所以,我们得出结论:域差距(domain gap)较小且数据量大的训练集,我们认为它质量更好,训练出来的模型在目标域具有较高的准确率。
在 vehicle re-ID 上,我们观察到同样的结论 。
受这一发现的启发,我们在这里展示了所提出的 Search and Pruning (SnP) 方法的工作流程。假设我们有K个现有数据集组成的源池,我们的目标是从这个源池来构建一个满足预算的训练集。为了实现这一目标,我们做(A)子集搜索以获得与目标域差距小的子集,然后执行(B)依据我们对于训练集的具体预算,对A获得的子集进行进一步修剪,获得最终的训练集。
在这里,我们展示了SnP过程的可视化。我们首先从源池中执行聚类,使用 k-means 方法生成 J 个子集。其次,我们计算每个子集与目标之间的域差距(用FID衡量),并按升序对它们进行排序。为了构建搜索结果,我们只添加和合并那些和目标域之间有较低 FID 的子集,丢弃和目标域之间有FID较大的子集。搜索后,我们进行训练集修剪,形成最终的训练集。
如上图所示,源池在图片数量和ID数量方面比现有的re-ID训练集大一个数量级。使用我们的方法 (SnP) ,我们可以得到比源池小 80% 的训练集,同时实现类似甚至更高的 re-ID 准确度。
具体的实现细节,更多的分析请看我们的文章,并且我们的源代码已开源。欢迎大家提出宝贵意见。
#VLM_survey
作为计算机视觉(CV)研究中长期存在的挑战,视觉识别(如图像分类、目标检测和语义分割)是自动驾驶、遥感等众多计算机视觉应用的基石。深度学习的出现使得视觉识别取得了巨大成功。然而,现有的视觉识别研究大多依赖于昂贵的标注数据进行深度神经网络训练,并且通常需要为每个任务训练一个独立的网络,这导致了耗时费力的识别模式。
为了应对这些挑战,大型视觉语言模型引起了广泛关注并得到深入研究。通过学习互联网上大量图像-文本对之间丰富的视觉语言对应关系,现在可以使用一个视觉语言模型(如 CLIP、ALIGN)进行各种视觉识别任务的零样本预测。
视觉识别,作为计算机视觉研究领域的长期挑战,始终是自动驾驶、遥感等应用的核心技术。其中,图像分类、目标检测和语义分割等任务,更是构成了这些应用的技术基石。近年来,深度学习的崛起为视觉识别带来了巨大的突破,然而,传统的视觉识别研究往往依赖于大量昂贵的标注数据进行网络训练,且每个任务通常需要独立的网络模型,这无疑增加了研究的时间和成本。为了克服这些挑战,大型视觉语言模型受到了广泛关注。这些模型通过学习互联网上海量的图像-文本对数据,捕捉丰富的视觉语言对应关系,从而能够实现各种视觉识别任务的零样本预测。因此,不再需要为每个任务单独训练网络,只需一个视觉语言模型(如CLIP、ALIGN)就能完成多种识别任务。
本文旨在对针对视觉识别任务的大型视觉语言模型进行全面综述,梳理其最新发展。首先,本文回顾了视觉识别技术的发展历程,阐述了视觉语言模型的基础知识和核心技术,包括其采用的深度网络架构、预训练目标以及评估模型性能的下游任务和常用数据集。在此基础上,对视觉语言模型的预训练方法进行了系统总结和分类,详细剖析了各类方法的优缺点。此外,本文还对基于视觉语言模型的迁移学习和知识蒸馏方法进行了深入探究。迁移学习使得预训练的视觉语言模型能够更好地适应不同的下游任务,提高模型的泛化能力;而知识蒸馏则通过从大型模型中提取知识来训练小型模型,实现模型的高效利用。最后,我们对所有讨论的方法进行了基准测试、分析和讨论,提出了当前研究中存在的挑战和未来可能的研究方向。
本综述中,来自新加坡南洋理工大学的几位研究者全面研究了针对视觉识别任务的大型视觉语言模型,总结了最近的发展。
首先,他们回顾了视觉识别的发展背景。接着介绍了视觉语言模型的基础知识,包括广泛采用的深度网络架构、预训练目标以及用于评估视觉语言模型的下游任务和常用数据集。在此基础上,对视觉语言模型的预训练方法进行了总结和分类。此外,还对基于视觉语言模型的迁移学习和知识蒸馏方法进行了系统分析。最后,对回顾的方法进行了基准测试、分析和讨论,并提出了多个研究挑战和未来视觉识别中可能的研究方向。本综述将持续关注针对视觉识别任务的最新视觉语言模型相关工作。
- 论文地址:https://arxiv.org/pdf/2304.00685.pdf
- 项目地址:https://github.com/jingyi0000/VLM_survey
综述动机
1. 视觉语言模型(如 CLIP)的出现显著简化了视觉识别任务的训练模式,减少了对昂贵的精细标注数据的依赖。近年来,大量相关文章证明了研究者对视觉语言模型的浓厚兴趣。
2. 目前缺乏全面的综述来梳理基于视觉语言模型的视觉识别研究,以及面临的挑战和未来的研究方向。
因此,研究者认为有必要对视觉语言模型在各种视觉识别任务中的研究进行系统总结,以填补这一空白。
综述特点
1. 系统性:本文从多个角度对基于视觉语言模型的视觉识别进行了系统总结,包括背景、基础、数据集、方法、基准测试和未来研究方向。
2. 全面性:本文全面总结了相关工作,包括视觉语言模型的预训练方法,以及视觉语言模型的迁移学习和知识蒸馏方法。
3. 详细分类:对于每个方法类别,本文进行了详细分类,总结类似方法的工作,并进行了对比分析。例如,对于视觉语言模型的预训练方法,本文将其分为基于对比学习、基于生成目标和基于对齐目标的三大类,并在每个类别下进一步细(图 1)。
图 1. 综述的分类总览。
- 基于对比学习的方法(Pre-Training with Contrastive Objectives):这类方法通过对比学习来训练模型,使其在特征空间中能够将配对的图像和文本拉近,同时将不相关的样本推远。根据对比学习的输入类型,我们又可以进一步细分为基于图像对比学习、基于图像-文本对比学习和基于图像-文本-标签对比学习的方法。
- 基于生成任务的方法(Pre-training with Generative Objectives):这类方法通过训练模型进行图像生成、文本生成或跨模态生成来学习语义特征。它们可以进一步细分为基于掩码图像建模、基于掩码语言建模、基于掩码跨模态建模和基于图像到文本生成的方法。
- 基于对齐目的的方法(VLM Pre-training with Alignment Objectives):这类方法旨在将图像和文本的特征进行匹配,包括全局的图像-文本匹配和局部的图像区域-单词匹配。
图 2. 常用的视觉语言模型预训练数据集总结。
视觉语言模型预训练方法的总结与对比
本文首先对视觉语言模型的预训练方法进行了总结和分类对比,分别为以对比学习为目的的方法、以生成任务为目的的方法和以对齐为目的的方法。
1. 基于对比学习的方法(Pre-Training with Contrastive Objectives)。对比目标通过在特征空间中将配对样本拉近并将其他样本推远来训练视觉语言模型学习具有识别力的特征。本章节根据对比学习的输入,进一步将方法细分为基于图像对比学习的方法,基于图像-文字对比学习的方法和基于图像-文字-标签对比学习的方法。
2. 基于生成任务的方法(Pre-training with Generative Objectives)。基于生成任务的方法通过训练网络进行图像生成、语言生成或跨模态生成来学习语义特征,进一步可细分为基于掩码图像建模的方法、基于掩码语言建模的方法、基于掩码跨模态建模的方法和基于图像到文本生成的方法。
3. 基于对齐目的的方法(VLM Pre-training with Alignment Objectives)。对齐任务目的是在将图像和文字的特征进行匹配,通常可以分为全局的图像-文字匹配和局部的图像区域-单词匹配。
视觉语言模型迁移方法的总结与对比
除了直接将预训练的视觉语言模型应用于下游任务的零样本预测之外,视觉语言模型的迁移学习同样吸引了大量的注意。迁移学习的目的是使得预训练过的视觉语言模型可以更好地适应下游任务。
视觉语言模型以其强大的视觉和文本概念理解能力,为复杂任务如目标检测和语义分割提供了新的解决思路。知识蒸馏作为一种有效的模型压缩和性能提升手段,在视觉语言模型的应用中发挥着关键作用。与视觉语言模型迁移方法不同,对视觉语言模型进行知识蒸馏的方法通常不受视觉语言模型架构的限制,并且大部分研究会利用当前最先进的检测或者分割架构的优势来达到更好的性能。在视觉语言模型的知识蒸馏方法中,本文根据应用场景的不同,将其分为两大类:开放词汇目标检测(Open-Vocabulary Object Detection)的知识蒸馏和开放词汇语义分割(Open-Vocabulary Semantic Segmentation)的知识蒸馏。
本文将视觉语言模型的迁移方法主要分为了三大类,分别为提示调整方法、特征适配器方法和其他方法。
1. 提示调整方法(Prompt Tuning)。受自然语言处理中「提示学习」的启发,提示学习方法也被探索并且用于视觉语言模型的迁移中,通过寻找最佳的 prompt,并且不需要微调全部视觉语言模型的参数来适应下游任务。目前的提示调整方法进一步可以被分为文本提示调整、视觉提示调整和文本-视觉提示调整三种方法。
2. 特征适配器方法(Feature Adapter)。特征适配通过额外的轻量级特征适配器对视觉语言模型进行微调,以适应下游任务的图像或文本特征。
3. 其他方法。除了提示调整方法和特征适配器方法,一些研究也通过其他方法对视觉语言模型进行迁移,比如进行对视觉语言模型直接进行微调、更改视觉语言模型的架构等。
视觉语言模型知识蒸馏方法的总结与对比
视觉语言模型可以提取到视觉和文本概念的通用知识,因此一些研究探索了如何提炼通用视觉语言知识,来处理复杂的密集预测任务,例如目标检测和语义分割。
与视觉语言模型迁移方法不同,对视觉语言模型进行知识蒸馏的方法通常不受视觉语言模型架构的限制,并且大部分研究会利用当前最先进的检测或者分割架构的优势来达到更好的性能。
本文根据任务的不同,将知识蒸馏方法分为了针对于开放词汇目标检测(open-vocabulary object detection)的知识蒸馏以及针对于开放词汇语义分割(open-vocabulary semantic segmentation)的知识蒸馏。
实验结果比较
本文分别对视觉语言模型的预训练方法、迁移方法和知识蒸馏方法在各自的评估任务上进行了比较,并且对结果进行了分析(图 3-5)。
图 3. 视觉语言模型预训练方法在图像分类任务中零样本预测的性能
图 4. 视觉语言模型迁移方法在图像分类任务中的预测性能
未来方向
最后,本文还分享了一些研究挑战和潜在的研究方向,可以在未来的视觉语言模型研究中进行探索。
对于视觉语言模型的预训练:
- 细粒度视觉语言关系建模:通过考虑局部的视觉语言相关性知识,视觉语言模型可以更好地识别图像的区域和像素点,特别对于密集预测任务如目标检测和语义分割,在各种视觉识别任务中起到重要作用。
- 统一视觉和语言学习的架构:Transformer 的出现使得图像和文字可以通过相同的方式进行学习,这使得可以采用统一的 Transformer 架构处理图像和文字。与现有采用两个独立网络的视觉语言模型相比,统一视觉和语言学习可以实现跨模态的有效交流,并有效提升预训练的效率。
- 多语言适应性的视觉语言模型预训练:目前大多数视觉语言模型仅使用单一语言进行预训练(如英语),限制了其在非英语地区的应用。通过采用多种语言文本进行预训练,可以学习不同语言下相同单词的文化视觉特征,从而使视觉语言模型能够在不同语言环境下高效且有效地工作。
图 5. 视觉语言模型知识蒸馏方法在目标检测上的性能。
对于视觉语言模型的迁移:
- 无监督的视觉语言模型迁移:目前的迁移研究大多采用监督或少样本监督学习,需要标记数据,而后者往往容易过拟合到少量样本上。无监督的迁移可以探索大量未标记的数据,并且降低过度拟合的风险。
- 使用视觉提示 / 适配器进行迁移:目前的迁移研究主要集中在文本提示学习上。视觉提示学习或视觉适配器可以作为文本提示的补充,在各种密集预测任务中实现像素级的适应,从而获得更好的效果。
对于视觉语言模型的知识蒸馏,可以从两个方面进行进一步探索。第一,可以同时对多个视觉语言模型进行知识蒸馏,通过协调多个视觉语言模型的知识蒸馏来获得更好的效果。第二,可以将知识蒸馏应用于其他视觉识别任务,例如实例分割、全景分割、行人重新识别等,以进一步扩展知识蒸馏的应用领域。
#OpenSeeD
该工作既可以做经典的instance, semantic, panoptic segmentation,又可以分割出从未见过的物体类别,还可以基于检测框分割出从未见过的物体并给出正确的类别。基于box prompts分割一切
https://github.com/IDEA-Research/OpenSeeD
论文链接:https://arxiv.org/pdf/2303.08131.pdf
图中是我们模型的输出效果,我们既可以做经典的instance, semantic, panoptic segmentation,又可以分割出从未见过的物体类别,还可以基于检测框分割出从未见过的物体并给出正确的类别,这种基于box prompts分割一切的能力我们是第一个做到的,早于SAM。
OpenSeeD是一个简单而有效的开放词表图像分割的框架,也可以理解为MaskDINO扩展到开放词表的版本。除此以外,为了扩展语义的丰富程度,我们引入O365(365类)检测数据和COCO分割(133类)一起训练(不同于MaskDINO使用O365预训练)。为了能使两个任务和词表兼容,我们解决了data gap以及task gap。最终,我们的方法在多个开放词表任务上取得了与当前sota方法x-decoder comparable甚至更好的效果,相比x-decoder用了4M人工标注的image captioning数据,我们用了0.57M的detection数据,另外我们发现,即使只用5k的o365数据也可以在开放词表任务上达到类似的效果。这说明我们的模型需要的是丰富的视觉概念(类别数),而不一定是很大的数据量。
如图2所示,过去已经有不少工作结合大量的图像文本对实现开词表检测或者分割,而我们应该是第一个把物体检测数据和全景分割数据结合在一起联合训练的工作,并且证明是可行有效的,算是填补了这块空白。
下图是模型的overview,左半部分做的是generic segmentation,为了解决task gap(O365只有前景,而COCO有前景和背景),我们把前景和背景的预测解耦开,右半部分是conditional prediction部分,可以通过GT box预测mask,为了解决data gap,我们可以通过右半部分为O365打标签。
以下是我们的实验结果,我们用较少的检测数据(相比于其他sota方法),在多个zeroshot分割任务上达到或超越了sota方法X-Decoder,GLIPv2等,尤其在SeginW任务(大量没见过的类别)上取得了远超X-Decoder的效果。
除此以外,当我们fintune到其他数据集时,都取得了远超baseline的性能,在COCO和ADE20K的全景分割以及ADE20K和Cityscapes的实例分割上取得了SOTA的表现。
总结一下,OpenSeeD作为一个强大的open-set segmentation方法,可以分割出大量从未见过的物体,在各项open-seth和close-set指标上都取得了SOTA。而且通过引入O365检测任务来提升open-set语义能力,训练代价相对其他open-set方法较小。