#IAA

冻结语言模型训练LMM新范式,360提出IAA,使语言模型无损获取多模态理解与Grounding能力!

本篇分享论文IAA: Inner-Adaptor Architecture Empowers Frozen Large Language Model with Multimodal Capabilities ,冻结语言模型训练LMM新范式,360提出IAA,使语言模型无损获取多模态理解与Grounding能力!

论文链接:https://www.arxiv.org/abs/2408.12902

模型和代码:https://github.com/360CVGroup/Inner-Adaptor-Architecture

摘要

当前广泛流行的基于LLaVA结构的多模态大语言模型(LMM: Large Multimodal Model)在视觉任务上表现出色,然而因为训练中需要对内嵌的语言模型进行微调,常常会显著削弱其在自然语言任务(NLP)上的能力,具体来说,模型对文本的整体理解能力会减弱,而且在回答问题时给出的信息也不够详细。

为了防止这种性能退化,一个行之有效的办法是在扩展模型的多模态能力时,不改变语言模型的原始参数。不过,先前像Flanmingo和BLIP2这样的尝试,并没有达到预期的效果。

本文受到图像生成领域中的ControlNet思路的启发,在保持语言模型不变的基础上,创新性地加入了内部适配器结构(IAA)。

这一策略不仅保持了模型在自然语言处理(NLP)方面的原有能力,同时还显著提升了模型的通用多模态处理能力和视觉定位性能。

与之前依赖大量图文对齐数据的冻结语言模型的方法不同,IAA架构能够在使用较小规模数据集的情况下,依然展现出卓越的性能。

此外,面对多样化的任务需求,可以轻松地在单个GPU上同时部署多个IAA,从而在显存利用上实现高效的优化。

动机

主流的多模态大模型LMM采用的是以LLaVA为代表的vision-encoder + projector + LLM的结构。这种结构的优点是可以利用已经预训练好的语言模型内嵌来大幅降低多模态模型训练的代价和难度,当前国内主要的多模态大模型如Qwen-VL、InternVL、MiniCPM、DeepSeek-VL等采用的都是这种架构。

但是这种架构在实践中也存在一个非常难以解决从而被大家刻意回避讨论的问题,就是内嵌的语言模型在多模态模型的训练过程中会不可避免地发生“灾难性遗忘”问题,从而降低其在文本任务上的性能表现。

作为验证,本文利用了LLaVA-1.5的1.2M开源数据集,在其模型架构上进行了实验。该数据集中除了常见的VQA和指令微调数据外,还包含少量的纯文本数据。

如图1所示,无论是在Qwen2还是Llama3这两种语言模型基础上构建的LLaVA-1.5架构,在训练前后,语言模型在MMLU和C-Eval等纯文本基准测试中的得分均有显著下降。

51c视觉~合集22_视觉

图1:在基于Qwen2和Llama3语言模型的仅文本评估集MMLU和C-eval上训练LLaVA-1.5架构前后的结果

内嵌语言模型的“灾难性遗忘”发生的根本原因,在于为了强调多模态模型在视觉任务上的能力,内嵌的语言模型在训练过程中都要参与训练。

对于多模态LMM而言,为了实现优秀的多模态理解能力,需要大量的图像-文本数据来进行训练,训练量越大,灾难性遗忘的问题越严重。尽管像LLaVA这样的模型试图在其训练过程中整合一些纯文本数据,但仍未能完全避免这一问题。

防止大语言模型性能下降的一个直接方法是在LMM训练过程中冻结语言模型的参数。然而,目前采取这种策略的模型在多模态能力的benchmark测试中并未表现出令人满意的性能。

为了解决这些挑战,本文提出了一种包含内部适配器结构(IAA)的训练范式,旨在不影响原始语言模型能力的同时,显著提升模型的多模态性能。

方法

51c视觉~合集22_视觉_02

图2:IAA的总览,包含两个工作流:多模态交互和纯文本对话

鉴于前面的讨论,保持LLM原有的能力变得至关重要。本文提出的Inner-Adaptor Architecture(IAA)可以让LMM在部署后同时运行两个工作流:一个是多模态交互,另外一个是纯文本对话。

多模态交互工作流包括以下三个部分:

图像编码器与MLP层:使用图像编码器(如CLIP或SigLIP)提取高质量的图像特征,并通过MLP层实现视觉与语言的对齐。

大语言模型:在训练期间保持冻结状态,以保留原有的语言处理能力。

内部适配器结构:包括插入层、嵌入层以及专为多模态输入设计的语言模型头。

纯文本对话工作流则仅包含原始的大语言模型,不添加其他特定的模块。

51c视觉~合集22_视觉_03

图3:IAA的结构探索

在内部适配器结构(IAA)的设计上,参考图3(a),本文受到了ControlNet架构的启发,额外进行self-attention等层的插入操作,可以简洁地表示如下:

其中,ϕfl和ϕil分别表示冻结的语言模型层(LM)和插入层。Xin表示多模态输入,Xout表示多模态输出,G表示零初始化的门控层。插入层包括自注意层、层归一化、前馈网络等,这与大语言模型中transformer层的参数尺度一致。

例如,如果目标是第22个语言模型层,则相应的插入层的初始参数来源于第22个语言模型层。尽管如此,基于ControlNet的设计并没有获得很好的性能。

参考图3(b),本文对基于ControlNet的结构进行了进一步的改进,消除了插入层之间的特征传播,将语言模型层的输出作为插入层的输入。

每个冻结的LM层将通过一个插入层和门控层来容纳多模态数据,而插入层不再直接受到后续层的影响。与图3(a)中的设计相比,改进后的结构在实验结果上展现出了显著的改善。

此外,本文认为门控层可能无法通过LMM常用的单轮数据训练策略达到最佳状态。因此,本文提出了一个更精简的解决方案,如图3(c)所示,模型中特定层的操作可以用如下方式表示:

与方案(a)类似,如果将插入层放置在第22个冻结的LM层之后,则使用第22个冻结的LM层的参数进行初始化。在训练的模型中,插入层的数量可以任意指定。

除此之外,为了进行更好的多模态训练,本文同时引入了新的嵌入层和语言模型头,这些同样由原始的语言模型对应的结构初始化而来。

在所有的多模态训练阶段里,原始的语言模型保持固定,仅对新加入的结构进行训练。最终,本文选择了图3(c)中所示的结构,并将其命名为内部适配器结构(IAA)。

实验结果验证了这种策略的有效性。

实验训练策略

在训练多模态大语言模型(LMM)的过程中,预训练阶段的核心任务是让模型学会如何将视觉信息与文本描述相对应。

这个阶段,通常被称作图像-文本对齐阶段,它建立了视觉编码器与大语言模型(LLM)之间的桥梁。在我们的架构设计中,图像编码器和LLM在整个训练过程中都是保持不变的,这样做是为了保留它们在视觉和语言理解上的基础知识。

而MLP投影层和IAA内部适配器结构则是需要通过训练来提升模型的多模态处理能力。

在实验中,我们发现对于IAA内部适配器结构来说,如果使用过高的学习率,会导致训练损失的不稳定甚至溢出。

为了解决这个问题,我们设计了一个两阶段的预训练策略。

在第一阶段,我们的模型结构由三个部分组成:图像编码器、MLP投影层和大语言模型。在这个阶段,图像编码器和大语言模型的参数是固定的,我们使用0.001的高学习率来专注于训练高质量的投影层。

在第二阶段的预训练中,我们对模型进行了扩展,加入了专门用于处理多模态任务的IAA。在这个阶段,可训练的参数包括了投影层和新增的IAA,同时我们采用了更低的2e-5学习率,以便更精细地调整模型。

完成预训练之后,模型还会接受进一步的指令微调和视觉定位微调,以优化其性能。

通用多模态benchmark结果

51c视觉~合集22_视觉_04

表1:多模态评测集的结果

本文将对比方法分为两大类:一类是采用冻结语言模型进行训练的,另一类则是采用未冻结(即微调)语言模型进行训练的。

为了进行深入的分析,我们详细展示了每种方法所使用的数据集大小,以及它们所依赖的图像编码器、大语言模型等关键组件。为了确保比较的公正性,我们选择了参数规模相似的LMM,并且这些方法的性能指标都是基于官方公布的数据。

通过比较,我们可以明显看出,本文提出的方法在使用冻结语言模型训练的类别中展现出了显著的优势。

这一结果表明,我们的方法在保持模型原有能力的同时,还能有效提升其在多模态任务上的表现。

此外,作为目前流行的做法,未冻结语言模型的LMM通常能够在多模态性能上获得更优的表现。

然而,这种提升往往是以牺牲部分NLP能力为代价的。当我们对比LLaVA-Llama3这一方法时,我们发现IAA在采用相同的视觉编码器、语言模型和训练数据的情况下,在多模态性能指标上实现了更出色的成绩。

