当我们探索人工智能的发展和前景时,总是会创造一些概念和名词,人工通用智能(AGI)、窄人工智能(ANI)、自然语言处理(NLP)、计算机视觉(CV)、大语言模型(LLM)、AIGC(生成式人工智能)、GPT(生成式预训练Transformer模型)、BERT(基于Transformer的双向编码)、Diffusion Models(扩散模型)、GANs(生成对抗网络)、Transformer、RNNs(循环神经网络)、CNNs(卷积神经网络)、ANN(人工神经网络)、Fine-tuning(微调)和PLHF(人类反馈的强化学习)等。
AI是人工智能(Artificial Intelligence)的简称,该概念最早是达特茅斯大学的一名年轻教授约翰-麦卡锡(John McCarthy)在1956年为研讨会写提案时创造的,后来被广泛接受为描述一种由人类创造出来的技术,它模仿并扩展了人类智能的各个方面,包括感知、学习、推理和决策等。但长久以来AI概念只是描述人类的一种理想和目标,并无实际进展。为进一步实现AI,学者和专家们根据其应用场景不同将AI的目标拆分为AGI和ANI两种实现目标。
AGI:是指通用人工智能(Artificial General Intelligence),它是一种智能的形式,能够理解、学习和应用知识跨越不同的领域和任务,与人类智能类似。与ANI不同,后者主要专注于特定领域或任务(如图像识别、语言翻译或玩特定的游戏),AGI可以在没有专门为每个新任务编程的情况下,自主地执行任何智能生物能够执行的学习或解决问题的任务。可以说AGI是模型泛化形式。
CGI是计算机生成图像(Computer Generated Imagery)的缩写。
它指的是使用计算机软件和技术生成或合成图像的过程。CGI广泛应用于电影、电视、动画、视频游戏、虚拟现实(VR)和增强现实(AR)等领域。
通过CGI,艺术家和技术人员可以创建并呈现难以通过实拍获得的视觉效果,例如科幻场景、奇幻生物、自然景观以及虚构的环境等。CGI可以完全依赖计算机渲染生成全新的图像,也可以与现实中拍摄的影像相结合,形成无与伦比的视觉体验。
常见的CGI技术包括3D建模、纹理映射、光线跟踪、动画、物理模拟等。通过不断发展的计算机图形学算法和硬件性能提升,CGI正在创造越来越逼真、细腻和引人入胜的虚拟图像。
总的来说,CGI作为一种数字技术,使艺术家和创作者能够打破现实的限制,充分挖掘自身的想象力和创造力,为观众带来更加生动、视觉震撼的作品体验。
ANI:是指窄人工智能(Artificial Narrow Intelligence),也被称为专用人工智能,指的是专门设计来执行一个或几个特定任务的智能系统或软件。这类智能系统表现出在其专门领域内的高效率和强大能力,但它们的能力是局限的,只能在其被设计和训练的特定任务范围内工作。得益于AI三巨头(Yann LeCun、Geoffrey Hinton & Yoshua Bengio)的贡献,在过去10年,ANI在语言处理、图像识别方面取得突破性进展,并广泛在各行业中应用和推广。但在AGI派来看,ANI并不能算真正的AI,因为ANI缺乏像人一样对信息广泛和通用的处理能力。人工智能到底是朝向知识专精的专家系统发展,还是知识覆盖更广泛、通用的百科全书方向发展?有待验证。但AGI作为新兴事物确实已得到足够的认可和关注。
除了AGI和ANI两个AI目标概念以外,根据人类的感官需求,AI的具体应用则主要体现在语言和视觉处理的两大领域,即:NLP和CV。
NLP:是指自然语言处理(Natural Language Processing),是人工智能(AI)和计算机科学领域的一个分支,专注于使计算机能够理解、解释和生成人类的自然语言。NLP结合了计算机科学、人工智能和语言学的技术,旨在桥接人类语言和计算机之间的差距。包括但不限于:文本分析,语言翻译,对话系统,自动文摘,命名实体识别(NER),自然语言理解(NLU)等。
CV:是指计算机视觉(Computer Vision),目标是使计算机能够“看”和理解图像和视频中的内容,就像NLP使计算机能够理解和生成人类语言一样。计算机视觉涵盖了从基本的图像处理到复杂的图像理解的各个方面,包括但不限于:图像分类,对象检测,图像分割,图像生成,图像恢复,动作识别等。
当前最火爆的ChatGPT和Stable Diffustion就是AI在NLP和CV领域最为成功的两款应用之一。而ChatGPT就是LLM的一种具体实现。
LLM:是指大规模型语言模型(Large Language Model)。随着ChatGPT的成功,而广为人知。是一种利用深度学习技术训练的人工智能系统,旨在理解、生成和翻译人类语言。这些模型通过分析海量的文本数据来学习语言的结构、语法、语义及其使用上下文,从而能够生成连贯、逼真的文本,回答问题,总结信息,翻译语言,甚至编写代码。这里需要特别指出大规模是指模型训练过程中使用得的超大参数量,例如:ChatGPT-4训练参数量大概是1750亿个参数,而马斯克刚刚开源的Grok-1参数量则为3140亿个参数。不同于ANI领域中的自变量概念,这里的参数是指通过神经网络运算的权重数量。因此大样本或大数据量并不能被认为是大规模语言模型。同时,LLM是特指大规模语言模型,即便是大规模参数的ANI模型也不能称为LLM,例如:华为盘古气象大模型并不是LLM,其只是采用Transformer架构的ANI模型。
生成式AI(Artificial Intelligence Generated Content,简称AIGC)。该概念并不是AGI概念的原生词汇,而是国内学术造词工厂的杰作。国内普遍认为AIGC是利用人工智能技术自动创建文本、图片、音乐、视频等内容的过程。包括但不限于自然语言生成(NLG)、计算机视觉、音频合成和深度学习模型等领域。由于重复和含糊不清的定义,AIGC更像是把NLP、CV等重新包装成产业应用,制造互联网热点的过程。
(1)GPT—生成式预训练Transformer模型(Generative Pre-trained Transformer)
这是一种LLM也是NLP,由OpenAI开发。它基于Transformer架构,主要用于处理和生成自然语言,因此GPT并不能直接生成图像。GPT模型属于深度学习的一部分,通过大量文本数据的预训练,学会了语言的结构、语法、词汇及其上下文之间的关系,使其能够执行各种语言任务,如文本生成、翻译、问答和摘要等。
其工作原理主要由预训练和微调构成。预训练阶段,GPT模型在大规模的文本数据集上进行训练,目的是学习语言的一般特征,比如词汇、语法和语言使用的上下文关系,这一步骤让模型能够理解和生成语言的基本结构;微调阶段,模型通过在特定任务的数据上再次训练,能够在特定的应用场景中更加精准和高效。GPT模型的特点是其“生成能力”,即能够基于给定的文本提示生成连贯、创新、多样化的文本内容。这使得GPT模型不仅可以用于回答问题和参与对话,还能用于创作文章、编写代码和更多创造性的任务。首先使用的Transfomer架构开展预训练;而在右图则是对不同任务进行微调的输入转换。将所有结构化输入转换为Token序列,由预训练模型处理,然后是Linear+softmax层处理。微调(Fine-tuning)是深度学习中的一个重要概念,特别是在自然语言处理(NLP)、计算机视觉等领域的应用中。微调通常发生在预训练模型的基础上,目的是将这些通用模型调整为特定任务的专用模型。
(2)BERT—基于Transformer的双向编码模型(Bidirectional Encoder Representations from Transformers)
这是一种同样采用Transformer架构的自然语言处理(NLP)预训练模型,由Google在2018年提出。它的核心创新之一是使用双向Transformer编码器来理解语言的上下文,这与之前的单向或部分双向处理方法相比,能够更准确地捕捉到词语间的关系和语义。
从上图可以看到,BERT使用双向转换器。OpenAI GPT使用从左到右的转换器。ELMo使用独立训练的从左到右和从右到左的LSTM的级联来生成下游任务的特征。在这三种表示中,只有BERT表示在所有层中都以左右上下文为联合条件。除了架构差异之外,BERT和OpenAI GPT是微调方法,而ELMo是基于特征的方法。虽然BERT也使用了大量的文本数据进行预训练,能够捕捉语言的深层语义和上下文关系,但其设计初衷主要是提高特定的NLP任务(如问答、命名实体识别、情感分析等)的性能,而不是“生成能力”。由于BERT的参数量大致在3.4亿左右,因此一般不把BERT归为LLM。
在自然语言处理(NLP)领域,除了著名的GPT系列和BERT之外,还有很多其他重要的模型和技术进展,例如:ELMo、RoBERTa、T5、XLNet和Grok-1采用的Mixture-of-Experts模型等,由于篇幅有限不一一介绍。
在计算机视觉(CV)领域,也是众星璀璨,其中以Diffusion Models和GANs最为著名。
(3)Diffusion Models—扩散模型
Diffusion Models同样是生成模型,主要用于创建高质量、逼真的数据,如图像、音频、文本等。这些模型的灵感来自物理学中的扩散过程,即物质从高浓度区域向低浓度区域移动。Diffusion Models 通过以下两个阶段来生成数据,即:噪声添加过程(向前扩散),噪声去除过程(向后扩散)。
扩散过程是一个马尔可夫链,它在采样的相反方向上逐渐向数据添加噪声,直到信号被破坏。当扩散由少量高斯噪声组成时,可以将采样链转换设置为条件高斯,从而实现特别简单的神经网络参数化。
在具体训练架构的实现方面Diffusion models 通常利用CNNs(卷积神经网络)作为其核心架构。这主要是因为卷积神经网络在处理图像数据方面的高效性和能力。CNNs能够从图像中自动学习和提取有用的特征,这使得它们非常适合于图像相关的任务,如图像生成、图像分类、图像恢复等。在Diffusion models的上下文中,CNNs被用来实现所谓的“去噪”步骤。在这一步骤中,模型试图从部分加噪的数据中预测原始数据的干净版本。这个过程需要模型能够理解图像中的复杂模式和结构,以便逐步消除噪声并最终重建出清晰、高质量的图像。CNNs以其强大的空间特征提取能力,非常适合这项任务。
当然,根据特定应用的需求,Diffusion models也可以集成其他类型的神经网络架构。例如,对于涉及序列数据(如文本或音频)的生成任务,可以考虑使用RNNs(循环神经网络)或Transformer网络,这些网络能够更好地处理序列之间的依赖关系。最近的研究也开始探索将Transformer架构应用于Diffusion models中,尤其是在需要处理大量上下文信息或长序列数据的场景。OpenAI最近发布的Sora就是一种Transformer+Diffusion的训练模型,其利用Transformer架构,对视频和图像的时空补丁进行编码,实现在可变持续时间、分
辨率和宽高比的视频和图像上训练文本条件扩散模型。
总的来说,虽然Diffusion models最初和最常用的架构是基于CNNs,但随着技术的发展和研究的深入,其他类型的神经网络也被探索和应用,以提高模型的性能和适用性。
4)GANs—生成对抗网络(Generative Adversarial Networks)
GANs是一种由Ian Goodfellow于2014年提出的深度学习模型。GANs通过其独特的训练机制,在生成新数据样本,尤其是图像生成领域,表现出了显著的能力。GANs的核心思想是基于两个相互竞争的网络:一个生成器(Generator)和一个判别器(Discriminator)。训练过程涉及对这两个网络进行交替训练。首先,固定生成器,训练判别器以最大化其区分真假样本的能力。然后,固定判别器,更新生成器以最大化判别器的错误率。通过这种方式,生成器逐渐学会生成越来越逼真的数据。这个过程像一个“伪造者”(生成器)试图创造看起来真实的艺术品,和一个“鉴别者”(判别器)试图区分艺术品是真是假的游戏。随着游戏的进行,伪造者变得越来越擅长创造逼真的作品。它们都可以使用不同类型的神经网络架构。
训练从具有4×4像素的低空间分辨率的生成器(G)和鉴别器(D)开始。随着训练的进行,我们逐渐向G和D添加层,从而提高生成图像的空间分辨率。GANs的强大之处在于其架构的灵活性,允许在生成器和判别器中使用多种神经网络类型。下面是GANs中常用的几种神经网络类型:
卷积神经网络(CNNs):对于处理图像相关的任务,如图像生成、图像到图像的转换等,卷积神经网络是最常见的选择。CNNs能够有效地处理图像数据,捕捉局部特征和模式,这使得它们在图像识别和图像生成任务中表现出色。
深度卷积GAN(DCGAN):是一个著名的使用CNNs的GAN变体,专门设计用于提高图像生成的质量和稳定性。
全连接网络(Dense Networks):在某些简单的GAN应用中,尤其是在生成器和判别器的早期版本中,全连接网络或密集网络被用于处理相对简单的数据生成任务。虽然在处理复杂图像任务时,全连接网络可能不如CNNs那样有效,但它们在概念证明和初步实验中仍然有其用武之地。
循环神经网络(RNNs):对于处理序列数据的任务,如文本生成或音乐创作,循环神经网络(包括LSTM和GRU等变体)可以在生成器和/或判别器中使用。RNNs擅长处理时间序列数据或任何形式的顺序数据,能够捕捉数据中的时间依赖性和顺序模式。
Transformer:最近Transformer网络也开始被集成到GAN架构中,尤其是在需要处理大量序列数据的任务中。Transformer架构通过自注意力机制(self-attention)提供了一种有效的方式来捕捉序列中的长距离依赖性,这在文本生成和某些类型的图像处理任务中非常有用。
一般而言我们把GPT、BERT、Diffusion Models和GANs统称为训练模型或框架,而将Transformer、RNNs、CNNs归为训练架构。区别是模型或框架可以根据不同应用场景选择不同的训练架构,而训练架构中又可在不同的环节,采用了不同的神经网络算法。由于篇幅有限,我们不再讨论出现比较早的RNNs、CNNs,而是主要介绍当前多用途的明星架构Transformer。
(5)Transformer架构
Transformer是最初在2017年由Vaswani等人在论文《Attention is All You Need》中提出。它主要用于处理序列化数据,如文本或时间序列数据,特别在自然语言处理(NLP)领域内取得了革命性的进步。Transformer模型的核心思想是利用“自注意力(Self-Attention)”机制,使模型能够在处理序列数据时考虑序列中各元素之间的全局依赖关系。
其主要编码器和解码器构成:
编码器(Encoder):编码器由多个相同结构的层堆叠而成,每一层都包含一个多头自注意力子层和一个前馈神经网络子层。在论文中Transformer由1个输入层和6个编码层构成,但在实践中层数可自行设置。编码器的作用是将输入序列转换为一系列注意力表示。
解码器(Decoder):解码器也由多个相同结构的层堆叠而成,每一层包含一个多头自注意力子层、一个编码器-解码器注意力子层和一个前馈神经网络子层。在论文中Transformer由1个输入层、6个解码层和1个输入层构成,同样实践中层数可自行设置。
解码器的作用是根据编码器的输出和先前生成的部分目标序列来逐步生成目标序列。解码器中的自注意力机制允许模型关注输入序列的不同位置,而编码器-解码器注意力机制允许模型在解码器的每个位置对编码器的输出进行注意力计算,以便获取输入序列的信息。
在 Transformer 模型中,每个编码器和解码器层都包含残差连接(Residual Connection)和层归一化(Layer Normalization)操作。这些操作有助于缓解深层模型训练时的梯度消失和梯度爆炸问题,并且有助于模型更好地训练和收敛。残差连接允许梯度更直接地反向传播,并且层归一化有助于稳定训练过程中的每一层的梯度流。
Transformer作为通用架构,不同与传统深度学习中具象化和关系复杂的自变量设置,而是将自变量泛化为:键向量(Key)、值向量(Value)和查询向量(Query),模型泛化可极大增加架构的通用性,且避免过度拟合。
键向量(Key):键向量可以被视为一种索引,用于帮助查询向量找到相关的信息。在自注意力机制中,每个输入元素都有一个对应的键向量,查询向量与这些键向量进行点积运算,得到的结果经过softmax函数处理后,可以得到一个权重分布,这个分布决定了模型对输入序列中各个部分的关注程度。
值向量(Value):值向量可以被视为实际的信息内容。在自注意力机制中,每个输入元素都有一个对应的值向量,这些值向量根据由查询向量和键向量计算得到的权重分布进行加权求和,得到的结果就是自注意力层的输出。
查询向量(Query):查询向量可以被视为对信息的请求或查询。在自注意力机制中,查询向量用于与键向量进行匹配,以确定模型应该关注输入序列中的哪些部分。
在Transformer架构中驱动模型训练的机制是自注意力机制(Self-Attention Mechanism),自注意力机制允许模型在计算编码器和解码器的输出时,对输入序列的不同位置赋予不同的注意力权重。具体而言,给定一个输入序列,自注意力机制计算出每个词与其他词之间的相关性,然后通过加权求和的方式得到每个词的表示。这种机制使得模型可以同时关注输入序列中的所有位置,而不是像RNN一样逐步处理。自注意力机制帮助Transformer实现并行向量运算能力,从而充分发挥GPU的并行计算能力或分布式计算能力,从而大幅提高训练效率和训练数据量,这也是大语言模型(LLM)的基础。
为了进一步增强模型的表达能力,Transformer将自注意力机制分为多个头,即:多头注意力(Multi-Head Attention)。每个头学习一种不同的表示。最后,将多个头的输出拼接在一起并通过线性变换进行投影,得到最终的注意力表示。多头注意力由于同时考虑文字序列不同位置的相关性和语义信息,使得模型能够更好地理解输入序列中
的各个部分之间的关系。
对Transformer最大的误解是认为它是一种神经网络。例如,某商业大佬就是说:“Transformer模拟了人脑神经网络”。其实 Transformer是一种深度学习的训练架构,而非一种神经网络或算法,Transformer是利用前馈神经网络(Feedforward Neural Networks),实现向量矩阵的运算。在每个编码器和解码器的每个位置都有一个前馈神经网络。该网络是一个全连接的前馈神经网络,用于在每个位置对注意力表示进行非线性变换。在实践中往往都是根据实际情况对Transformer的基础架构进行调整和优化,并非一成不变。
(6) MoE—混合专家模型(Mixture-of-Experts)
MoE是一种采用人工神经网络的训练架构,最早由Jacobs 等人在1991年的论文《Adaptive Mixtures of Local Experts》中提出。其核心思想是一种将多个局部专家模型组合在一起的方法,以适应不同的输入数据分布,并且这些专家模型可以动态地分配权重。在MoE中,每个专家模型都被训练来解决特定的子问题,而门控网络则是用来决定在给定输入情况下,哪个专家模型应该负责给出最终的输出。MoE出现时间较早,是为解决算法复杂性、提高训练性能、降低成本而提出的。与Transformer不同,其架构充分利用GPU集群的分布式计算能力,将多任务执行从算法结构层面转移到GPU集群层面从而降低算法的结构复杂性。而马斯克刚刚开源的Grok-1就是采用这种架构。
Mixture-of-Experts架构的主要组成部分:
专家模型(Expert Models):每个专家模型是一个独立的神经网络,它们被设计用于解决特定的子问题或者在特定的输入数据分布下表现良好。每个专家模型都接收输入数据,并且输出对应的预测结果。
门控网络(Gating Network):门控网络用于动态地分配权重给各个专家模型。给定输入数据,门控网络计算每个专家模型对于当前输入数据的相关性或者重要性。这些权重通常是通过softmax函数归一化得到的,以确保它们的总和为1。
混合操作(Mixture Operation):通过将每个专家模型的输出与门控网络计算得到的权重相乘并相加,可以得到最终的输出。每个专家模型的输出都被乘以对应的权重,然后再相加,以产生最终的输出。
训练策略:MoE模型通常使用端到端的反向传播算法进行训练。在训练过程中,专家模型和门控网络的参数都会被调整,以最小化模型在训练数据上的损失函数。门控网络的训练目标通常是最大化模型的整体性能,并且也可以通过额外的正则化策略来提高模型的泛化能力。
Mixture-of-Experts模型通过将多个专家模型组合在一起,并且通过门控网络动态地分配权重,可以提高模型的灵活性和适应性,从而在处理复杂的输入数据分布时取得更好的性能表现。
(7)RLHF—人类反馈的强化学习(Reinforcement Learning from Human Feedback)
RLHF是一种机器学习一种方法和阶段,为避免最终训练输出的结果违背人类道德伦理、民俗习惯、社会规则和法律,在机器学习的最后阶段结合来自人类的反馈和强化学习(RL),以指导和优化人工智能模型的行为和决策。这种方法特别适用于在那些难以为机器提供明确、数学化的奖励函数的情况下,训练模型执行复杂或高度专业化的任务。
在传统的强化学习中,一个AI模型通过与环境互动,尝试最大化其所获得的累积奖励。这些奖励通常是预先定义好的,基于任务的目标。然而,在许多实际应用中(特别是生成式模型中),定义一个能够有效引导学习过程的奖励函数是非常困难的。
RLHF通过以下步骤解决这个问题:
人类反馈:收集人类对AI行为的评估或偏好。这可以通过直接评分、选择偏好(偏好排序两个或多个选项)或提供纠正性反馈的形式进行。
建立奖励模型:使用这些人类反馈来训练一个奖励模型,该模型预测哪些行为或决策会获得正面的人类评价。
强化学习:利用这个奖励模型作为奖励函数,采用强化学习算法训练AI模型。使其通过试错的方式学习在给定环境中如何行动,以最大化从奖励模型中获得的奖励。
RLHF的优点在于,它可以在没有明确数学形式奖励函数的情况下训练AI模型,使其在复杂环境中作出更接近人类期望和价值观的行为。这种方法被广泛应用于自然语言处理、游戏、机器人技术和其他需要复杂决策过程的领域。通过人类的直观反馈,模型可以学习执行抽象的、多样化的任务,同时减少不希望的行为或偏差的风险。
在人工智能领域中,通用人工智能(AGI)、计算机生成图像(CGI)、大型语言模型(LLM)、Transformers、扩散模型(Diffusion Models)和人类反馈的强化学习(RLHF)等技术之间存在着紧密的联系和相互作用,共同推动这一领域的进步。AGI代表了AI的终极目标,即在各种任务和环境中展现出与人类类似的适应性和灵活性。虽然我们距离实现AGI仍有很长的路要走,但当前的进展和研究为这一终极目标奠定了基础。这些技术的融合和发展,不仅扩展了我们对AI能力的理解,也为攻克复杂问题开辟了新途径。特别是,通过结合Transformers的模型架构,扩散模型的生成能力,以及RLHF的细致调优,我们已经能够创建出更为高效和灵活的模型。这些模型在理解语言、生成内容、解决问题等方面的能力越来越接近人类的思维模式。随着这些领域的不断深入,我们对于实现AGI的路径也将更加清晰,为未来的科技革命铺平道路。
参考原文: GPT不是AGI的全部 (msn.com)