目录

万字长文深度剖析AIGC技术网络架构自监督

万字长文深度剖析AIGC技术!(网络架构&自监督)

作者 | 派派星  编辑 | CVHub

点击下方 卡片 ,关注“ 自动驾驶之心 ”公众号

ADAS巨卷干货,即可获取

点击进入→ 自动驾驶之心【全栈算法】技术交流群

前景回顾

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 )模型。另一方面,注意力机制也被频繁引入,使得模型的解码器能够看到每个编码器标记,并根据其重要性动态更新权重。

https://i-blog.csdnimg.cn/blog_migrate/219efd3c463f42407fe3e3cb2593df97.png

图3.1 Transformer

  • 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 相当的性能。

https://i-blog.csdnimg.cn/blog_migrate/abf344440b0a5a1ff7c58efd225646e9.png

图3.2 ViT

  • 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 自监督学习

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

https://i-blog.csdnimg.cn/blog_migrate/38b90f75d1f07c120f48fbfe8d43a61b.png

图3.3 BERT

  • Language pretraining

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

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

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

https://i-blog.csdnimg.cn/blog_migrate/944f42f92d7e8da045617b6a9b497c40.png

图3.4 MAE

  • Visual pretraining

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

https://i-blog.csdnimg.cn/blog_migrate/eb7a3c492d67f615e7e5366dcb2dd22c.png

图3.5 CLIP

  • Joint pretraining

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

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

3.2 创作技术

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

3.2.1 Likelihood-based models
  • Autoregressive models

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

https://i-blog.csdnimg.cn/blog_migrate/a1d7f32f6dccf77aeedc0df4ee24d707.png

公式3.1

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

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

  • VAE

自编码器是一类相似的模型,它们通过编码器 Encoder 将输入数据映射到低维的潜在表示空间,然后再通过解码器 Decoder 将这个低维表示还原回原始数据。整个编码-解码的过程旨在学习输入数据的潜在结构,以便于重建数据和生成新的样本。

变分自编码器 VAE 则是自编码器的一种变体,它使用了贝叶斯定理,通过学习潜在变量 Latent variable 的分布,从而学习原始数据的分布。为了训练 VAE,需要最大化一个较复杂的目标函数,它由一个最大化数据似然的项和一个正则化项组成。正则化项通常使用KL散度来度量潜在变量的分布和标准正态分布之间的差异。

关于 AEVAE 的介绍,请移步至微信公众号 CVHub 上点击 《万字长文带你入门变分自编码器》 自行查阅。

3.2.2  Energy-based models

由于自回归模型和流模型都具有可计算的似然函数即 tractable likelihood ,因此可以直接通过最大化数据对数似然来优化模型的参数。然而,这种优化方法也限制了模型的形式。例如,自回归模型必须分解为一系列条件概率的乘积形式,而流模型必须采用可逆的转换。这些限制可能会使模型的表达能力受到一定的限制,但也有助于使模型更加可解释和可控。例如,自回归模型可以方便地计算条件概率分布,因此更适用于生成序列数据,而流模型则可以实现精确的概率密度估计,因此更适用于密度估计和采样等任务。

能量模型则是一类非标准化概率模型,其概率可以表示为一个未知归一化常数的指数函数。假设能量模型只涉及单个变量 ,则它的能量函数可以表示为 ,对应的概率密度可以通过下面的公式计算得到:

https://i-blog.csdnimg.cn/blog_migrate/a027d5f1568171b3707e45812183e7c5.png

公式3.2

其中  是未知的归一化常数,保证概率密度函数的积分等于 1。因为能量模型的概率密度函数没有直接给出归一化常数,所以它也被称为非标准化概率模型。

  • MCMC & NCE

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

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

https://i-blog.csdnimg.cn/blog_migrate/57179fbc1a897ee5c2eb5d9b0ead3c8f.png