✈️当谈及生成式人工智能(AI),我们进入了一个令人惊叹的领域,它不仅改变了我们与技术的互动方式,而且极大地推动了人工智能的发展。通过模仿人类创造力和想象力的能力,生成式AI引领着我们走向了全新的可能性。让我们一起回顾生成式AI的历史和发展,探索它如何从最初的概念逐渐演化为我们日常生活中的重要组成部分。
生成式模型在人工智能领域有着悠久的历史。隐马尔可夫模型(Hidden Markov Models,HMMs)和高斯混合模型(Gaussian Mixture Models,GMMs)是在上世纪50年代首次开发出来的。这些模型生成了序列数据,如语音和时间序列。然而,生成式模型直到深度学习的出现后才取得了显著的性能改进。
生成式AI - 关键技术历史和发展
- 自然语言处理(NLP)
- 计算机视觉(CV)
- 变压器(Transformers)
- 🎙🕺🤟🏀让我们按时间顺序来谈谈这些模型。
- N-Gram
- 长短期记忆网络(LSTM)
- 变分自编码器(VAEs)
- 门控循环单元(GRU)
- Show-Tell
- 生成对抗网络(GAN)
- StackGAN
- StyleNet
- Vector Quantised-Variational AutoEncoder (VQ-VAE)
- Transformers
- BiGAN
- RevNet
- StyleGAN
- ELMo
- BERT
- GPT-2
- Context-Aware Visual Policy (CAVP)
- Dynamic Memory Generative Adversarial Network (DM-GAN)
- BigBiGAN
- MoCo
- VisualBERT
- ViLBERT(Vision-and-Language BERT)
- UNITER(UNiversal Image-TExt Representation)
- BART
- GPT-3
- T5
- DDPM
- ViT
- CLIP
- ALBEF
- VQ-GAN
- DALL-E
- BLIP
- DALL-E 2
- OPT(Open Pre-trained Transformers)
- Sparrow
- ChatGPT
- BLIP2
- GPT-4
自然语言处理(NLP)
生成句子的最早方法之一是N-gram语言建模,通过学习单词分布,然后搜索最佳序列。然而,这种方法只适用于生成短句子。
为了解决这个问题,引入了循环神经网络(Recurrent Neural Networks,RNNs)用于语言建模任务。RNNs可以模拟相对较长的依赖关系,并且可以生成更长的句子。后来,发展出了长短期记忆网络(Long Short-Term Memory,LSTM)和门控循环单元(Gated Recurrent Unit,GRU),它们使用门控机制来在训练过程中控制记忆。这些方法可以处理大约200个标记。
计算机视觉(CV)
计算机视觉领域中传统的图像生成方法依赖于纹理合成和映射技术。这些方法使用手动设计的特征,在生成复杂多样的图像方面存在局限性。
然而,在2014年,一种名为生成对抗网络(Generative Adversarial Networks,GANs)的新方法被引入,通过在各种应用中产生令人印象深刻的结果,显著改善了图像生成。还开发了其他方法,如变分自编码器(Variational Autoencoders,VAEs)和扩散生成模型,以在图像生成过程中提供更精细的控制能力和生成高质量图像的能力。
变压器(Transformers)
不同领域中的生成式模型采用了不同的路径,但最终与变压器架构交叉。该架构已成为各个领域中许多生成式模型的支柱,相比于先前的构建模块(如LSTM和GRU),具有优势。
变压器架构已应用于NLP领域,产生了BERT和GPT等大型语言模型。在计算机视觉领域,Vision Transformers和Swin Transformers将变压器架构与视觉组件相结合,使其可以应用于基于图像的任务。
变压器还使不同领域的模型能够融变压器还使不同领域的模型能够融合用于多模态任务,例如CLIP将视觉和语言结合起来生成文本和图像数据。
生成式AI不仅在NLP和CV领域取得了巨大进展,还在其他领域展现了潜力。例如,在音乐生成方面,生成式模型可以学习音乐的结构和风格,创作出新的乐曲。在艺术创作中,生成式AI可以生成绘画、插图和艺术作品,扩展了艺术家们的创作可能性。
随着生成式AI的不断发展,越来越多的研究和创新涌现出来。人们不仅在提高生成质量和多样性方面进行探索,还在研究如何提供对生成过程的更精细的控制,并加强对生成结果的解释和解释可能性的研究。
来源:https://arxiv.org/pdf/2303.04226.pdf
🎙🕺🤟🏀让我们按时间顺序来谈谈这些模型。
N-Gram
- 发布年份:N-Gram模型的现代形式在20世纪60年代和70年代开发出来。
- 类别:自然语言处理(NLP)
N-Gram模型是一种统计语言模型,常用于NLP任务,如语音识别、机器翻译和文本预测。该模型通过计算词序列的频率并利用它来估计概率,通过对文本数据语料库进行训练。利用这种方法,模型可以预测给定上下文中特定词序列的可能性。
长短期记忆网络(LSTM)
- 发布年份:1997年
- 类别:NLP
长短期记忆网络(Long Short-Term Memory,LSTM)是一种神经网络,更具体地说,是一种用于解决序列预测任务中学习长期依赖性的循环神经网络类型。与其他神经网络架构不同,LSTM包含反馈连接,允许它处理整个数据序列而不是像图像一样处理单个数据点。
变分自编码器(VAEs)
- 发布年份:2013年
- 类别:计算机视觉(CV)
变分自编码器(Variational AutoEncoders,VAEs)是一种生成模型,可以学习将数据压缩成较小的表示,并生成类似于原始数据的新样本。换句话说,VAEs可以生成看起来来自与原始数据相同分布的新数据。
门控循环单元(GRU)
- 发布年份:2014年
- 类别:NLP
门控循环单元(Gated Recurrent Unit,GRU)是一种改进的循环神经网络,于2014年开发,作为LSTM的一个更简单的替代方法。它可以处理文本、语音和时间序列等序列数据。GRU的独特特点是使用了门控机制,这些机制在每个时间步骤上选择性地更新网络的隐藏状态。
Show-Tell
- 发布年份:2014年
- 类别:视觉语言(多模态)
Show-Tell模型是一种基于深度学习的生成模型,利用循环神经网络架构。该模型结合了计算机视觉和机器翻译技术,生成类似人类描述的图像描述。
生成对抗网络(GAN)
- 发布年份:2014年
- 类别:CV
生成对抗网络(Generative Adversarial Network,GAN)是一种生成模型,能够创建类似于训练数据的新数据点。GAN由两个模型组成 - 生成器和判别器。生成器的任务是产生一个假样本。判别器接收此样本作为输入,并确定输入是来自域中的假样本还是真实样品。
GAN能够生成看起来像是真实人脸的照片,尽管所描绘的面孔并不对应任何真实个体。
StackGAN
- 发布年份:2016年
- 类别:视觉语言
StackGAN是一种神经网络,可以根据文本描述创建逼真的图像。它使用两个阶段,第一阶段根据文本描述生成低分辨率图像,第二阶段提高图像质量并增加细节,创建高分辨率逼真图像。这是通过将两个GAN堆叠在一起实现的。
StyleNet
- 发布年份:2017年
- 类别:视觉语言
StyleNet是一个新颖的框架,用于生成具有不同风格的图像和视频的吸引人的描述。它是一种基于深度学习的方法,使用神经网络架构学习图像或视频特征与自然语言描述之间的关系,重点在于生成与输入视觉内容风格相匹配的描述。
Vector Quantised-Variational AutoEncoder (VQ-VAE)
- 发布年份:2017年
- 类别:视觉语言
Vector Quantised-Variational AutoEncoder (VQ-VAE)是一种旨在无监督学习有用表示的生成模型。它与传统的变分自编码器(VAEs)有两个不同之处:编码器网络输出离散的代码而不是连续的代码,先验是可学习的而不是固定的。这个模型简单而强大,有望解决无监督表示学习的挑战。
Transformers
- 发布年份:2017年
- 类别:自然语言处理(NLP)
Transformers是一种能够理解序列数据(如句子)上下文的神经网络类型,通过分析单词之间的关系来实现。它的创建是为了解决序列转换的挑战,包括将输入序列转换为输出序列,例如从一种语言翻译成另一种语言。
BiGAN
- 发布年份:2017年
- 类别:计算机视觉(CV)
BiGAN(双向生成对抗网络)是一种可以通过学习示例生成逼真数据的人工智能架构。它与传统的GAN不同,因为它包括一个可以反向工作的生成器,将数据映射回其原始的潜在表示。这可以实现更丰富的数据表示,并可用于各种应用中的无监督学习任务。
RevNet
- 发布年份:2018年
- 类别:计算机视觉(CV)
RevNet是一种能够学习良好表示并保留重要信息的深度学习架构。它通过使用一系列同胚层和显式逆函数实现,使其可以完全反转而不丢失信息。
StyleGAN
- 发布年份:2018年
- 类别:计算机视觉(CV)
StyleGAN是一种生成对抗网络(GAN),可以生成高质量逼真的图像。该模型在生成过程中逐步添加细节,关注诸如面部特征或发色等区域,而不影响其他部分。通过修改称为样式向量和噪声的特定输入,可以改变最终图像的特征。
ELMo
- 发布年份:2018年
- 类别:NLP
ELMo是一种自然语言处理框架,采用双向语言模型的两层结构来创建词向量。这些嵌入具有独特之处,因为它们是使用包含该词的整个句子而不仅仅是词本身来生成的。因此,ELMo嵌入能够捕捉词在句子中的上下文,并为在不同上下文中使用的相同词创建不同的嵌入。
BERT
- 发布年份:2018
- 类别:自然语言处理(NLP)
BERT是一种语言表示模型,可以在大量文本数据(例如维基百科)上进行预训练。通过BERT,可以在短短30分钟内训练出不同的NLP模型。训练结果可以应用于其他NLP任务,例如情感分析。
GPT-2
- 发布年份:2019
- 类别:NLP
GPT-2是基于Transformer的语言模型,具有15亿个参数,并在800万个网页数据集上进行了训练。它可以通过预测前一个词来生成高质量的合成文本样本。GPT-2还可以从原始文本中学习不同的语言任务,如问答和摘要,而无需特定任务的训练数据,展示了无监督技术的潜力。
Context-Aware Visual Policy (CAVP)
- 发布年份:2019
- 类别:视觉语言
Context-Aware Visual Policy是一种设计用于细粒度图像到语言生成的网络,特别适用于图像句子和段落的描述。它将先前的视觉注意力视为上下文,并随时间关注复杂的视觉构图,从而能够捕捉传统模型可能忽略的重要视觉上下文。
Dynamic Memory Generative Adversarial Network (DM-GAN)
- 发布年份:2019
- 类别:视觉语言
Dynamic Memory GAN是一种用于根据文本描述生成高质量图像的方法。它通过引入动态记忆模块来解决现有网络的局限性,从而在初始图像生成效果不佳时对图像内容进行精炼。
BigBiGAN
- 发布年份:2019
- 类别:计算机视觉(CV)
BigBiGAN是GAN架构的扩展,专注于图像生成和表示学习。与以往的方法相比,它在ImageNet上的无监督表示学习和无条件图像生成方面取得了最先进的结果。
MoCo
- 发布年份:2019
- 类别:计算机视觉(CV)
MoCo(动量对比)是一种无监督学习方法,使用队列和移动平均编码器构建动态词典。这使得对比无监督学习成为可能,在ImageNet分类任务上取得了竞争性能,并在检测/分割等下游任务上展现出令人印象深刻的结果。
VisualBERT
- 发布年份:2019
- 类别:视觉语言
VisualBERT是一种能够同时理解语言和图像的框架。它使用自注意力机制将句子的重要部分与图像的相关部分对齐。VisualBERT在回答图像相关问题和描述图像方面表现出色。
ViLBERT(Vision-and-Language BERT)
- 发布年份:2019
- 类别:视觉语言
ViLBERT是一种能够理解语言和图像的计算机模型。它使用协同注意力变换层分别处理视觉和文本信息,然后将它们组合起来进行预测。ViLBERT在大规模图像字幕数据集上进行了训练,并可用于回答图像相关问题、理解常识、在图像中找到特定对象以及以文本形式描述图像等任务。
UNITER(UNiversal Image-TExt Representation)
- 发布年份:2019
- 类别:视觉语言
UNITER是一种在大规模图像和文本数据集上进行预训练的计算机模型,使用了屏蔽语言建模和图像-文本匹配等不同的预训练任务。UNITER在回答图像相关问题、在图像中找到特定对象、理解常识等多个任务上的表现超过了以前的模型。它在六个不同的视觉与语言任务上实现了最先进的结果。
BART
- 发布年份:2019
- 类别:自然语言处理(NLP)
BART是一种序列到序列的预训练模型,采用了去噪自编码器方法,其中文本被模型损坏然后重新生成。BART的架构基于Transformer模型,并结合了双向编码和从左到右解码,使其成为BERT和GPT的广义版本。BART在文本生成和理解任务上表现出色,并在各种摘要、问答和对话任务中取得了最先进的结果。
GPT-3
- 发布年份:2020
- 类别:自然语言处理(NLP)
GPT-3是由OpenAI开发的神经网络,可以使用互联网数据生成各种各样的文本。它是迄今为止创建的最大语言模型之一,拥有超过1750亿个参数,使其能够用非常少的输入生成高度具有说服力和复杂性的文本。它的能力被认为是对以前的语言模型的重大改进。
T5
- 发布年份:2020
- 类别:自然语言处理(NLP)
T5是一种采用文本到文本方法的Transformer架构,用于各种自然语言处理任务,例如问答、翻译和分类。在这种方法中,模型通过为每个任务提供输入文本来生成目标文本,从而使得相同的模型、损失函数和超参数适用于所有不同的任务,从而实现更统一、更简洁的NLP方法。
DDPM
- 发布年份:2020
- 类别:计算机视觉(CV)
DDPM(Diffusion Probabilistic Models)是一种潜变量模型,受到非平衡热力学的启发。它可以使用一种称为失真解压缩的方法生成高质量的图像。
ViT
- 发布年份:2021
- 类别:计算机视觉(CV)
ViT(Vision Transformer)是一种基于Transformer的视觉模型,最初用于文本任务。该模型通过将图像分割为称为“图像块”的较小部分,并为每个块预测类别标签来处理图像。ViT可以以较少的计算资源超越传统的卷积神经网络(CNN),实现令人印象深刻的结果。
CLIP
- 发布年份:2021
- 类别:视觉语言
CLIP是OpenAI开发的神经网络,利用自然语言监督来高效学习视觉概念。通过提供要识别的视觉类别名称,CLIP可以应用于任何视觉分类基准,类似于GPT-2和GPT-3的零样本能力。
ALBEF
- 发布年份:2021
- 类别:视觉语言
ALBEF是一种新颖的视觉和语言表示学习方法,通过交叉模态注意力将图像和文本表示对齐,然后进行融合,实现更加基于实际的表示学习。ALBEF在多个下游视觉语言任务上取得了最先进的性能,包括图像-文本检索、VQA和NLVR2。
VQ-GAN
- 发布年份:2021
- 类别:视觉语言
VQ-GAN是VQ-VAE的改进版本,使用鉴别器和永久损失以在更高的压缩率下保持高感知质量。VQ-GAN使用分块方法生成高分辨率图像,并在训练过程中限制图像长度为可行大小。
DALL-E
- 发布年份:2021
- 类别:视觉语言
DALL-E是一种最先进的机器学习模型,经过大规模的文本-图像数据集训练,可以根据文本描述生成图像。
DALL-E是一个在2021年发布的最先进的机器学习模型,通过使用大规模的文本-图像数据集进行训练,能够根据文本描述生成图像。该模型使用了超过120亿个参数,展现出了令人印象深刻的能力。它可以根据文字描述生成与之相关的图像,包括对动物和物体进行人性化处理、以逼真的方式混合无关概念、渲染文本等,同时还可以通过各种方式对现有图像进行操作。
BLIP
- 发布年份:2022
- 类别:视觉语言
BLIP是一种视觉语言预训练(VLP)框架,其在各种视觉语言任务中取得了最先进的结果,包括图像-文本检索、图像字幕生成和视觉问答(VQA)。它灵活地适应于理解和生成任务,并通过引导字幕,有效利用嘈杂的网络数据。
DALL-E 2
- 发布年份:2022
- 类别:视觉语言
DALL-E 2是由OpenAI开发的人工智能模型,它利用具有超过100亿个参数的GPT-3 Transformer模型,根据文本描述创建图像。通过解释自然语言输入,DALL-E 2生成的图像具有更高的分辨率和更高的逼真度,比其前身DALL-E更为出色。
OPT(Open Pre-trained Transformers)
- 发布年份:2022
- 类别:自然语言处理(NLP)
OPT是一套仅包含解码器的预训练Transformer模型,参数范围从1.25亿到1750亿。它旨在与感兴趣的研究人员分享大型语言模型,因为这些模型往往难以在没有巨额资金的情况下复制,并且通过API很难获取。OPT-175B在与GPT-3相媲美的同时,仅使用了1/7的碳足迹进行开发。
Sparrow
- 发布年份:2022
- 类别:自然语言处理(NLP)
DeepMind创建了一个名为Sparrow的对话代理,它减少了提供不安全或不合适答案的可能性。Sparrow与用户进行对话,回答他们的查询,并利用Google搜索互联网以获取支持性证据,以增强其回应。
ChatGPT
- 发布年份:2022
- 类别:自然语言处理(NLP)
ChatGPT是OpenAI开发的大型语言模型(LLM),利用深度学习为用户的查询生成自然语言回应。ChatGPT是由GPT-3语言模型驱动的开源聊天机器人,经过在各种主题上的训练,并能够回答问题、提供信息和生成创意内容。它适应不同的对话风格和语境,使得在各种主题上进行友好和有帮助的交流成为可能,包括当前事件、爱好和个人兴趣等。
BLIP2
- 发布年份:2023
- 类别:视觉语言
BLIP2是一种新颖且高效的预训练策略,应对了大规模视觉语言模型端到端训练的高成本问题。它利用预训练的图像编码器和大型语言模型,通过一种轻量级的查询Transformer引导视觉语言预训练。
GPT-4
- 发布年份:2023
- 类别:自然语言处理(NLP)
OpenAI推出了GPT-4,这是该公司迄今为止最先进的系统。GPT-4被设计用于生成不仅更有用,而且更安全的回应。这一最新系统配备了更广泛的通用知识库和增强的问题解决能力,使其能够更准确地处理最具挑战性的问题。此外,GPT-4比其前身更具合作性和创造力,因为它可以帮助用户在创作和技术写作任务(如歌曲创作、剧本编写或适应用户的写作风格)上生成、编辑和迭代。