我自己的原文哦~ https://blog.51cto.com/whaosoft/11501747
#Hydra-MDP
Navsim冠军方案|告别单一轨迹,Hydra-MDP引领端到端自动驾驶规划新航向
本文利用来自人类和基于规则的教师的知识蒸馏来训练学生模型,从而学习在各种闭环评估指标下模型应如何决策。凭借基于规则的教师的知识,Hydra-MDP能够学习环境如何以端到端的方式影响规划。该方法在今年的CVPR Navsim挑战赛中获得第一名
Github:
https://github.com/NVlabs/Hydra-MDP
NVIDIA博客:
https://blogs.nvidia.com/blog/auto-research-cvpr-2024/
导读:
端到端规划(End-to-end planning)被认为是实现自动驾驶的一个极富前景的方向。但最近的研究表明该类方法与所采用的数据集本身存在种种问题。在我们的Hydra-MDP中,我们利用来自人类和基于规则的教师的知识蒸馏来训练学生模型,从而学习在各种闭环评估指标下模型应如何决策。凭借基于规则的教师的知识,Hydra-MDP能够学习环境如何以端到端的方式影响规划。该方法在今年的CVPR Navsim挑战赛中获得第一名,展示了在不同驾驶环境和条件下的优异表现。本次介绍分为三部分:NAVSIM挑战赛背景、Hydra-MDP框架以及实验与分析。
01 NAVSIM挑战赛背景
NAVSIM挑战赛(大规模端到端自动驾驶,End-to-end Driving at Scale)是今年CVPR 2024 Autonomous Grand Challenge中举办的一项新比赛,比赛的目标在于评估端到端自动驾驶模型的性能。在先前的端到端自动驾驶数据集中,研究者或是采用了模拟器进行闭环的驾驶评估,或是在真实数据中进行开环的评测。前者往往因为巨大的计算开销而在可扩展性上受限,同时驾驶场景难以体现真实世界的多样性;后者则采用了开环的指标评测模型,但无法真正反映端到端模型的驾驶安全性。结合以上两点,此次比赛所使用的NAVSIM数据集采用了现实世界真实数据,并且在评测时使用了模拟器来计算车辆的行驶路线是否安全可靠,有效地提升了开环指标的可靠性。
在这次的比赛中,一共有143个团队参与,我们英伟达团队的Hydra-MDP方案在这些方案中脱颖而出,获得了比赛的第一名与创新奖。
02 Hydra-MDP框架
在介绍Hydra-MDP框架之前,我们先来回顾之前的模型范式并对它们的问题进行总结,以此来说明为什么需要一个新的范式。随后Hydra-MDP具体的模型架构展开介绍。
2.1 端到端范式
如上图,先前的端到端模型主要分为两种范式:
单模式规划+单目标学习(UniAD、VAD、Transfuser、……):
在这一类范式中,模型会有感知、规划等神经网络模块,最后的规划模块一般会使用一个回归头预测一条轨迹。
多模式规划+单目标学习(VADv2、QuAD、……):
相比于第一种范式,第二种范式会在模型中预测多条轨迹,并通过一些后处理的方式从中筛选出最佳轨迹,以此解决规划时的不确定性问题。
这两种范式都使用了唯一的轨迹回放作为正样本进行训练,因此模型从每一个样本中所学习到有关规划的知识是有限的。其次,第二种范式一般会使用一些打分策略对各个轨迹进行打分,并根据分数挑选出最好的轨迹。打分的过程一般会依赖于模型的感知预测,例如轨迹是否会模型所预测到的其他车辆发生碰撞,因此这个过程往往是难以进行端到端学习的,同时如果模型的感知性能不佳,也会影响到后续的规划性能。
为了应对这些问题,我们提出了第三种范式:多模式规划+多目标学习。
我们不仅将轨迹回放作为训练中的正样本,同时引入模拟器来生成多条符合当前场景的正样本轨迹。由于模拟器使用的是感知的真值标注,因此这个过程并不会由于模型的错误预测而损失信息。同时我们将感知真值以一种端到端可学习的方式运用到规划的训练中。
2.2 模型架构
上图是Hydra-MDP的模型结构,总共分为三个部分:
感知网络
Hydra-MDP的感知网络使用了NAVSIM挑战赛所提供的Transfuser模型,该模型会接受LiDAR点云以及三张前视图作为输入。通过一系列Transformer模块进行多模态信息的融合,生成后续规划中会使用到的token。
轨迹解码器
这里我们使用到了VADv2所提出的轨迹“词表”的概念。首先我们会从一个更大的数据集中使用聚类算法采样出4096、8192条轨迹。通过这个离散的词表,我们能够将轨迹规划,也就是一个在连续空间的回归问题离散化,转为对这些轨迹的分类。在训练中我们会使用人类专家的回放轨迹进行监督,并使用轨迹之间的距离来计算损失函数:
多目标、多头蒸馏模块
这个模块的作用是给模型的规划引入更多的正样本,让模型从感知真值所包含的信息去学习如何规划。这个模块在训练时主要进行两个步骤:
使用基于规则的模拟器、感知真值对轨迹词表中的每条轨迹进行模拟,生成一系列基于规则的“教师”轨迹。这些轨迹和先前的回放轨迹共同作为训练过程中的正样本。
我们会使用一组多头MLP去拟合每一个基于规则的“教师”轨迹。
由于模型无法完美地拟合每一个教师轨迹(人类教师or基于规则的教师),在模型推理过程中,我们会对各个MLP的头部网络的输出进行加权处理,来挑选出最好的轨迹:
2.3 多目标、多头蒸馏的优势
上图进一步说明了教师轨迹生成的过程:给定一系列的3D物体检测标注与地图信息,我们能够通过基于规则的模拟器来对轨迹词表中的候选轨迹进行模拟,来区分不同指标下哪些轨迹是安全合适的,哪些是违反交通规则的。使用多目标、多头蒸馏能为规划带来以下的优势:
- Hydra-MDP并不依赖于模型的感知预测进行后处理,而是在训练过程中直接使用感知的真值来引导模型的轨迹规划。
- 这种方式能够使感知真值以一种端到端可训练的方式让模型学习到面对不同的场景时该如何进行规划。
- 通过引入这种多目标、多头的蒸馏,我们能在模型的训练过程中为整个轨迹词表带来充分的监督。
03 实验与分析
最后,我们通过实验以及可视化来说明Hydra-MDP方案的有效性。
3.1 实验结果
消融实验
在上表中,我们首先使用了NAVSIM比赛所提供Transfuser作为基线模型进行比较,Transfuser使用了较小的骨干网络(ResNet-34)对图像信息进行编码。在实验过程中,我们有以下几个发现:
1.更大的轨迹词表会产生更好的规划性能。
2.如果我们将整个PDM Score作为模型学习的目标,模型的性能会反而下降,因此说明多目标学习的必要性。
3.如果引入一个新的学习目标(如Ego Progress),那么模型可以在对应指标上有更好的性能。这说明了我们方法的可扩展性,通过引入新的规则教师,Hydra-MDP能在新的规则上表现更出色。
4.Hydra-MDP最终能够在PDM Score上超越基线模型8.5分,大大提升了规划的性能。
模型的可扩展性
相比于前一张表格,该表中的模型使用了更大的骨干网络进行实验。先前的一些工作(如UniAD)在使用更大的骨干网络时,对规划性能的提升比较有限。这里我们将感知网络中的ResNet-34扩大为ViT-L、V2-99这类更大规模的网络时,可以看到较为显著的性能提升。
3.2 可视化
为了更好观察模型在种种驾驶情况下的表现,我们对Hydra-MDP做了一些可视化的分析供大家参考:
理解地图结构
面对长尾物体时的超车
应对驾驶员意图的不确定性
04 总结
在这次的NAVSIM挑战赛中,我们提出了Hydra-MDP框架。这个框架是一种通用的端到端规划范式,能使模型以一种可扩展的方式从人类专家和基于规则的教师模型中学习和规划有关的知识。同时,Hydra-MDP在NAVSIM数据集上达到了最先进的规划性能。
#离散视觉tokenizer
本文讨论了不同类型的tokenizer(分词器)在处理图像和文本数据时的应用和挑战。
离散视觉tokenizer(Discrete Visual Tokenizers)对于原生多模态大模型的重要性体现在以下几个关键方面:
- 统一表示:视觉tokenizer能够将图像数据转换成离散的视觉token,这些token与文本token在形式上保持一致,从而允许图像和文本共享同一个表示空间。这种统一使得模型能够跨越模态理解信息,提高了多模态数据处理的效率和效果。
- 高效的信息编码与解码:通过将高维图像数据降维成少量关键视觉token,视觉tokenizer有效减少了计算复杂度,使得模型能够更高效地处理和理解图像内容。这些token携带图像的核心特征,使得模型在生成和理解图像时能够更加精准和高效。
- 增强模型的泛化能力:原生多模态大模型利用视觉tokenizer在大量多模态数据上进行预训练,学习到了跨模态的共性和差异,提高了模型的泛化能力。在处理未见过的数据或新任务时,模型能够更好地理解和生成跨模态内容。
- 促进零样本和少样本学习:如快手和北京大学合作的LaVIT项目所示,优秀的视觉tokenizer使得模型在没有或只有少量样本的情况下,也能完成图像生成等任务。这意味着模型能够基于已有的知识进行灵活的泛化,减少对大量标注数据的依赖。
- 推动技术创新和应用发展:离散视觉tokenizer的引入,为图像生成、图像编辑、视觉问答、跨模态检索等领域的技术创新提供了新的路径。它不仅推动了AI在创意产业、教育、医疗等领域的应用,还促进了人机交互的新模式,如更加自然和直观的用户界面设计。
- 模型性能超越:如谷歌和CMU的研究显示,通过采用高质量的视觉tokenizer,语言模型在图像生成任务上的表现首次超越了扩散模型,这证明了视觉tokenizer在提升模型性能方面的重要作用。
综上所述,离散视觉tokenizer是原生多模态大模型能够跨越模态界限,实现高效、灵活且强大的多模态理解和生成能力的核心组件,对于推动人工智能技术进入更广泛的实用化阶段具有不可替代的价值。
Chameleon
https://arxiv.org/pdf/2405.09818
大家好我是爱因:原生的多模态大模型Chameleon:一种早期融合的token-based多模态基础模型(https://zhuanlan.zhihu.com/p/699279666?utm_id=0)
在Chameleon中,对于视觉tokenizer的描述,是这样描述的。
图像分词:我们根据 Gafni 等人(2022)的研究(即论文Make-a-scene),训练了一个新的图像分词器,它能够将512×512尺寸的图像编码成从一个8192大小的码本中选取的1024个离散token。为了训练此分词器,我们仅采用授权图像。考虑到生成逼真人脸的重要性,我们在预训练阶段将含有人脸的图像比例提高了2倍。我们分词器的一个核心缺陷在于重构含有大量文本的图像,这在执行与OCR相关的繁重任务时,限制了我们模型的能力。
文本分词器:我们利用sentencepiece库(Kudo和Richardson,2018)针对下文概述的训练数据子集,训练了一个新的BPE分词器(Sennrich等人,2016),其词汇表规模为65,536,该词汇表包含了来自8192个图像码本的token。
Make-A-Scene
Make-A-Scene: Scene-Based Text-to-Image Generation with Human Priorsarxiv.org/pdf/2203.13131
在Make-A-Scene论文中,对于视觉tokenizer的描述,是这样描述的。
图像分词
基于离散表示的图像生成模型遵循两阶段训练方案。首先,训练一个图像分词器以提取离散的图像表示。在第二阶段,生成模型在离散的潜在空间中生成图像。
- 受向量量化(VQ)技术启发,VQ-VAE 通过在线聚类学习提取离散的潜在表示。
- VQ-VAE-2 提出了一种分层架构,该架构由在多个尺度上操作的VQ-VAE模型组成,相比像素空间生成,实现了更快的生成速度。
- DALL-E 文本到图像模型采用了dVAE,利用gumbel-softmax [26, 39]放松了VQ-VAE的在线聚类。
- VQGAN 在VQ-VAE重建任务的基础上加入了对抗性损失和感知损失 ,生成了质量更高的重建图像。
- 在我们的工作中,我们通过向特定图像区域(如人脸和显著对象)添加感知损失来修改VQGAN框架,这进一步提高了生成图像的保真度。
VQ-
VAE
https://arxiv.org/pdf/1711.00937
[论文简析]VQ-VAE:Neural discrete representation learning[1711.00937](https://www.bilibili.com/video/BV1bb4y1i7j6/)
与我们的方法最相关的或许是变分自编码器(VAEs)。VAEs包含以下组成部分:一个编码器网络,它根据输入数据x参数化离散潜在随机变量z的后验分布q(z|x);一个先验分布p(z);以及一个对输入数据具有p(x|z)分布的解码器。
通常情况下,VAEs中的后验和先验假设为具有对角协方差的正态分布,这允许采用高斯重参数化技巧。扩展内容包括自回归的先验和后验模型、正规化流,以及逆自回归的后验[22]。
在本工作中,我们引入了VQ-VAE,其中我们使用离散的潜在变量,并借鉴了向量量化(VQ)的新训练方式。这里的后验和先验分布是分类分布,从这些分布中抽取的样本索引了一个嵌入表。这些嵌入随后被用作解码器网络的输入。
左边:描绘VQ-VAE的示意图。右边:嵌入空间的可视化。编码器输出z(x)被映射到最近的点e2。梯度∇zL(以红色显示)将促使编码器改变其输出,这可能在下一次正向传播中改变配置。
图像中包含大量冗余信息,因为大多数像素都是相互关联且含有噪声的,因此在像素级别学习模型可能会比较低效。
在这个实验中,我们展示可以通过一个纯粹的反卷积过程p(x|z),将128×128×3尺寸的图像压缩到z = 32×32×1的离散空间(其中K=512),从而实现压缩。这一压缩大约减少了128×128×3×8 / 32×32×9 ≈ 42.6倍。我们通过学习一个强大的先验(PixelCNN)覆盖z来对图像建模。这不仅极大地加速了训练和采样的速度,而且还利用了PixelCNN的能力来捕捉图像的全局结构,而非低层次的统计特性。
注意,上面计算压缩比时,分子中的8指的是图像是用8位二进制表示的,离散空间的K是512(K可以理解为词表大小),512是2的9次方,分母中的9就是这么来的。视觉token的数量32x32=1024,因此一张图会被转换为1024个离散的token。
左侧:ImageNet中的128x128x3尺寸图像,右侧:通过使用K=512的32x32x1潜空间的VQ-VAE重建的图像。
VQ-VAE 2
Generating Diverse High-Fidelity Images with VQ-VAE-2(https://arxiv.org/pdf/1906.00446)
我们探究了使用向量量化变分自编码器(VQ-VAE)模型进行大规模图像生成的可能性。为此,我们对VQ-VAE中使用的自回归先验进行了扩展和增强,从而生成比以往更高连贯性和保真度的合成样本。我们采用了简单的前馈编码器和解码器网络,使得我们的模型成为那些对编码和/或解码速度有严格要求的应用场景下的有力候选者。此外,VQ-VAE仅需在压缩的潜在空间中对自回归模型进行采样,这一过程比在像素空间中采样快一个数量级,特别是在处理大图像时。我们证明了通过多层次分级组织的VQ-VAE,并结合对潜在代码的强大先验知识,能够在诸如ImageNet这样的多面向数据集上生成质量可与当前最先进的生成对抗网络(GANs)相媲美的样本,同时避免了GAN已知的问题,比如模式坍塌和多样性缺失。
所提出的方法遵循两阶段的方法:首先,我们训练一个分层的VQ-VAE(见图2a),将图像编码到一个离散的潜在空间上;接着,我们在由所有数据诱导出的离散潜在空间上拟合一个强大的PixelCNN先验模型。
VQ-VAE 2的架构
来自一个具有三层潜在映射的分层VQ-VAE的重建图像(顶部、中间、底部)。最右侧的图像是原始图像。每个潜在映射都为重建图像增添了额外的细节。这些潜在映射相对于原始图像分别大约缩小了3072倍、768倍、192倍。
dVAE
DVAE#: Discrete Variational Autoencoders with Relaxed Boltzmann Priors(https://arxiv.org/pdf/1805.07445)
dVAE & VQ-VAE(https://www.bilibili.com/video/BV1bv4y1S7Rq/)
玻尔兹曼机是强大的概率模型,已被证实作为变分自编码器(VAEs)中二进制潜在变量的有效先验。然而,以往训练离散VAEs的方法采用了证据下界(ELBO),而非更紧致的重要权重下界。我们提出了两种放松玻尔兹曼机至连续分布的方法,从而允许采用重要性加权下界进行训练。这两种放松方式分别基于广义重叠变换和高斯积分技巧。在MNIST和OMNIGLOT数据集上的实验表明,这些放松方法的表现超越了以往采用玻尔兹曼先验的离散VAEs。复现这些结果的实现代码可于https://github.com/QuadrantAI/dvae 获取。
VQ-GAN
Taming Transformers for High-Resolution Image Synthesis(https://arxiv.org/pdf/2012.09841)
设计用于学习序列数据上的长程交互,Transformer继续在各种任务上展现出最先进的成果。与CNNs不同,它们不包含优先考虑局部交互的归纳偏见。这使得它们具有表达力,但对于长序列,如高分辨率图像,计算上不可行。我们展示了如何将CNNs的归纳偏见的有效性与Transformer的表达力结合起来,使它们能够建模并因此合成高分辨率图像。我们展示了如何(i)使用CNNs学习图像成分的丰富上下文词汇,并反过来(ii)利用Transformer高效地建模它们在高分辨率图像中的组合。我们的方法很容易应用于条件合成任务,其中非空间信息,如图像类别,和空间信息,如图像分割,都可以控制生成的图像。特别是,我们展示了使用Transformer进行语义引导的百万像素图像合成的首个结果,并在基于类别的ImageNet上获得了自回归模型中的最新成果。代码和预训练模型可在https://git.io/JnyvK找到。
图2。我们的方法使用卷积VQGAN学习一个上下文丰富的视觉部分的编码本,其组合随后被自回归Transformer架构建模。一个离散的编码本提供了这些架构之间的接口,基于patch的判别器能够在保持高感知质量的同时实现强压缩。这种方法将卷积方法的效率引入到基于Transformer的高分辨率图像合成中。
DALL-E
Zero-Shot Text-to-Image Generation(https://arxiv.org/pdf/2102.12092)
文本到图像生成传统上专注于为在固定数据集上训练找到更好的建模假设。这些假设可能涉及复杂的架构、辅助损失或在训练期间提供的辅助信息,如对象部分标签或分割掩码。我们描述了一种基于Transformer的简单方法,该Transformer自回归地建模文本和图像tokens作为单一数据流。有了足够的数据和规模,我们的方法在与之前的特定领域模型进行零样本评估时具有竞争力。
我们通过采用与(Oord等人,2017年;Razavi等人,2019年)类似的两阶段训练程序来解决这些问题:
阶段1。我们训练一个离散变分自编码器(dVAE)来将每张256×256的RGB图像压缩成一个32×32的图像token网格,网格中的每个元素可以取8192种可能的值。这将transformer的上下文大小减少了192倍,同时视觉质量没有大幅下降(见图1)。
• 阶段2。我们将最多256个BPE编码的文本token与32×32=1024的图像token拼接起来,并训练一个自回归transformer来对文本令牌和图像令牌的联合分布进行建模。
原始图像(顶部)和离散VAE的重构(底部)的比较。编码器将空间分辨率降低8倍。虽然细节(例如,猫的毛发的纹理、店面的文字和插图中的细线)有时会丢失或扭曲,但图像的主要特征通常仍然可以识别。我们使用8192的大词汇表大小来减轻信息丢失。
BEIT
BEIT: BERT Pre-Training of Image Transformers(https://arxiv.org/pdf/2106.08254)
AI论文精读之BEIT(https://www.bilibili.com/video/BV1G24y1G7vA/)
我们介绍了一个自监督视觉表示模型BEIT,它代表来自图像Transformer的双向编码器表示。遵循自然语言处理领域开发的BERT,我们提出了一个掩码图像建模任务来预训练视觉Transformer。具体来说,我们的预训练中每张图像有两个视角,即图像块(例如16×16像素)和视觉tokens(即离散tokens)。我们首先将原始图像“分词”成视觉tokens。然后我们随机遮罩一些图像块并将其输入到骨干Transformer中。预训练的目标是基于损坏的图像块恢复原始视觉tokens。预训练BEIT后,我们通过在预训练编码器上附加任务层直接微调模型参数。在图像分类和语义分割上的实验结果显示,我们的模型与之前的预训练方法取得了竞争力的结果。
BEIT预训练的概述。在预训练之前,我们通过自动编码风格的重建学习一个“图像分词器”,其中图像根据学习的词汇表被分词成离散的视觉tokens。在预训练期间,每张图像有两个视角,即图像块和视觉tokens。我们随机遮罩一定比例的图像块(图中的灰色块),并将它们替换为特殊的掩码嵌入[M]。然后这些块被输
与自然语言类似,我们将图像表示为由“图像分词器”获得的离散tokens序列,而不是原始像素。具体来说,我们将图像x 分词成z,其中词汇表V = {1, . . . , |V|}包含离散token索引。
遵循[RPG+21,即DALL-E],我们使用由离散变分自编码器(dVAE)学习的图像分词器。在视觉token学习期间有两个模块,即分词器和解码器。分词器根据视觉词典(即词汇表)将图像像素x映射成离散tokens z。解码器学习基于视觉tokens z重构输入图像x。因为潜在的视觉tokens是离散的,模型训练是非微分的。采用Gumbel-softmax松弛[JGP17, MMT17]来训练模型参数。此外,在dVAE训练期间,对qφ施加了一个均匀先验。更多关于图像分词器的训练细节,请参考[RPG+21]。
我们将每张图像分词成14 × 14的视觉tokens网格。注意,对于一张图像,视觉tokens的数量和图像块的数量是相同的。词汇表大小设置为|V| = 8192。在我们的工作中,我们直接使用了[RPG+21]中描述的公开可用的图像分词器。我们还在附录C中将其与重新实现的分词器进行了比较。
为了对比,我们在ImageNet-1K上重新训练了图像分词器。这一重实现基https://github.com/lucidrains/DALLE-pytorch。我们采用了与DALL-E [RPG+21]相同的代码本大小8K。随后,我们将该分词器嵌入到我们的预训练流程中。在进行消融实验时,我们遵循了第3.3节中的相同实验设置。表8显示,我们重新实现的分词器在重建损失和针对ImageNet微调性能上,与现成的DALL-E分词器相当。
在预训练期间使用不同的图像分词器在ImageNet-1K上的Top-1准确率。对于图像重构,我们报告归一化RGB值的平均绝对误差。重新实现的图像分词器在ImageNet-1K上训练,没有使用标签。
#半监督目标检测相关方法总结
本文结合相关论文介绍了一些半监督目标检测算法,即如何利用大量的 unlabeled data 提升模型的检测性能。
什么是半监督目标检测?
传统机器学习根据训练数据集中的标注情况,有着不同的场景,主要包括:监督学习、弱监督学习、弱半监督学习、半监督学习。由于目标检测任务的特殊性,在介绍半监督目标检测方法之前,我们查看一下目标检测在这四个方向下的具体设定,如下图所示(不包括无监督学习):
图一 目标检测的不同的 setting
总而言之,我们可以讲目标检测的 setting 分为四个部分:
- 有监督目标检测: 拥有大规模带标签的数据,包括完整的实例级别的标注,即包含坐标和类别信息;
- 弱监督目标检测: 数据集中的标注仅包含类别信息,不包含坐标信息,如图一 b 所示;
- 弱半监督目标检测: 数据集中拥有部分实例级别的标注,大量弱标注数据,模型希望利用大规模的弱标注数据提升模型的检测能力;
- 半监督目标检测: 数据集中拥有部分实例级别的标注,大量未标注数据,模型希望利用大规模的无标注的数据提升模型的检测能力;
半监督目标检测方法的核心在于,如何充分利用大量未标注、多样性的数据提升模型在测试集上的性能,目前的半监督目标检测方法主要有两个方向:
- 一致性学习(Consistency based Learning)
- 伪标签(Pseudo-label based Learning)
前者利用两个深度卷积神经网络学习同一张 unlabeled 图像不同扰动(比如水平翻转,不同的对比度,亮度等)之间的一致性,充分利用 unlabeled data的信息。后者利用在 labeled data 上学习的预训练模型对 unlabeled data 进行推理,经过 NMS 后减少大量冗余框后,利用一个阈值去挑选伪标签,最后利用伪标签训练模型。个人认为这两种方法没有本质的区别,本身都是伪标签技术,一致性学习可以认为是一种 soft pseudo label,而后者是一种 hard pseudo label。
接下来我讲介绍几篇近期半监督目标检测文章,主要发表在 ICLR, NeurIPS, CVPR等会议。
Consistency-based Semi-supervised Learning for Object Detection, NeurIPS 19
CSD 这篇文章是比较早期的半监督目标检测方法,非常简单,该文章提出了一个 Consistency-based 半监督目标检测算法,可以同时在单阶段和双阶段检测器上工作。
图二 CSD 半监督目标检测算法结构图
CSD 的结构如图二所示,以单阶段目标检测器为例,训练的损失函数主要包括两个部分,labeled sample 的监督损失和 unlabeled samples 的 Consistency loss。针对 unlabeled samples,首先将图像水平翻转,然后分别送入网络当中,得到对应的 Feature map,由于两张翻转的图像的空间位置是可以一一对应的,因此可以在对应的位置计算一致性损失。分类部分,利用 JS 散度作为 consistency loss;定位部分,利用 L2 loss 作为 consistency loss。
双阶段检测器的部分与单阶段检测器类似,差别主要在于 RPN(Region Proposal Network) 对于不同的输入可能产生不同的 proposals,因此在计算 consistency loss 时无法一一对应。解决此问题也很简单,两张图像使用同一个 RPN 生成同一组 RoI (Region of Interest) 来提取特征得到 proposals。
作者还提出了一个 Background elimination 方法来消除大量背景部分的损失主导训练过程的问题,因此作者定义了一个 mask 来过滤大量的背景样本:
其中,当该实例的类别不等于背景类时等于1,否则为 0。
A Simple Semi-Supervised Learning Framework for Object Detection
STAC 提出了一个基于 hard pseudo label 的半监督目标检测算法,如图三所示,该方法包含四个步骤:
- 首先利用 labeled data 训练一个 Teacher 模型;
- 生成 pseudo label, 将 unlabeled data 输入进 Teacher 网络中,得到大量的目标框预测结果,利用 NMS 消除大量的冗余框,最后使用阈值来挑选高置信度的 pseudo label;
- 应用 strong data augmentation。得到 pseudo label 后与 unlabeled image 图像相结合,包括图像级别的颜色抖动、geometric transformation(平移、旋转、剪切)、box-level transformation(小幅度的平移、旋转、剪切);
- 计算无监督 loss (pseudo label)和监督学习 loss;
图三 STAC 半监督目标检测算法示意图
Instant-Teaching: An End-to-End Semi-Supervised Object Detection Framework
Instant-Teaching 主要的 motivation 在于 STAC 仅生成一次的 pseudo label,即离线生成,在训练的过程中不会更新。这样的模式存在一个问题是,当训练的模型精度逐步提升,超过原本的模型,继续使用原来模型生成的 pseudo label 会限制模型精度进一步提升。因此作者提出 Instant-Teaching,以及 Instant-Teaching*。
图四 Instant-Teaching 和 Instant-Teaching* 示意图
Instant-Teaching 采用即时生成 pseudo label 的模式,在每一个迭代中,包括两个步骤:
- 生成 pseudo label: 对 unlabeled image 进行 weak augmentation,送入模型中得到 hard label;
- 利用生成的 pseudo label 进行 strong augmentation,除了 在 STAC 中的数据增强,还包括了 Mixup 和 Mosaic,利用增强后的数据训练模型;
Instant-Teaching 主要提出了一个 co-rectify scheme 来解决 pseudo label 的 confirmation bias 的问题(噪声 pseudo label 的错误累计效应)。因此,作者利用两个模型,给予不同的初始化参数,输入不同的数据增强的样本,分别彼此纠正和检测对方生成的 pseudo label,形式如图四右半部分。
Data-Uncertainty Guided Multi-Phase Learning for Semi-Supervised Object Detection
这篇工作提出一个多阶段的学习半监督目标检测学习算法,前面的方法基本在伪标签生成后,直接拟合生成的伪标签,这样将会引发 label noise overfitting 问题,即由于深度网络较强的拟合能力,即时错误的标签模型也能够拟合。因此作者利用图像级别 uncertainty 来进行多阶段学习,思想类似于课程学习(curriculum learning),先学习 easy 样本再学习 difficult data。具体来说,作者利用 RPN 出来的 proposal 的平均分数作为 uncertainty 的指标。平均分数越高,uncertainty 越小,视为 easy sample,反之为 difficult sample。
图五 DUGMPL示意图
在区域级别,作者提出 RoI 的 re-weighting 操作,作者从 Soft sampling for robust object detection 得到启示,对于具有噪声的数据(伪标签),在训练时,不同的 RoI 应该给予不同的权重,作者提出了几个的简单但有效的策略来解决这个问题,受限于篇幅,这里不再具体介绍,感兴趣可以去阅读原文的 Section 3.3.2.
Unbiased Teacher for Semi-Supervised Object Detection
这篇文章发表在 ICLR 2021, 主要思想还是说现在的半监督目标检测算法生成的标签具有 bias,这里作者主要 argue 的点在于目标检测中存在天然的类别不平衡问题,包括 RPN 前景和背景的分类,ROIHead 的多类别分类,因此作者提出了一个 Unbiased Teacher 方法,来解决此问题。
图六 Unbiased Teacher 示意图
从方法上来说,非常的简单,首先是 Burn-IN stage,即在 labeled data 上训练一个预训练模型,然后利用 Mean Teacher 的结构,Teacher 生成 Pseudo label 来同时监督 RPN 和 ROIHead。不同的点在于,作者只利用 pseudo label 更新 RPN 和 ROIHead 的 classification 分支,主要原因在于由 confidence score 生成的 pseudo label 与 bounding box 位置的质量关系不大。除此之外,作者将原本的 cross entropy loss 替换为 Focal loss 来解决 pseudo label bias 问题,即 class imbalance 。
Interactive Self-Training with Mean Teachers for Semi-supervised Object Detection
这篇文章揭示了之前利用 pseudo label 的方法忽略了同一张图片在不同的迭代的检测结果之间的差异性,而且不同的模型对同一张图像的检测结果也有差异。
图七 不同迭代的模型对同一张图像的预测结果(a)(b),不同 ROIHead 的检测结果
因此作者提出一个基于 Mean Teacher 的 Interactive form of self-training 的半监督目标检测算法:
- 解决不同训练迭代检测结果的不稳定问题,作者使用 NMS 将不同迭代的检测结果进行融合。
- 同时利用两个检测头部 ROIHead 生成 pseudo label,两个检测头部可以相互提供有用的互补信息。
图八 Interactive Self-Training 的算法步骤
IST 算法的主要步骤如图八所示:
- 使用 labeled data 训练一个拥有两个 ROIHead 的预训练模型
- 利用预训练模型生成两个对应的伪标签
- 利用 labeled data 和 unlabeled data 进行监督学习,图八中 Pseudo Labels Memory 用来使用 NMS 融合不同迭代的检测结果。该步骤详情如图九所示,利用 Mean Teacher 的结构,teacher 生成 pseudo label 并与 Memory 中的 pseudo label 进行融合,并更新 Memory。作者使用 Dropblock 模块确保不同的 ROIHead 能够独立收敛,并提供互补的信息,即图九中的 D。
图九 Illustration of interactive self-training with mean teachers.
总结
本文介绍了一些半监督目标检测算法,即如何利用大量的 unlabeled data 提升模型的检测性能,当前主要的方法包含 consistency based 以及 pseudo label based 两类。consistency based 方法主要学习模型在 unlabeled data 上的一致性,pseudo label 则利用在 unlabeled data 上生成 pseudo label 进而监督模型训练,主要的方向即为如何生成高质量的伪标签以及模型如何对抗在 unlabeled data 上的 noise label。本文介绍了的半监督目标检测方法不多,关于方法的介绍较为笼统,如有谬误,烦请指正,其中细节,还需仔细阅读文章,欢迎讨论。
#国外小哥狂刷吴恩达LeCun,教你18个月转行
人到中年,想半路出家转行成机器学习工程师,可行吗?最近,这位成功转行的国外小哥用一篇干货满满的硬核博客告诉我们:完全可以!
转行成为一名机器学习工程师,可行吗?
国外一位成功转行的Max Mynter告诉我们——完全可以!
收到了多条X私信后,他决定把自己的成功经验写下来。
他强调说:我不是Karpathy,但我可以算一名扎实的中级机器学习工程师。
他是通过刻意的努力,才成为一名工程师的。而且,就是在最近,他刚刚从业余爱好者转成了一名专业人士。
以前,Mynter从事的是社会学和物理学
因此,他写下来这篇博文,希望为有类似愿望的人们提供可行的路线图和资源,从而为职业生涯奠定基础。
什么是机器学习工程师?
在开始,Mynter给我们提了一个问题:什么是机器学习工程师?
因为机器学习以及相关职位名称及其混乱,Mynter特意和人合写了一份34页的白皮书。
在指南中,机器学习工程师指的是在组织中工作,并使用机器学习来解决业务案例的人,这就意味着创建、改进产品,或让组织更高效地工作。
注意,机器学习研究人员与之不同。他们强调的是在科研中开发新颖的方法,但并不需要解决眼前的业务需求。
机器学习工程师的必备技能
机器学习工程是一个跨学科的职业,我们需要掌握软件工程、数据科学和数学等不同领域的技能,以及应用领域的一些知识。
软件工程
当然,一个合格的机器学习工程师必须会写代码,但最重要的是,你需要是一位有能力的软件工程师。原因如下——
首先,由于机器学习是在数据中发现模式,因此机器学习工程师必须能够处理足够数量的数据。通常这意味着数据量超出了手动处理的量。
其次,由于机器学习工程师的绩效是通过业务反映的,因此这个岗位就需要能部署模型,并且将其集成到更大的产品环境中。
可以说,如果没有为用户提供任服务,那一个工程师的工作就是失败的。
最后,如果了解计算机的内部工作原理,以及构建定制工具的能力,你的开发速度就会大大提高。
直觉和专业知识确实可以极大地帮助你设计模型,但在实验过程中构建机器学习模型,始终是必要的。
在这个过程中,机器学习工程师需要尝试大量有根据的猜测,并且探究怎样会让效果更好。
这个过程迭代得越快,最终的输出就越好。而软件工程技能有助于更快地自动化和迭代,并且使得各个实验更加高效。
作者还援引了OpenAI联创Greg Brockman的观点。
Brockman曾表示:学习机器学习其实比学习软件快得多,优秀的软件工程师潜力巨大
可以说,机器学习最终是一门计算机科学的学科,而软件工程,就是让计算机科学成为有效应用的方式。
数据科学
由于ML是从数据中学习模式,因此ML工程师需要具备处理数据的能力。
他们需要能够处理混乱的现实世界数据记录,知道如何收集、理解这些数据,还要能设计出有用的特征,并且解释模型输出的敏感性。
最棘手的错误并不是内存不足,而是当训练循环运行后,模型输出了看似正确但其实是错误的结果时。
数据科学家一次又一次地尝到惨痛的教训:想要构建一个优秀的模型,最优秀的方法就是花大量时间处理数据。
ML工程师还需要的一个技能就是做研究。
你需要识别与你手头问题相关的论文,并且能够复刻这些方法,应用到自己的领域。
数学与统计学
机器学习工程师需要掌握什么样的数学技能?这个问题很难量化。
在大多数情况下,你在日常中不会明确地需要用到它们。
然而它总是隐性地被需要。
因为了解正确的数学知识,对于理解当前问题的数据、选择合适的算法来说至关重要。
为此,机器学习工程师需要具备实数微积分、线性代数和概率论的基础。这些是用于构建和训练许多机器学习模型的核心数学理论。
而在训练LLM或处理大型数据集时,你会从数值方法和优化理论的知识中受益。
最后,为了理解特定问题的数据,你还需要掌握统计知识。
应用领域
虽然ML更像是一个通用工具箱,但ML工程师却可以从特定领域知识中受益匪浅。
一方面,它们会帮你更了解你的用例、用户和可用数据。
另一方面,他们发展了处理特定类型数据和合适模型的专业知识。
例如,用于文本的语言模型、用于视觉的CNN或用于时间序列的RNN。
成为机器学习工程师,有哪些途径
通常,进入机器学习工程有两种途径——
- 数据科学路线。首先,你需要精通数学和数据工作,开始使用机器学习,然后学习必要的软件工程技能。
- 软件工程路线。当你成为一名有能力的软件工程师,可以在职业生涯的某个时候转向学习数学、数据和机器学习技能。
在作者看来,对于自学者来说,2是更好的路线。
这是因为,即使拥有基本的数据和机器学习技能,你对公司也是有用的。
许多业务问题相对简单,只要部署简单模型,就已经可以产生价值,而困在Jupyter笔记本中的出色模型,只是一个玩具而已(尽管非常有趣)。
当然,这并不意味着你可以放弃数学了——永远不要保平庸!
如果你碰巧在大学攻读定量学位,那在默认情况下,你上的课会或多或少遵循路线1。
在这种情况下,请在上学期间或学期结束后,花一些时间来学习软件工程知识。
学习计算机科学并专门研究机器学习,同时进行大量实习,以学习行业级的协作开发,这两条路可以同时进行。
对于路线1,这可能是最佳选择。
实用资源
以下是一系列帮助你进入ML工程的结构化课程。
它们更多是为你提供相关技能的建议,而不是明确的课程。
你可以随时进行切换,使用你更喜欢的资源,或者通过直接做项目来掌握所需技能。
你肯定最清楚如何最有效地学习。涵盖本路线图的内容,比如何涵盖它更重要。
学习编码
上述两条路线的基础,都是学习编程,使用计算机。
由于Python的机器学习和数据科学生态系统最为强大,且拥有最多的可用资源,因此是一个安全的选择。
哈佛的CS50课程,涵盖了Python的基础知识,对编程和软件工程做了精彩的介绍。
如果想更深入了解一下,可以去看赫尔辛基大学的《编程基础》。对于已经学过CS50的人,可以浏览一下前几章。
虽然你并不需要了解Python的内部工作原理,就可以将其用于数据科学和机器学习,但这些东西在以后会非常有用。
请将《Dead Simple Python》之类的书放在床头柜上,并时不时地阅读一章。
学习浅层机器学习
学会了编码,你就可以开始学习机器学习了。
你应该从浅层的学习算法开始。它们比神经网络更直观,你可以藉此培养处理数据的技能,无需增加复杂性。
吴恩达的《机器学习专业化》是一个很好的资源,它一直是许多人进入AI的门户。
学习深度学习
了解了ML的基础知识后,接下来你就可以转向深度学习、当前的行业标准和强大的工具箱。
如果你喜欢吴恩达的教学风格,就可以继续学习深度学习专业课程。
如果你喜欢更具大学风格的课程,我推荐Yann LeCun在纽约大学的深度学习讲座。
如果你需要更实用的方法,fast.ai和随附的《程序员实用深度学习》一书可以帮你。
这些资源还涵盖了一些必要的数学知识。如果你发现自己的知识缺乏,deeplearning.ai有深度学习数学课程。
这本书让我受益匪浅。它的章节和实际示例既可以用作教学,也可以作为参考。
建立领域专业知识
一旦掌握了深度学习的基础,就该选择一个领域进行深入研究了。
如果你还不确定选择哪个领域,Huggingface上就有大量课程。
这些课程本身当然不够,但它们是很好的入门读物,可以为您提供研究出论文的基础、背景和词汇,并为你可以构建的项目提出想法。
如果想要开始做项目呢?
软件、编码、机器学习——对于所有这些项目,一些理论知识都是必要的,但工程其实是一种实践,你可以通过实践来学习。
如果你已经完成了课程练习,构建了一些项目,就可以做一些更具野心的事情。
通过建立作品集,你可以更自由地探索自己的兴趣,由新手升级为专家。
一般来说,拥有一个或几个令人印象深刻、架构良好、值得花费一个月时间的创新性项目,比拥有许多基本项目要更好。
而且,它会让你学到更多。
想要申请成功,让这些项目变得切实可行就变得非常重要。
你可能需要写一篇博客或推文,来介绍自己的学习成果。
但你能做的最令人印象深刻的事,就是构建一个前端,以便其他人可以尝试。
学习软件工程
Fullstackopen课程是Web开发和分布式系统的很好的切入点。
它不涉及机器学习,但涵盖了许多工具和实践,它们对于机器学习工程师来说非常有价值,例如构建分布式系统、数据库和容器化。
通过这些知识,你就可以部署模型,为用户提供界面。
本课程使用的是JavaScript,因为它是网络语言。
虽然这一开始可能令人畏惧,但竟然你已经走了这么长一段路,此时硬着头皮给自己的工具包添加另一种语言,也是值得的。
学习MLOps
还有特定于ML的软件工程和开发实践 (MLOps)。
要了解如何在整个生命周期中管理和设计ML产品,fullstackdeeplearning 是一个很好的资源,可以让你了解一个大概。
选择让你的ML工程师生活更轻松的实践,应用到你的项目中,这些努力都是值得的。
结束语
作者表示,如果你遵循本指南,一定可以成为入门级ML工程职位有竞争力的候选人。
因为你既掌握了必要的理论知识,做过的项目也使你成为了几个重点领域的专家。
然而,要成功找到工作,拥有技能只是做到了一半。
你还需要与人交流,展示你的技能。
你可以通过选择实习获得良好的推荐,或者留下来,另外还可以试着获得投资。
FreeCodeCamp的创始人Quincy Larson,就写了一本很棒的书,关于他成为软件工程师的旅程。
尽管他的目标角色略有不同,但这些经历会非常适合你前半段的旅程。
FreeCodeCamp播客上有这本书前100集的有声读物,比如在Spotify上。
需要注意的是:路线图看起来很简单,但实践起来并不容易。
学习机器学习和软件工程很困难,但这不是巫术。
其他人在你之前就已经做到了,如果你下决心,就可以做到(这里有另一篇文章,指导你如何有效地学习困难的东西)。
为了给您一个粗略的了解,这是我预计需要多长时间,具体取决于您的起点。
从零开始学习
如果您全职致力于此路线图,预计需要大约18月的时间,从0开始学习所有内容。
如果你可以上大学,这是最简单的途径。大学可以为你提供所需的社区、指导、课程、实习资源。
如果你想从不相干的行业转行,请一定要利用起之前的经验。即使想要离开,你的专业知识也会让你与众不同。
作为开发转行
如果你已经是一名开发人员,你将很快变得有价值。
下班后,你可以花大约六个月的时间,学习浅层和深层的机器学习,以及你缺乏的数学知识。
你此前的软件工程经验非常有价值,会受到雇主的高度重视。
甚至你会更加幸运,不需要做出任何牺牲。
一旦转行成功,你就可以在工作中学习,并获得报酬。
作为数据科学家进入机器学习领域
如果你是一名数据科学家,你大概率迟早会因为缺乏软件工程能力,而触到职业天花板。
作者直言:自己就是如此。
对于数据科学领域的从业者来说,转向机器学习或多或少是一种自然的职业发展轨道。
如果投入额外的时间来学习,就可以加速你的职业生涯。
你可以在当前的工作资源中寻找ML项目,花几个月时间来完成它们,然后构建一个组合,来让自己转型。
概括
总的来说,你需要做到以下这些事——
- 学习计算机科学基础知识以及编程,通过CS50课程和专用Python资源
- 学习经典(浅层)的机器学习,为数据工作奠定基础,培养直觉
2.1) 建立微积分、线性代数和概率论的数学基础(数值和优化会更加分)
- 按照特定课程学习深度学习,例如Yann LeCun的NYU讲座、fast.ai或deeplearning.ai的深度学习专业课程
- 从fullstackdeeplearning中学习MLOps
4.1) 如果有必要,可以通过fullstackopen来学习软件工程,比如学习Web开发以及分布式系统、DevOps和关系数据库的基础知识
- 寻找您想要从事的领域,通过建立你的作品集来发展专业知识。你可以从Hugginface课程中找到一个起点,跟随你感兴趣的兔子洞,通过论文实现构建一些有趣的项目。
做完这些,你就可以去投简历了。
祝你好运!
参考资料:
https://www.maxmynter.com/pages/blog/become-mle
#E.T. Bench
一个大规模,高质量,场景开放的事件级视频时序理解测试基准,专注于长视频和多事件视频的细粒度时序理解
本篇分享论文E.T. Bench: Towards Open-Ended Event-Level Video-Language Understanding,提出E.T. Bench,一个大规模,高质量,场景开放的事件级视频时序理解测试基准,专注于长视频和多事件视频的细粒度时序理解。
论文链接:https://arxiv.org/abs/2409.18111
代码链接:https://github.com/PolyU-ChenLab/ETBench
1.引言
多模态大模型的出现引发了视觉-语言理解领域的重大范式转变。多模态大模型通过融合先进的视觉编码器与大语言模型,获得了优越的多模态感知和推理能力。
为了全面地评估这些模型的能力,诸多图像/视频理解测试基准被构建出来。其中,视频理解测试基准上的测试结果表明,多模态大模型已经在视频理解任务上展现出了巨大潜力。
然而,现有视频理解测试基准主要依赖视频级问答评测模型表现,缺乏细粒度的事件级问答,这使得它们不足以反映模型在事件级视频时序理解任务上的能力。
这使得我们不禁想问:
- 现有多模态大模型在细粒度的事件级时序理解上是否能达到与视频级理解相似的表现;
- 如果现有模型的时序理解能力不佳,应该如何进行有效地改进。
2.简介
为了回答上述两个问题,我们首先引入了E.T. Bench (Event-Level and Time-Sensitive Video Understanding Benchmark),这是一个大规模,高质量,场景开放的事件级视频时序理解测试基准。
E.T. Bench专注于长视频和多事件视频的细粒度时序理解。如下图所示,E.T. Bench由4个大类(指代、定位、密集视频描述和复杂理解),12个子类的时序理解任务组成。E.T. Bench通过从15个数据集中精心收集视频,涵盖8个领域下的 7K 个视频(总长度达251.4小时),从而确保场景的多样性和开放性。
并且,我们通过全面仔细的数据清洗,标注重用,指令设计,人工验证和采样流程生成了7.8K个高质量的事件级时序理解问答对。
我们在E.T. Bench上测试了20个图像/视频多模态大模型,包括7个开源图像模型,9个开源视频模型和4个商业模型。结果表明,即使是最先进的多模态大模型,无论是开源还是闭源,都难以解决我们所关注的事件级时序理解任务,特别是在定位、密集视频描述和复杂理解任务上。
为了有效提升模型的事件级时序理解能力,我们进一步提出了E.T. Chat,一个新的时间敏感的视频多模态达模型,它通过定制的专家模块将时间戳预测重新形式化为嵌入匹配问题,并相应地构造了一个为多事件和时间敏感场景量身打造的指令微调数据集E.T. Instruct 164K。
E.T. Bench上的全面比较证明了E.T. Chat结合E.T. Instruct 164K的有效性。并且,我们希望所提出的测试基准,模型和指令微调数据集能够激发未来对视频理解的进一步研究。
3.测试基准构建
E.T. Bench的构建流程从定义事件级细粒度时序理解的四个基本能力开始,即1)指代,2)定位,3)密集描述和4)复杂理解。
然后,我们精心挑选和设计了一系列专门用于全面评估上述每个能力的任务,并为每个任务筛选了带有人工标注时间戳的现有数据集,并根据任务所需形式将其原始标注重写为适合大模型评估的指令跟随格式。此外,我们尽量挑选了来自不同领域的变长视频,确保E.T. Bench 的多样性。
最后,进行完备的人工检查,过滤和采样,以删除不符合预期的样本,确保E.T. Bench的高质量。
4.方法与模型
下图展示了所提出的 E.T. Chat 的整体架构。给定在时刻 采样的视频帧 ,首先利用视觉编码器 将其转换为一系列视觉 Patch 特征 ,其中 和 分别是Patch数量和特征维度。
为了保持高时间分辨率的视频帧输入,减少冗余计算以及不超出 LLM 的上下文长度限制,我们采用帧压缩器 将视觉 Patch 集合压缩合并为单个特征,并投影得到最终输入 LLM 的视觉特征 ,其中是 LLM 的输入维度。
最后,讲每个视频帧编码得到的 集合与用户提问一起送入LLM里获取答案。
帧压缩器:如下图所示,帧压缩器 由一个具有可学习的随机初始化的 query 的 Q-Former ,一个上下文聚合器 和一个投影层 组成。在每个时刻 , 接受视觉 Patch 特征 和文本提示 作为输入,通过注意力机制将与用户提问相关的视觉信息聚合到 中。然后, 通过交叉注意力将 与 压缩合并为单个特征并经过投影层 后转换到与 LLM 相同的特征空间中。
通过特征匹配进行时间预测:E.T. Chat 的关键创新点集中在时间预测方式的设计上。一方面,我们认为通过离散的 Next Token Prediction 直接生成连续时间信号(即时间戳)难以优化,特别在指令微调数据量级较小的学术场景下是次优的解决方案。另一方面,受到 Transformer 特性的启发,即它擅长进行选择性复制而非数值计算,我们提出将时间预测转化为特征匹配问题。换句话说,我们训练模型生成或复制它想要引用的视频帧的特征,并将这些特征匹配回视频来获得时间戳。
具体来说,我们定义了一个特殊token <vid>用于启动匹配过程,当模型在答案推理过程中认为要输出时间信息时,<vid>便会被生成并用于匹配视频帧特征,进而从匹配的帧索引中轻松获得所需的时间戳。例如,对于以 1 FPS 采样的视频,如果<vid>匹配到第 帧,则<vid>所携带的时间信息即视频的第 秒,整个匹配过程简单有效。
首先,将<vid>和压缩后的视频帧 token 在 LLM 的第 和 层中获取的隐含层状态分别表示为和 和 ,则在匹配过程中,利用两个 MLP 分别将 和 投影到对齐空间中得到 和 。随后,我们计算 与所有 的余弦相似度从而获得匹配的帧索引。
然后,将获得的匹配帧索引乘以视频帧的采样率便可还原得到实际的时间戳。通过这一操作,时间戳的直接预测被形式化为特征匹配,这对擅长选择复制的 Transformer 来说更容易学习。
E.T. Instruct 164K:我们构造了 E.T. Instruct 164K 用于训练模型,如下表所示,它覆盖了来自 14 个数据集的内容多样的事件级理解任务,包括时间定位、总结、亮点检测、密集描述和问答等。
5.实验结果
评价设置:E.T. Bench 中的不同任务具有不同的评价设置和多样的输出格式,单一指标(如准确率)不足以满足各类任务的需求。为了平衡指标数量和排名的简便性,我们对指代任务报告准确率,对定位任务报告 F1 分数,对密集视频描述任务报告F1分数和句子相似度,对复杂理解任务报告召回率。
接下来,我们在 E.T. Bench上对现有多模态大模型进行了全面的评估和比较,包括 7 个开源图像模型,9 个开源视频模型和 4 个闭源商业模型。结果如上表所示。其中,第一行的 Random 表示在各个任务上进行随机猜测的结果,用于进一步反映任务难度及现有模型时序理解能力偏弱的特点。
可以看到,得益于新提出的时间预测设计和搜集的指令微调数据集,E.T. Chat 在所有任务的平均性能上显著超过了现有的开源图像/视频模型,缩小了与先进的商业模型,如 Gemini-1.5 Pro 之间的差距。
然而,我们依然需要注意的是,从指标的绝对值及实际样例表现看,现有模型的时序理解能力都有很大的可提升空间。因此,我们更希望能通过这个工作引起学术界及工业界对事件级视频时序理解任务的重视,对此进行深入的探究。
#CLIPFit
不绕弯子,直接微调比提示微调和适配器微调更好
本文介绍了一种名为CLIPFit的新方法,用于高效微调视觉语言模型CLIP,通过仅微调模型中特定的参数子集来提升模型性能,而不需要引入额外的参数。CLIPFit通过微调文本编码器中的特定偏置项和图像编码器中的LayerNorm,成功提高了零样本CLIP的平均调和均值准确率,同时减少了训练参数的数量。
- 论文地址:https://arxiv.org/abs/2409.16718
- 论文代码:https://github.com/minglllli/CLIPFit
创新点
- 提出了一种
CLIPFit
方法以高效地微调CLIP
模型,从而揭示经典模型微调在视觉语言模型(VLMs
)上的潜力。 - 与现有的提示调整或适配器调整方法不同,
CLIPFit
不引入任何外部参数,而仅微调CLIP
固有参数中的一个小特定子集。
内容概述
微调视觉语言模型(VLMs
)方面的进展见证了提示调优和适配器调优的成功,而经典模型在固有参数上的微调似乎被忽视了。有人认为,使用少量样本微调VLMs
的参数会破坏预训练知识,因为微调CLIP
模型甚至会降低性能。论文重新审视了这一观点,并提出了一种新视角:微调特定的参数而不是全部参数将揭示经典模型微调在VLMs
上的潜力。
通过细致研究,论文提出了ClipFit
,可以在不引入额外参数开销的情况下微调CLIP
。仅通过微调特定的偏置项和归一化层,ClipFit
可以将零样本CLIP
的平均调和均值准确率提升7.27%
。
为了理解CLIPFit
中的微调如何影响预训练模型,论文进行了广泛的实验分析以研究内部参数和表示的变化。在文本编码器中,当层数增加时,偏置的变化减少。在图像编码器中,LayerNorm
也有同样的结论。进一步的实验表明,变化较大的层对知识适应更为重要。
CLIPFit
在不引入任何外部参数的情况下,CLIPFit
仅对文本编码器中FNN
的投影线性层的偏置项进行微调,并更新图像编码器中的LayerNorm
。
文本编码器
对于文本编码器,CLIPFit
并不是对所有偏置项进行微调,而仅对文本编码器中FFNs
的投影线性层(即第二层)的偏置项进行微调。仅微调部分偏置项将减少训练参数的数量,相较于微调所有偏置项。此外,实验表明,微调部分偏置项可以实现比微调所有偏置项更好的性能。
图像编码器
BitFit
证明了在不引入任何新参数的情况下,仅微调预训练语言模型中的偏置项可以与完全微调的表现相媲美。然而,BitFit
是为大型语言模型(LLM
)微调设计的,直接将BitFit
应用于视觉语言模型(VLM
)微调可能会损害模型的泛化能力。
为此,CLIPFit
并没有对图像编码器的偏置项进行微调,而是对LayerNorm
进行微调。在LayerNorm
中,两个可学习参数增益 和偏置 用于对标准化输入向量 进行仿射变换,以进行重新中心化和重新缩放,这有助于通过重新塑形分布来增强表达能力。在训练过程中,不同的数据分布应该在LayerNorm
中产生不同的增益和偏置,以实现分布的重新塑形。
如果在推理过程中应用偏移的增益和偏置,可能会导致次优解。因此,CLIPFit
对图像编码器中的LayerNorm
进行微调。
损失函数
在微调阶段,通用的预训练知识很容易被遗忘。因此,论文探索了两种不同的策略来减轻这种遗忘。
第一种策略是使用知识蒸馏损失来指导 CLIPFit 从原始的零样本 CLIP 中学习。设 为原始 CLIP 的文本特征, 为 CLIPFit 的文本特征。CLIPFit 的训练损失和知识蒸馏损失定义为:
第二种策略是使用均方误差(MSE)损失来惩罚文本编码器的变化。设 为来自预训练 CLIP 的未固定文本偏置项, 为来自 CLIPFit 的未固定文本偏置项, 其中 是未固定偏置层的数量。均方误差损失定义为:
这两种策略都能缓解遗忘问题,而知识蒸馏损失的效果更佳。因此,选择将知识蒸馏损失作为CLIPFit
的最终解决方案。
主要实验
#自监督湍流分析,减少99%标注数据需求
在仅需1%的标注数据的情况下,实现超越有监督方法的性能,并且具有跨领域鲁棒性。
本文介绍了来自NeurIPS 2024的最新科研成果 ———一种完全自监督的湍流分析新范式。其性能远远超越同类有监督方法,且所需的训练样本(无标注)仅为以往方法的1%。该方法受湍流领域所特有的物理规律启发,引入了一种全新的零散度损失。同时,该方法自然支持测试时优化,利用动态测速增强器(DVE)模块,实现了强大的跨领域鲁棒性:仅在物理合成数据上训练,即可泛化到真实世界数据上。
论文链接:https://arxiv.org/abs/2410.11934
代码链接:https://github.com/Forrest-110/FluidMotionNet
一、动机
测量和理解湍流是一个至关重要的问题,无论是在自然界,还是在工程社会中,湍流在生活的各个方面无处不在。三维粒子跟踪测速(PTV)是分析湍流的关键技术,也是本世纪最具挑战性的计算问题之一。三维粒子跟踪测速仪的核心是双帧流体运动估计算法,该算法在两个连续帧中跟踪粒子。最近,基于深度学习的方法如 DeepPTV**[1]和 GotFlow3D[2]在双帧流体运动估计方面取得了令人印象深刻的优越性能;然而,这些方法利用的是全监督方案,严重依赖于大量有标记数据**。这种数据依赖对AI4Science领域提出了巨大挑战,尤其是在PTV领域: 由于需要精确选择示踪粒子、定制照明和相机设置,因此收集合适的数据非常复杂。此外,某些场景(如疾病背景下的细胞质流)非常罕见,因此几乎不可能获得大量的数据。
为了解决上述难题,研究团队引入了一种新型的纯自监督框架,专门用于三维 PTV 过程中的双帧流体运动估计。针对数据收集的固有困难,该方法可在有限的数据集规模下工作,仅需要现有的全监督方法通常使用的数据集规模的1%,就可获得相比拟的性能。此外,流体粒子具有特殊的物理特性,为此,研究团队利用不可压缩流体速度场固有的零散度原理,设计了一种专为流体定制的新型零散度自监督损失算法。由于该方法是自监督式的,自然支持测试时优化。因此,研究团队还引入了一个称为动态测速增强器(DVE)的模块,该模块可在测试过程中根据特定输入数据即时优化初始预测,能够在各种测试场景中提高准确度,具有较好的跨域鲁棒性。
通过全面的实验,该纯自监督框架明显优于完全监督框架,即使在数据受限的条件下也是如此。此外,研究团队进行了跨领域鲁棒性分析,展示了该框架具有将其推广到未见领域的内在能力,甚至包括真实世界的物理/生物领域,突出体现了该方法在真实世界三维 PTV 应用的可能。
二、方法
方法概述:训练阶段,该方法使用输入点云构建图表示,然后通过可训练的特征提取器,并使用自监督损失项(包括重建损失 g 、平滑损失 f 和零散度损失 e )求解最优传输问题,以进行初始流估计。测试阶段,有了初始流估计值 F_init,该方法再利用另一个重建损失函数 g* 优化残差 R,以生成最终流 F。
2.1 问题形式化
为了阐明提出的双帧流体运动估计方法, 研究团队首先将问题形式化:算法输入为两个连续的、非结构化的3D粒子集, 和 ,这些粒子集分别在时间 t 和 被记录。该方法输出预测的流动运动 , 将 中的每个粒子 映射到一个向量 , 该向量表示两帧之间的移动,捕捉湍流3D环境中的流动动态。
2.2 训练阶段
2.2.1 图特征提取器
基于点云的提取器常用于激光雷达场景流估算。虽然这些提取器能有效辨别更广泛的空间结构,但它们把握错综复杂的局部关系(这对分析流体动力学至关重要)的能力可能不足。相比之下,基于图的特征提取器通过考虑近似节点(在本文的语境中为流体粒子)之间的关系,在捕捉局部模式方面表现出色。因此,受到 GotFlow3D [2] 的启发,研究团队选择了基于图的特征提取器:首先从输入点云中构建一个静态近邻图。然后通过 GeoSetConv 层对该图进行处理,形成高维几何局部特征。为了进一步丰富特征,该方法根据高维特征使用 EdgeConv 构建动态图,形成一个能输出静态-动态特征的 GNN。
2.2.3 求解最优传输问题
利用特征提取器得到的静态-动态特征,可通过最优传输(optimal transport) 框架来求解对应链接问题,其中两点之间的传输成本越高,表明提取特征空间内的相似度越低。最优传输方案可以得到 和 之间的软对应权重, 该权重可用于求解初始流估计值 。
2.2.4 自监督损失
1. 重建损失:
自监督流体学习的一个核心原则是 与 应该相似。Chamfer distance (CD)是测量点云补全中点云形状相似度的标准度量。因此,该方法采用CD作为重构损失,并添加了一个正则化项以防止退化:
这里, 代表由 形成的估计点云, 是由 形成的目标点云。 表示最优传输中的匹配置信度, 它是运输成本的加权和。 项用于避免 的平凡解。
2. 平滑损失:
鉴于速度场具有无限可微的特性,流速场应显示出一定级别的连续和平滑过渡(在粗略尺度上)。基于这一理论基础,该方法引入了一个平滑正则化损失来强化和维持速度场中的这种连续行为,定义如下,
这里, 代表由 形成的点云。 表示与 最近的 个点的索引集。 和 分别表示点 和 处估计的流动向量。
3. 零散度损失:
平滑损失对于流体粒子并不足够。考虑到速度场的内在属性,不可压缩流体具有零散度性质。此外,在低马赫数等条件下,可压缩流体也可以近似为不可压缩,这在许多工程环境中是近似成立的。因此,研究团队引入了零散度正则化损失,补偿了平滑损失的缺陷。
- 基于Splat的实现。Splat 最初用于高维高斯滤波,将输入值嵌入高维空间。该方法实现了基于splat的零散度损失:计算散度需要场的偏导数,而3D中粒子的不规则排列使这一过程复杂化。因此,作者提出将非结构化的流动估计“splat”到一个统一的3D网格上,然后在这些网格点上应用零散度正则化。
形式上, 密集网格由 表示, 其中 表示网格点的3D索引。参数 对应于网格的间距。给定网格点 , 使用逆平方距离作为插值权重来近似该点的流动,
其中 是点 处估计的流动值。 表示 的点集中网格点 的邻域。参数 引入是为了保持数值稳定性。使用splatting,将变量粒子距离转换为固定网格间距,从而实现高效计算零散度损失。
一旦采用了 Splat, 由 指定的某点的散度可以定义为:
其中, 是在第 项为 1 的单位向量。
最终,零散度正则化可以表述为,
其中 J、K 和 L 分别代表各个维度上的网格点数。
总而言之,该方法训练阶段最终的自监督训练损失为
2.3 测试阶段
从训练网络得到初始流估计后, 该方法在测试阶段引入了一个新颖的动态流速增强器(DVE)模块进行测试时优化。这提供了额外的灵活性, 以适应未见情况并解决由于有限的训练数据而引起的潜在不准确性。形式上, DVE寻求一个残差流向量 , 使得 ,可以优化以纠正不准确性。DVE本质上是一个使用 目标函数的优化过程, 公式如下:
该损失函数类似于 , 但没有正则化 。该优化问题使用Adam优化器求解, 只涉及来自 矩阵的参数。考虑到现有的测试时优化模块运行缓慢, DVE相比之下非常高效。
三、实验
作者在多个数据集上对提出的框架进行了全面评估。首先,作者将提出的方法与 SOTA 全监督方法进行了比较。接着,针对特定领域数据有限的现实情况,考察了该方法在训练数据规模受限的情况下的性能。然后,作者评估了该框架在不同领域下的性能,突出了其跨领域鲁棒性。此外,作者还对框架的各个组件进行了全面的消融研究,以验证其效果。
这里展示主要结果,更多结果请参考论文。
3.1 与最先进方法的比较
以完全监督方法为基准。 表示可训练参数的数量。 表示每个样本的推理时间。最佳结果以粗体标出。
不同流体类型之间的比较。最佳结果用粗体标出,次优结果用下划线标出。右侧的子图直观显示了这三种流体。颜色越深表示流速越高。所有模型都是在完整数据基础上训练的,除了Ours (1%)。
3.2 有限数据训练表现
有限训练数据下EPE指标的比较。
3.3 跨领域鲁棒性表现
3.3.1 在同一合成流体数据集上进行测试
六折交叉验证。以最先进的流体运动学习方法 GotFlow3D 作为基准,EPE 指标结果。
3.3.2 Sim2Real实验
- 从合成流体数据到实际流体数据的测试
(a) DeformationFlow 数据可视化。(b) 提出的方法进行的初始估算。(c) SerialTrack和 Ours+ST的耗时比较。“PerIt "表示 PTV 每次迭代的时间。
- 从合成物理流体到生物数据的测试
AVIC 图像数据集。C2E, C2N, E2N 代表三种设置:Cyto-D 处理与 Endo-1 处理对比,Cyto-D 处理与正常处理对比,Endo-1 处理与正常处理对比。MNDS 代表平均邻域距离得分。
四、总结与展望
此研究提出了一种测试时自监督框架,用于从双帧非结构化粒子集学习三维流体运动。该方法解决了数据效率依赖和跨域鲁棒性的难题,这对实际应用至关重要。研究团队通过两个真实世界的研究证明了所提出的方法的可行性,期待此类研究结果可以为进一步研究广泛的真实世界应用、探索特定场景的约束条件以及开发新型模型架构以增强适应性提供参考。
#合成标注偏好数据集(Syn-Pic)和基于排名的偏好优化(RankDPO)技术
无需昂贵标注!大幅提升SDXL和SD3-Medium效果!文生图偏好优化新宠来了
本文介绍了一种新的文本到图像模型偏好优化方法,通过合成标注偏好数据集(Syn-Pic)和基于排名的偏好优化(RankDPO)技术,显著提升了模型的文本跟随能力和视觉质量,同时降低了数据收集成本并提高了数据集的可扩展性。这种方法在多个基准数据集上展示了改进效果,并在用户研究中得到了验证,为文本生成图像模型的性能和安全性提升提供了一个实用且可扩展的解决方案。
文章链接:https://arxiv.org/pdf/2410.18013
亮点直击
合成标注偏好数据集(Syn-Pic):从不同的T2I模型生成图像,并通过多个预训练的奖励模型对其进行标注,这些模型可以估计人类偏好。因此,数据收集过程中无需人工标注,使得数据收集成本更低且易于扩展。通过聚合多个奖励模型的评分,减轻了奖励过度优化的问题。与传统的成对比较不同,为每个提示生成的图像构建一个排名。虽然聚合多个人工标注者的偏好并构建排名是可行的,但这相比本文的低成本方法会显著增加标注成本。
基于排名的偏好优化(RankDPO):为利用排名中更丰富的信号,引入了一种排名增强的DPO目标函数RankDPO,借鉴了“学习排序”领域的广泛文献。它使用折扣累计增益(DCG)对偏好损失进行加权,使其与首选排名对齐。
使用与Pick-a-Picv2相同的提示,SDXL和SD3-Medium模型的表现显著提升。展示了在多个基准数据集上的改进结果,包括GenEval(表1)、T2I-Compbench(表2)和DPG-Bench(表3),以及用户研究中的视觉对比(图1中的示例和图3)。
与现有的偏好优化方法相比,取得了最新的效果,例如表3。更重要的是,仅使用了Pick-a-Picv2所需图像数量的三分之一,即表8。
尽管SD3-Medium(20亿参数)已经通过3M个人偏好数据的DPO进行优化,但使用包含24万图像的Syn-Pic数据集仍能进一步实现显著提升,例如表1、2、3。
总结速览
解决的问题传统的直接偏好优化(DPO)方法依赖大量人工标注的数据集来对文本生成图像(T2I)模型进行对齐,但这种方法成本高昂,且数据容易过时,难以适应T2I模型快速提升的需求。
提出的方案本研究提出一种完全合成的数据集收集方法,用于DPO训练。通过预训练的奖励函数生成成对图像的偏好数据,替代人工标注,极大地提升数据集的收集效率。同时,引入RankDPO方法,通过排名反馈增强DPO训练,提升模型的偏好学习效果。
应用的技术采用预训练的奖励函数生成成对图像的偏好数据,并在SDXL和SD3-Medium模型上应用RankDPO技术。数据集“Syn-Pic”用于支持该方法,避免人工参与标注并提供更高效的偏好数据生成方式。
达到的效果通过使用“Syn-Pic”合成偏好数据集和RankDPO方法,显著提升了模型的文本跟随能力(如T2I-Compbench、GenEval和DPG-Bench基准测试)和视觉质量(通过用户研究验证),为开发更优质的偏好数据集、提升文本生成图像模型的性能和安全性提供了一个实用且可扩展的解决方案。
方法
本节首先概述用于文本生成图像的扩散模型及其直接偏好优化方法。接下来,讨论策划和标注可扩展的偏好优化数据集的过程。最后,描述一种基于排名的偏好优化方法RankDPO,以利用该排序偏好数据集。下图2中对这两个组成部分进行了说明。算法3提供了在Syn-Pic上训练RankDPO的伪代码。
符号表示使用符号 表示从分布 中抽取的真实数据。在设置中, 扩散过程将真实图像 转换为高斯噪声 , 并使用预定义的信号噪声调度 。扩散模型通过学习一个去噪器 来反转该过程, 是一个由参数 表示的神经网络, 用于估计条件分布 , 其中 是指导生成的条件信号。对于文本生成图像模型,将 作为与文本提示相对应的嵌入表示。为简洁起见, 符号 可表示文本提示/嵌入。
扩散模型去噪扩散概率模型(DDPMs)通过反转ODE流来预测真实数据 。具体来说, 使用预定义的信号噪声调度 , 采样一个噪声 , 并在时间 生成一个带噪样本 :
去噪模型 由参数 定义, 其训练目标为:
其中, 是总步骤数, 是条件信号。
用于扩散模型的DPO
Bradley-Terry(BT)模型通过以下公式定义成对偏好:
其中, 为 sigmoid函数, 为更偏好的图像, 为较不偏好的图像, 为奖励模型, 用于计算条件 与图像 之间的对齐分数。基于此, Rafailov等人证明了以下目标与使用奖励模型 的显式强化学习过程(例如, PPO/REINFORCE)等价:
其中, 是基础参考分布, 控制分布偏差。然而, 在扩散模型的背景下, 计算图像的似然(即 )是不可行的。因此, Wallace等人提出了一种可行的替代方法, 他们证明该方法在对原始DPO目标稍作放松后是等价的。
给定一个样本 , 去噪模型和参考模型 , 定义评分函数为:
其中, 是在时间 时输入 的带噪潜变量。基于此, 更新后的 DPO目标可以定义为:
在实际操作中, 随机采样一个时间步 , 并在该时间步对获胜样本 和失败样本 分别计算可训练模型和参考模型的去噪目标。DPO目标确保对于给定的条件信号 , 去噪效果在获胜样本上得到改善, 而在失败样本上变差。这样模型会偏向生成更符合条件 的偏好图像。
合成标注偏好数据集 (Syn-Pic)
本节介绍一种高效且可扩展的方法, 用于收集在DPO目标中使用的偏好数据集 (公式4)。给定一个包含 个文本提示的列表 包含成对的偏好数据, 表示获胜和失败的图像, 即 。Pick-a-Picv2 是早期研究中使用的偏好数据集的一个示例, 包含近58,000个提示和 0.85 百万个偏好对。传统上, 数据收集过程依赖于文本生成图像模型生成的图像的人为标注, 这种方式因人工标注成本而昂贵。此外, 随着文本生成图像模型的不断改进, 这些手工策划的数据集也很快变得过时。
通过从多个最先进的T2I模型(如SD3-Medium、StableCascade、Pixart-Σ 和SDXL)生成与Pick-a-Picv2数据集相同提示的图像,收集了一个新的偏好数据集。
此外, 使用现有的现成的人工偏好模型(例如HPSv2.1)标注这些样本, 从而免去了人工标注成本。然而, 不同的奖励模型可能具有互补的优点(例如,一些模型更关注视觉质量,另一些则更擅长文本图像对齐等)。因此,提出汇总来自五种不同模型的偏好,包括HPSv2.1、 MPS、PickScore、VQAScore 和ImageReward。对于每个提示 和图像 , 通过将获胜次数与比较总次数进行汇总, 计算该图像在所有奖励模型下被偏好的概率。此得分 用于按聚合得分的降序对生成的图像进行排序,形成目标偏好排名,并用于增益函数。因此,对于 个 T 21 模型, 得到 , 这是一个完全合成排序的偏好数据集。算法1中描述详细流程。
讨论本文的数据收集方法具有以下几个优点:
- 成本效率:可以生成任意规模的偏好数据集,因为标注环节中没有人为参与,图像生成和标注均使用现成的模型,从而降低数据集策划成本。例如,收集Pick-a-Picv2数据集大约需要,可以以约200的成本收集一个类似规模的数据集。
- 可扩展性:随着数据集收集成本的降低,可以针对新的文本生成图像模型进行迭代,从而消除了由于新模型出现而导致旧偏好数据集过时的问题。
- 基于排名的偏好优化:由于每个提示运行多个T2I模型,因此收集到的是一个排名的偏好列表,而不仅仅是早期数据集中成对的数据。这能够在偏好优化中探索排名目标。
基于排名的偏好优化 (RankDPO)
与专注于成对偏好的DPO目标不同, 合成数据集为每个提示生成多个图像, 形成一个排名的偏好数据集。因此,希望一次性优化多种偏好,而不仅仅依赖于成对偏好。具体而言,给定一个文本提示 和按偏好排名的生成图像 , 希望确保图像 的去噪效果优于 , 对于所有 。为了实现这一点, 从学习排序(LTR)文献中获得灵感,通过为每个样本添加DCG权重重新利用LambdaLoss, 类似于Liu等所做的, 具体如下:
给定一个样本 , 去噪和参考模型 , 定义得分为:
其中 , 是在时间 t 对输入 的噪声潜变量。此得分用于衡量模型预测相对于参考模型在给定条件 c下的表现优劣。
计算得分 后, 图像将根据从最优(最低的 )到最劣(最高的 )进行排序。这是使用模型 对 的预测排名。使用真实的得分 来获得真实的偏好排名 。每个图像 的排名用 表示, 其中 表示最佳图像, 表示第二最佳,以此类推。每个样本 i的增益 是根据人类偏好奖励模型得分计算的样本 i 相对于所有其他样本 j 被偏好的平均概率。
使用 和 , 定义增益函数 和折扣函数 如下:
折扣函数随着排名 的增加而减少, 从而确保排名较高的图像(即较低 的图像)对最终损失的影响更大。折扣函数的对数形式平滑了相邻排名之间的惩罚差异, 使模型对小的排名错误更具鲁棒性, 尤其是对排名较低的图像。将两张图像对 之间的权重定义为
最后,将所有这些结合在一起,RankDPO损失的公式可以表示为
其中, 为 sigmoid 函数, 控制 KL 正则化的强度。详细的训练过程在算法 2 中。
该损失函数不仅鼓励模型满足成对的偏好,还要尊重为相同提示生成的图像的整体排名。通过使用从排名中获得的增益和折扣来加权传统的 DPO 目标,确保模型根据排名优先生成质量更高的图像,从而在美学和提示对齐方面实现更一致的改进。
实验
实施细节实验中使用开源的 SDXL和 SD3-Medium 模型。从 Pick-a-Picv2 收集了 58K 个提示,并使用四个模型,即 SDXL、SD3-Medium、Pixart-Σ 和 Stable Cascade,准备了 Syn-Pic 数据集。在 8 张 A100 GPU 上训练 RankDPO,持续 16 小时,批次大小为 1024,训练 400 步。
比较结果
短提示在前面表 1 中,报告了 GenEval上的结果。RankDPO 在几乎所有类别上都持续改善了性能,使得 SDXL 的平均性能从 0.55 提高到 0.61,SD3-Medium 的平均性能从 0.70 提高到 0.74。特别是观察到在“两个物体”、“计数”和“颜色归属”等方面有显著提升,增幅近 10%。在前面表 2 中的 T2I-Compbench中,也观察到了类似的趋势,其中 SDXL 在“颜色”和“纹理”上提升超过 10%,并在其他类别中也有改进。
长提示在前面表 3 中,进一步在 DPG-Bench上评估了模型的视觉质量和提示对齐性,该基准包含长且详细的提示。为了测量提示对齐性,使用了原始 DSG 指标和 VQAScore,而对于视觉质量,使用了 Q-Align 模型。
Diffusion-DPO(标记为 DPO-SDXL)在 Pick-a-Picv2 上训练,能够在提示对齐性方面提供有意义的改进,而对 SDXL 进行 MaPO和 SPO的微调(标记为 MaPO-SDXL 和 SPO-SDXL)则提高了视觉质量。然而,尽管 RankDPO 仅在合成偏好上进行训练,但所有指标都有显著提升(例如,SDXL 的 DSG 得分从 74.51 提高到 79.26,Q-Align 得分从 0.72 提高到 0.81),并达到了最新的提示对齐指标。对于 SD3-Medium,在使用RankDPO 进行微调后,继续看到模型性能的提升。
用户研究为了进一步验证本文方法的有效性,在 DPG-Bench 上对 450 个提示进行了用户研究。要求用户根据他们的整体偏好(即结合文本与图像的对齐性和视觉质量)选择更好的图像。前面图 3 显示,RankDPO 的胜率优于 DPO-SDXL和 SDXL,这表明其在提高生成图像整体质量方面的有效性。
下图 4 中展示了来自 DPG-Bench的提示的定性示例。与基础 SDXL 和其他偏好调整模型相比,RankDPO 在文本渲染方面有显著改进,能够捕捉到所有提示中描述的对象,而其他模型则遗漏了这些对象,并且在图像中对对象之间复杂关系的建模更佳。
计算成本讨论需要 10 个 A100 GPU 天来生成图像并标注偏好,这是一次性成本。在生成数据上运行 RankDPO 进行 400 步训练,SDXL 在 1024² 像素下大约需要 6 个 GPU 天。相比之下,现有的奖励优化方法在较小的 SD1.5 模型(512² 像素)上需要 64-95 个 A100 GPU 天。类似地,与 Diffusion-DPO相比,RankDPO 在三分之一的数据上训练,同时避免了手动整理的偏好。还有一些通过使用文本编码器(如 T5/LLaMA 模型)来增强文本到图像模型的方法,这些方法需要 1000 万到 3400 万个密集标注的图像,并训练 50-120 个 A100 GPU 天。
消融分析
数据和标注函数的影响由于生成偏好是 RankDPO 的关键方面,在下表 4 中评估了不同的标注选择。尝试随机标注,即随机选择偏好并应用 DPO。这仅能提供有限的性能提升(从 74.65 提升至 75.66 的 DSG 得分)。还展示了来自单一奖励模型(HPSv2.1)的成对偏好的结果,以及从 5 个模型中平均偏好的结果。虽然 HPSv2.1 对提示对齐和视觉质量都提供了良好的改进,但跨多个模型的预测集成进一步提高了结果。这些结果优于应用于 Pick-a-Picv2 的 DPO,突显了在构建偏好数据集时图像质量的重要性。最后,调查了用于构建 Syn-Pic 的不同模型的影响。这是通过仅更改种子,构建与 SDXL 图像相似的数据集来完成的。虽然在提示对齐方面几乎得到了相同的改进,但在视觉质量上只看到了小幅提升。这表明,合成偏好调优可以应用于任何模型的输出,但使用不同模型生成的图像可以进一步改善结果。
学习目标分析偏好优化的一个关键方面是学习目标的选择,在上表 4 中进行各种实验进行比较。除了常规的 DPO 公式外,一些研究表明,在经过精心挑选的高质量数据上进行监督微调的好处,也将其纳入比较。基线包括以下几种方法:
- 监督微调:从每对比较中选择获胜的图像,并在此子集上对 SDXL 进行微调。
- 加权微调:在所有样本上对 SDXL 进行微调,但根据 HPSv2.1 分数为每个样本分配权重,类似于 Lee et al.。
- DPO + 增益函数加权:通过使用增益函数对样本加权,可以改善 DPO 目标。
可以看到,RankDPO 实现了最佳结果,突显了基于成对偏好的排名标准的整合对增强偏好优化的好处。
结论与讨论
本文提出了一种强大且具有成本效益的文本到图像模型偏好优化方法。具体而言,展示了如何通过合成生成偏好优化数据集来收集更优的信号(例如,排名与成对偏好、跨模型集成偏好)。还提出了一种简单的方法来利用更强的信号,从而在多个基准测试中实现了针对提示跟随和视觉质量的最新结果,无论是在扩散模型还是修正流模型中。希望本文的工作为未来在文本到图像模型上扩展有效的后期训练解决方案铺平道路。
#NeuMA
观物取象,穷理尽性:从视觉观测中推理物理运动规律
本文分享 NeurIPS 2024 论文NeuMA: Neural Material Adaptor for Visual Grounding of Intrinsic Dynamics
,观物取象,穷理尽性:从视觉观测中推理物理运动规律。
- 作者单位:上海交通大学,vivo
- 论文链接:https://arxiv.org/pdf/2410.08257>
- 项目主页:https://xjay18.github.io/projects/neuma.html
物有千种,材质不一而致动态过程各异。我们提出了一种神经材质适配器(Neural Material Adaptor, NeuMA),以从视觉观测中推理得到物体材质对应的运动规律(即物体的内在动力学表示)。通过这种方式得到的动力学表示具有良好的泛化性,可以直接应用于具有不同几何形状的物体,在不同初始条件下生成物理逼真的4D内容。
NeuMA生成物理真实的动态可视化展示
1 研究背景
1.1 视觉动力学推断
《易经·说卦》有言:“穷理尽性,以至于命”。穷究世间万物蕴含的根本原理,进而把握事物禀赋的全部德性,是古今学者修养追求的目标。在人工智能快速发展的今天,如何赋予机器像人类一样“观察、理解和推理”物理世界的能力,成为了机器学习和认知科学领域的研究重点。
试想当我们看到一个物体从高处下坠,落地后弹起的场景时,我们能很容易地定性描述这一物体的基本动力学属性,比如初速度、材质构成等;并联想到具有相同材质、不同几何形状的物体下落后的动态。
这一认知能力通常被称为视觉动力学推断。为使人工智能系统也拥有这一能力,现有方法[1-2]采用的一般范式为:将可微物理仿真器与可微渲染器结合,利用视觉观测的像素监督信号梯度更新物理参数,以推断得到物体的基本动力学属性。
1.2 物理仿真器
根据物理仿真器的实现方式,相关工作可以大致分为黑盒方法[2-3]与白盒方法[1,4]。黑盒方法使用神经网络来实现物理仿真器,并通过数据驱动的方式更新神经网络参数以对动态转换进行建模。
白盒方法则使用传统的数值仿真方法(如物质点法MPM、有限元法FEM等)通过偏微分方程来建模物体的动态转换过程。这类方法通过反向传播像素误差到物体的物理参数(例如杨氏模量、泊松比)来推理物体的动力学属性。
两类方法各有千秋。得益于隐式表征,黑盒方法能更灵活地逼近不同视觉动态,其推理速度相较于数值仿真器也有明显优势。
然而由于缺少显式的物理约束,黑盒方法容易违背公认的物理规律,泛化能力不足。
另一方面,白盒方法使用数值仿真器,利用偏微分方程作为动态转移约束,因此无需采集大量数据以建模动态转移过程,天然具有良好的泛化能力。然而,白盒方法所依赖的偏微分方程大多是由专家通过数值分析拟合出来的,可能与现实场景中物体的实际动态不完全一致。
如何从视觉观测中准确地推断出物体的基本动力学属性,便是本研究的核心问题。
1.3 材质模型
材质模型(也称作本构模型)是连续介质力学中的一个基本概念。它描述了材质的力学特性,即应变与应力之间的关系。在动力学系统中,材质模型通过定义物体响应外力作用的方式,刻画了物体的内在运动规律。
例如,为人熟知的胡克定律(F=ks)描述了弹性形变与弹性力之间的关系。在弹性动力学系统下,需要定义两种类型的材质模型,分别为弹性材质模型与塑性材质模型。
前者描述了应力与弹性形变梯度的关系,后者则定义了一个返回映射,将弹性形变梯度投影到塑性屈服约束上,以建模塑性形变。通过选择合适的材质模型,我们可以准确模拟物体在外力作用下的运动和形变,从而预测系统的动力学行为。
2 研究方案
为了解答本研究的核心问题,我们提出了一种神经材质适配器(NeuMA)。如前所述,物体的内在运动规律可以由材质模型来刻画。因此,我们将视觉动力学推断具象为从视觉观测中推断物体的材质模型,并设计了一种残差适配范式:。其中,为专家设计的物理模型(例如Neo-hookean弹性模型、von Mises塑性模型等),表示基于视觉观测优化的校正项。
这一范式具有两大优点。
- 准确与灵活:与白盒方法完全依赖于专家定义的物理模型()不同,NeuMA能通过优化来更好地推断物体的内在动力学,以与视觉观察结果保持一致;
- 泛化与可解释:与黑盒方法完全忽略物理先验不同,NeuMA根据普遍接受的物理模型()来拟合实际动力学,以确保物理约束得到遵守。
具体实现:我们借鉴了可微物理仿真的最新进展,使用神经本构模型(Neural Constitutive Laws, NCLaw)[5]作为物理先验(即)。为了保证对校正项的修改不会破坏原有的物理先验,我们使用低秩适配(Low-rank adaptation, LoRA)技术建模。
我们将神经材质适配器嵌入MPM中作为可微物理仿真器,并基于三维高斯泼溅(3DGS)提出以粒子空间位置为条件的Particle-GS作为可微渲染器。Particle-GS根据仿真粒子的空间位置等物理状态同步驱动高斯核,以渲染得到物理真实的图像序列。
Particle-GS作为仿真与渲染之间的桥梁,使得像素误差可以反向传播至材质模型,以更新校正项。
如上图所示,本研究进行视觉动力学推断的过程主要分为三个阶段:初始状态获取,物理仿真,动态场景渲染。
在第一阶段,我们利用3DGS重建得到表示物体外观的高斯核,并使用多视角几何重建得到表面网格。我们在表面网格内部均匀采样仿真粒子以满足连续介质假设,保证物理仿真的真实性。此后,粒子高斯泼溅技术将根据粒子与高斯核间的Mahalanobis距离计算绑定关系。
在第二阶段,我们使用MPM进行物理仿真,通过辛欧拉(Symplectic Euler)法进行时间积分以更新仿真粒子的物理状态。
在第三阶段,我们根据更新后的粒子属性与第一阶段计算的粒子-高斯核绑定关系更新高斯核,并利用高斯泼溅渲染二维图像。具体细节请参考论文第三章节的内容。
3 实验结果
我们从视觉动力学推断、动态视频渲染、动力学泛化等方面入手,在合成数据以及真实数据上进行了大量的实验以验证NeuMA的性能。
3.1 动力学推断
从上图中可以看出,对于不同材质,NeuMA均能够根据视觉观测纠正专家模型(即先验)的偏差,以推理得到符合实际的物体动态。
进一步地,我们还探究了两个相关问题。
- 仅依赖视觉观测来进行动力学推断是否可靠?
- 所提出的Particle-GS是否有效地将仿真与渲染联系起来,以使视觉监督可以用来优化物理材质属性?
对比上表中NeuMA与NeuMA w/ P.S.(即使用实际粒子的位置信息作为监督而舍弃可微渲染器的变体)的结果,可以发现使用视觉监督在一些实验中能取得比使用3D粒子监督更好的效果。这是一个非常关键的结果,说明了NeuMA的推理能力可以与人类纯粹从视觉观测来估计物体动态的常识相匹配。
我们认为取得这一结果有两方面的原因。(1)得益于本研究设计的残差适配范式,NeuMA在推理物理规律的过程中既保留了专家模型的物理先验,同时能通过微调校正项来匹配实际的物体动态;(2)不同于现有研究[6,7]简单地采用一一映射来建模粒子与高斯核的关系,本研究所设计的Particle-GS考虑了粒子的空间位置信息,通过将多个邻近粒子绑定在一个高斯核上,NeuMA保证了在像素误差反传时,绑定在一个高斯核上的若干粒子获得相似的梯度,亦即享有相似的物理状态。这大大减小了训练阶段的自由度,有助于神经材质适配器的优化。
上表中NeuMA w/o Bind(即对粒子-高斯核绑定的消融实验)的结果也从数值实验上验证了本研究所设计的绑定方式的优越性。
我们也在Spring-Gaus[8]收集的真实数据上进行了实验,实验表明NeuMA可以处理真实场景下的动力学推断。
3.2 动力学插值
由于NeuMA使用LoRA技术来实现材质适配器,因此我们可以灵活地调整LoRA的权重,以得到在物理先验()与视觉观测所表达的动力学间光滑插值的结果。
3.3 动力学泛化
NeuMA能为两种物体应用不同的材质适配器以进行多物体交互的物理仿真。
此外,我们还分析了NeuMA应对质量分布不均物体、给定错误物理先验时动力学推断的能力。由于篇幅限制,更多实验结果与分析请参考论文第四章节与附录C的内容。
4 总结与展望
我们提出了神经材质适配器 (NeuMA),一种从视觉数据推断物体基本动力学属性的新框架。通过将数据驱动的校正与广泛接受的物理定律相结合,NeuMA 将白盒模型的可解释性与黑盒模型的适应性相结合。
在动力学推断、动态渲染及其泛化性的大量实验证明,NeuMA 提高了物理仿真的准确性和通用性,以及人工智能理解和预测动态场景的能力。
展望未来,我们希望NeuMA能作为一项先驱工作帮助研究人员从视觉数据中发现新的材质定律,并通过融合多个材质适配器创造新的材质定律,为AI for design、AI for physics的发展贡献力量。