正如表2所展示的,IAA在提升多模态能力的同时,其NLP能力并未受到影响。相反,LLaVA这种对语言模型进行微调的方法,在MMLU和C-Eval等自然语言处理评测集上的表现则受到了较为明显的影响,显示出NLP能力的下降。

这进一步证明了IAA在保持语言模型原有优势的同时,有效地增强了模型的多模态处理能力。

51c视觉~合集22_视觉_05

表2:纯文本评测集上的比较

图4展示了不同模型在纯文本对话任务上的性能表现。

从中可以清晰看出,IAA在处理纯文本对话时,成功保留了语言模型原有的对话能力。

与此形成对比的是,开源的LMM,例如LLaVA-Llama3和LLaVA-v1.5,由于受到多模态数据的影响,其在纯文本对话任务上的表现有所下降。

当面对相同的提问时,LLaVA-Llama3和LLaVA-v1.5给出的回答往往更为简短。这种现象与它们在训练过程中接触的大量多模态数据中文本长度普遍较短的事实密切相关。

对大语言模型进行微调,尤其是在处理多模态数据时,可能会削弱模型深入理解内容并生成详尽回复的能力。因此,IAA的设计在保持模型对话质量方面显示出其独特的优势。

51c视觉~合集22_视觉_06

图4:IAA的结构探索

视觉定位benchmark结果

51c视觉~合集22_视觉_07

表3:视觉定位评测集的结果

表3的结果表明,IAA能够在有限的数据集上实现有竞争性的视觉定位表现。

为了保证公平可比,表中排除了使用超大数据集进行训练的模型,如使用了15亿图像文本对和40亿grounding数据的CogVLM-grounding,以及那些利用了预训练目标检测模型的结构,如LLaVA-Grounding和Groma等。

部署效率

目前,高性能的多模态模型通常需要解冻大语言模型来进行训练。CogVLM强调了开发一个同时擅长多模态理解和视觉定位任务的模型的困难。

为了解决这个问题,它采用了双模型策略,一种模型训练通用多模态能力,另一种模型训练视觉定位能力。在这种情况下,在GPU上采用FP16同时部署一个语言模型、一个通用多模态模型以及一个视觉定位模型,大约需要50GB的显存。

本文提出的方法,通过内部适配器结构巧妙地结合了通用多模态能力和视觉定位能力,同时保护了原始大语言模型的NLP能力。

举例来说,通过使用8层内部适配器配置,模型能够显著地减少显存占用,同时部署这三种能力的模型显存占用仅需30GB左右。

消融实验

本文对IAA结构、训练策略、插入层数量等进行了一系列消融实验,具体结果可以看下面的表格。

51c视觉~合集22_视觉_08

表4:IAA结构探索的消融学习

51c视觉~合集22_视觉_09

表5:采用不同训练策略的比较

51c视觉~合集22_视觉_10

表6:IAA插入层数量的消融

结论

本文提出了一种内部适配器结构(IAA),其设计宗旨在于提升大语言模型(LLM)在通用多模态理解和视觉定位等方面的能力。

通过一系列精细的架构探索实验,本文证实了采用冻结语言模型策略的LMM在性能上能够超越那些经过微调的同类模型。

在部署应用时,IAA同时兼具多模态,目标定位与纯文本三个工作流程,这样不仅保持了语言模型在自然语言处理(NLP)方面的实力,而且还增强了其在处理复合任务时的灵活性。IAA的这一特性为模型未来扩展至更多模态提供了广阔的可能性。




#ControlNeXt

视频生成控制提升几十倍,新一代轻量级ControlNeXt火了,贾佳亚团队正挑战Scaling Law

最近,又一款国产 AI 神器吸引了众网友和圈内研究人员的关注!它就是全新的图像和视频生成控制工具 —— ControlNeXt,由思谋科技创始人、港科大讲座教授贾佳亚团队开发。

X 平台上知名 AI 博主「AK」推荐

从命名来看,ControlNeXt 「致敬」了斯坦福大学研究团队在 2023 年 2 月提出的 ControlNet,通过引入一些额外的控制信号,让预训练的图像扩散模型(如 Stable Diffusion)根据预设的条件调整和优化,实现线稿生成全彩图,还能做语义分割、边缘检测、人体姿势识别。

如果说 ControlNet 开启了大模型多样化玩法的先河,那么 ControlNeXt 在生成速度、精准控制和用户友好性等方面迎来全方位优化。重要的是,ControlNeXt 只用不到 ControlNet 10% 的训练参数,可以称得上是下一代「小钢炮版」ControlNet 了。

截至目前,ControlNeXt 兼容了多款 Stable Diffusion 家族图像生成模型(包括 SD1.5、SDXL、SD3),以及视频生成模型 SVD。并且,ControlNeXt 对这些模型都做到即插即用,无需额外配置便能轻松玩转各种控制指令,便捷性拉满。该项目的 GitHub 星标已达 1.1k。

项目地址:https://github.com/dvlab-research/ControlNeXt

实战效果究竟如何?下面一波 ControlNeXt 的 Demo 示例会给我们答案。

ControlNeXt 支持 Canny(边缘)条件控制,在 SDXL 中,通过提取下图(最左)输入图像的 Canny 边缘,输出不同风格的图像。

51c视觉~合集22_视觉_11

当然,更复杂的画面轮廓和控制线条也能轻松搞定。

51c视觉~合集22_视觉_12

ControlNeXt 还支持掩模(mask)和景深(depth)条件控制,下图分别为 SD 1.5 中掩模与景深可控生成效果,很有一笔成画的味道。

51c视觉~合集22_视觉_13

同样在 SD 1.5 中,ControlNeXt 支持姿势(pose)条件控制,并且无需训练即可无缝集成各种 LoRA 权重。配合使用人体姿势控制与 LoRA,在保持动作相同的前提下,多样风格的人物呼之欲出,比如战士(Warrior)、原神(Genshin)、国画(Chinese Painting)和动画(Animation)。

51c视觉~合集22_视觉_14

使用 ControlNeXt 后,SD3 支持了超分辨率(SR),让模糊图像「变身」超高清画质。

51c视觉~合集22_视觉_15

在视频生成模型 SVD 中,ControlNeXt 实现了对人体姿势动作的整体控制,尤其连手指动作的模仿都非常精准。

51c视觉~合集22_视觉_16

51c视觉~合集22_视觉_17

不夸张的说,在视觉条件生成这块,ControlNeXt 成为了更全能的「选手」。它的亮眼视效折服了网友,甚至有人认为「ControlNeXt 是游戏改变者,在可控图像和视频生成方面表现出色,可以想象未来社区会拿它做更多二创工作。」

而 ControlNeXt 体验全方位提升的背后,离不开贾佳亚团队在轻量级条件控制模块设计、控制注入位置和方式的选择、交叉归一化技术的使用等多个方面的独到思路。

正是有了这些创新,才带来了 ControlNeXt 训练参数、计算开销和内存占用的全面「瘦身」,以及模型训练收敛和推理层面的「提速」。

架构创新

让 ControlNeXt 更轻、更快、更强

在剖析 ControlNeXt 有哪些创新之前,我们先来了解一下当前可控生成方法的不足,这样更能看到贾佳亚团队在架构上「有的放矢」的优化。

以 ControlNet、T2I-Adapter 等典型方法为例,它们通过添加并行分支或适配器来处理和注入额外条件。接下来与去噪主分支并行处理辅助控制以提取细粒度特征,利用零卷积和交叉注意力来整合条件控制并指导去噪过程。

这些操作往往会带来计算成本和训练开销的显著增加,甚至导致 GPU 内存增加一倍,还需要引入大量新的训练参数。尤其针对视频生成模型,需要重复处理每个单独帧,挑战更大。

贾佳亚团队首先要做的便是架构层面的剪枝。他们认为,预训练的大型生成模型已经足够强大,无需引入大量额外参数来实现控制生成能力。ControlNeXt 移除 ControlNet 中庞大的控制分支(control branch),改而使用由多个 ResNet 块组成的轻量级卷积模块。

51c视觉~合集22_视觉_18

ControlNeXt 整体训练流程

该模块的规模比预训练模型小得多,用于从控制条件中提取景深、人体姿势骨骼、边缘图等特征表示,并与去噪特征对齐。过程中更多依赖模型本身来处理控制信号,在训练期间冻结大部分预训练模块,并有选择性地优化模型的一小部分可学习参数,最大程度降低训练过程中可能出现的遗忘风险。

