《万字长文带你解读AIGC》系列之技术篇

这篇具有很好参考价值的文章主要介绍了《万字长文带你解读AIGC》系列之技术篇。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

欢迎关注『CVHub』官方微信公众号!

前景回顾

Welcome to back! 在《万字长文带你解读AIGC入门篇》 一文中,我们详细为大家介绍了AIGC的相关概念、背景及其如此火爆的原因,接下来我们将进一步深入探讨AIGC背后的技术栈。

作为本系列的技术篇,将从多个角度来介绍AIGC的技术栈,其中包括了TransformerSSLVAEGANDiffusion等大家均耳熟能详的词汇,这些技术都是AIGC领域中必不可少且非常重要的一部分,对于理解AIGC的原理和实现方式都非常关键。下面开始吧?

3. AIGC 背后的基础技术

本文将 AIGC 视为一组使用人工智能方法生成内容的任务或应用程序。其中,生成技术是指使用机器学习模型生成新的内容,例如 GAN 和扩散模型。创作技术是指利用生成技术生成的内容进行进一步的创作和编辑,例如对生成的文本进行编辑和改进。

3.1 生成技术

AlexNet的惊人成功之后,深度学习引起了极大的关注,它有点成为了人工智能的代名词。与传统的基于规则的算法不同,深度学习是一种数据驱动的方法,通过随机梯度下降优化模型参数。深度学习在获取卓越的特征表示方面的成功,取决于更好的网络架构和更多的数据,这极大地加速了AIGC的发展。

3.1.1 网络架构

众所周知,深度学习的两个主流领域是自然语言处理(NLP)和计算机视觉(CV),它们的研究显著改进了骨干架构,并在其他领域启发了改进后骨干架构的各种应用,例如语音领域。在 NLP 领域,Transformer 架构已经取代了循环神经网络(RNN)成为事实上的标准骨干。而在 CV 领域,视觉 Transformer(ViT) 除了传统的卷积神经网络(CNN)外,也展示了其强大的性能。在这里,我们将简要介绍这些主流骨干架构的工作原理及其代表性的变种。

  • RNN & LSTM & GRU

RNN主要用于处理时间序列数据,例如语言音频。标准的RNN有三层:输入层隐藏层输出层RNN的信息流有两个方向,第一个方向是从输入到隐藏层再到输出的方向。而RNN中循环的本质在于其沿着时间方向的第二个信息流。除了当前的输入,当前时刻 𝑡 的隐藏状态还依赖于上一个时刻 𝑡−1 的隐藏状态。这种双向的设计很好地处理了序列顺序,但当序列变得很长时,会出现梯度消失梯度爆炸的问题。

为了缓解这个问题,引入了长短时记忆网络即LSTM,其“细胞”状态充当了一个“高速公路”,有助于信息在序列方向上的流动。LSTM是减轻梯度爆炸/消失问题最流行的方法之一,但是由于它有三种门,因此会导致较高的复杂度和更高的内存需求

接下来出场的便是门控循环单元(GRU),该技术通过将细胞状态和隐藏状态合并,并用所谓的更新状态替换遗忘门和输入门,简化了LSTM

最后,便是双向循环神经网络(Bidirectional RNN),通过在细胞中捕获过去和未来信息来改进基本的RNN,即时间 t 的状态是基于时间 t-1 和 t+1 计算的。根据任务不同,RNN 可以具有不同数量的输入和输出,例如一对一,多对一,一对多和多对多。其中多对多可以用于机器翻译,也称为序列到序列(seq2seq)模型。另一方面,注意力机制也被频繁引入,使得模型的解码器能够看到每个编码器标记,并根据其重要性动态更新权重。

《万字长文带你解读AIGC》系列之技术篇

  • Transformer

与传统的Seq2seq模型相比,Transformer提出了自注意力机制,并将其成功应用于Encoder-Decoder模型中。Transformer 模型由编码器解码器两部分组成,采用了残差连接层归一化等技术,其中核心组件为多头注意力机制前馈神经网络。多头注意力机制通过自注意力实现,并采用了多头的设计,而前馈神经网络则是由两个全连接层组成。这种自注意力机制的定义采用了缩放点积的形式,能够更好地处理序列中的依赖关系。

