论文下载:A Comprehensive Survey of AI-Generated Content (AIGC): A History of Generative AI from GAN to ChatGPT
注解:[1,2021] 表示第1条参考文献,发表时间为2021年
最近,ChatGPT,DALL-E-2[1,2021] 以及 Codex[2,2021]一起受到了社会的广泛关注。因此,许多人已经开始对相关的资源感兴趣,并正在寻求揭示其令人印象深刻的表现背后的背景和秘密。事实上,ChatGPT和其它生成人工智能(GAI)技术属于人工智能生成内容(AIGC)的范畴,它涉及到通过人工智能模型创建数字内容,如图像、音乐和自然语言。AIGC 的目标是使内容创建过程更高效和可访问性,允许以更快的速度生产高质量的内容。AIGC 通过从人类提供的指令中提取和理解意图信息,并根据其知识和意图信息生成内容来实现的。近年来,大规模模型在 AIGC 中变得越来越重要,因为它们提供了更好的意图提取,从而改进了生成结果。随着数据的增长和模型的规模扩大,模型可以学习的分布变得更加全面和更接近现实,从而导致更现实和高质量的内容生成。本次综述提供了对生成模型的历史和基本组件的全面回顾,以及单模态交互和多模态交互的最新进展。从单模态的角度出发,介绍了文本和图像的生成任务和相关模型。从多模态的角度,我们介绍了上述模态之间的交叉应用。最后,我们讨论了AIGC中存在的开放问题和未来的挑战。
近年来,人工智能生成内容(AIGC)获得了计算机科学界的关注,在计算机科学界,整个社会开始对大型科技公司[3,2022]开发的各种内容生成产品感兴趣,如ChatGPT [4,2022]和DALL-E- 2[5,2022]。AIGC 指的是使用先进的生成AI(GAI)技术生成的内容,而不是由人类作者创建的,它可以在短时间内自动创建大量的内容。例如,ChatGPT 是由OpenAI开发的一种语言模型,用于构建会话人工智能系统,它可以以一种有意义的方式有效地理解和响应人类的语言输入。 此外,DALL-E-2 是OpenAI开发的另一种最先进的GAI模型,它能够在几分钟内从文本描述中创建独特和高质量的图像,如“宇航员骑马的逼真风格”,如图所示。作为在AIGC领域取得的显著成就,许多人认为这将是人工智能的新时代,并对全世界产生重大影响。
从技术上讲,AIGC 指的是给定的人工指令,可以帮助教学和指导模型完成任务,利用GAI算法生成满足指令的内容。这个生成过程通常包括两个步骤:从人工指令中提取意图信息和根据所提取的意图生成内容。然而,包含上述两个步骤的GAI模型的范式并不完全新颖,正如之前的研究[6,7,2022]所证明的那样。与之前的工作相比,最近的AIGC的核心进步是在更大的数据集上训练更复杂的生成模型,使用更大的基础模型架构,并能够获得广泛的计算资源。例如,GPT-3的主框架与GPT-2保持不变,但训练前的数据大小从WebText [8,2019](38GB)增长到 CommonCrawl[9,2020](过滤后的570GB),基础模型大小从1.5B增长到175B。因此,GPT-3 在人类意图提取等各种任务上比GPT-2具有更好的泛化能力。除了数据量和计算能力的增加所带来的好处外,研究人员还在探索将新技术与GAI算法集成的方法。例如,ChatGPT 利用来自人类反馈(RLHF)[10–12]的强化学习来确定对给定指令的最合适的响应,从而随着时间的推移提高了模型的可靠性和准确性。这种方法允许ChatGPT在长对话中更好地理解人类的偏好。同时,在计算机视觉中,Stability.AI in 2022 提出 stable diffusion[13],使得人工智能在图像生成方面也取得了巨大的成功。与之前的方法不同,生成扩散模型可以通过控制探索和开发之间的权衡来帮助生成高分辨率图像,从而实现生成图像的多样性和与训练数据的相似性的和谐组合。
通过结合这些进步,模型在AIGC任务上取得了重大进展,并已被各种行业所采用,包括艺术[14,2021]、广告[15,2018]和教育[16,2016]。在不久的将来,AIGC将继续成为机器学习的一个重要研究领域。因此,必须对过去的研究进行广泛的审查,并确定该领域的开放问题。本文是第一个关注AIGC领域的核心技术和应用的综述。
这是AIGC在技术和应用方面总结了GAI的第一个综合调查。以往的综述从不同的角度关注GAI,包括自然语言生成[17,2022]、图像生成[18,2019]、多模态机器学习[7,19,2022]的生成。然而,这些之前的工作只关注于AIGC的一个特定部分。在本综述中,我们首先回顾了在AIGC中常用的基础技术。然后,我们进一步提供了先进的GAI算法的全面总结,包括单模态生成和多模态生成,如下图所示。
此外,我们还研究了AIGC的应用和潜在挑战。最后,我们强调了该领域的开放问题和未来的发展方向。综上所述,本文的主要贡献如下:
综述的其余部分组织如下:第【2】节主要从视觉和语言模式的角度,回顾了AIGC的历史。第【3】节介绍了当今GAI模型训练中广泛使用的基本组件。第【4】节总结了GAI模型的最新进展,其中,第【4.1】节从单模态模式的角度回顾了进展,第【4.2】节回顾了从多模态生成的角度出发的研究进展。在多模态生成过程中,我们介绍了视觉语言模型、文本音频模型、文本图模型和文本代码模型。第【5】节和第【6】节介绍了GAI模型在AIGC中的应用,以及其他一些与此领域相关的重要研究。此外,第【7、8】节还揭示了AIGC技术的风险、开放问题和未来的发展方向。最后,我们在第【9】节进行了总结。
下图展示了 GAI 在 CV,NLP,VL(vision language)领域内的经典论文,通常也代表了重大进展的时间节点,以及里程碑论文
Transformer:Vaswani et al. 2017 在 NLP 任务中首次提出。
此后,transformer 作为主干结构应用于生成模型的各个领域【9,33,34,2021】。在 NLP 领域,提出很多杰出的语言模型,比如 BERT,GPT。在 CV 领域,ViT(Vision Transformer )[35,2020] 和 Swin Transformer[36,2021] 将其应用于视觉的各个下游任务。不仅仅是各自领域起到巨大作用,更为重要的是,它可以将CV和NLP任务融合,进行多模态的学习任务。其中,比较经典的模型为 CLIP[37,2021]。CLIP 是一个联合的视觉语言模型,它结合了 transformer 架构和视觉模块,允许它在大量的文本和图像数据上进行训练。由于它在训练前结合了视觉和语言知识,因此也可以作为多模态提示生成的图像编码器。总之,基于 transformer 的模型的出现彻底改变了人工智能的产生,并激发了大规模训练的可能性。
基于上述模型,最近几年也提出一些新的技术。比如,在NLP领域,相比于微调(fine-tuning),研究人员更喜欢 few-shot prompting[38,2023],通过从提示样本中取出少数数据,以帮助模型更好地理解任务需求。
在本节中,我们将介绍在【AIGC】中经典的基础模型,新的强化学习技术,新的训练技术等。
Transformer 是很多经典的模型的主干网络,比如 GPT-3[9,2020],DALL-E-2[5,2022],Codex[2,2021],以及 Gopher[39,2021]。它最初被提出是为了解决传统模型(RNN)在处理可变长度序列和上下文理解方面的局限性。Transformer 基于自注意机制(self-attention mechanism),可以关注输入句子的不同部分。
Transformer 的结构:包含 encoder 和 decoder 两个主要部分。编码器(encoder)接收输入序列并生成隐藏表示,而解码器(decoder)接收隐藏表示并生成输出序列。编码器和解码器的每一层都由一个多头注意力机制(multi-head attention)和一个前馈神经网络( feed-forward neural network)组成。多头注意力机制是 Transformer 的核心组成部分,根据 tokens 的相关性给其分配不同的权重。这种信息路由方法允许模型更好地处理长期依赖关系,从而提高了NLP任务中的性能。
Transformer 的另一个优点:它的架构使其具有高度的并行性,并允许数据克服归纳偏差[40,2021]。这一特性使得 Transformer 非常适合大规模的预训练,使基于 Transformer 的模型能够适应不同的下游任务。
自引入 Transformer 架构以来,由于其并行性和学习能力,它已成为自然语言处理的主导选择。一般来说,这些基于 Transformer 的预训练语言模型通常可以根据其训练任务分为两种类型:自回归语言建模( autoregressive language modeling)和掩码语言建模(masked language modeling)[41,2021]。
掩码语言建模:给定一个由几个词元(tokens)组成的句子,掩码语言建模的目标,比如 BERT [42,2018] 和 RoBERTa [43,2019],是指预测给定上下文信息的掩码标记(masked token)的概率。掩码语言建模最显著的例子是 BERT [42],它包括掩蔽语言建模和下一句子的预测概率。RoBERTa [43,2019] 使用与BERT相同的架构,通过增加训练前数据的数量和合并更具挑战性的训练前目标来提高其性能。XL-Net [44,2019] 也基于BERT,它结合了排列操作来改变每次训练迭代的预测顺序,允许模型跨标记学习更多的信息。
自回归语言建模:例如GPT-3 [9] 和 OPT [45,2022],给定前几个词(tokens)的情况下,预测下一个词元(token)概率的建模方式,因此,属于从左到右的语言建模。与掩码语言模型不同,自回归模型更适合用于生成性任务。
尽管接受了大规模数据的训练,但AIGC可能并不总是产生与用户意图相一致的输出,其中包括对有用性和真实性的考虑。为了更好地将AIGC输出与人类偏好对齐,来自人类反馈的强化学习(RLHF)已被应用于各种应用中的微调模型,如 Sparrow、InstructGPT 和 ChatGPT [10,46,2022]。
通常,RLHF 的整个管道包括以下三个步骤:预训练(pre-training),奖励学习( reward learning),和强化学习的微调(fine-tuning with reinforcement learning)。具体如下:
- 预训练:语言模型 θ 0 \theta_0 θ0 在大规模数据集上预训练,作为初始语言模型;
- 奖励学习:由于 θ 0 \theta_0 θ0 给出的【提示-回答对】(prompt-answer pair)可能与人类的目的不一致,在第 2 步中,我们训练了一个奖励模型来编码多样化和复杂的人类偏好。具体来说,给定相同的提示 x x x,不同的生成的答案{1,2,···,3} 被人类以成对的方式进行评估。借助ELO【47,2008】算法,两两的比较关系随后被转移到点态奖励标量(pointwise reward scalars),{1,2,···,3};
- 微调:在最后一步,利用强化学习最大化学习奖励功能对语言模型 θ \theta θ 进行微调。为了稳定 RL 训练,通常使用近端策略优化(PPO)作为RL算法。在 RL 训练的每一段中,考虑一个经验估计的 KL 惩罚项,以防止模型输出一些特殊的东西来欺骗奖励模型。具体来说,每一步的总奖励 r t o t a l r_{total} rtotal 由 r t o t a l ( x , y ) = r R M ( x , y ) − λ R M D K L ( π 0 ∣ π θ 0 ) r_{total}(x,y)=r_{RM}(x,y)-\lambda_{RM}D_{KL}(\pi_0|\pi_{\theta_{0}}) rtotal(x,y)=rRM(x,y)−λRMDKL(π0∣πθ0),这里 r R M r_{RM} rRM是学习到的奖励模型, D K L D_{KL} DKL 是 KL 惩罚项, π \pi π 是训练规则。有关RLHF的更多细节,请参考[48,2017];
尽管RLHF通过结合人类反馈,显示出了良好的结果,但由于缺乏公开的基准和实施资源,这一领域的进展受到了阻碍,导致人们认为RL对NLP是一种具有挑战性的方法。为了解决这个问题,最近引入了一个名为RL4LMs [49,2022]的开源库,它包括创建用于微调模块和在LM-based 生成算法上进行RL评估。
除了人类的反馈,最新的对话代理Claude更喜欢宪法AI [50,2022],其中的奖励模型RL从AI反馈(RLAIF)中学习。批评和人工智能的反馈都是由从“宪法”中提取的一小组原则所指导的,这是克劳德身上人类所提供的唯一东西。人工智能反馈的重点是通过解释其对危险查询的反对意见来控制输出的危害更小。此外,最近对 RLAIF [51,2023] 的初步理论分析证明了RLHF的实证成功,并为语言模型的专门RLHF算法设计提供了新的见解。
近年来,有了重大的硬件进步,促进了大规模模型的训练。在过去,使用cpu训练一个大型神经网络可能需要几天甚至几周。然而,随着更强大的计算资源出现,这一过程已经加速了几个数量级。例如,NVIDIA A100 GPU 在比特大推理过程中比 V100快7倍,比T4 快11倍。此外,谷歌的张量处理单元(tpu)是专门为深度学习而设计的,与当前一代的 A100 GPU 相比,它提供了更高的计算性能。计算能力的快速发展显著提高了人工智能模型训练的效率,并为开发大型和复杂的模型开辟了新的可能性。
NVIDIA A100 GPU性能介绍文档
Google TPU 性能介绍文档
另一个显著的改进是分布式训练。在传统的机器学习中,训练通常在单台处理器上使用单台机器上进行。这种方法可以很好地适用于小数据集和模型,但它无法处理大规模的数据和复杂的模型。在分布式训练中,训练工作负载在多个处理器或机器之间分配,允许模型更快地训练。一些公司还发布了简化在深度学习堆栈[53–55,2022]上的分布式训练过程的框架。这些框架提供了工具和 API,允许开发人员轻松地将其训练工作负载分配到多个处理器或机器上,而不必管理底层基础设施。
云计算在训练大规模模型方面也发挥了重要作用。以前,模型通常是在本地进行训练的。随着AWS和Azure等云计算服务提供了对强大的计算资源的访问,深度学习研究人员和从业者可以根据需要启动大型gpu或tpu集群,以训练大规模模型。总的来说,这些进步使开发更复杂和更准确的模型成为可能,为人工智能研究和应用的各个领域释放了新的可能性。
在本节中,我们将介绍最先进的单模态生成模型。这些模型被设计为接受特定的原始数据模态作为输入,如文本或图像,然后生成与输入相同模态的预测。
我们将讨论在这些模型中使用的一些最先进的方法和技术,包括生成语言模型,如GPT-3 [9]、BART [34]、T5 [56,2020]和生成视觉模型,如GAN [29]、VAE [30]和 normalizng flow[57,2014]。
生成式语言模型(GLMs)是一种NLP模型,它经过训练,可以基于他们所接触到的输入数据中的模式和结构来生成可读的人类语言。这些模型可以用于广泛的NLP任务,如对话系统[58,2022]、翻译[59,2020]和问题回答[60,2021]。
近年来,预训练语言模型的使用已成为自然语言处理领域的流行技术。一般来说,目前最先进的预训练语言模型可以分为掩码语言模型(编码器)、自回归语言模型(解码器)和编码器-解码器语言模型,如下图所示
解码器模型广泛用于文本生成,而编码器模型主要应用于分类任务。通过结合这两种结构的优势,编码器-解码器模型可以同时利用上下文信息和自回归属性来提高跨各种任务的性能。本综述的主要焦点是生成模型。在下面的章节中,我们将深入研究【解码器】和【编码器-解码器】架构的最新进展。
Decoder Models:基于自回归解码器的语言模型最突出的例子之一是GPT [61,2018],它是一个基于 transformer 的模型,它利用自注意机制同时处理一个序列中的所有单词。GPT是基于前一个单词进行下一个单词预测任务的训练,可以生成连贯的文本。随后,GPT-2 [62,2019]和GPT-3 [9]延续了从左到右的自回归训练方法,同时扩大了模型参数,并利用了web文本之外的各种数据集,在众多数据集上实现了最先进的结果。Gopher [39]使用了一个类似【GPT】的结构,但用 RSNorm取代了 LayerNorm [63,2016],并在 LayerNorm 中添加了一个残差连接来保持信息。除了增强归一化功能外,其他一些研究也集中在优化注意机制上。BLOOM [64,2022]与GPT-3具有相同的结构,但BLOOM不使用稀疏注意机制,而是使用全注意网络,这更适合于建模长依赖关系。[65,2019]提出了 Megatron,它扩展了常用的架构,比如 使得 GPT-3、BERT和T5具有分布式训练目标的功能,并可以处理大量数据。除了在模型架构和预训练任务方面的进步外,在改进语言模型的微调过程方面也付出了大量的努力。例如,InstructGPT[10]利用预先训练的GPT-3,并使用RLHF进行微调,允许模型根据人类标记的排名反馈来学习偏好。InstructGPT 的基本流程如下图所示,
Encoder-Decoder Models:其中一种主要的编码解码方法是文本到文本转换 Transformer(T5)[56],它将基于 Transformer的编码器和解码器结合在一起进行预训练。T5采用了一种“文本到文本”的方法,这意味着它将输入和输出数据都转换为标准化的文本格式。这使得T5可以使用相同的模型架构,在广泛的NLP任务上进行训练,如机器翻译、问答、总结等。
Switch Transformer [67,2021],如其名称所述,利用 “Switch”,指一种简化的MoE路由算法,用于在T5上进行并行训练。与基础模型相比,在相同的计算资源下,该模型成功地获得了更大的规模和更好的性能。
另一种广泛使用的改进方法是ExT5 [68,2021],这是谷歌在2021年提出的,扩展了之前的T5模型的规模。与T5相比,ExT5在C4和ExMix上继续进行预训练,这是一个包含107个跨不同领域的107个监督NLP任务的组合。
另一种广泛使用的编码器-解码器方法是BART [34],它将BERT的双向编码器和GPT的自回归解码器混合,允许它利用编码器的双向建模能力,同时保留生成任务的自回归特性。HTLM [69,2021]利用BART去噪目标来建模超文本语言,其中包含了关于文档级结构的有价值的信息。该模型在各种生成任务的 zero-shot 学习上也取得了最先进的性能。DQ-BART [70,2022]的目标是使用蒸馏和量化将BART压缩成一个更小的模型,从而在各种下游任务上实现了BART的原始性能。
GAN:生成对抗网络(Generative Adversarial Networks)在图片生成领域研究取得重大进展。GANs 包含两部分:生成器和鉴别器(generator and discriminator)。生成器试图学习真实样本的分布,以生成新的数据,而鉴别器则确定输入是否来自真实的数据空间。
- 网络结构(structure):生成器和鉴别器的结构对GAN的训练稳定性和性能有很大的影响。LAPGAN [71,2015]使用拉普拉斯金字塔框架[72,1987]中的卷积网络级联,以从粗到细的方式生成高质量的图像。A. Radford等人[73,2015] 提出了DCGANs结构,这是一类具有架构约束的CNNs,作为无监督学习的强大解决方案。Progressive GAN [74,2017]逐步增长了生成器和鉴别器,从低分辨率开始,并添加层来建模更精细的细节,从而实现更快、更稳定的训练和产生高质量的图像。由于传统的卷积GANs仅基于低分辨率特征图中的空间局部点生成高分辨率细节,SAGAN [75,2019]引入了注意力驱动、长期依赖建模和光谱归一化,以改进训练动态。此外,从复杂的数据集中生成高分辨率和不同的样本仍然是一个挑战。StyleGAN [77,2019]通过分离高级属性和变体,改进了GANs,允许在质量度量、插值和解纠缠方面进行直观的控制和更好的性能。[78,79]专注于逆映射-将数据投影回潜在空间,从而为辅助识别任务提供一个有用的特征表示。为了解决模式崩溃和改进生成模型,D2GAN [80,2017]和GMAN [81,2016]方法通过结合额外的鉴别器,扩展了传统的GANs。MGAN [82]和MAD-GAN [83]通过合并多个生成器和一个鉴别器来解决模式崩溃问题。CoGAN [84,2016]是由一对具有权重共享约束的GANs组成的,允许从单独的边缘分布中学习联合分布,而不需要在训练集中有相应的图像。
- 表达性改进(Representative variants):由于生成器的潜在向量 是高度非结构化的,InfoGAN [85,2016]提出了另一个潜在代码 来提取实际数据空间的重要结构化特征。在CGANs[86–88,2019]中,生成器和鉴别器以附加信息为条件,如类标签或来自其他模式的数据,以生成以特定属性为条件的样本。f-GAN [89,2017]允许使用任何f-散度作为训练生成模型的目标函数。f-散度的选择为控制生成样本的质量和训练模型的难度之间的权衡提供了一个灵活的框架。
- 目标函数(Objective function):生成模型的目标是匹配真实的数据分布。WGAN [90,2017]和LS-GAN [91,92,2017]的目标是通过对真实数据密度的利普希茨正则性条件来规范损失函数,以便更好地推广和产生真实的新数据。[93,2018]是一种权值稳定鉴别器训练的归一化技术。Che等人[94,2016]规范了目标,这可以稳定GAN模型的训练。UGAN [95,2016]通过定义关于鉴别器的展开优化的生成器目标来稳定GANs的训练。UGAN [95,2016]通过定义关于鉴别器的展开优化的生成器目标来稳定GANs的训练。[96,2018]通过从真实生成的数据对中采样,使鉴别器具有相对论性,以提高由生成器生成的数据分布的稳定性和覆盖范围。
VAE:根据变分贝叶斯推理[97,2012],变分自编码器(VAE)是一种生成式模型,它试图将数据反映到一个概率分布中,并学习接近其原始输入的重构。
- 复杂先验(Complex priors):重写变分自编码器的变分证据下界目标(ELBO)有助于改进变分界[98,2016]。.由于真正的聚合后验是难以处理的,VampPrior [99,2018]引入了一个基于可学习伪输入的后验先验的变分混合。[100–102,2021]提出在随机抽样过程中跳过连接,以捕获数据分布的不同方面。
- 正则自编码器(Regularized Autoencoders):[1,103,104,2017]对编码器的潜在空间引入正则化,并在不符合任意选择的先验的情况下得到一个光滑且有代表性的潜在空间。[105,2019]提出了一个多尺度的层次组织来建模更大的图像。
Flow:归一化流(Normalizing Flow)是由一系列可逆和可微映射构成的从简单到复杂的分布变换。
- 耦合流和自回归流(Coupling and autoregressive flows):通过[57]中的耦合方法学习数据的非线性确定性变换,使变换后的数据符合因子分解分布。Dinh等人[106,2016]提出多尺度流,在生成方向逐步引入维度。耦合层的一个更灵活的推广是自回归流[107–109,2020],它允许并行密度估计作为一个通用的近似器。
- 卷积核残差流(Convolutional and Residual Flows):Zheng等人[110,2017]使用了一维卷积(卷积流),[111,2019]等人为×卷积建模提供了一个更通用的解决方案。他们利用三角形结构来改善输入之间的交互作用,并有效地计算行列式。RevNets [112,2017]和iRevNets [113,2018]是第一个建立了基于残差连接的可逆网络体系结构,从而缓解了梯度消失的问题。此外,残差连接可以看作是一阶常微分方程(ODE)[114,2018]的离散化,以提高参数效率。
Diffusion:生成扩散模型(GDM)是一类基于概率的前沿生成模型,它展示了在计算机视觉领域的最先进的结果。它的工作原理是通过多层噪声扰动逐步破坏数据,然后学习逆转这个过程,以生成样本。
- 模型公式(Model Formulations):扩散模型主要分为三类。DDPM [115,2020]分别将两个马尔可夫链应逐步破坏具有高斯噪声的数据,并通过学习马尔可夫转移核来逆转前向扩散过程。 基于分数的生成模型(SGMs)直接作用于数据a.k.a评分函数的对数密度梯度。NCSN [31]对具有多尺度强化噪声的数据进行扰动,并通过基于所有噪声水平的神经网络联合估计所有这些噪声数据分布的得分函数。由于它可以完全解耦训练和推理步骤,因此它具有灵活的采样能力。Score SDE [116,2020]将前两个公式推广到连续设置中,其中噪声扰动和去噪过程是随机微分方程的解。证明了概率流ODE也可以用于反过程的建模。
- 训练加强(Training Enhancement):训练增强旨在通过引入来自另一个预训练模型或额外的可训练超参数的先验知识来改进抽样。受知识蒸馏思想的启发,Salimans等人[117,2022]提出逐步将知识从预先训练过的复杂教师模型提炼为更快的学生模型,这可以将抽样步骤减少一半。TDPM [118,2022]和ES-DDPM [119,2022]通过提前停止截断扩散过程来提高采样速度。为了从由非高斯分布初始化的反向过程中生成样本,我们引入了另一个预先训练好的生成模型,如VAE或GAN来近似这种分布。Franzese等人[120,2022]将训练步骤数作为一个变量,以实现最优的权衡。改进的DDPM [121,2021]首先通过在损失函数中加入噪声尺度项来引入噪声尺度调优。同时,San Romans等人引入了噪声预测网络,逐步实现噪声调度调整。这种噪声调度学习通过有效地指导训练和推理过程中噪声的随机游走,改进了重构。
- 高效的无训练抽样(Efficient Training-free Sampling):无训练抽样不是额外的训练,直接减少离散时间步数,同时最小化离散化误差。在相同的训练目标下,DDIM [123,2020]将DDPM一般化到一类非马尔可夫扩散过程中,并引入了跳跃阶跃加速。这可以提供更短的生成马尔可夫链。分析DPM[124,2022]通过估计最优模型反向方差和w.r.t-散度的得分函数的解析形式,提供了更有效的推断。还有一些工作[125,126,2022]通过动态规划直接计算出最优采样轨迹。
- 噪声分布(Noise Distribution):噪声扰动的分布是扩散模型的重要组成部分,其中大部分是高斯分布。同时,多自由度拟合这种分布有利于性能。Nachmani等人[127,2021]证明了伽马分布可以改善图像和语音的生成,混合高斯分布也优于单一分布。冷扩散[128,2022]提出了一个更广义的结论,即噪声可以设置为任何分布,因为扩散模型的生成行为并不强烈地依赖于噪声分布的选择。除了噪声扰动外,CCDF [129,2021]表明无需从高斯分布进行初始化,简单的、更好的初始化噪声也有利于减少前向扩散采样步骤。
- 混合模型(Mixed Modeling):混合建模的目的是将扩散模型与另一类生成模型相结合,利用各自模型的优势,从而提供更强的表达性或更高的采样速度。扩散VAE[130,2022]通过用VAE生成的模糊图像重建来调节扩散采样过程的方式将一个标准的VAE合并到DDPM管道中。LSGM [131,2021]在VAE的潜在空间中训练SGMs,将SGMs推广为非连续数据,使SGMs在小空间中学习更平滑。去噪扩散GANs [132,2021]将条件GANs引入DDPM管道,以具有更强的多模态分布参数化去噪过程,提供了较大的去噪步骤。DiffFlow [133,2021]将流式功能集成到基于SDE的扩散模型的轨迹,这使前进的步骤也可以训练。由噪声扰动引入的随机性使归一化流具有更强的表达能力,而可训练的前向过程则大大减少了扩散轨迹的长度。因此,DiffFlow能够以更清晰的边界学习分布,并具有更好的采样效率。
多模态生成是当今AIGC中的重要组成部分。多模态生成的目标是通过从数据[7]中学习多模态连接和交互来学习生成原始模态的模型。模态之间的这种联系和交互有时是非常复杂的,这使得多模态表示空间与单模态表示空间相比难以学习。然而,随着前面几节中提到的强大的特定模态的基础架构的出现,越来越多的方法被提出来应对这一挑战。在本节中,我们将介绍在视觉语言生成、文本音频生成、文本图生成和文本代码生成中的最先进的多模态模型。由于大多数多模态生成模型总是与现实应用程序的高度相关,因此本节将主要从下游任务的角度进行介绍。
编码器-解码器架构是一种广泛用于解决计算机视觉和自然语言处理中的单模态生成问题的框架。在多模态生成中,特别是在视觉语言生成中,这种方法经常被用作基础体系结构。编码器负责学习输入数据的上下文表示,而解码器则用于生成反映跨模态交互、结构和表示中的一致性的原始模式。基本通用架构如下图所示,
在下面,我们将介绍一个关于最先进的视觉语言编码器的全面调查,然后是对解码器组件的说明。
视觉语言编码器(Vision Language Encoders):最近,单一模式编码器的发展取得了显著的进展,那么,如何从多种模式中学习上下文化表示成为新的研究问题。一种常见的方法是使用一个融合函数来组合各自模态特定的编码器,然后利用多个预训练任务来对齐表示空间[37,134,135,2021]。一般来说。这些编码器模型可以分为两类,级联编码器和交叉对齐编码器[7],具体如图所示:
- 级联编码器(Concatenated Encoders):解决这个问题的一个直接的解决方案是通过连接来自单个编码器的嵌入。一个早期的例子是 VisualBERT[134,2019],它利用 BERT作为文本编码器,CNN作为图像编码器。来自图像编码器的嵌入将被直接合并到BERT的输入嵌入中,允许模型隐式地学习对齐的联合表示空间。VisualBERT还利用了与BERT一样的多任务预训练范式,使用了两个基于视觉的语言模型目标:带有图像和句子图像预测的掩蔽语言建模。此外,VisualBERT合并了一些模态特定的预训练目标。另一个例子是VL-BERT[136,2019],它与VisualBERT共享相似的体系结构。与VisualBERT不同的是,VL-BERT使用更快的R-CNN[137]作为感兴趣区域(ROI)提取器,并利用这些提取的ROI信息作为图像区域的嵌入。VL-BERT 还包括一个额外的预训练任务,用语言线索进行掩蔽ROI分类,以便更好地整合视觉信息。后来,提出了与VisualBERT 相同的架构,但是UNITER[138,2020] 的训练目标不同。UNITER采用掩蔽语言建模、掩蔽区域建模、图像文本匹配预测和单词区域对齐预测作为其训练前任务。通过这种方式,UNITER可以学习信息性情境化的嵌入。为此,我们可以看到连接的编码器通常基于相同的BERT体系结构,并使用类似于BERT的任务进行预训练。最终,我们可以看到级联编码器通常基于相同的BERT架构,并使用类似于BERT的任务进行预训练。然而,这些模型总是涉及一个非常复杂的预训练过程、数据收集和损失设计。为了解决这一问题,[135]提出了SimVLM,通过将PrefixLM设置为训练目标,并直接使用ViT作为文本编码器和图像编码器,简化了视觉语言模型的预训练过程。与以往的方法相比,SimVLM
在多种视觉语言任务上实现了最先进的性能。- 交叉对齐编码器(Cross-aligned Encoders):除了将嵌入作为编码器的输入之外,另一种学习情境化表示的方法是查看模态[7]之间的成对交互。与串联编码器不同,交叉对齐编码器总是使用双塔结构,其中每个模态都有一个塔,然后使用交叉空间编码器学习联合表示空间。LXMERT[139,2019]使用 Transformer 提取图像特征和文本特征,然后添加一个多模态交叉注意模块进行协调学习。生成的输出嵌入将是视觉嵌入、语言嵌入和多模态嵌入。类似地,ViLBERT[140,2019]利用了一个 cross-transformer 模块来对齐这两种模式。给定的视觉和语言嵌入,某一模态的键和值将被输入到另一模态的注意模块中,以生成包含这两种信息的集合注意嵌入。一般来说,这些模型都利用一个交叉层来将信息融合到一个联合表示空间中。然而,在这种情况下使用Transformer 架构,由于它有大量的参数,效率低下。为了简化训练过程和计算,CLIP [37]采用点积作为交叉层,比Transformer编码器效率更高,实现了高效的大规模下游训练。此外,CLIP是根据大量的成对数据进行训练的,这已被证明优于许多其他模型。
视觉语言解码器(Vision Language Decoders):通过给定某一模态的表示形式,视觉语言解码器的主要目的是将其转换为任务所指定的某一原始模态。在本节中,我们将主要关注对 文本解码器(to-text decoders)和对图像解码器(to-image decoders)。
文本解码器(To-text decoders):文本解码器通常从编码器中接受上下文的表示(representations),并将该表示解码为一个句子。随着大型语言模型的出现和被证明的有效性,许多架构现在都有选择性地冻结语言解码器组件。因此,文本解码器可以大致分为两种类型:联合训练模型和冻结模型。
- 联合训练解码器(Jointly-trained decoders):联合训练解码器是指在解码表示时需要完整的交叉模态训练的解码器。文本到文本生成的挑战通常在于在训练前对齐这两种模式。因此,该模型需要一个更强的编码器,而不是一个解码器。为了解决这一挑战,许多模型优先考虑构建一个强编码器,然后将其与一个相对轻量级的解码器模型结合起来。例如,VLP [138,2020]和ALBEF [141,2021]利用一个简单的 Transformer 解码器来解码这些信息。BLIP [142,2022]在训练前将编码器和解码器结合在一起,允许多模态空间为理解和生成目标而对齐。BLIP由三部分组成,一个用于提取图像和文本特征的单模态编码器,一个接受图像和文本特征作为输入的图像基础文本编码器,和一个接受图像特征和输出文本的图像基础文本解码器。除了对齐的编码器和解码器结构外,作者还设计了几个相应的预训练任务,以帮助模型更好地学习多模态依赖性。
- 冻结解码器(Frozen deocders):另一种有效地执行到文本生成任务的方法是冻结大型语言模型,并只训练图像编码器,这也可以看作是执行多模态提示的一种方法。由于在NLP中提示和语境学习的成功,人们越来越关注这种特性的方法。这使得人们质疑这些方法在多模式环境中是否也能有效。Forzen[143,20121]首先将上下文学习引入视觉语言任务。它冻结了语言模型,并且只训练图像编码器。所产生的图像表示将被嵌入到语言模型的输入嵌入(embeddings)中。该方法在各种zero-short 和 few-short 视觉语言任务中取得了最先进的性能。后来,Alayrac等人提出了Flamingo[144,2022],进一步探索了多模态上下文学习。Flamingo 模型包括一个冻结视觉编码器和一个冻结语言编码器来获取视觉语言表示,并利用门控交叉注意密集层将图像表示融合为文本表示。最近,[145,2023]提出了一种与冻结语言模型实现VL对话的方法,使该模型能够生成交叉的多模态数据。该方法还冻结了输入编码器,并训练文本到图像和图像到文本的线性映射,以进一步编码和解码产生的嵌入。然而,为什么这种基于提示的方法在多模态生成中起作用仍然是一个问题。人们也提出了一些工作来回答这个问题。Merullo等人提出了一种[146,2022]方法,即在冻结的图像编码器和文本编码器之间注入一个线性投影。在训练过程中,只有线性投影被微调。实验结果表明,大小相近的冻结语言模型在将视觉信息转换到语言方面表现相同,但经过CLIP文本编码器等语言监督预先训练的图像编码器可以编码额外的信息,从而在视觉语言任务中表现更好。
图像解码器(image decoders):图像生成是指给定一条指令,生成与该指令对应的图像。类似地,在图像生成中常用的模型也遵循编码器-解码器体系结构,其中编码器更注重学习语言信息,解码器更注重利用学习到的信息来限制图像合成。一般来说,最近的工作可以分为两类,基于GAN的方法和基于 Diffusion(扩散)的方法。
- 基于GAN的解码器(GAN-based decoders):给定一个文本编码器 ϕ ( t ) \phi(t) ϕ(t),基于GAN的方法结合鉴别器和生成器,其中生成器接受由 ϕ ( t ) \phi(t) ϕ(t)和噪声向量 z z z 生成的文本嵌入来生成输出 X g X_g Xg,输出 X g X_g Xg输入到具有真实样本分布 X r X_r Xr[147,2021]的鉴别器 D 中。这个领域的一个值得注意的模型是 StackGAN [148,2017]。StackGAN体系结构包括两个阶段:调节阶段和细化阶段。在条件反射阶段,该模型将文本描述作为输入,并生成一个低分辨率的图像。然后将此图像输入细化阶段,在那里进行进一步细化,以生成与文本描述相匹配的高分辨率图像。AttnGAN [149,2018]是另一个建立在StackGAN 架构之上的文本到图像的合成模型。Attngan为StackGAN架构添加了一种注意机制,以进一步提高生成图像的质量。然而,这些模型在教学学习过程中主要使用了一个相对简单的文本编码器,这可能会导致一定的信息丢失。StyleCLIP [150,2021]是一个最近提出文本到图像的合成模型,它使用对比性学习来对齐文本和图像特征。它基于StyleGAN [77]架构,代表了比之前的文本到图像合成模型如StackGAN的重大进步。StyleCLIP 遵循编码器-解码器的结构,即使用一个文本编码器来编码指令,使用一个图像解码器来合成一个新的图像。StyleCLIP的一个关键创新点是它使用对比性学习来对齐文本和图像特征。通过训练模型,最大限度地提高文本和图像特征之间的相似性,同时最小化不同文本和图像对之间的相似性,StyleCLIP能够更有效地学习文本和图像特征之间的映射,从而实现更高质量的图像合成。
- 基于扩散的解码器(Diffusion-based decoders):生成图像建模最近利用扩散模型取得了巨大的成功。这些模型也被应用于文本到图像的生成。GLIDE [151]将消融扩散模型(ADM)引入到文本到图像的生成中。与以往基于扩散的方法相比,GLIDE使用了更大的3.5B参数的模型和更大的成对数据集,在许多基准测试上都取得了更好的结果。GLIDE [151,2021]将消融扩散模型(ADM)引入到文本到图像的生成中。与以往基于扩散的方法相比,GLIDE使用了更大的3.5B参数的模型和更大的成对数据集,在许多基准测试上都取得了更好的结果。与GLIDE不同的是,Imagen [152,2022]将冻结的T5语言模型与超分辨率扩散模型相结合。冻结的编码器将对文本指令进行编码并生成一个嵌入,然后第一个扩散模型将相应地生成一个低分辨率的图像。第二个扩散模型接受这个嵌入文本的图像,并输出一个高分辨率的图像。DALL-E-2 [5] 结合了CLIP编码器和扩散解码器,用于图像生成和编辑任务。与Imagen相比,DALL-E-2利用了一个先验的网络,在文本嵌入和图像嵌入之间进行转换。除了模型设计的进步外,这些基于扩散的模型和以前的生成方法之间的另一个主要区别是,这些基于扩散的模型通常在具有更多参数的规模更大的数据集上进行训练,这使它们能够比其他模型学习更好的表示。除了前面提到的方法之外,还有一些使用VAE作为解码器的工作。例如,Ramesh等人提出了DALL-E [33],这是一种 zero-short 图像生成器,利用dVAE作为图像编码器和解码器,BPE作为文本编码器和预先训练的CLIP的零镜头图像生成器。
文本-音频多模态处理领域近年来出现了显著的增长。该领域的大多数模型都关注于合成任务,如语音合成,或识别任务,如自动语音识别。它们指的是将书面文本转换为口语语言或准确地将人类语言转录成机器可读文本的过程。然而,文本音频生成是一项独特的任务,涉及到使用多模态模型创建新的音频或文本。虽然相关,但文本音频生成、合成和识别任务的目标和实现它们的技术有所不同。在这项工作中,我们关注于文本-音频的生成,而不是合成或识别任务。
- 文本音频生成(Text-Audio Generation):AdaSpeech [153,2021]提出了在梅尔谱图解码器中利用两种声学编码器和有条件的层归一化,可以用有限的语音数据有效地定制高质量的新语音。由于以往的研究在风格转换方面存在局限性,Lombard[154,2020]利用光谱塑造和动态范围压缩[155,2012],在存在噪声的情况下产生高度可理解的语音。跨语言生成是另一个跨语言传递声音的有影响力的工作。[156,2019]可以在多种语言中通过使用语音音位输入表示和对抗性损失词,从语音内容中分离出语音身份,跨语言语音转换,进而产生高质量的语音。
- 文本音乐生成(Text-Music Generation):[157,2019]提出了一种用于音频和歌词的深度跨模态相关学习架构,其中使用多模态规范相关分析来计算音频和歌词之间的时间结构的相似性。为了更好地学习社交媒体内容,JTAV [158,2018]使用跨模态融合和注意池化技术,融合了文本、声学和视觉信息。与JTAV不同的是,[159,2021]结合了与音乐更相关的多种类型的信息,如播放列表-曲目交互和类型元数据,并对齐其潜在的表示来建模独特的音乐片段。此外,基于将音频作为输入,还有一些工作专注于生成文本信息,如描述和标题。[160,2016]被提出通过结合音频内容分析和自然语言处理来利用每个轨道的信息来生成音乐播放列表的描述。MusCaps [161,2021]是一种音乐音频字幕模型,它通过多模态编码器处理音频-文本输入,并利用音频数据预训练来获得有效的音频特征表示,从而获得音乐音频内容的描述。对于音乐和语言的预训练,Manco等人[162,2022]提出了一种多模态架构,它使用弱对齐的文本作为唯一的监督信号来学习通用的音乐音频表示。CLAP [163,2022]是另一种从自然语言监督中学习音频概念的方法,它利用两个编码器和对比性学习将音频和文本描述带入一个联合的多模态空间。
文本图的生成是一个重要的多模态主题,它可以在很大程度上解放自然语言处理系统的潜力。自然语言文本本质上是模糊的,因为它携带各种冗余信息,在逻辑上组织也很弱。同时,它有利于机器以结构化、组织良好和压缩的内容形式来工作。知识图(KG)是一种结构意义表示,它在语言处理系统中反映了语义内部状态之间的关系。越来越多的作品从文本中提取KG,以帮助文本生成,在多个句子中包含复杂的思想。语义解析也可以表述为一个文本到图的生成问题。它的目的是将自然语言文本转换为一种逻辑形式,主要是抽象意义表示(AMR)[164,2013],这是一种覆盖广泛的句子级语义表示。与文本到kg的生成相比,它强调提供机器可解释的表示,而不是构建一个语义网络。相反,KG到文本生成的目标是基于已经构建的KG生成流畅和逻辑连贯的文本。除了自然语言处理领域外,文本图的生成也可以推动计算机辅助药物设计的边界。有一些新兴的工作,连接着高度结构化的分子图与语言描述,这有助于人类理解深刻的分子知识和新的分子探索。下面,我们将简要概述这四个主题中的一些具有代表性的工作。
- 文本到知识图的生成(Text To Knowledge Graph Generation):Li等人[165,2016]将文本到kg的构造视为一个知识图补全(KGC)的过程,其中缺失的术语逐渐被推理覆盖。KG-BERT [166,2019]利用预先训练过的语言模型,在KGC期间捕获更多的上下文化信息。其思想是将三元组表示为文本序列,并通过精细化的BERT模型将图补全建模为序列分类问题。马拉维亚等人[167,2020]提出了一种结合图卷积网络(GCN)的方法来提取更多的结构性和语义上下文。通过引入图增强和渐进掩蔽策略,解决了图的稀疏性和可伸缩性问题。另外,另一行工作是[168–170,2021]直接查询预先训练过的语言模型来获得语义知识网络。具体来说,语言模型被反复提示去预测封闭句子中的掩蔽项,以获取关系知识。CycleGT [171,2020]是一种无监督的方法,允许文本kg翻译。采用无监督循环训练策略提供自我监督,使整个训练过程与非并行文本和图形数据成为可能。利用类似的策略,DualTKB [172,2020]进一步证明了即使在弱监督设置下,模型性能也可以得到很大的提高。Lu等人[173,2022]提出了一个统一的文本到图的框架,该框架包含了大多数信息提取任务。同时,使用预定义的模式可能会限制其泛化到节点和边的不同文本形式。Grapher [174,2022]通过在两个独立的阶段生成节点和边,有效地执行端到端文本到kg的构造。具体来说,首先对预先训练过的语言模型进行节点生成的实体提取任务进行微调。随后,我们引入了焦点损失矩阵和稀疏邻接矩阵来解决边缘构造过程中的偏态边缘分布问题。
- 知识图到文本的生成(Knowledge Graph To Text Generation):GTR-LSTM [176,2018]是一个序列到序列的编码解码器框架,它从线性化的KG三元组中生成文本。它可以循环处理KGs,以捕获全局信息。同时,它的线性化图的性质仍然可能导致相当大的结构信息损失,特别是对于大型图。为了解决这个问题,Song等人的[177,2018]使用图状态LSTM对图语义进行编码,LSTM使信息能够在一系列状态转换期间在节点之间传播。它被证明能够建模节点之间的非局部交互,同时也由于高并行化而高效。Zhao等人[175,2020]提出了一种双编码模型,以弥补输入图和输出文本之间的结构差异。具体来说,它利用基于GCN的图编码器来提取结构信息,同时也采用神经规划器来创建图的顺序内容计划,以生成线性输出文本。另外,Koncel-克齐奥尔斯基等人[178,2019]使用从图形注意网络(GAT)[179,2017]扩展出来的基于转换器的架构将图形结构进行编码,用于文本生成。其思想是通过自注意机制遍历其局部邻域来计算KG的节点表示。相比之下,Ribeiro等人[180,2020]专注于联合利用局部和全局节点编码策略,从图上下文中捕获互补信息。为了避免简单地混合造成的信息丢失,HetGT [181,2020]改编Transformer,通过在图中独立地建模不同的关系。首先将输入图转换为异构李维伊图,然后根据各部分的异构性将其分成子图,以便后续进行信息聚合。
- 语义解析(Semantic Parsing):早期的工作是,[182,183,2016]将语义解析表述为序列到序列的生成问题。然而,AMR在其本质上是一个结构化的对象。序列到序列问题设置只能捕获浅的单词序列信息,同时可能忽略丰富的语法和语义信息。Lyu等人通过将AMR表示为根标记有向无环图(DAG),将语义解析建模为图预测问题,这需要对图中的节点和句子中的单词进行对齐。一种神经解析器,它将对齐作为联合概率模型中的潜在变量,用于AMR解析过程中的节点对齐和边缘预测。Chen等人[185,2018]通过神经序列到动作的RNN模型构建具有动作集的语义图。通过在解码过程中集成结构约束和语义约束来加强解析过程。Zhang等人[186,2019]通过基于对准注意力的模型解决了AMR解析中的重入性所产生的问题,该模型将问题表述为序列到图的转导。利用指针生成器网络,证明了该模型可以在有限的标记AMR数据下有效地进行训练。Feallu等[187,2019]提出了一种图感知的序列模型来构造线性化图用于AMR图预测。在没有潜在变量的情况下,它确保每个格式良好的字符串通过一种新的图感知字符串重写策略只与一个派生配对。
- 文本分子生成(Text Molecule Generation):Mol[189,2021]是一个基于语言描述检索分子图的跨模态信息检索系统。
利用基于bert的文本编码器和MLP-GCN组合分子编码器在语义空间中创建多模态嵌入,并通过与成对数据进行对比学习对齐。MolT5 [190,2022]没有从现有分子中提取,而是提出了一个自我监督学习框架,用于文本条件的从头分子生成和分子字幕。它通过预训练和微调策略解决了跨模态数据对的稀缺问题。具体来说,它用去噪目标对未配对的文本和分子字符串上的模型进行预训练,然后对有限的成对数据进行微调。然而,受其线性化图性质的限制,基于字符串的分子表示并不是唯一的,而且可能会导致结构信息的丢失。为了解决这个问题,MoMu [188]引入了一个基于图的多模态框架,它通过对比学习联合训练两个独立的编码器,并与弱配对的跨模态数据进行的语义空间对齐。除了它的从头分子图生成外,它还可以适应各种下游任务。
文本代码生成的目的是从自然语言描述中自动生成有效的编程代码或提供编码辅助。LLMs 最近在从自然语言(NL)描述中生成编程语言(PL)代码方面显示出了巨大的潜力。早期的工作直接将文本代码生成定义为纯粹的纯语言生成任务。然而,NL和PL是具有固有的不同模式的数据类型,在语义空间对齐过程中,额外的策略对于捕获NL和PL之间的相互依赖关系是必不可少的。与NL数据相比,PL数据还封装了丰富的结构信息和不同的语法,这使得从PL上下文中理解语义信息更具挑战性。此外,文本代码模型也有望是多语言的,因为它们可以提供更好的泛化。下面,我们主要介绍基于NL描述的代码生成模型。我们还回顾了其他基于语言的编码辅助模型。
- 具有文本条件的编程代码生成(Text-conditioned Programming Code Generation):CodeBERT [191,2020]是一种基于双峰Transformer的预训练文本代码模型,它可以捕获NL和PL之间的语义连接。采用混合目标函数,利用二项式NL-PL配对数据进行模型训练,利用单峰PL代码数据分别学习更好的生成器,在语义空间中进行NL和PL对齐。该模型在6种多语言PL上进一步进行预训练,以更好地泛化。CuBERT [192,2020]与CodeBERT具有相似的模型架构,同时不需要在函数的自然语言描述和主体之间进行句子分离。CodeT5 [193,2021]提出了一种预训练过的编码器-解码器 Transformer 模型,它可以更好地从代码中捕获上下文化的语义信息。具体来说,它引入了新的具有标识符感知的预训练任务,通过区分标识符和代码标识牌来保存关键的令牌类型信息,并在掩码时恢复它们。具体来说,它引入了新的具有标识符感知的预训练任务,通过区分标识符和代码标识牌来保存关键的令牌类型信息,并在掩码时恢复它们。PLBART [194,2021]将双峰文本代码模型从生成任务扩展到更广泛的鉴别任务类别,如在统一框架下的克隆和脆弱代码检测。[195,196,2017]的另一行工作是介绍了程序图[197,2018]的概念,以显式地建模PL代码底层的结构,以帮助生成。程序图被构造为抽象语法树(AST),以封装来自特定于程序的语义和语法的知识。
- 交互式编程系统(Interactive Programming System):由于NL固有的模糊性,编程代码生成的棘手的搜索空间和用户意图的不当规范共同面临着文本代码生成的挑战。CODEGEN [198,2022]提出了一种多回合程序合成方法,该方法将基于单一复杂NL规范条件的程序合成分解为由一系列用户意图控制的渐进生成。它以自回归变换器的形式构造,学习给定之前标记的下一个标记的条件分布,并在PL和NL数据上进行训练。TDUIF [199,2022]通过形式化用户意图和提供更多可理解的用户反馈,扩展了交互式编程框架。进一步实现了高保真用户交互建模,实现了不需要用户循环的可扩展自动算法评估。
下图展示了 AIGC 的应用领域,深蓝色圈是主要研究领域,浅蓝色圈表示应用领域,绿色圈表示代表公司,具体如图所示:
聊天机器人是一种计算机程序,旨在通过基于文本的界面来模拟与人类用户的对话。聊天机器人通常使用语言模型来理解和以对话的方式响应用户的查询和语体。它们可以被编程来执行广泛的任务,例如,提供客户支持和回答常见问题。最突出的例子是小冰[200,2020]。小冰是由微软的一个研究人员和工程师团队开发的,使用了自然语言处理、机器学习和知识表示方面的最先进的技术。小冰的一个重要特征是它能够表达同理心,这是通过使用情感分析的方法来实现的,使小冰表现得像一个人。2020年,谷歌提出了 Meena [201,2020],这是一个经过社交媒体对话训练的多回合开放领域聊天机器人,它实现了最先进的交互式SSA分数和困惑。最近,微软发布了他们的最新版本Bing,其中包含了ChatGPT,使其用户可以询问开放领域或有条件性的问题,并通过对话获得结果。这为未来聊天机器人的发展提供了新的可能性。
人工智能艺术生成是指利用计算机算法创作原创艺术作品。这些算法在现有艺术品的大数据集上进行训练,并使用机器学习技术生成新的作品,模仿著名艺术家的风格和技术,或探索新的艺术风格。随着基于扩散的模型的快速发展,越来越多的公司推出了他们的艺术生成产品。该领域最值得注意的进展之一是由OpenAI介绍的DALL-E系列。DALL-E [1],即现在的Craiyon,最初建立在VQ-VAE和CLIP上,然后将扩散技术也应用于该产品,成为DALL-E- 2 [5]。DreamStudio[13]是一个文本到图像的生成服务,它利用稳定的扩散来基于给定的短语或句子生成图像。这种技术提供了与DALL-E-2相当的性能,但处理速度更快,使其成为许多用户的流行选择。由谷歌开发的Imagen [152]在其图像编辑和生成服务中使用了扩散技术。谷歌在一篇博客文章中报道说,他们与人类评分者进行了一项研究,以评估人工智能生成的图像的质量。结果显示,Imagen在并排比较中优于其他模型,人类评分者对样本质量和图像-文本对齐的评分更高。
深度音乐生成是指使用深度学习技术和人工智能算法来生成新颖的和原创的音乐片段。一个突出的方法是以钢琴卷的形式产生音乐的象征性表现。这种方法需要为要演奏的每个音符指定时间、音高、速度和乐器。AIVA 4是最著名的例子之一,它是由AIVA技术公司在2016年开发的。它可以生成多种风格的音乐剪辑,包括电子音乐、流行音乐、爵士乐等。并且可以在各种情况下使用。作为世界上第一个被交响乐组织认可的人工智能作曲家,AIVA在SACEM音乐协会中获得了作曲家的全球地位。OpenAI将在2020年开发自动点唱机[203]。它产生了不同流派和艺术风格的原始音频领域的歌唱和音乐。点唱机被认为是在音乐质量、连贯性、音频样本持续时间和歌词制约的能力方面的飞跃。
基于人工智能的编程系统通常针对的任务包括代码完成、源代码到伪代码映射、程序修复、API序列预测、用户反馈和自然语言到代码生成。近年来,功能强大的llm的出现,使基于ai的编程的边界向前迈出了很大的一步。CodeGPT [204,2021]是由OpenAI开发的一个开放源代码生成模型,它与GPT中的许多其他模型一样,沿用 transformer 架构。它可以针对各种代码生成任务进行微调,如基于大量源代码数据的代码完成、摘要或转换。CodeParrot[205,2022]是一个编程学习平台,在编码过程中为用户提供个性化的反馈和帮助。各种交互式练习和编程挑战都是以渐进式人机交互的方式设计的。一个独特的特点是搭建策略,它将复杂的任务分为更小的和可管理的步骤,以帮助学生逐渐建立他们的编码技能。在一个更大、更多样化的数据语料库上进行训练,与以前的大多数模型相比,[206]是向前迈出的重要一步。具体来说,它被设计为从头开始生成完整的编码程序,而CodeGPT只能生成完成给定提示的代码片段。它还享受着适应多种编程语言的好处,这可以提供更好的灵活性和泛化性。
AIGC 通过利用多模态数据,如辅导视频、学术论文和其他高质量的信息,可以在教育方面取得重大进展,从而改善个性化的教育体验。在学术方面,谷歌研究引入了Minerva [207,2022],它建立在PaLM通用语言模型[209,2022]和一个额外的科学和数学重点数据集上,以解决大学水平的多步定量任务,包括代数、概率、物理、数论、微积分前、几何、生物学、电子工程、化学、天文学和机器学习。例如,它可以给出证明:任何 ( a , b ) ∈ R 2 (a,b)\in R^2 (a,b)∈R2, a 2 + b 2 > = 2 a b a^2+b^2>=2ab a2+b2>=2ab 的具体细节,它还可以正确地识别镅作为放射性元素,包括钠、铬和铝。正如博客5中所描述的,密涅瓦通过结合 few-short 提示、思维链提示或刮板提示以及多数投票,取得了最先进的性能。尽管密涅瓦的表现仍然低于人类的表现,但随着不断的改进和未来的进步,AIGC可以提供负担得起的个性化数学导师。在商业方面,熟练工匠教育技术公司宣布将开发一款由AIGC驱动的班级机器人产品,包括汽车课程、人工智能导师和在线教育自适应学习,预计将在2023年第四季度发货。
在过去的十年里,具有神经网络的深度生成人工智能模型一直主导着机器学习领域,其崛起归因于2012年[210]的ImageNet竞争,这导致了一场创建更深入、更复杂的模型的竞赛。这种趋势也出现在自然语言理解中,其中像BERT和GPT-3等模型已经开发了大量的参数。然而,不断增长的模型占用空间和复杂性,以及培训和部署所需的成本和资源,给在现实世界中的实际部署带来了挑战。核心挑战是效率,可以分解如下:
即时学习是一个相对较新的概念,近年来在预先训练过的大型语言模型的背景下被提出。以前,为了给出输入的预测,传统监督学习的目标是找到一个预测概率 P ( y ∣ x ) P(y|x) P(y∣x)的语言模型。通过提示学习,目标是找到一个模板 x ′ x' x′,直接预测概率 P ( y ∣ x ′ ) P(y|x') P(y∣x′)[211,2023]。因此,使用语言模型的目标是鼓励一个预先训练过的模型通过提供一个提示来指定要完成的任务来做出预测。通常情况下,提示学习会冻结语言模型,并直接对其进行few-shot或zero-shot学习。这使得语言模型能够在大量的原始文本数据上进行预先训练,并适应新的域,而无需再次调整它。因此,提示学习可以帮助节省大量的时间和精力。提示学习的一般流程如下图所示,以一个表情检测为例,
利用语言模型进行提示学习的过程可分为两个主要阶段:提示工程和回答工程。
除了单提示学习方法外,还有多提示学习方法。这些方法主要关注于在推理过程中集成多个提示作为输入,以提高预测的鲁棒性,这比依赖于单个提示更有效。多提示学习的另一种方法是即时增强,它旨在通过提供已经被回答的额外提示来帮助模型回答问题。
近年来,上下文学习作为一种提高语言模型性能的有效方法,受到了广泛的关注。这种方法是提示学习(prompt learning)的一个子集,包括使用一个预先训练过的语言模型作为主干,以及在提示符中添加一些输入-标签演示对和指令。上下文学习已被证明在指导语言模型以产生与给定提示更紧密一致的更好答案方面非常有效。最近的一些研究也表明,上下文学习可以被视为内隐微调的一种形式,因为它使模型能够学习如何根据输入提示更准确地生成答案。
在AIGC框架的环境中,每个被提出的方法的一个基本组件都涉及到使用大型预训练的基础模型(PFMs)[212,2023]。PFMs,如BERT [42]、GPT- 2 [62]和RoBERTa [43],通过在广泛的自然语言处理任务上取得最先进的结果,彻底改变了自然语言处理领域。然而,这些模型都非常大,而且计算成本也非常昂贵,这可能会导致效率问题。当在有限的计算资源下工作时尤其如此,比如在个人计算机上或在处理能力有限的云环境中。为了解决这些效率问题,最近的许多工作都致力于探索更具成本效益的预训练方法来对大规模 PFM 进行预训练。学习算法的有效性取决于训练方法和模型架构的效率。例如,ELECTRA[213,2020]引入了一个RTD任务,该任务预测每个输入标记是否被其他令牌(tokens)取代,从而使 ELECTRA 能够对所有输入令牌进行训练。除了有效的训练方法外,模型架构效率也有助于提高pfm效率。大多数基于transformer算法的pfm都可以通过降低transformer算法的复杂性来获得更有效的模型架构。
模型压缩是降低模型大小、提高计算效率的一种有效方法。它需要更少的计算资源和内存,并且比原始模型能够更好地满足各种应用程序的需求,原始模型的策略可以分为两类:参数压缩和结构压缩。参数压缩方法包括参数剪枝、参数量化、低秩分解和参数共享。参数剪枝基于相当大的PFM删除冗余参数,而参数量化将模型参数减少到低阶数,而对模型性能没有显著影响。低秩分解降低了高维参数向量的维数,参数共享映射模型参数以减少它们的数量。结构压缩是指设计新的紧凑的网络结构,并采用知识蒸馏技术,通过软标签等技术,将从较大的教师模型中学习到的知识转移到较小的学生模型中。例如,DistileBERT[214,2019]使用知识蒸馏来压缩BERT,将其大小减少40%,同时保持其97%的语言理解能力。ALBERT使用分解嵌入式参数化和跨层参数共享来减少模型参数的数量。
事实性(Factuality):尽管像 ChatGPT [4]这样的工具能够生成通常看起来或听起来很合理的内容,但就事实性[215,2023]而言,它们通常是不可靠的。有时,该模型会输出反事实的,甚至是荒谬的答案,这将对互联网上信息的真实性构成严重威胁。最近,新闻卫士的错误信息监控器[216,2023]指出,人工智能生成的内容工具有可能被武器化,以前所未有的规模传播错误信息。测试模型ChatGPT提供了100个专有错误信息数据库的100个样本,为之前确定的100个错误论点中产生了80个错误叙述,对于那些不熟悉[216]主题的人来说,这很容易是合法和权威的。此外,Alex [217,2023]通过演示如何利用ChatGPT [4]来生成报纸,提供了一个更具体的例子。除了自然语言处理外,计算机视觉领域也存在着事实问题。例如,stable diffusion[13],已被证明是一个强大的视觉生成模型,很难绘制正确数量的手指的人手[218,2023]。为了防止错误信息在互联网上的传播,像Stackoverflow [219,2013]这样的网站提出了一些政策,禁止用户使用人工智能生成的内容作为答案,以减少被不准确和有偏见的内容所淹没的风险。
早期的研究表明,人工智能模型存在事实的不正确性和知识[220,2018]的幻觉。为了评估和提高人工智能生成内容的事实准确性,[221,2019]提出了基于模型的度量来衡量生成文本的事实性,补充了传统的度量,如 ROUGE(Recall-Oriented Understudy for Gisting Evaluation)[222,2004]和BLEU(Bilingual Evaluation Understudy)[223,2002]。具体来说,[221,2019]提出了一种基于 Transformer 的端到端事实提取模型,该模型使关系元组的结构化预测能够用于事实性评估。后来在真实AI [224,2021]中提出了对人工智能生成内容的真实性标准和方法的更系统的定义。真实人工智能提出的标准旨在避免“疏忽的错误”,并通过精心策划的数据集和人类交互,明确地训练人工智能系统的真实性。WebGPT [225,2021]基于GPT-3,提出了一个类人原型,该原型将人工智能的回答过程建模为网络搜索和证据组合短语。由于该模型经过训练以引用其来源,因此在多个基准数据集[226,227,2021]中,人工智能生成的内容的事实准确性得到了显著提高。具体来说,该模型是通过使用模仿学习对GPT-3进行微调而获得的,它利用了人类的反馈来优化答案的质量。此外,[228,2022]测量并提高了用于开放式文本生成的大规模语言模型的事实准确性。[228]提出了事实核抽样算法,动态适应随机性,以平衡人工智能生成内容的事实性和质量。设计了一种利用主题前缀更好地认识事实和句子完成情况的事实增强训练方法,大大减少了事实错误。尽管在开发更真实的人工智能方面取得了这些初步进展,但挑战仍然存在。例如,人工智能生成的内容可能在不熟悉的问题类型和涉及矛盾[215]的上下文上存在问题。
危害性(Toxicity):除了实用之外,人工智能生成的内容(AIGC)对于是有益的、无害的、公正的和无毒的也是很重要的。人们已经对已部署的模型[229–231,2021]所造成的潜在危害进行了广泛的研究,该模型可能包括有偏倚的输出[232,233,2021]、刻板印象[234,2020]和错误信息[235,2019]。为了解决语言领域的毒性问题,OpenAI提出了DouultGPT[10],该[10]通过使用人类反馈作为奖励信号来微调模型,将语言模型与人类偏好相结合,确保更相关和安全的反应。同时,谷歌提出了LaMDA [236,2022],这是一个神经语言模型家族,通过利用微调和外部知识资源,专门用于安全和事实性的对话。为了提高模型的安全性,LaMDA [236]设计了一套基于来自谷歌的人工智能原则的人类价值的量化模型安全性的指标(原论文中的附录a.1)。此外,Ganguli等人以对抗的方式研究并提高了语言模型的安全性。具体来说,他们研究了不同大小的模型(2.7B、13B和52B参数)和训练方案(普通LM、微调LM、拒绝采样的LM和RLHF训练的LM)的红色团队的缩放行为。他们发现,用RLHF训练的模型规模更好,而且对红队来说越来越困难。
成员推理(Membership inference):成员推理攻击(MIA)的目标是确定一个图像是否属于训练数据集。Wu等人[238,2022]研究了在现实黑盒设置下,文本到图像(基于扩散和基于序列到序列)生成模型中的隶属度泄漏。具体来说,在设计攻击算法时,考虑了质量、重构误差和可靠性三种直觉。然而,Wu等人。[238,2022]假设成员集和保留集来自不同的分布,这使得MIA更加容易。在更实际的设置[239,2022]下,成员集和保留集在相同的分布中,Duan等人[240,2023]提出了逐步误差比较成员推理(SecMI),一个黑盒MIA,通过评估每个时间步长的前向过程后验估计的匹配来推断成员关系。同时,Hu和Pang [241,2023]提出了两种攻击方法,包括基于损失和基于可能性的MIA。此外,松本等人[242,2023]引入了更多与GANs的比较。
数据提取(Data Extraction):数据提取攻击的目的是从训练数据集中检索一幅图像,记为∈。如果攻击者能够获得与图像∈非常相似的图像ˆ,则可以认为攻击是成功的。与成员推理攻击相比,数据提取攻击对模型具有更强的隐私风险。这种攻击的可行性可能是由于大规模模型[243,2022]的记忆特性,在这些模型中,它们转向记忆部分训练数据。当提示正确时,可能包含敏感信息的记忆训练数据将被逐字发出。早些时候,在语言领域,Carlini等人[244,2021]证明了大型语言模型(特别是GPT-2 [245,2019])记忆和泄漏个别训练的例子。具体来说,他们提出了一种简单而有效的方法,从语言模型的训练集中提取逐字序列。最近,在视觉领域,Somepalli等人[246]发现在扩散模型中存在数据复制问题,生成的图像在语义相似性方面与训练数据很接近。为了揭示更坏情况下的隐私风险,Carrini等人[247,2023]进一步探索了最先进的扩散模型的隐私漏洞,利用生成和过滤管道从模型中提取超过一千个的扩散训练示例。具体地说,提取方法首先通过使用选定的提示以黑盒方式查询生成函数来采样500个候选图像。基于记忆数据的生成几乎相同的直觉,然后构造一个相似度图来确定一个图像是否属于训练集。[247,2023]的结果表明,与早期生成模型如GANs [29]相比,包括稳定扩散[13]和Imagen [152]在内的扩散模型更容易受到隐私破坏。这些结果突出了在培训期间开发保护隐私的新技术来解决这些漏洞的必要性。
在本节中,我们将讨论AIGC中的一些挑战以及解决它们的潜在方法。
尽管社区已经见证了AIGC在图像、文本和音频代方面的巨大成功,但这些领域可以说更能容错。相反,AIGC用于高风险的应用程序,包括医疗保健[248]、金融服务[249]、自动驾驶汽车[250]和科学发现[251],仍然具有挑战性。在这些领域中,任何任务都需要高度的准确性、可靠性、透明度和更少或接近零的容错能力。例如,自动组织科学的大型语言模型Galactica[252,2022],可以执行知识密集型的科学任务,并在几个基准任务上具有很好的性能。它的公开演示在首次发布三天后就被删除了,因为人们以权威的语气对其产生的有偏见和不正确的结果进行了强烈的批评。在这些高风险的应用程序中,生成模型给出可信度分数、推理和生成结果的源信息将是至关重要的。只有当专业人员了解这些结果是如何以及来自哪里时,他们才能自信地在任务中使用这些工具。
AIGC依赖于基础模型的选择,这些基础模型在不同的数据集上进行训练,包括基于爬行的[37]模型和精心管理的[252]模型。[230]还认为,“在一个更多样化的数据集上进行训练,并不总是比一个更专门的基础模型更适合实现下游性能。”然而,高度专门化的数据集的管理可能既耗时又成本效益低下。更好地理解跨域表示以及它们如何对测试-时间分布-位移具有弹性,可以指导平衡专业化和泛化的训练数据集的设计。
人类的知识库不断扩大,新的任务不断出现。为了生成具有最新信息的内容,不仅需要模型“记住”所学习到的知识,还需要从新获得的信息中学习和推断。对于某些场景[253,2022],在保持预先训练好的基础模型不变的同时,对下游任务进行持续的学习就足够了。必要时,[254,2020]可以对基础模型进行持续学习。然而,我们也观察到,持续学习可能并不总是优于再训练的模型[255,2020]。这就需要了解什么时候应该选择持续学习策略,什么时候应该选择再培训策略。此外,从头开始训练基础模型可能是禁止的,因此下一代AIGC基础模型的模块化设计可能会说明模型的哪些部分应该被再训练。
推理是人类智力的一个重要组成部分,它使我们能够进行推断、做出决定和解决复杂的问题。然而,即使使用大规模数据集进行训练,有时GAI模型仍然可能在常识推理任务[256,257,2023]中失败。近年来,越来越多的研究者开始关注这个问题。思维链(CoT)提示(prompting)[256]是一个有前途的解决方案的推理挑战。它旨在增强大型语言模型在问题回答的环境中学习逻辑推理的能力。通过解释人类用来得出模型答案的逻辑推理过程,他们可以遵循人类在处理推理时所遵循的道路。通过结合这种方法,大型语言模型可以在需要逻辑推理的任务中获得更高的准确性和更好的性能。CoT也被应用于其他领域,如视觉语言问题回答[257]和代码生成[258]。然而,如何根据特定的任务构造这些CoT提示仍然是一个问题。
扩大规模一直是大规模预训练中的一个常见问题。模型训练总是受到计算预算、可用数据集和模型大小的限制。随着训练前模型规模的增加,训练所需的时间和资源也显著增加。这对那些寻求利用大规模的预训练来完成各种任务的研究人员和组织提出了挑战,如自然语言理解、计算机视觉和语音识别。另一个问题是使用大规模数据集进行预训练的有效性,如果实验超参数,如模型大小和数据量没有精心设计,可能不会产生最佳结果。因此,次优超参数会导致资源浪费和无法通过进一步的训练达到预期的结果。人们已经提出了一些工作来解决这些问题。霍夫曼等人[259,2022]引入了一种正式的尺度律来基于参数的数量和数据集的大小来预测模型的性能。这项工作为理解这些关键因素之间的关系提供了一个有用的框架。[260]等人进行了实证分析来验证霍夫曼尺度定律,并提出了一个额外的公式,以探索多模态模型训练设置中不同训练任务之间的关系。这些发现为了解大规模模型训练的复杂性和在不同的训练领域中优化性能的细微差别提供了有价值的见解。
随着AIGC在各个领域不断扩散,社会对其使用的关注越来越突出。这些问题涉及到诸如偏见、伦理以及人工智能生成的内容对不同利益相关者的影响等问题。一个主要的问题是,在人工智能生成的内容中可能存在偏见,特别是在自然语言处理和计算机视觉等领域。人工智能模型可能会无意中延续或放大现有的社会偏见,特别是如果用于开发模型的训练数据本身就有偏见的话。这可能会产生重大的负面后果,例如在招聘、贷款批准和刑事司法等领域延续歧视和不平等。使用人工智能生成的内容也会出现伦理问题,特别是在该技术被用于生成深度造假或其他形式的被操纵媒体的情况下。这些内容可被用来传播虚假信息,煽动暴力,或伤害个人或组织。此外,人们还担心人工智能生成的内容可能会侵犯版权和知识产权,以及隐私和数据安全等问题。总的来说,虽然人工智能生成的内容在各个领域都有巨大的前景,但解决这些社会问题,以确保其使用对整个社会有益,是至关重要的。
本调查提供了AIGC的历史和最近的进展的全面概述,特别关注单模态和多模态生成模型。此外,我们还讨论了生成式人工智能模型的最新应用,即在AIGC中常用的技术,并解决了该领域围绕可信度和责任的问题。最后,我们探讨了AIGC的开放问题和未来的发展方向,突出了创新和进步的潜在途径。本调查的主要目的是为读者提供对生成式人工智能的最新发展和未来挑战的全面了解。我们对人工智能生成的一般框架的分析,旨在区分当代生成式人工智能模型与其前辈。最终,我们希望这项调查将帮助读者更深入地了解这一领域。接下来,我们将进一步研究这个主题,并提供一个更全面的AIGC分析。
AIGC 在视觉领域的研究进展,