从结果来看,在适配 SD、SDXL、SVD 等预训练模型时,ControlNeXt 的训练参数量通常不及 ControlNet 的 10%,计算开销和内存占用大大降低。ControlNeXt 在 SD 1.5、SDXL 和 SVD 中的可学习参数量分别为 3000 万、1.08 亿和 5500 万,相较于 ControlNet 有了数量级减少(3.61 亿、12.51 亿和 6.82 亿)。

51c视觉~合集22_视觉_19

同时轻量级模块的引入使得 ControlNeXt 在推理阶段不会出现明显的延迟,因而生成速度会更快。如下图所示,在 SD 1.5、SDXL 和 SVD 模型中,ControlNeXt 的推理时间更短,相较于 ControlNet 更具效率优势。

51c视觉~合集22_视觉_20

另一方面,ControlNeXt 在控制条件的注入层面做了创新。他们观察到,在大多数可控生成任务中,条件控制的形式往往很简单或与去噪特征保持高度一致,因而没有必要在去噪网络的每一层重复注入控制信息。

贾佳亚团队选择在网络中间层聚合并对齐条件控制特征与去噪特征,这里用到了关键的交叉归一化(Cross Normalization)技术。该技术让 ControlNeXt 不用像传统方法那样利用零初始化来引入额外学习参数,还解决了初始化阶段的训练不稳定性和收敛速度慢等问题。

得益于交叉归一化,ControlNeXt 的训练速度得到提升,并在训练初期也能确保生成控制的有效性,降低对网络权重初始化的敏感度。从下图可以看到,ControlNeXt 实现了更快的训练收敛和数据拟合,只需要 400 步左右便开始收敛。相比之下,ControlNet 则需要走完十倍甚至几十倍的训练步数。

51c视觉~合集22_视觉_21

可以说,ControlNeXt 很好解决了以往可控生成方法存在的较高计算成本、GPU 内存占用和推理时延,用更少参数、更低成本实现了与以往方法相当甚至更好的控制效果和泛化性能。

而跳出此次研究本身,ControlNeXt 也是过去两年贾佳亚团队努力方向的写照,他们致力于拿少参数、少算力来深挖大模型潜能。这显然与当前大模型领域的「摩尔定律」Scaling Law 走的是不同的路,后者通常凭借大参数、大数据和大算力来提升模型性能。

不盲跟 Scaling Law

走出不一样的大模型之路

当前,Scaling Law 仍然在发挥着作用,通过「加码」参数、数据和算力来增效是大多数圈内玩家的主流做法,OpenAI 的 GPT 系列模型是其中的典型代表,对大模型领域产生了深远的影响。

随之而来的是更高的训练成本、更多的数据和计算资源,这些不会对财力雄厚的大厂们造成太多压力。但对那些预算相对不足的科研机构和个人开发者而言,挑战很大,尤其是当下 GPU 显卡还越来越贵。

其实,拼 Scaling Law 并不是模型提效的唯一途径,从长期看也有局限性。很多业内人士认为,随着时间推移,当模型参数规模达到一定程度时,性能提升速度可能会放缓。同时高质量训练数据的持续获取也是亟需解决的一大难题。

今年 6 月,普林斯顿大学计算机科学系教授 Arvind Narayanan 等二人在他们的文章《AI scaling myths》中表示 AI 行业正经历模型规模下行的压力,过去一年大部分开发工作落在了小模型上,比如 Anthropic 的 Claude 3.5 Sonnet、谷歌的 Gemini 1.5 Pro,甚至 OpenAI 也推出了 GPT-4o mini,参数规模虽小、性能同样强大且更便宜。

贾佳亚团队秉持类似理念,没有选择无限堆数据、参数和算力的传统做法。2024 世界机器人大会上,贾佳亚在接受采访时谈到了 Scaling Law,他表示在自己团队的研究中不会对它进行明确的定义,使用 1 万张卡训练出来的模型或系统不一定就比 5000 张卡训练出的更好。

贾佳亚认为应该更多地在模型算法层面进行创新,在工程层面最大程度地提高 GPU 显卡的利用率、降低功耗,力求用更少的计算量达到同样的效果。

同时关注偏垂类的行业和场景,通过持续的技术迭代,把算力等资源投入集中在一点,将某个领域的模型做得更精、更专,而不像其他玩家那样耗巨资开发超大规模通用大模型。

小算力也能出大成果

包括 ControlNeXt 在内,不盲从 Scaling Law 的思路已经在贾佳亚团队过去两年的系列成果中得到了充分验证,覆盖了多模态大模型、超长文本扩展技术和视觉语言模型等多个研究方向。

2023 年 8 月,贾佳亚团队提出 LISA,解锁多模态大模型「推理分割」能力。LISA 只需要在 8 张 24GB 显存的 3090 显卡上进行 10000 次迭代训练,即可完成 70 亿参数模型的训练。

结果表明,LISA 在训练中仅使用不包含复杂推理的分割数据,就能在推理分割任务上展现出优异的零样本泛化能力,并在使用额外的推理分割数据微调后让分割效果更上一个台阶。

51c视觉~合集22_视觉_22

LISA 效果展示

LISA 的成功只是少算力探索的牛刀小试,贾佳亚团队在 2023 年 10 月提出了超长文本扩展技术 LongLoRA,在单台 8x A100 设备上,LongLoRA 将 LLaMA2 7B 从 4k 上下文扩展到 100k, LLaMA2 70B 扩展到 32k。LongLoRA 还被接收为 ICLR 2024 Oral。

在喂给 LongLoRA 加持的 Llama2-13B 超长篇幅的科幻巨著《三体》后,它可以为你详细总结「史强对整个人类社会的重要性」。

51c视觉~合集22_视觉_23

该团队还于 2023 年 12 月提出 LLaMA-VID,旨在解决视觉语言模型在处理长视频时因视觉 token 过多导致的计算负担,通过将视频中每一帧图像的 token 数压缩到了 2 个,实现了单图之外短视频甚至 3 小时时长电影的输入处理。

LLaMA-VID 被 ECCV 2024 接收。此外,贾佳亚团队还提供了 LLaMA-VID 试用版本,由单个 3090 GPU 实现,支持 30 分钟的视频处理。感兴趣的小伙伴可以尝试一下。

51c视觉~合集22_视觉_24

今年 4 月,贾佳亚团队又提出了 Mini-Gemini,从高清图像精确理解、高质量数据集、结合图像推理与生成三个层面挖掘视觉语言模型的潜力。

为了增强视觉 token,Mini-Gemini 利用额外的视觉编码器来做高分辨率优化。同时仅使用 2-3M 数据,便实现了对图像理解、推理和生成的统一流程。实验结果表明,Mini-Gemini 在各种 Zero-shot 的榜单上毫不逊色各大厂用大量数据堆出来的模型。

51c视觉~合集22_视觉_25

在延续谷歌 Gemini 识别图片内容并给出建议的能力基础上,Mini-Gemini 还能生成一只对应的毛绒小熊

对于开源社区最大的好消息是,Mini-Gemini 的代码、模型和数据全部开源,让开发者们体验「GPT-4 + Dall-E 3」的强大组合。贾佳亚透露,Mini-Gemini 第二个版本即将到来,届时将接入语音模块。

得益于开源以及算力需求相对低的特性,贾佳亚团队的项目在 GitHub 上受到了开发者的广泛喜爱,LISA、LongLoRA 和 Mini-Gemini 的星标数分别达到了 1.7k、2.6k 和 3.1k。

从 LISA 到最新提出的 ControlNeXt,贾佳亚团队走稳了少参数、小算力突破这条路。由于计算资源投入不大,这些模型也更容易实现商业化应用落地。

可以预见,未来在持续技术创新的驱动下,我们将看到更多「小而弥坚」的大模型成果出现。




#RFNet

扩散模型的反馈学习利用人类反馈生成可靠的高质量图像

本文提出了一种名为RFNet的多模态可靠反馈网络,用于提高图像生成的可用率和质量。该方法主要应用于电商领域的广告图像生成,旨在解决自动生成的广告图像可能存在的误导客户和人工审核成本高的问题。 

项目地址:https://arxiv.org/abs/2408.00418

文章地址:https://github.com/ZhenbangDu/Reliable_AD

01 导言

京东的广告团队提出一种提高图像生成可用率的方法,主要思想是通过多模态可靠反馈网络模拟人类审核AI图片,并且利用该网络的反馈提升生图的可用率,同事保持高质量的视觉效果(有一说一,思路简单很有意思并且取得不错的效果)

动机:电商领域,投放的广告图像对于吸引客户注意至关重要,目前基于AI生成的方法虽然可以自动生成广告图像,但是们通常会生成不合格的图像,这些图像可能会误导客户,并且需要大量的人工成本来检查。