与逐个输入句子信息以建立位置信息的 RNN 不同,Transformer 通过构建全局依赖关系获得强大的建模能力,但也因此失去了带有归纳偏差的信息。因此,需要使用位置编码使模型能够感知输入信号的位置信息。有两种类型的位置编码。固定位置编码用不同频率的正弦和余弦表示。可学习的位置编码由一组可学习参数组成。不可否认的是,Transformer 已俨然成为 CV 和 NLP 任务的标杆之作,由其衍生的门派数不胜数。

  • CNN

在 CV 领域,CNN 有着不可撼动的地位。CNN 的核心在于卷积层。卷积层中的卷积核(也称为滤波器)是一组共享的权重参数,用于对图像进行操作,其灵感来源于生物视觉皮层细胞。卷积核在图像上滑动并与像素值进行相关操作,最终得到特征映射并实现图像的特征提取。例如:

  1. GoogleNet 的 Inception 模块允许在每个块中选择多个卷积核大小,增加了卷积核的多样性,因此提高了CNN的性能;
  2. ResNet 是 CNN 的一个里程碑,引入残差连接,稳定了训练,使模型能够通过更深的建模获得更好的性能。此后,它成为CNN中不可或缺的一部分;
  3. 为了扩展 ResNet 的工作,DenseNet 在所有先前层和后续层之间建立密集连接,从而使模型具有更好的建模能力;
  4. EfficientNet 使用一种称为缩放方法的技术,使用一组固定的缩放系数来统一缩放卷积神经网络架构的宽度,深度和分辨率,从而使模型更加高效。
  5. 而与 NLP 领域中的 Transformer 相似,ViT 则是最近几年才在 CV 领域中引入的新的变体。ViT 使用 transformer 模块来处理图像,并在 Vision Transformer Encoder 中使用自注意力机制,而不是传统的卷积神经网络。ViT 将输入的图像分成一些小块,然后将这些小块变换成一系列的向量,这些向量将被送入 transformer 编码器。通过这种方式,ViT 可以利用 transformer 强大的建模能力来处理图像,并在许多计算机视觉任务中达到了与 CNN 相当的性能。

《万字长文带你解读AIGC》系列之技术篇

  • ViT

Transformer 在 NLP 领域的成功启发了许多学者将其应用到 CV 领域,其中 ViT 是第一种采用 Transformer 的 CV 模型。ViT 将图像平铺为一系列二维块,并在序列的开头插入一个类别标记以提取分类信息。在嵌入位置编码之后,标记嵌入被输入到一个标准 Transformer 模型中。

ViT 的这种简单有效的实现使其高度可扩展。例如:

  1. Swin是通过在更深层次上合并图像块来构建分层特征映射,以高效地处理图像分类和密集识别任务,由于它仅在每个局部窗口内计算自注意力,因此减少了计算复杂度;
  2. DeiT采用教师-学生训练策略,通过引入蒸馏标记,减少了 Transformer 模型对大量数据的依赖性;
  3. CaiT引入了类别注意力机制以有效增加模型深度。
  4. T2T通过 Token Fusion 有效地定位模型,并通过递归地聚合相邻 Token 来引入 CNN 先验的层次化深而窄的结构。

通过置换等变性,Transformer 从其翻译不变性中解放了 CNN,允许更长距离的依赖关系和更少的归纳偏差,使它们成为更强大的建模工具,并比 CNN 更适合于下游任务。在当前大模型和大数据集的范式下,Transformer 逐渐取代 CNN 成为计算机视觉领域的主流模型。

3.1.2 自监督学习

不可否认的是,深度学习能够从更好的骨干结构中获益,但自监督学习同样重要,该技术可以利用更大的无标签训练数据集。在这里,我们总结了最相关的自监督预训练技术,并根据训练数据类型(例如语言、视觉和联合预训练)对它们进行分类。

《万字长文带你解读AIGC》系列之技术篇

  • Language pretraining

语言预训练方法主要有三种主流的方法。第一种方法是使用掩码对编码器进行预训练,代表作是BERT。具体来说,BERT 从未掩码的语言标记预测掩码的语言标记。然而,掩码-预测任务和下游任务之间存在显着差异,因此像BERT这样的掩码语言建模在没有微调的情况下很少用于文本生成。

