Skip to content Skip to footer

揭秘生成式人工智能:创建和理解人工智能的初学者指南……

image-20240113235653924

生成式 AI:
生成式 AI 是一类人工智能模型和算法,旨在生成与现有示例相似但不直接复制的新数据。这种类型的人工智能能够通过学习给定数据集中的潜在模式和结构来创建新颖的内容。

生成式 AI 模型通常依靠概率分布来理解不同结果的可能性。它们估计生成某个数据点的概率。
他们在不同的数据集上接受训练,以捕捉各种模式和风格,使其能够产生多样化和创造性的输出。

生成式 AI 是如何工作的?

生成式 AI 通常利用 GAN,其中使用了 2 个神经网络。神经网络是受人脑结构启发的计算模型。

神经网络:
神经网络由相互连接的节点或神经元组成,这些节点或神经元按层组织。这些层包括一个输入层、一个或多个隐藏层以及一个输出层。
神经元之间的每个连接都与权重相关联,权重决定了连接的强度。
在训练过程中,网络会根据其预测中的误差调整这些权重,从而逐渐提高其生成准确输出的能力。

生成对抗网络(GAN):

image-20240113235709726

在生成对抗网络 (GAN) 中,这是一种突出的生成式 AI,它采用了两种神经网络:
生成器:
生成器网络负责创建新的数据样本。
它采用随机噪声或初始输入,并将其转换为理想情况下类似于真实数据的样本。
鉴别器:
鉴别器网络评估给定数据样本的真实性。
它接收来自训练集的真实数据和来自生成器的生成数据,其任务是区分两者。

GAN的工作原理
生成器生成合成样本,鉴别器评估其真实性。最初,发电机的输出可能很差。
鉴别器的性能是根据其正确分类真实样本和生成样本的能力来评估的。此信息用于计算发生器和鉴别器的损耗。
梯度被计算出来,并在反向传播过程中使用。鉴别器的权重已更新,以提高其区分真实样本和生成样本的能力。
该生成器旨在生成鉴别器更有可能归类为真实样本的样本。这种对抗过程仍在继续,随着时间的推移,两个网络都在竞争和改进。
理想情况下,随着训练的进行,生成器会熟练地生成与真实数据无法区分的样本。

在这种对抗性环境中,生成器和鉴别器处于不断的竞争中,相互推动改进。这种对抗性训练动态导致了一个可以创建高质量、逼真的数据样本的生成器。

经过训练后,生成器可以独立使用,以生成与学习分布一致的新样本。GAN在图像生成等任务中特别成功,它们可以创建高度逼真的图像,这些图像通常与实际照片无法区分。

这种方法面临的挑战
两个网络之间必须有权力平衡。
如果判别器变得太强,它基本上可以“智胜”生成器,使生成器难以学习和改进。
相反,如果生成器变得过于占主导地位,判别器可能会采用次优策略,即为所有输入分配固定概率(通常为 0.5)。
生成器可能倾向于产生一组有限的输出,而不是产生各种样本(模型崩溃)。

潜在的解决方案
解决此问题的最常见方法称为 Wasserstein 损失。

在传统的GAN中,鉴别器被训练为输出概率(通常接近0或1),以指示输入是真实的还是生成的。当鉴别器变得过于自信或“超过”生成器时,这可能会导致问题。

使用 Wasserstein 损失时,判别器被训练为输出在 0 和 1 之间没有界限的数字。这意味着鉴别器可以对样本的真实性或生成的样本外观进行更细致的评估。判别器的损失计算为它分配给真实样本和生成样本的分数之间的差值。

由于没有固定的标签(如 0 或 1),鉴别器将始终尝试最大化真实样本和生成样本的分数之间的差距。这为发电机通过减少间隙来改进留出了空间。

这种方法有助于防止当鉴别器过于擅长区分真实样本和生成样本时可能出现的梯度消失等问题。它还有助于避免生成器变得过于占主导地位,因为鉴别器可以随时进行调整以提供更准确的评估。

解决方案的问题

当使用 Wasserstein 损失时,如果判别器已经表现良好(这是可取的),那么简单地增加其权重可能会导致真实样本和生成样本之间的分数差距更大。这可能会导致鉴别器的权重无限增长,这是有问题的。

如何解决此问题:权重裁剪:

权重裁剪是一种将判别器权重值限制在一定范围内的方法。这样可以防止它们变得太大,这有助于稳定训练。但是,它有时会导致其他问题,例如鉴别器容量降低。

频谱归一化:
频谱归一化是另一种限制判别器权重的技术。这是一种更复杂的方法,可以在训练过程中动态地规范权重,防止它们变得太大。这种方法通常比简单的重量削减更有效。

梯度惩罚(Wasserstein 梯度惩罚,WGAN-GP):
鉴别器损失函数现在有一个新术语,用于惩罚可能导致权重过大的梯度。因此,它比其他两种方法更早地开始解决问题。它有很多缺点,但对训练的影响最小。到目前为止,附加损耗项是计算成本最高的选项,因为它需要通过鉴别器进行额外的完整前向和后向传递。它还取决于梯度网络的梯度计算。在 PyTorch 或 Tensorflow 等框架中,这种“双重区分”不支持某些类型的层。最值得注意的是,RNN 和从它们派生的层,如 LSTM,不能与它一起使用。此外,梯度惩罚实际上并不能保证它们会
阻止权重发散——它只是将网络推向那个方向

尽管存在这些缺点,梯度惩罚仍然是解决问题的一个很好的措施。
如果它不起作用,那么选择 Spectral Norm 可能是个好主意。

结论
在生成对抗网络(GAN)领域,训练稳定性是一个关键挑战。传统的损失函数可能会导致模式崩溃或梯度消失等问题。Wasserstein GAN (WGAN) 引入了 Wasserstein 距离作为真实数据分布和生成数据分布之间差异的更稳定、更有意义的度量。该指标提供了一种更平滑、更连续的方法来衡量相似性。