解决: 引入了一个多模态可靠反馈网络 (RFNet) 来自动检查生成的图像。将 RFNet 组合成一个循环过程,即循环生成,可以产生更多的可用广告图像。为了进一步提高生产效率,利用来自 RFNet (RFFT) 的反馈,通过创新的一致条件正则化对扩散模型进行微调。这显著提高了生成图像的可用率,减少了循环生成中的尝试次数,并在不牺牲视觉吸引力的情况下提供了高效的生产过程。

同时构建了一个可靠反馈 100 万 (RF1M) 数据集,其中包含超过一百万张由人工注释的生成广告图像,这有助于训练 RFNet 准确评估生成图像的可用性并忠实反映人工反馈。

02 方法

51c视觉~合集22_视觉_26

图像生成-审查PipeLine

广告形象是基于产品形象和提示进行重绘生成的。然后利用RFNet提供的反馈FAC对控制网进行一致条件正则化微调生成广告图像的方法如上图所示。首先从描述所需背景的文本提示符和具有透明背景的产品图像开始。提示被输入到Stable Diffusion中,在输入到ControlNet之前,对进行了Canny控制条件提取。采用DDIM作为去噪方案进行去噪生成。

2.1 基于RFNet的循环生成

由于随机性的存在,重复生成可以显著扩大可用图像的数量。为了使检测过程自动化并消除人工参与,这里引入了一个多模态模型RFNet,以确定生成的图像是否准确可用,如下图所示。除了  和 , RFNet还结合了来自辅助模式的信息:

深度图像

Salience图像

产品描述

51c视觉~合集22_视觉_27

RFNet

将  和  输入到图像编 码器中, 获取各自的图像嵌入  。同时, 将Cap输入BERT, 得到文本嵌入 , 帮助识别产品的属性。

由于产品标题通常包含过多的信息,例如品牌,所以这里专注于从标题中提取视觉相关属性。因此首先使用个Feature Filter Module (FFM),每个FFM由一个交叉注意层和几个卷积层组成。FFM的输出公式为:

51c视觉~合集22_视觉_28

其中  作为Query,  同时作为交叉关注层中的Key和Value值, Conv()表示1  核卷积层,  表示逐元素乘法。这个过程确保了标题中的关键信息与图像嵌入有效地集成在一起, 增强了模型对产品的理解。

通过融合嵌入 , 通过  个自关注层进一步整合不同的特征

51c视觉~合集22_视觉_29

最后,通过一个完全连接的分类器确定生成图像的每种情况的概率。RFNet通过考虑一组全面的视觉和文本特征,并提供细微的反馈,准确地评估生成的广告图像的可用性

2.2 具有一致条件正则化的RFFT

虽然Recurrent Generation可以生成更多的可用图像,但由于遗传的生成模型能力差,导致生成过程长时间且效率低下,给应用带来了很大的挑战。端到端生成-检测管道允许来自RFNet的反馈梯度直接微调扩散模型,增强其能力。

具体来说,提出的RFFT在40步去噪过程的最后10步中选择一个随机步t来生成

51c视觉~合集22_视觉_30

得到的  被后处理为

51c视觉~合集22_视觉_31

其中  是表示期望的 "可用" 类别的one-hot向量, 向量  表示生成的每个图像情况的概率, N 为样本总数。然后反向传播梯度  以引导模型产生具有更高可用概率的图像。

51c视觉~合集22_视觉_32

随着训练的进行,模型达到极高的可用率,但产生同质和美观崩溃的输出。因此,这里需要的是一种既能保持图像美观又能提高其可用性的训练方法。一种流行的解决方案是使用KL正则化,该损失项确保修改后的模型不会明显偏离期望分布,从而保持多样性并防止收敛到次优、重复的结果,该损失项可以表示为:

51c视觉~合集22_视觉_33

其中c和z为图像和文本控制条件, 和 表示当前模型和参考模型的分布。当反馈梯度努力将图像生成转向更高的可用率时,KL正则化努力保持生成的图像不变。

相对于专注于不变的图像,这里的目标是保持视觉质量。对于文本到图像的生成,视觉输出与输入文本条件z密切相关。在没有分类器的情况下,可以通过以下方法从模型的隐式分类器中获得文本引导。

51c视觉~合集22_视觉_34

用以表示文本条件影响图像生成的方向。为了确保图像可用性的改进不会损害核心条件,引入了一致条件(CC)正则化项LCC,如下:

51c视觉~合集22_视觉_35

图5所示b说明了  相对于  的优势。虽然  限制了  可能导致的僵化, 但  提供了一个双赢的方法。它保持条件的方向, 允许模型进行微调, 以生成更多可用的图像。因此, 在RFFT中对扩散模型进行微调的最终反馈为:

51c视觉~合集22_视觉_36

03 实验结果

51c视觉~合集22_视觉_37

51c视觉~合集22_视觉_38

51c视觉~合集22_视觉_39




#PGTFormer

首个视频人脸修复技术!让人脸细节更清晰!

首创性地提出了PGTFormer,这是第一个专门为视频人脸恢复设计的方法。PGTFormer采用了端到端的设计,摒弃了传统方法中的复杂对齐步骤,实现了更加高效和连贯的视频人脸恢复。

本篇分享 IJCAI 2024 论文Beyond Alignment: Blind Video Face Restoration via Parsing-Guided Temporal-Coherent Transformer,西电、西南科大联合提出首个视频人脸修复技术!让人脸细节更清晰!

论文地址:https://arxiv.org/abs/2404.13640

论文主页:https://kepengxu.github.io/projects/pgtformer/

开源代码地址:https://github.com/kepengxu/PGTFormer

研究者主页:https://kepengxu.github.io

引言

51c视觉~合集22_视觉_40

视频人脸恢复结果。左侧是输入的低质量视频人脸,右侧是通过PGTFormer恢复后的高质量人脸。

在计算机视觉领域,视频人脸恢复一直是一个备受关注的研究方向。然而,大多数现有的方法主要针对静态图像,无法有效处理视频中的时序信息,往往需要繁琐的对齐操作,并且在面对长视频时,容易出现恢复结果不一致的问题。

针对这些挑战,研究者首创性地提出了PGTFormer(Parsing-Guided Temporal-Coherent Transformer),这是第一个专门为视频人脸恢复设计的方法。PGTFormer采用了端到端的设计,摒弃了传统方法中的复杂对齐步骤,实现了更加高效和连贯的视频人脸恢复。

方法介绍设计动机

51c视觉~合集22_视觉_41

框架对比

图中展示了过去方案和PGTFormer在处理视频人脸恢复时的不同流程。(a)展示过去方案需要对齐操作的复杂流程,(b)展示PGTFormer的方法,完全省去了对齐步骤,直接实现了端到端的视频恢复。

现有的视频人脸恢复方法面临的主要问题在于时序一致性和对齐的复杂度。许多方法为了保持视频帧间的一致性,依赖于对帧进行精确对齐,这不仅增加了计算复杂度,还可能引入对齐误差,导致恢复效果不佳。

为了克服这些问题,研究者设计了PGTFormer。该方法通过引入解析引导和时序一致性建模,完全抛弃了对齐操作,实现了端到端的视频人脸恢复。这一创新设计大大简化了处理流程,同时显著提升了恢复结果的连贯性和视觉效果。

网络结构

51c视觉~合集22_视觉_42

网络结构

图中详细展示了PGTFormer的网络结构。图中还展示了TS-VQGAN与PGTFormer之间的协作关系,说明了两阶段训练的过程。

PGTFormer的网络结构旨在从根本上解决视频人脸恢复中的关键难题。其训练过程分为两个主要阶段:

第一阶段 - 训练TS-VQGAN(时空VQGAN):在这个阶段,研究者首先训练TS-VQGAN,该模型通过嵌入高质量的视频人脸先验信息,为PGTFormer后续的恢复任务提供了强大的基础。TS-VQGAN能够有效地捕捉和表示高质量人脸的空间和时间特征,生成与真实人脸非常接近的先验嵌入。这些嵌入在后续步骤中将作为PGTFormer的查询目标。

第二阶段 - 训练PGTFormer:在第二阶段,PGTFormer通过人脸解析模块和时空Transformer模块,利用第一阶段中训练得到的高质量视频人脸先验,完成视频人脸恢复任务。具体而言,PGTFormer首先解析输入的低质量视频帧,提取出关键的面部特征,然后通过时空Transformer模块,从TS-VQGAN生成的高质量人脸先验中查询相应的细节信息。最终,解码器将这些查询得到的高质量特征整合到原始视频中,输出高清且时序一致性强的恢复视频。

实验结果

为了验证PGTFormer的有效性,研究者在多个公开数据集上与其他最先进的方法进行了对比。以下是PGTFormer与其他方法在多个定量指标上的表现,涵盖了在对齐和非对齐人脸视频上的训练和测试结果。