相比之下,自回归语言预训练方法适用于少样本或零样本文本生成。其中最流行的是GPT家族,采用的是解码器而不是编码器。具体来说,GPT-1是第一种采用解码器的模型,GPT-2GPT-3进一步研究了大规模数据和大型模型在转移能力中的作用。

基于GPT-3ChatGPT的前所未有的成功近来引起了广泛关注。此外,一些语言模型采用了原始Transformer的编码器和解码器。BART使用各种类型的噪声扰动输入,预测原始干净的输入,类似于去噪自编码器。MASSPropheNet采用了类似于BERT的方法,将掩码序列作为编码器的输入,解码器以自回归的方式预测掩码标记。

《万字长文带你解读AIGC》系列之技术篇

  • Visual pretraining

视觉预训练主要包含两种类型,第一种类型是基于掩码学习的无监督自编码器,它们旨在学习良好的图像表征,最具代表性的是MAE。第二种类型是基于自监督的预测模型,最流行的是ImageNet中学到的视觉特征(ImageNet-pretraining)和自监督学习方法,如RotNetMoCo。这些方法采用的自监督任务包括但不仅限于图像旋转预测图像补丁重建等。

《万字长文带你解读AIGC》系列之技术篇

  • Joint pretraining

最后一种预训练方式是联合学习方法,它使用多模态输入进行联合预训练。通过从互联网上收集大量的图像和文本配对数据集,多模态学习取得了前所未有的进展,其中交叉模态匹配是关键技术。对比预训练被广泛应用于在同一表示空间中匹配图像嵌入和文本编码。其中,CLIP是最流行的一个,由OpenAI提出,它使用文本图像作为联合输入,通过学习一个共同的嵌入空间来进行分类任务。

此外,SimCLRDALL·E都是联合学习的成功应用,前者使用自监督任务对图像进行增强,后者是一个生成模型,可以根据文字描述生成图像。ALIGN则扩展了 CLIP,使用嘈杂的文本监督,使得文本-图像数据集不需要清洗,可以扩展到更大的规模。Florence 进一步扩展了跨模态共享表示,从粗略场景到细粒度物体,从静态图像到动态视频等,因此,学习到的共享表示更加通用,表现出卓越的性能。

3.2 创作技术

深度生成模型(DGMs)是一组使用神经网络生成样本的概率模型,大体可分为两大类:基于似然的和基于能量的。基于似然的概率模型,如自回归模型和流模型,具有可追踪的似然,这为优化模型权重提供了一种直接的方法,即针对观察到(训练)数据的对数似然进行优化。变分自编码器(VAEs)中的似然则不完全可追踪,但可以优化可追踪的下限,因此,VAE也被认为属于基于似然的组,其指定了一个归一化的概率。相反,能量模型以未归一化概率即能量函数为特点。在没有对标准化常数可追踪性的限制下,能量模型在参数化方面更加灵活,但难以训练。此外,GAN扩散模型 虽然是从不同的时期发展而来,但与能量模型均密切相关。接下来,我们将介绍每一类基于似然的模型以及如何训练基于能量的模型以及 GAN 和扩散模型的机制。

3.2.1 Likelihood-based models
  • Autoregressive models

自回归模型是一种可以用来预测序列数据的模型,它能够学习序列数据的联合分布,并且使用先前时间步的变量作为输入来预测每个变量在序列中的取值。这种模型假设序列数据的联合分布可以被分解成一系列条件分布的乘积,这也就是所说的“条件概率分解”。

《万字长文带你解读AIGC》系列之技术篇

上面我们简单跟大家聊到过RNN,本质上自回归模型和RNN都需要使用前面的时间步来预测当前时间步的值,但是它们的实现方式略有不同。在自回归模型中,前面的时间步直接作为输入提供给模型,而在 RNN 中,前面的时间步通过隐藏状态传递给模型。因此,可以将自回归模型看作是一个前馈神经网络,它接收前面所有时间步的变量作为输入。

