1.3 AIGC概述
生成式人工智能(Artifical Intelligence Generated Content,AIGC)是一种新的AI技术,它利用AI模型,根据给定的主题、关键词、格式、风格等条件,自动生成各种类型的文本、图像、音频、视频等内容。
1.3.1 认识AIGC
随着自然语言生成(Natural Language Generation,NLG)技术和AI模型的不断发展,AIGC逐渐受到大家的关注,目前已经可以自动生成图片、文字、音频、视频、3D模型和代码等。
AIGC的特点如下。
(1)自动化
AIGC可以根据用户输入的关键词或要求自动生成内容,无须人工编辑,从而节省了时间和成本,提高了效率。
(2)具有创意
AIGC可以利用深度学习和强化学习等技术,不断地学习和优化内容生成策略,以生成具有创意和个性化的内容,并增加内容的吸引力,提高用户参与度和转化率。
(3)表现力强
AIGC可以自动生成各种类型的内容,例如文章、视频、图片、音乐、代码等,这样可以满足不同用户的不同需求,提供多样化的内容选择。同时,AIGC可以利用自然语言处理和计算机视觉等技术,实现与用户的自然交流,获得用户的反馈,并根据用户的喜好和行为动态地调整内容生成的方式,增强内容的表现力和适应性,提升用户体验感和忠诚度。
(4)迭代
AIGC可以利用机器学习和深度学习等技术,不断地更新和改进内容生成的模型和算法,并根据用户反馈进行优化。这样可以保证内容生成的质量和效果,提高内容生成的可靠性和稳定性。
从商业层面看,AIGC本质上是一种AI赋能技术,由于其具有高质量、低门槛、高自由度的生成能力,被广泛应用于各类内容的相关场景,服务于生产者。AIGC可以在创意、表现力、迭代、传播、个性化等方面,充分发挥技术优势,打造新的数字内容生成与交互模式。AIGC代表着AI技术从感知、理解世界到生成、创造世界,正推动AI迎来下一个时代。如果说过去传统的AI技术发展偏向于分析能力,那么AIGC则证明AI技术发展正在逐渐偏向于生成全新的内容。
1.3.2 AIGC的发展历程
AIGC的发展历程可以大致分为以下3个阶段。
早期萌芽阶段:20世纪50年代—90年代中期,受限于科技水平,AIGC仅限于小范围实验。
沉淀积累阶段:20世纪90年代中期—21世纪10年代中期,AIGC从实验向实用转变,但受限于算法,无法直接生成内容。
快速发展阶段:21世纪10年代中期至今,深度学习算法不断迭代,AIGC生成内容种类丰富且效果越来越好。2017年微软AI少女“小冰”推出世界上首部由AI写作的诗集《阳光失了玻璃窗》,2018年英伟达公司发布的StyleGAN模型可自动生成图片,2019年DeepMind公司发布的DVD-GAN模型可生成连续视频。2021年OpenAI公司推出DALL·E模型并更新迭代版本DALL·E 2模型,该模型主要用于文本、图像的交互生成。
近年来,AIGC发展迅速,从原来作为边缘侧服务于企业、机构的角色变为了现在零基础用户都可以使用的创作工具。在应用开发侧重点上,AIGC也从原先被用于翻译、语音合成以及重复性工作转向了更注重应用层面,转向了能够使用户便捷操作的方向。
1.3.3 AIGC的算法体系
算法是AIGC技术的创新核心,决定了内容生成的能力和效果。常见的算法模型包括变分自编码器、生成对抗网络、卷积神经网络、循环神经网络、注意力机制、Transformer、扩散模型、多模态学习等。
算法的突破是近年来AIGC得以快速发展的催化剂,下面将展开介绍AIGC中常用的算法模型,分别是变分自编码器模型、Transformer模型和扩散模型。
1.变分自编码器模型
传统的自编码器模型主要由两部分构成:编码器(encoder)和解码器(decoder)。自编码器模型结构如图1-11所示,编码器-解码器结构作为语言模型的经典结构,模拟的是人脑理解与表达自然语言的过程,其中编码器将语言转换成“大脑”所能理解和记忆的内容,而解码器则将“大脑”中所想的内容表达出来。
图1-11 自编码器模型结构
变分自编码器(Variational Auto Encoder,VAE)模型在数据生成方面应用价值较高,它继承了传统自动编码器模型的架构,使用编码器将原始高维输入数据转换为潜在空间的概率分布描述并抽取样本数据;使用解码器对抽样的数据进行重构,以生成新数据。图1-12所示为变分自编码器模型的结构。
VAE模型是一种有趣的生成模型。生成模型的基本思想是让计算机自动学习一些数据的统计规律,并利用这些规律生成新的数据,比如图像、音频等。这种技术的应用非常广泛,比如可以用于文本生成、图像生成、视频生成等领域。与生成对抗网络模型相比,VAE模型有更加完备的数学理论,在理论推导过程中引入了隐变量(在数学中,假设我们需要用a估计b,不过直接用a估计b很困难,但是用c估计b很简单,用a估计c很容易,所以我们可以用a来估计c,再用c估计b,以达到用a估计b的目的,此时c即为隐变量),使得理论推导过程更加显性,训练过程更加容易。
图1-12 变分自编码器模型的结构
2.Transformer模型
Transformer模型由编码器和解码器两个部分组成,编码器-解码器结构如图1-13所示。
图1-13 编码器-解码器结构
Transformer模型的架构如图1-14所示。编码层由6个结构相同的编码器串联而成,解码层由6个结构相同的解码器串联而成。在以Transformer模型为代表的语言模型中,编码器的功能就是把自然语言序列映射为某种数学表达,而解码器则是把这个数学表达映射为自然语言序列。
图1-14 Transformer模型的架构
综合来看,Transformer模型是一种采用自注意力机制的深度学习模型。在训练过程中,自注意力机制可以按输入数据各部分重要性的不同而分配不同的权重,从而有选择性地关注重要信息。与传统的序列模型相比,Transformer模型不再依照顺序计算,该模型能够并行地处理序列数据,显著提高了计算效率。
值得注意的是,注意力机制中包含自注意力机制、交叉注意力机制等,而自注意力机制是Transformer等大语言模型的核心组成部分。自注意力机制指的不是输入语句和输出语句之间(不同输入)的注意力机制,而是在输入语句的内部元素之间(同一输入)发生的注意力机制。换句话说,自注意力机制在同一个句子内部实现了注意力机制。表1-3所示为自注意力机制与交叉注意力机制的区别。
表1-3 自注意力机制与交叉注意力机制的区别
与循环神经网络一样,Transformer模型旨在处理自然语言等顺序输入数据,可用于翻译、文本摘要等任务。而与循环神经网络模型不同的是,Transformer模型能够一次性处理所有输入数据。如果输入数据是自然语言,则Transformer模型不必像循环神经网络模型一样一次只处理一个词,Transformer模型允许更多的并行计算,从而减少训练时间。因此,Transformer模型常被用于序列到序列(Sequence-to-Sequence)任务,如机器翻译、文本摘要和对话生成等。
使用Transformer模型处理输入数据(以文本为主)有以下四个主要步骤。
(1)词嵌入
词嵌入是一种自然语言处理技术,它将词汇表中的每个词或短语从单词表示转换为稠密向量,从而捕捉词与词之间的语义关系。首先,模型进行词嵌入,将序列中的单词映射到向量的实数空间中。然后,数据通过多个编码层和解码层进行变换与传递。在这些层中,自注意力机制在理解序列中单词之间的关系方面起着关键作用。最后,Transformer模型根据学到的规律,预测序列中最可能出现的下一个单词或标记,从而生成文本。
构建大语言模型时,词嵌入是至关重要的第一步。它将序列中的单词表示为实数空间中的向量,使得相似的单词被归为一组。通过词嵌入,模型可以更好地处理文本数据,理解单词的含义,并基于此进行预测,从而提高模型的性能和效果。例如,考虑到词“猫”和“狗”,这两个词的含义通常会比与之无关的另一对词,如“猫”和“薯片”的含义更接近。因此在词嵌入的过程中“猫”和“狗”被归为一组的可能性远大于“猫”和“薯片”被归为一组的可能性。
词嵌入技术涉及对大量文本数据进行神经网络模型训练,例如对新闻文章或书籍文本进行训练。词嵌入技术主要是为了解决自然语言处理中的词表示问题,将词的表示转化为容易被计算机理解的形式。常见的词嵌入模型有Word2Vec、Glove、FastText等。在底层输入中,使用词嵌入来表示词组的方法可以极大提升语法分析器和文本情感分析等神经网络训练的效果。
(2)位置编码
位置编码是帮助模型确定单词在序列中的位置的技术,它与单词的含义以及它们之间的关系无关。位置编码主要用于跟踪单词的顺序。例如,当将句子“我喜欢狗”输入模型中时,位置编码使模型知道“我”是在句子的开头,而“狗”是在句子的结尾。这对模型理解上下文和生成连贯的输出非常重要。
位置编码使用一系列特定模式的向量来表示单词的位置。这些向量与词嵌入的向量相加,可以获得包含位置信息的输入表示。通过这种方式,模型能够将单词的位置作为输入信息的一部分,并在生成输出信息时保持一致。
(3)自注意力机制
自注意力机制是Transformer模型的核心部分。它使模型在处理一个序列时可以考虑到序列中每个元素与其他元素的关系。自注意力机制的关键思想是计算输入序列中每个单词之间的关联度(或称为权重),并将这些关联度用于权衡模型对每个元素位置的关注程度。
自注意力机制允许模型为序列中的每个单词分配一个权重,权重的值取决于它对预测任务的重要性。这使得模型能够捕捉单词之间的关系,更好地理解序列中的上下文信息,从而更准确地处理序列数据。
(4)文本生成
文本生成通常是大语言模型执行的最后一步。在经过训练和微调之后,大语言模型可以根据提示或问题生成高度复杂的文本。该模型将利用其学到的模式根据输入的文本内容(如几个单词、一个句子,甚至一个完整的段落)生成一个连贯且与上下文相关的回答。
模型利用在训练期间学到的参数来计算下一个单词或标记的概率分布,然后选择最有可能的一个单词或标记作为下一个输出。例如,bank一词有两个含义,分别是“堤坝”和“银行”,如果只显示bank这个单词,很难判断是哪个意思。但是,如果显示词组,如“The bank of the river(河堤)”“Money in the bank(银行里的钱)”,就可以通过上下文判断出bank的意思。因此,Transformer模型在训练的过程中,通常将表示“堤坝”的“bank”放在“river”附近的坐标上,将表示“银行”的“bank”放在“Money”附近的坐标上,这样可以在不破坏句子原义的情况下连接单词。
一般而言,人们可以引导机器进行强化学习,从而提供给机器训练模型的持续反馈。对大语言模型来说,如果模型返回错误答案,人类用户可以纠正模型,从而提高模型的整体性能。
在训练大语言模型时,需要注意一些问题。首先,大语言模型的训练需要大量的语料库,因此需要保证语料库的质量和数量。其次,大语言模型的训练过程需要消耗大量的计算资源,因此需要保证计算资源的充足。此外,大语言模型的训练结果可能会受到数据偏差的影响,因此需要对语料库进行适当的预处理和平衡。
总的来说,Transformer是一个强大的深度学习模型,它通过自注意力机制处理序列数据,在自然语言处理任务中表现出色。
3.扩散模型
扩散(Diffusion)模型是一种新型的生成模型,属于无监督学习中的概率模型,主要被用于图像生成和视频生成等领域。扩散模型是一种基于去噪技术的图像生成模型。在生成图像的过程中,它实际上是在不断地去除噪声和随机性的影响,逐渐得到一个越来越真实、越来越精细的图像,如图1-15所示。扩散模型首先将先验数据分布转化为随机噪声,然后再一步一步地修正转换,得到对噪声进行去噪的图片,再让神经网络学习这个去除噪声的过程。因此,扩散模型可以由给定的噪声图像还原出原始图像。
图1-15 扩散模型生成图像
扩散模型使用的是一个反向扩散方程,通过多次迭代来生成图像。每次迭代,图像中的每个像素都会去除一些噪声,这些噪声会在下一次迭代中逐渐消失。相较于其他模型,扩散模型的优势在于生成的图像质量更高,且无须通过对抗性训练,其训练的效率也更高。同时,扩散模型还具有可扩展性和并行性。
扩散模型最常见的应用是图像生成和修复。例如,去噪扩散隐式模型(Denoising Diffusion Implicit Models,DDIM)就是一种基于扩散过程生成模型的图像生成方法,它可以生成高质量的自然图像。另一个例子是Noise2Self,它使用扩散过程生成模型来恢复噪声图像。由于扩散模型生成样本的强大能力,扩散模型已被广泛应用于各个领域,如计算机视觉、自然语言处理和生物信息学。此外,扩散模型还可以用于视频预测,即根据给定的前几帧预测未来帧。
常见的扩散模型包括GLIDE、DALL·E 2、Imagen和完全开源的Stable Diffusion。扩散模型已经拥有了成为下一代图像生成模型的代表的潜力。以DALL·E为例,它能够直接通过文本描述生成图像。
Imagen是2022年5月谷歌公司发布的图像生成扩散模型,专门用于高质量图像的生成。用户向其中输入描述性文本,模型会生成与文本匹配的图像。输入提示词“一只可爱的手工编织考拉,穿着写着CVPR的毛衣”,模型就会生成考拉图像,如图1-16所示,考拉采用手工编织,毛衣上写着CVPR,可以看出模型理解了提示词,并通过扩散模型生成了提示词描述的图像。
图1-16 Imagen生成图像
扩散模型的生成逻辑相比其他的模型更接近人的思维模式,其工作原理是通过连续添加高斯噪声来破坏训练数据,然后通过反转添加噪声过程来学习如何恢复数据。训练后,人们可以通过将随机抽样的噪声传递给去噪过程来学习并生成数据。
4.多模态深度学习
多模态数据是指记录在不同类型的媒体(如文本、图像、视频、声音)中的描述同一对象的数据。在表征学习领域,“模态”一词指编码信息的特定方式或机制。多模态深度学习是指将来自不同感知模态的信息(如图像、文本、语音等)融合到一个深度学习模型中,以实现更丰富的信息表达和更准确的预测。在多模态深度学习中,模型之间的融合通常有以下3种方法。
(1)模态联合学习
模态联合学习是一种联合训练的方法,将来自不同模态的数据输入一个模型中,模型可以同时学习到多个模态的特征表示,并将这些特征表示融合在一起。这种方法的优点是可以充分利用多个模态的信息,但是需要同时训练多个模型,计算复杂度较高。
(2)跨模态学习
跨模态学习是一种将一个模态的特征转换为另一个模态的特征表示的方法。这种方法的目的是通过特征转换,以及多个模态之间的映射关系,并将不同模态的信息融合在一起。例如,可以使用图像的特征表示来预测文本的情感偏向。使用这种方法可以减少训练时间并降低计算复杂度,但是需要预先确定好模态之间的映射关系。
(3)多模态自监督学习
多模态自监督学习是一种无须标注数据,通过模型自身学习来提取多个模态的特征表示的方法。这种方法的优点是可以利用大量未标注的数据进行训练,但是需要设计一些自监督任务来引导模型学习多模态的特征表示。例如,可以通过执行视频音频同步、图像文本匹配等任务来进行多模态自监督学习。
总体而言,多模态深度学习是一个相对较新的领域,以研究从多模态数据中学习的算法为主。例如,人类可以同时通过视觉和听觉来识别人或物体,而多模态深度学习研究的是如何使计算机具有类似的能力,让模型也能同时处理来自不同模态的输入。
1.3.4 AIGC的流程
AIGC的初衷是人类通过训练模型,让加载模型机器理解人类赋予的任务(指令),并完成任务(给出答案)。创建AIGC的基本过程会因为具体应用程序和所生成内容的类型的不同而有所差别,但通常涉及这几个主要步骤:数据收集、数据预处理、模型训练、内容生成、评估和细化。
1.AIGC的流程步骤
首先是收集数据(用于训练AI模型),包括收集现有数据集,通过调查、爬取公开数据等方法获得数据。数据在收集后需要进行预处理,预处理涉及清理数据、删除重复数据或不相关数据,以及规范化数据。预处理后,使用特定算法训练AI模型,比如有监督或无监督学习。训练过程中需要调整参数,以降低模型错误率。AI模型经过训练后,即可用于生成内容,比如撰写文章、编写代码、生成图像或视频等。最后,对生成的内容进行评估和细化,以确保其满足某些质量标准。必要时需要对AI模型进行额外训练,对数据预处理或内容生成步骤做一些调整。从以上过程可以看出,AI生成内容首要的、决定性的起点是数据,因为机器需要从数据中学习,从而模仿人类行为和生成具有创造力的新内容。
2.AIGC包含的技术
语言模型是AIGC技术的基础,其主要作用是根据已有的语言数据来学习语言的规律和模式。常见的语言模型包括N-gram模型和神经网络语言模型。N-gram模型是一种基于统计的模型,主要根据已有的文本数据来学习不同单词之间的关系,从而生成新的语句。N-gram模型基于一个假设:在给定n个连续单词的情况下,第n+1个单词的出现概率只与前面的n个单词有关。N-gram模型常用于文本生成和机器翻译等任务中。神经网络语言模型则是基于神经网络的模型,它使用神经网络来预测下一个词或字符的概率分布。这种模型可以用于处理自然语言,如机器翻译、语言识别和文本生成等。
除了上述技术,AIGC还使用词向量、注意力机制、生成对抗网络等技术来提高其生成能力和生成内容的质量。总之,AIGC技术包括语言模型、神经网络、自动编码器等多种技术,通过不断优化和提高这些技术的性能,AIGC可以在各种应用场景中发挥更大的作用。
3.AIGC应用实例
例如,用户提问:在一座孤岛上,一条龙和一只凤凰会怎么相处?这是一个极具想象力的问题,因为龙和凤凰都是神话中的生物。但由于AIGC接受了大量作为训练数据的文本,它能从中了解到关于龙和凤凰的信息,并在回答中融入这些信息。
生成文本对话如下。
问:在一座孤岛上,一条龙和一只凤凰会怎么相处?
答:在传统文化中,龙和凤凰都是具有神话色彩的生物,它们代表着不同的象征意义。龙通常被视为强大、威严和神秘的象征,而凤凰则代表着幸福、荣耀和重生。
在孤岛上,一条龙和一只凤凰可能会相互敬畏和尊重,因为它们都是非常强大的生物。它们可能会建立一种和平共处的关系,分享资源和领地,同时也会保护对方免受外来威胁。
在这个回答中,AIGC表现出了一定的创造性,提供了关于龙和凤凰在孤岛上相处的情景。这种创造性是通过训练过程中模型对大量文本的学习而得来的,而不是被提前输入进去的。AIGC能够从训练数据中提取出相关的信息和模式,并将其应用于新的情境中。它能够理解问题的语义,并生成符合逻辑和常识的回答。这种能力使得AIGC能够在处理各种问题时展现出一定的创造力和灵活性。
然而,需要注意的是,AIGC的创造性受其训练数据和模型的限制。它只能根据已有的知识和模式进行推理和生成回答,并无法超越这些限制进行真正的创新和创造。因此,虽然AIGC可以在某些情况下表现出一定的创造性,但它仍然是一种工具,需要人类对其进行指导和监督。