51c视觉~合集22_视觉_43

定量实验结果

如表格所示,PGTFormer在多个关键指标上显著超越了现有的最先进方法,具体包括:

PSNR(峰值信噪比):PGTFormer在对齐人脸视频和非对齐人脸视频上的PSNR值分别达到了30.74和29.66,明显高于其他方法,表明其在重建图像质量上的强大能力。

SSIM(结构相似性):PGTFormer在SSIM指标上也展现了卓越的表现,在对齐和非对齐数据集上的SSIM值分别为0.8668和0.8408,远高于其他竞争方法,证明了PGTFormer在保持结构一致性方面的优势。

LPIPS(感知相似度):PGTFormer在LPIPS指标上取得了最低值,分别为0.2095(对齐)和0.2230(非对齐),表明在主观视觉感受上,PGTFormer生成的图像与高质量图像的差异最小,具有更好的视觉效果。

Deg、LMD、TLME、MSRL:在这些用于评价面部特征、扭曲程度、时间一致性和细节保留的指标上,PGTFormer也全面领先于其他方法,展现出极强的全方位恢复能力。

主观对比结果

除了定量评价外,研究者还进行了大量的主观视觉对比实验。主观结果清晰地展示了PGTFormer在恢复视频人脸时的卓越表现:

51c视觉~合集22_视觉_44

视觉结果

图中展示了PGTFormer与其他方法在视觉效果上的差异。可以看到PGTFormer在细节保留、伪影去除以及及面部自然度上明显优于其他方法。

主观视觉对比结果表明,PGTFormer能够有效恢复面部细节,如眼睛、嘴巴的轮廓和纹理。与其他方法相比,PGTFormer生成的面部更加生动,色彩还原度更高,几乎没有伪影和不自然的过渡。

结论

PGTFormer作为第一个专门为视频人脸恢复设计的方法,在该领域中开创了一个新的方向。其端到端的设计彻底解决了传统方法中对齐操作复杂且易引入误差的问题,同时通过解析引导和时序一致性建模,实现了高效、自然的视频人脸恢复。

未来,研究者计划进一步优化网络结构,并将其应用到更广泛的视频增强任务中,期待PGTFormer能够在更多实际场景中展现出卓越的性能。




#谷歌推世界首个AI游戏引擎

2000亿游戏产业恐颠覆!0代码生成游戏,老黄预言成真

炸裂!世界上首个完全由AI驱动的游戏引擎来了。谷歌研究者训练的GameNGen,能以每秒20帧实时生成DOOM的游戏画面,画面如此逼真,60%的片段都没让玩家认出是AI!全球2000亿美元的游戏行业,从此将被改变。

世界上第一个完全由神经模型驱动的游戏引擎,刚刚诞生了!

「黑神话:悟空」的热度正旺,AI又在游戏中创造了全新的里程碑。

史上首次,AI能在没有游戏引擎的情况下,为玩家生成实时游戏了。

51c视觉~合集22_视觉_45

从此,我们开始进入一个炸裂的新时代:游戏不仅能被AI玩,还能由AI来创造和驱动。

谷歌的GameNGen,可以在单个TPU上,让AI以每秒20帧的速度,生成实时可玩的游戏。每一帧,都是由扩散模型预测的。

几年后,AI实时生成3A游戏大作的愿望还会远吗?

从此,开发者不必再手动编程游戏逻辑,开发时间和成本都会显著降低。

价值2000亿美元的全球游戏产业,可能会被彻底颠覆!

谷歌研究者表示,GameNGen是第一个完全由神经模型驱动的游戏引擎,能够在复杂环境中,实现高质量的长轨迹实时交互。

论文地址:https://arxiv.org/abs/2408.14837

不仅速度是实时的,它的优秀画质,也是让开发者颤抖的地步。

模拟「毁灭战士」时,它下一帧预测的峰值信噪比(PSNR)达到了29.4,已经可以和有损JPEG压缩相媲美。

在神经网络上实时运行时,视觉质量已经达到了与原始游戏相当。

模拟片段和游戏片段如此相似,让不少人类被试都分不清,眼前的究竟是游戏还是模拟?

网友感慨:这不是游戏,这是人生模拟器。

小岛秀夫的另一个预言,成真了。

3A电视剧是不是也来了?想象下,按照自己的喜好生成一版《权游》。

想象下,1000年后或一百万年后,这项技术是什么样?我们是模拟的概率,已经无限接近于1了。

从此,游戏开发不再需要游戏引擎?

AI首次完全模拟具有高质量图形和复杂交互的复杂视频游戏,就做到了这个地步,实在是太令人惊叹了。

作为最受欢迎、最具传奇色彩的第一人称射击游戏,自1993年发布以来,「毁灭战士」一直是个技术标杆。

它被移植到一系列超乎想象的平台上,包括微波炉、数码相机、洗衣机、保时捷等等。

而这次,GameNGen把这些早期改编一举超越了。

从前,传统的游戏引擎依赖的是精心编码的软件,来管理游戏状态和渲染视觉效果。

而GameNGen,只用AI驱动的生成扩散模型,就能自动模拟整个游戏环境了。

从视频中可以看出,神经网络复现游戏标志性视觉效果的能力简直是一绝,AI实时生成复杂交互环境的潜力非常惊人

「毁灭战士」一直以复杂的3D环境和快节奏的动作闻名,现在,所有这些都不需要游戏引擎的常用组件了!

AI引擎的意义,不仅仅是减少游戏的开发时间和成本。

这种技术,可以使游戏创作彻底民主化,无论是小型工作室,还是个人创作者,都能创造出从前难以想象的复杂互动体验。

此外,AI游戏引擎,还给全新的游戏类型打开了大门。

无论是环境、叙事,还是游戏机制,都可以根据玩家的行为动态来发展。

从此,游戏格局可能会被整个重塑,行业会从热门游戏为中心的模式,转向更多样化的生态系统。

顺便一提,「DOOM」的大小只有12MB。

大佬们「疯了」

AI初创HyperWrite的CEO Matt Schumer表示,这简直太疯狂了!用户玩游戏时,一个模型正在实时生成游戏。

如果将大多数AI模型的进展/轨迹映射到这上面,那么在几年内,我们将会得到3A级生成游戏。

英伟达高级科学家Jim Fan感慨道,被黑客们在各种地方疯狂运行的DOOM,竟然在纯粹的扩散模型中实现了,每个像素都是生成的。

连Sora跟它比起来,都黯然失色。我们只能设定初始条件(一个文本或初始帧),然后只能被动观看模拟过程。

因为Sora无法进行交互,因此还不算是一个「数据驱动的物理引擎」。

而GameNGen是一个真正的神经世界模型。它将过去的帧(状态)和用户的一个动作(键盘/鼠标)作为输入,并输出下一帧。这种质量,是他见过的最令人印象深刻的DOOM。

随后,他深度探讨了一些GameNGen中存在的限制。

比如在单个游戏上过拟合到了极致;无法想象新的场景,无法合成新的游戏或交互机制;数据集的瓶颈,导致了方法无法推广;无法实现用提示词创造可玩世界,或用世界模型训练更好的具身AI,等等。

一个真正有用的神经世界模型,应该是什么样子?

马斯克的回答是:「特斯拉可以用真实世界的视频做类似的事情」。

的确,数据是难点。

Autopilot团队可能拥有数万亿的数据对(摄像头视频,方向盘动作)。

有了如此丰富的真实世界数据,完全有可能训练一个涵盖各种极端情况的通用驾驶模拟器,并使用它来部署和验证新的完全自动驾驶(FSD)版本,而不需要实体车辆。

最后Jim Fan总结道:不管怎么说,GameNGen仍是一个非常出色的概念验证——至少我们现在知道,9亿帧是将高分辨率DOOM压缩到神经网络中的上限。

网友们感慨:扩散网络学习物理引擎和游戏规则的方式,太疯狂了。

核心作者:个人里程碑

谷歌DeepMind核心贡献者,项目负责人Shlomi Fruchter,在社交媒体上,介绍了自己开发GameNGen的过程。

他表示,「GameNGen是自己开发路上的里程碑」。

从最初手写GPU渲染代码(显式),到现在训练能在GPU上运行的神经网络(隐式),甚至包含了游戏逻辑,让我有一种实现了完整「闭环」的感觉。

Fruchter进行的第一个大型编码项目之一是3D引擎(如下图所示)。早在2002年,GPU仍只能用于渲染图形。

还记得,第一款图形处理器GeForce 256是在1999年发行。

渲染3D图形恰好需要大量的矩阵运算,这恰恰是GPU所擅长的。

然后谷歌研究人员编写高级着色器语言代码,计算自定义渲染逻辑并构建新的视觉效果,同时还能保持高帧率。