在早期的工作中,自回归模型主要用于建模离散数据。其中,Fully Visible Sigmoid Belief Network, FVSBN使用逻辑回归函数来估计条件分布,而Neural Autoregressive Distribution Estimation, NADE则使用单隐藏层的神经网络。随着研究的发展,自回归模型的应用逐渐扩展到连续变量的建模。自回归模型已经在多个领域得到了广泛应用,包括计算机视觉如PixelCNNPixelCNN++、音频生成WaveNet和自然语言处理Transformer等等。这些应用中,自回归模型被用来生成图像、音频、文本等序列数据。

  • MCMC & NCE

早期优化能量模型的方法采用了基于MCMC即马尔可夫链蒙特卡罗的方法来估计对数似然的梯度,但这需要进行繁琐的随机样本抽取。因此,一些工作旨在改善 MCMC 的效率,代表性的工作是Langevin MCMC。尽管如此,通过 MCMC 获取所需梯度需要大量的计算,而对比散度contrastive divergence, CD成为一种流行的方法,通过各种变体的近似来减少计算量,包括持久 CD ,平均场 CD 和多网格 CD 。

另一条研究路线是通过噪声对比估计Notice Contrastive Estimation, NCE来优化能量模型,该方法将概率模型与另一个噪声分布进行对比。具体来说,它优化以下损失函数:

《万字长文带你解读AIGC》系列之技术篇

  • Score matchingScore matching

得分匹配是一种用于优化基于能量的模型的无 MCMC 方法,旨在最小化模型和观察到的数据之间的对数概率密度的导数。但是,通常无法获得数据得分函数,而去噪得分匹配是一种代表性方法,它使用带噪声的样本来近似数据得分,通过迭代去除噪声,从而生成干净的样本。

3.2.3 from GAN to diffusion model

当涉及到深度生成模型时,您首先想到什么?答案取决于您的背景,但是 GAN 无疑是最常提到的模型之一。GAN 代表生成对抗网络,是由 Goodfellow 及其团队于 2014 年首次提出的,并于 2016 年被图灵奖 Yann Lecun 评为“机器学习领域过去10年中最有趣的想法”。

最近,一种称为扩散模型(diffusion model)的新型深度生成模型家族挑战了 GAN 长期以来的统治地位。扩散模型在图像合成方面取得了压倒性的成功,并扩展到其他形式,如视频、音频、文本、图形等。考虑到它们对生成AI的发展的支配性影响,因此本文将集中围绕 GAN 和扩散模型进行讲解。

《万字长文带你解读AIGC》系列之技术篇

由于公式编辑器的限制,完整版本请移步至微信公众号查看全文!

我们将统一整理成完整版的 PDF 文档形式送给各位小伙伴,欢迎持续关注!如果您对 AIGC 技术非常感兴趣,非常欢迎您添加小编微信 cv_huber 备注 AIGC 加入我们的小社群一同探讨,广告党勿扰!


如果您也对人工智能和计算机视觉全栈领域感兴趣,强烈推荐您关注有料、有趣、有爱的公众号『CVHub』,每日为大家带来精品原创、多领域、有深度的前沿科技论文解读及工业成熟解决方案!欢迎添加小编微信号: cv_huber,备注"CSDN",加入 CVHub 官方学术&技术交流群,一起探讨更多有趣的话题!文章来源地址https://www.toymoban.com/news/detail-483677.html