GameNGen的诞生,是源于一个好奇心:

「我们能否在当前的处理器上,运行一个隐式神经网络,来进行实时互动游戏」。

对于Fruchter以及团队成员来说,最终答案是一个令人兴奋的发现。

AI大牛Karpathy曾说过,100%纯软件2.0计算机,只有一个神经网络,完全没有传统软件。

设备输入(音频、视频、触摸等)直接到神经网络中,其输出直接作为音频/视频在扬声器/屏幕上显示,就是这样。

有网友便问道,那就是它不能运行DOOM了?

对此,Karpathy表示,如果能够很好提出请求,它可能可以非常接近地模拟DOOM。

而现在,Fruchter更加肯定,它可以运行DOOM了。

另一位谷歌作者Dani Valevski也转发了此帖,对此愿景表示极度认可。

GameNGen或许标志着游戏引擎全新范式的开启,想象一下,和自动生成的图像或视频一样,游戏也是自动生成的。

虽然关键问题依旧存在,比如如何训练、如何最大程度利用人类输入,以及怎样利用神经游戏引擎创建全新的游戏。但作者表示,这种全新范式的可能性让人兴奋。

而且,GameNGen的名字也暗藏彩蛋,可以读出来试一试——和Game Engine有相似的发音。

Agent采集轨迹,SD预测生成

在手动制作计算机游戏的时代,工作流程包括(1)收集用户输入(2)更新游戏状态,以及(3)将更新后的状态渲染为屏幕像素,计算量取决于帧率。

尽管极客工程师们手中的Doom可以在ipod、相机,甚至微波炉、跑步机等各种硬件上运行,但其原理依旧是原样模拟模拟手动编写的游戏软件。

看起来截然不同的游戏引擎,也遵循着相同的底层逻辑——工程师们手动编程,指定游戏状态的更新规则和渲染逻辑。

如果和扩散模型的实时视频生成放在一起,乍一看好像没什么区别。然而,正如Jim Fan指出的交互式世界模拟不仅仅是非常快速的视频生成。

其一,生成过程需要以用户的输入动作流为条件,这打破了现有扩散模型架构的一些假设。

其二,模型需要自回归生成帧,这往往会导致采样发散、模型不稳定等问题。

Agent数据收集

由于无法直接对游戏数据进行大规模采样,因此首先教会一个agent玩游戏,在各种场景中生成类似于人类且足够多样化的训练数据。

agent模型使用深度强化学习方法进行PPO训练,以简单的CNN作为特征网络,共生成900M帧的𝒯_a⁢g⁢e⁢n⁢t数据集,包括agent的动作以及对环境的观察,用于后续的训练 、推理和微调。

训练生成模型

GameNGen使用的Stable Diffusion 1.4是文生图扩散模型,其中最重要的架构修改就是,让以文本为条件的模型适应数据集中的动作数据a_{<n}和对先前帧的观察结果o_{<n}。

具体来说,首先训练一个嵌入模块A_e⁢m⁢b,将agent的每个动作(例如特定的按键)转换为单个token,并将交叉注意力中的文本替换为编码后的动作序列。

为了能接受o_{<n}作为条件,同样使用自动编码器ϕ将其编码到潜在空间中(即x_t),同时在潜在的通道维度上与噪声隐变量ε_α拼接在一起。

实验中也尝试过用交叉注意力处理o_{<n}输入,但并没有明显改进。

相比原来的Stable Diffusion,GameNGen对优化方法也做了改进,使用velocity parameterization方法最小化扩散损失。

GameNGen方法概述(省略v-prediction细节)

噪声增强减轻自回归漂移

从原Stable Diffusion的教师强制训练转换为游戏引擎中的自回归采样,会不可避免地导致错误累积和样本质量快速下降。

为了避免这个问题,训练生成模型时会在编码过的上下文帧中添加不同数量的高斯噪声,同时将噪声水平作为模型的输入,从而让降噪网络可以纠正先前帧中采样的信息。

这些操作对于随着时间推移时保证帧质量至关重要。在推理过程中,也可以控制添加的噪声水平以最大限度地提高生成质量。

自回归漂移:上图中, 20-30个步骤后,生成质量会快速下降;而下图中,具有噪声增强的相同轨迹不会出现质量下降

推理

模型在推理时使用DDIM采样方法。之所以能达到20FPS的实时生成效率,与GameNGen推理期极高的采样效率直接相关。

通常,生成扩散模型(例如Stable Diffusion)无法只用单个去噪步骤产生高质量结果,而是需要数十个采样步骤。

但令人惊讶的是,GameNGen只需4个DDIM采样步骤就能稳健地模拟 DOOM,而且相比使用20个或更多采样步骤时,质量并没有明显下降。

作者推测,这可能源于多个因素的共同作用,包括可采样的图像空间受限,以及通过先前帧信息施加了较强的条件限制。

仅使用4个降噪步骤让U-Net的推理成本降低至40ms,加上自动编码器,总推理成本为50ms,相当于每秒生成20帧图像。

实验还发现,模型蒸馏后进行单步采样能够进一步提高帧率,达到50FPS,但会以牺牲模拟质量为代价,因此最后还是选用了20FPS的采样方案。

AI游戏生成太逼真,60%片段玩家没认出

模拟质量

总的来说,就图像质量而言,GameNGen在长时间轨迹上预测,达到了与原始游戏相当的模拟质量。

对于短时间轨迹,人评估者在模拟片段和真实游戏画面中,进行区分时,比随机猜测略强一些。

这意味着什么?

AI生成的游戏画面,太过逼真沉浸,让人类玩家有时根本无法辨别。

图像质量

这里,评估中采用了LPIPS和PSNR作为评估指标。这是在强制教学设置下进行测量,即基于真实过去观察预测单个帧。

对5个不同关卡中,随机抽取的2048个轨迹进行评估时,GameNGen达到了29.43的PSNR和0.249的LPIPS。

下图5展示了,模型预测和相应的真实样本示例。

视频质量

针对视频质量,研究人员使用了自回归设置,即模型基于自己的过去预测来生成后续帧。

不过,预测和真实轨迹在几步后会发生偏离,主要是由于帧间移动速度的微小差异累积。

如下图6所示,随着时间推移,每帧的PSNR值下降,LPIPS值上升。

预测轨迹在内容和图像质量方面,仍与实际游戏相似,但逐帧指标在捕捉这一点上,能力有限。

因此,研究团队测量了在512个随机保留轨迹上,计算的FVD(用于测量预测和真实轨迹分布之间的距离)。

这里,分别对16帧(0.8秒)和32帧(1.6秒)两种模拟长度,进行了测试。

最终,得到的FVD分别是114.02,以及186.23。

人工评估

为了得到更真实的评估,研究者向10名人类评分者,提供了130个随机短片段(长度为1.6秒和3.2秒)。

并且,将GameNGen模拟的游戏和真实游戏并排对比,如下所示。

评估者的任务,便是识别其中,哪一个是真实游戏。

结果发现,针对1.6秒生成游戏的片段,在58%情况下,他们认为GameNGen生成游戏是真实的。

而对于3.2秒片段,这一比率更高,达到了60%。

消融实验

接下来,研究者评估了架构中,不同组件的重要性,从评估数据集中采样轨迹,并计算地面真值与预测帧之间的LPIPS和PSNR指标。

上下文

通过训练N∈{1, 2, 4, 8, 16, 32, 64}模型,测试上下文中过去观察数量N的影响。(标准模型使用了N=64)。

这影响了历史帧和动作的数量。

保持解码器冻结情况下,训练模型200,000步,并在5个关卡的测试集轨迹上进行评估。

结果如下表1所示,如预期一样,研究者观察到GameNGen生成质量,随着上下文增加,而提升。

更有趣的是,在1帧和2帧之间,这一改进非常大,但往后开始很快接近了阈值线,改进质量逐渐放缓。

即便用上了最大上下文(64帧),GameNGen模型也仅能访问,略超过3秒的历史信息。

另一个发现是,大部分游戏状态可能会持续更长时间。

表1结果很好地说明了,未来可能需要改变模型架构,来支持更长的上下文。同时,探索更好的方法,采用过去帧作为条件。

噪声增强

为了消除噪声增强的影响,研究人员还训练了一个没有添加噪声的模型。

通过对比评估,经过噪声增强的标准模型和没有添加噪声的模型(在200k训练步骤后),以自回归方式计算预测帧与真实帧之间的PSNR和LPIPS指标。

如下图7所示,呈现了每个自回归步骤的平均指标值,总共达64帧。

这些评估是在随机保留的512条轨迹上进行的。

结果显示,没有噪声增强时,与真实值的LPIPS距离,比起研究标准噪声增强模型增加得更快,而PSNR下降,表明模拟与真实值的偏离。

智能体

最后,研究人员将智能体生成的数据训练,与使用随机策略生成的数据训练,进行了比较。

这里,通过训练两个模型,以及解码器,每个模型训练700k步。

它们在一个由5个关卡组成的2048条人类游戏轨迹的数据集上,进行评估。

而且,研究人员比较了在64帧真实历史上下文条件下,生成的第一帧,以及经过3秒自回归生成后的帧。

总得来说,研究观察到,在随机轨迹上训练模型效果出乎意料地好,但受限于随机策略的探索能力。

而在比较单帧生成时,智能体仅略胜一筹,达到25.06 PNSR,而随机策略为24.42。

而在比较3秒情况下,差异增加到19.02 Vs 16.84。

在手动操作模型时,他们还观察到,某些区域对两者都非常容易,某些区域对两者都非常困难,而在某些区域智能体表现更好。

因此,作者根据其在游戏中与起始位置的距离,将456个示例手动分为三个级别:简单、中等和困难。

如下表2所示,结果观察到,在简单和困难集合中,智能体仅略优于随机,而在中等集合中,智能体的优势如预期般更大。

0代码生成游戏,老黄预言成真

今天,视频游戏,是由人类编程的。

GameNGen的诞生,开启了实时互动视频游戏的全新范式。

在这一范式中,游戏是神经模型的「权重」,而非代码行。

如今看来,老黄的预言近在眼前。

每个像素很快都将会是生成的,并非是渲染的。

在今年GTC大会的记者会上,Bilawal Sidhu就老黄的话,提出了一个后续问题:「我们距每个像素都是以实时帧速率生成的世界还有多远」?

老黄表示,我们还需要5-8年的时间,并且现已看到了跨越创新S曲线的迹象。

它表明,当前存在一种架构和模型权重,可以让神经网络能够在现有GPU上,有效交互运行复杂游戏DOOM。

不过,GameNGen仍有许多重要的问题存在,这也是谷歌开发者接下来继续攻克的问题。

Shlomi Fruchter带领团队开辟了游戏制作的另一片天地,并希望这个范式能为前路指明方向。

在这种新范式下,能够直接拉低视频游戏的开发成本,并让更多人得到访问。

仅需一句话,或者是一个示例图像,未来可任何一个开发者,皆可以对游戏进行开发和编辑。

另外,为现有游戏创建/修改行为,可能在短期就能实现了。

比如,我们可以将一组帧,转化为一个全新可玩的关卡,或者仅基于示例图像创建一个新角色,无需编写代码。

新范式的好处,或许还能保持足够优秀的帧率,和极少的内存占用。

正如论文作者所述,他们希望这小小一步的尝试,能够对人们游戏体验,甚至更广泛地对日常交互软件系统的互动,带来有极大价值的改善。

从游戏到自动驾驶汽车,令人兴奋的可能性

更令人兴奋的是,GameNGen的潜在应用,远远超出了游戏领域!

无论是虚拟现实、自动驾驶汽车还是智能城市行业,都可能因此而变革。

因为在这些行业中,实时模拟对于培训、测试和运营管理都至关重要。

比如在自动驾驶汽车中,需要能够模拟无数的驾驶场景,以安全地在复杂的环境中行驶。

而GameNGen这类AI驱动引擎,恰恰可以通过高保真度和实时处理来执行这项任务。

在VR和AR领域,AI引擎可以创建完全沉浸式的交互式世界,还能实时适应用户输入。

这种交互式模拟产生的巨大吸引力,可能会彻底改变教育、医疗保健和远程工作等行业!

当然,GameNGen也存在一些挑战。

虽然它可以以交互速度运行《毁灭战士》,但图形密集程度更高的游戏,可能会需要更大的算力。

另外,它是针对特定游戏量身定制的,因此要开发能运行多个游戏的通用AI游戏引擎,挑战仍然艰巨。

但现在,我们俨然已至未来的风口浪尖,从此,我们最喜欢的游戏不是从代码行中诞生,而是从机器的无限创造力中诞生。

从此,人类创造力和机器智能之间的界限会越来越模糊。

通过GameNGen,谷歌研究人员让我们对未来有了令人兴奋的一瞥——

在这个世界中,阻碍我们虚拟体验的唯一限制,就是AI的想象力。

参考资料:

https://gamengen.github.io/

https://x.com/shlomifruchter/status/1828697328946929845

https://x.com/DrJimFan/status/1828813716810539417




#对比学习在学啥?

在不使用任何假设的情况下,刻画出对比学习与谱聚类算法的等价关系。

对比学习是大模型的入门算法。它的想法很简单:对于输入, 找一些它的正样本和负样本,希望在学习之后的网络特征空间中,离正样本近一点,负样本远一点。

实际上,对比学习并非个例,预训练算法大多非常简单:要么是遮盖一部分数据内容让模型猜出来,要么是让模型不断预测一句话的下一个词是什么等等。因为这些算法过于简单,人们很难理解它们究竟如何创造出了强大的模型,所以往往会把大模型的成功归功于海量数据或巨大算力,把算法设计归为炼丹与悟性。

有没有更本质的方式,可以帮助我们理解对比学习?下面我给大家介绍一下我们最近的工作[1],可以在不使用任何假设的情况下,刻画出对比学习与谱聚类算法的等价关系。

呃……但这关我什么事?

从理论的角度来看,对比学习与谱聚类算法的等价关系是一个很优美的结果,至少我是这么觉得的——但这对大部分朋友来说并不重要。实际上,可能有一半以上的AI科研人员对谱聚类不太熟悉,对这样的理论刻画自然没有太多兴趣。不仅如此,

对比学习与谱聚类算法的关系不是我们第一个提出的。人们早就在实践中发现,对比学习得到的模型在分类任务上有突出的效果,但是在其他下游任务中表现一般。马腾宇老师组在2021年的论文[2]中极具创新性地证明了,如果把对比学习中常用的InfoNCE loss改成某种变体(他们称之为spectral contrastive loss),那么得到的模型几乎就是在做谱聚类:是谱聚类的结果乘以一个线性变换矩阵。换句话说,他们已经证明了,对比学习的变体是谱聚类的变体。我们的结果可以看作是对他们结果的进一步完善:对比学习就是谱聚类。因此,虽然我们的结果可以看做是这个问题的一个完美句号,但并不出人意料。

我们的理论框架精致,但并非原创。事实上,我们使用了Van Assel等人2022年发表的用于分析Dimension reduction的概率图框架[3],将其调整之后用于对比学习分析之中。虽然这一调整并不显然,相信原作者也没有想到他们的框架可以用来分析预训练模型;但是我们的理论工具确实来源于他们的工作。

所以我想,我们的工作最重要的地方是提供了理解大模型的新视角。对我来说,当对比学习的底层逻辑以一种简洁、优雅的方式展现出来时,它的意义远远超出了谱聚类的理论刻画本身,给我带来了巨大震撼。这种新的视角可以帮助AI从业者更好地理解预训练算法和模型,对未来的算法设计与模型应用都会有帮助。当然,这意味着要先理解一点点数学——不过我保证,这是值得的。

从SimCLR谈起

我们先从Hinton团队2020年提出的SimCLR算法[4]谈起,它也是对比学习的代表算法。SimCLR专门用于理解图像,它基于一个重要的先验知识:把一只狗的图片进行翻转、旋转、切分或者其他相关操作,得到的图片还是在描绘同一只狗。具体来说,论文中考虑了9种不同类型的操作,如下图所示:

51c视觉~合集22_视觉_46

对于人类来说,上面的这些图一看就是同一只狗。针对任何一张图片  ,我们可以通过这样的方法随机生成两个它的变体,称之为  和  。既然这两个变体图片描述的是同一个东西,它们应该包含了极为相似的语义信息。可是,一只狗的像素矩阵,和将它旋转之后得到的像素矩阵,在像素空间中天差地别。那么,我们能不能找到一个语义空间,使得这两者相似呢?这就是SimCLR算法,见下图(我们基于原文的示意图进行了微小的调整)。

51c视觉~合集22_视觉_47

可以看到, 假如我们通过预先定义的图片操作, 生成了  和  。然后我们把它们分别塞进神经网络  中, 得到了两个向量  。我们希望这两个向量比较接近, 毕竟他们代表的图片有相似的语义。

可是, 如果使用这个标准来训练模型的话, 模型非常容易偷懒。试想, 倘若  把所有的输入都映射到同一个输出, 那自然满足我们的要求, 但是这个模型什么都没有学到。因此, SimCLR引入了负样本, 即从数据集中随机选一些图片生成 , 使得  比较近, 但是和  又比较远。这样,  就没法偷懒, 不得不认认真真学点东西了。