到了这里,关于《万字长文带你解读AIGC》系列之技术篇的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 特别策划|5G最新进展深度解析2022版—技术篇(71页附下载)

    关注公号回复“220323”下载71页PDF版报告原文 2021年初,「5G行业应用」曾推出《5G最新进展深度解析》系列,包括技术应用篇、国内市场篇和全球市场篇,得到读者朋友很大反响。 一年之后,我们再次推出 《5G最新进展深度解析2022版》 ,通过系统化的梳理和详实的数据,全

    2023年04月11日
    浏览(74)
  • [技术篇] Android11上导入GMS后,登录Google账号提示“您的账号未成功添加”问题。

    在项目中导入Google框架,Google相关功能可以正常使用。 1、首先下载Google框架GMS包,可以在The Open GApps Project网站下载。选择相关配置后下载即可,有些包比较大,下载需要耐心等待一下,最好用外网下载会快一些。  2、由于本人使用的TV平台,Google版本需要使用手机版,不能

    2024年02月05日
    浏览(28)
  • 万字长文:全面解读新公链新生态

    综合概述 1.基于MOVE语言的新生态调研 Aptos Sui Linera 2.模块化区块链与Celestia 什么是「模块化」? 区块链的架构分层 数据可用性问题 Celestia的区块链扩展方案 全模块化堆栈 --- Cevmos和递归Rollups 3.新一代隐私公链 Aztec Aleo 4.区块链扩展解决方案 AltLayer 综合概述 近日,明星公链

    2024年02月05日
    浏览(22)
  • 万字长文带你重温Elasticsearch ,这下完全懂了!

    生活中的数据 搜索引擎是对数据的检索,所以我们先从生活中的数据说起。我们生活中的数据总体分为两种: 结构化数据 非结构化数据 结构化数据: 也称作行数据,是由二维表结构来逻辑表达和实现的数据,严格地遵循数据格式与长度规范,主要通过关系型数据库进行存

    2024年02月22日
    浏览(27)
  • 万字长文带你快速了解整个Flutter开发流程

    可以用以下提纲在短时间内了解 Flutter 的开发流程时,经过本次培训,你可以大致了解Flutter的开发流程 Flutter 是什么?为什么选择 Flutter? 跨平台开发的优势:一套代码多平台运行。 Flutter 是由 Google 开发的开源用户界面框架,用于创建跨平台移动应用、Web 应用和桌面应用。

    2024年02月11日
    浏览(23)
  • 万字长文解读Stable Diffusion的核心插件—ControlNet

    目录 一、介绍 二、使用方法 三、ControlNet结构 1.整体结构 2.ControlLDM 3.Timestep Embedding 4.HintBlock 5.ResBlock 6.SpatialTransformer 7.SD Encoder Block 8.SD Decoder Block 9.ControlNet Encoder Block 10.Stable Diffusion 四、训练 1.准备数据集 2.生成ControlNet模型 3.执行训练 五、其它 1.损失函数 2.随机替换提示

    2023年04月14日
    浏览(22)
  • 万字长文,带你彻底搞懂 HTTPS(文末附实战)

    大家好,我是满天星,欢迎来到我的技术角落,本期我将带你一起来了解 HTTPS。 PS:本文首发于微信公众号:技术角落。感兴趣的同学可以查看并关注:https://mp.weixin.qq.com/s/HbEhD93S7y3p8amlzS2sKw 其实网上写 HTTPS 的文章也不少了,但是不少文章都是从原理上泛泛而谈,只讲概念,

    2023年04月14日
    浏览(25)
  • 万字长文带你吃透Spring是怎样解决循环依赖的

    在Spring框架中,处理循环依赖一直是一个备受关注的话题。这是因为Spring源代码中为了解决循环依赖问题,进行了大量的处理和优化。同时,循环依赖也是Spring高级面试中的必考问题,回答得好可以成为面试中的必杀技。因此,本文旨在为大家提供深入了解Spring的循环依赖及

    2023年04月18日
    浏览(26)
  • 万字长文带你吃透SpringCloudGateway工作原理+动态路由+源码解析

    Spring Cloud 2.x 实 现 了 社 区 生 态 下 的 Spring CloudGateway(简称SCG)微服务网关项目。Spring Cloud Gateway基于WebFlux框架开发,目标是替换掉Zuul。 Spring Cloud Gateway主要有两个特性: 非阻塞,默认使用RxNetty作为响应式Web容器,通过非阻塞方式,利用较少的线程和资源来处理高并发请

    2023年04月08日
    浏览(27)
  • stable diffusion原理解读通俗易懂,史诗级万字爆肝长文!

    hello,大家好我是 Tian-Feng,今天介绍一些stable diffusion的原理,内容通俗易懂,因为我平时也玩Ai绘画嘛,所以就像写一篇文章说明它的原理,这篇文章写了真滴挺久的,如果对你有用的话,希望点个赞,谢谢。 stable diffusion作为Stability-AI开源图像生成模型,其出现也是不逊于

    2024年04月28日
    浏览(17)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包