使用这个想法设计的损失函数叫做InfoNCE loss, 它有一个令人望而生畏的数学定义。假如给定一个图片  和它的正样本 , 还有一系列负样本, 我们叫它们 , 那么损失函数定义为 (我们进行了等价变换, 详见论文  :

这个式子很复杂,但是如果我们愿意抓大放小的话,它也很简单。所谓的抓大放小,就是先不管那些我们不明白的部分,只看它的主要意思。按照这个指导思想,我带着大家过一遍:

开头为什么有个负号? 说明后面的式子越大越好。为什么要加个log? 不懂, 我们先不管, 之后再说。下面这个分式是什么? 可以看到, 分子在分母中也出现了, 我们就把分子当做  的相近程度即可。分式的意思就是说,  与  这对正样本的相近程度, 相比  和  那些负样本的相近程度,应该越大越好。

为什么  能够表示两个图片的相近程度呢?  的含义很清楚, 就是把  塞进神经网络得到的表征。exp和  代表了高斯核函数, 是一种刻画两个表征的相似度的方法。。

上述就是SimCLR算法分析的传统思路。我们跳过或者模糊不清的部分,就是深度学习中非常重要的玄学——不懂没关系,效果好就行。

我们今天的目标,就是把这些部分解释清楚,同时给出一个与传统分析思路截然不同的新思路。整个故事环环相扣,我们把SimCLR算法搁置一下,先从理想空间谈起。

什么是理想空间?

我们刚才谈到,在像素空间中,模型很难理解一张图片的语义。为了能够让模型更好地理解图片的语义,我们需要找到一个更好的空间,我称之为理想空间(即刚才说的语义空间)。在理想空间里,任何两个图片的语义关系可以非常方便地计算出来。比如说,在对比学习考虑的问题里,我们可以使用一个简单的函数  直接算出  与 的相似关系。所以说,在理想空间中,图片的语义对于模型来说是“显然”的,因为任何两个图片的关系可以用  计算得到。如下图所示:

51c视觉~合集22_视觉_48

图中第一行的四个圆点表示四个数据点(在我们这里就是四个图片),圆点间的箭头表示它们之间的关系(我特意画了有向箭头,所以关系可以是单向的)。一般来说,关系可以非常复杂,但是今天我们假设两个点之间的关系可以用一个实数表示。这样,这些点与关系就形成了一个图,可以用邻接矩阵表示。在SimCLR算法中,两个点之间的关系等价于它们被选为一对正样本的概率,表示它们的相似程度。

我们的目标是通过神经网络  计算出一个理想空间  (第二行), 使得在这个空间中, 任何两个点  之间的关系可以用一个简单的数学函数  计算得到。今天我们考虑的是一种极为简单的  函数,我们要求  可以简化写成  ,即  具有平移不变性。

从图中可以看到, 我特意在任何两个点之间都画了双向箭头, 这是因为任何两个点都可以用  算出关系。这和第一行的关系图不同,因为第一行很可能存在两个点没有关系,或者只有单向关系。我把第二行的关系用邻接矩阵  来表示。

在理想的情况下,我们希望  和  是一样的。可是,如果  是对称的,而  存在有向边,那这两个矩阵完全一样是不可能的。所以, 我们需要定义一个损失函数来刻画它们的距离, 然后使用优化算法进行优化。这样,我们就得到了一个可以将对象映射到理想空间的神经网络  的算法。

然而,这个算法有个问题,就是损失函数不好算。考虑到我们的数据集非常大,可以包含几百万张甚至更多图片,所以上下两行对应的图都非常庞大,无法直接计算两个邻接矩阵的距离。那该怎么办呢?

很简单,我们可以对原图进行降采样,取两个子图进行比较。如下图所示:

51c视觉~合集22_视觉_49

可以看到,左边计算Ideal loss可能很困难,所以我们走右边的虚线,通过子图采样的方法,得到两个子图 。通过使用交叉熵让两个子图尽可能接近,我们也可以驱使模型学习到好的理想空间。但是要注意,这个思路本质是一种启发式算法,必要但并不充分:原图一致意味着子图一致,但是子图一致不意味着原图一致。

子图采样评分

如何对原图采样呢?我们可以使用Van Assel等人提出的框架[3],使用Markov随机场。对这个工具不太熟悉的朋友不必惊慌,它背后的原理很简单。如果我们想要对原图采样(假设它有  个点),那么我们首先需要定义子图的分布。这个分布说白了,就是给每个子图一个得分,使得每个子图被采到的概率与它的得分成正比。换句话说,我们需要设计一个评分函数,用于给每个子图评分,这样就可以定义出一个采样的分布。分高的经常被采,分低的就不怎么会被采到。

所以,评分函数的定义,就决定了采样分布——我们需要设计一个合理的评分函数。我们考虑一个极为简单的办法,就是只考虑出度为1的子图。具体来说,这样的子图保持了原图的点不变,但是只给每个点留了1个出去的有向边。如果我们把这样的一个子图叫做 ,那么当我们给定原图的时候(用邻接矩阵表示),我们可以定义  的评分为:。

注意到, 由于  每个点的出度为 1 , 所以它的邻接矩阵里面的数要么是 0 , 要么是 1 。从这个角度来看, 我们把  放到了  的指数上, 所以只有当  时  才会被计算到连乘中, 否则不会。换句话说, 当  选中的边两端的点相似度(由  定义)较高时, 评分更高, 更容易被采到。

非常神奇的是, 基于这样的采样方式,  的每一行彼此之间都是独立的, 并且每一行(因为出度为 1 , 所以有且仅有一个 1 是从多项式分布  中采样得到的。换句话说, 对于第  行的 W来说, 它的第  列为 1 的概率恰好为  。当然, 这里的  如果替换成  结果也是一样的。

从SimCLR到谱聚类

一旦理解了子图的采样方法, 剩下的部分就容易很多。从上图来看, 我们需要优化  的交叉熵。我们知道这两个矩阵的每一行都是独立的, 所以可以单独拿出来计算。换句话说, 我们可以针对每一行  计算  的交叉熵, 然后加起来。具体来说, 对于给定的 , 我们需要计算每一列  配对的可能性。注意到  ,因为我们假设没有指向自己的边:

我们之前提过, 由于  的采样特点, 上式的右半部分  (当   时)。另外, 根据  ,不难算出当  是高斯核函数的时候:

注意到, , 所以我们进一步可以得到:

这恰好是SimCLR的InfoNCE损失函数!

另一方面, 我们真正需要优化的损失函数还有左半部分  这一项。这一项恰好对应于SimCLR算法针对每项输入  进行增广采样时, 采到  这两个对象为一对正样本的概率。换句话说, SimCLR算法正好在优化  这一损失函数。

另一方面, Van Assel等人的论文  中证明了, 上述损失函数等价于在  上进行谱分解。因此, 我们就证明了SimCLR算法本质是在相似图上做谱分解算法, 如下图所示:

51c视觉~合集22_视觉_50

拓展到CLIP

与SimCLR相比,CLIP算法的用途更加广泛。例如,OpenAI提出的文图生成模型Dall-E2就是使用CLIP模型将文字与图像连在了一起,使得人们可以使用文字生成极高质量的图片。CLIP算法同样很简单,就是把图像和其文字描绘当做一组对象,使用InfoNCE损失函数把这两个对象连在一起。使用我们的分析方法,不难发现CLIP本质是在一个二分图上做谱聚类,具体可以参考论文[1]。

总结

可以看到,我们全程并没有为了证明SimCLR而证明SimCLR,也没有加入任何假设。实际上,我们是先从理想空间的角度来理解SimCLR算法,认为应该采用子图采样的方式才能够把理想空间学到。子图采样的方法有很多,我们选了比较自然、容易计算的一个,而它恰好就直接对应了SimCLR的算法!真是颇有一种踏破铁鞋无觅处,得来全不费工夫的感觉。

我认为这背后提供的新视角是非常重要的。SimCLR/CLIP这些基础的预训练算法,其实是在把对象映射到理想空间,使得要学习的关系在理想空间中可以用简单函数自然地计算。当我们关注预训练算法的时候,我们不应该只看它的算法描述,而应该更多地关注模型通过学习对象的表征,构建了一个什么样的理想空间。

毕竟,算法的最终目标可能要比算法的前行路线更值得分析。

本文介绍的论文题为《Contrastive Learning Is Spectral Clustering On Similarity Graph》[1],由谭智泉、张伊凡、杨景钦和我合作完成。

参考

^abcd[3] https://arxiv.org/abs/2303.15103v2

^[1] https://arxiv.org/abs/2106.04156

^abc[2] https://arxiv.org/abs/2201.13053v2

^[4] https://arxiv.org/abs/2002.05709