6深度学习-第六章 生成对抗网络与扩散模型.pptx
;6.1.1什么是生成对抗网络?;无监督学习:GAN是一种无监督学习方法,它不需要标记数据进行训练。
生成新数据:GAN能够学习训练数据的分布,并利用学到的分布生成与训练数据相似的新数据样本。
多样性和逼真性:生成器通过学习数据的分布,可以生成多样化和逼真的数据样本。GAN的生成器通常能够生成具有高分辨率和逼真度的图像,使得生成的数据与真实数据难以区分。
对抗训练机制:GAN利用生成器和判别器之间的对抗训练机制,通过交替训练两个网络来提高生成器和判别器的性能。这种对抗训练机制能够推动模型不断提高,使得生成器产生更逼真的数据样本,同时使判别器更加准确地区分真实数据和生成数据。;优点
作为一种无监督学习方法,生成对抗网络(GAN)不需要标记的数据即可训练。
生成器能够生成多样化的数据样本,使得生成结果具有创造性,能够产生多个不同风格和内容的数据。
缺点与挑战
训练不稳定:GAN的训练过程通常比较不稳定,容易出现模式崩溃或模式震荡等问题,需要仔细调整超参数和网络架构。
模式震荡:GAN训练过程中可能出现模式震荡,即生成器和判别器在学习过程中不断轮换,但最终无法收敛到稳定的状态。
模型评估困难:由于生成的数据样本是由模型生成的,因此很难确定生成结果的质量和逼真度,评估生成对抗网络的性能是一个挑战。;图像领域
生成对抗网络在图像领域的应用范围非常广泛,涵盖了图像生成、修复、转换、超分辨率等多个方面,为图像处理、计算机视觉等领域催生了新的发展方向;类似于在图像方面,GAN在音频领域和视频领域也有十分广泛的应用;;GAN的基本原理很简单,其由两个网络组成,一个是生成器G,另外一个是判别器D。在最理想的状态下,G可以生成足以“以假乱真”的图片G(z)。;在概率统计理论中,运用生成模型的目的主要是随机生成观测数据。
在机器学习中,生成模型既可以用来直接对数据建模,也可以用来建立变量间的条件概率分布。
生成模型可以依照贝叶斯定理形成条件概率分布。简单而言,利用生成模型,可以在原来训练数据样本的基础上生成新的数据样本。
;生成模型的目标是能够学习到真实数据分布的潜在结构,并通过分析和模拟这种结构生成逼近于真实数据的模拟样本。在生成过程中,生成器会尽量缩小生成样本与真实样本之间的分布差异,即最小化损失函数。其损失函数通常表示为生成样本被判别为真实样本的概率的负对数似然:;PyTorch实现了对生成器模型的封装,使用者可以直接调用classGenerator定义。超参数描述与使用示例如下所示。下边是生成器模型的Python代码:
这段代码定义了一个简单的生成器模型,它包含三个全连接层,并且在激活函数上使用了ReLU。最后一层使用Tanh激活函数将输出限制在[-1,1]之间,以便与图像数据的范围相匹配。;判别模型可以把一副图像的内容分成是否有猫或者狗或者其他,像下图中我们训练一个判别模型去辨别是否是梵高的画,这个判别模型会对数据集中的画的特征进行提起和分类,从而区分出哪个是梵高所作。;判别模型的目标是区分生成的样本和真实样本。判别器尝试最大化正确分类的概率,即最大化对真实样本和生成样本的预测准确性。判别模型的损失函数通常表示为判别器正确分类真实样本和生成样本的概率的负对数似然:;这段代码定义了一个简单的判别器模型,它包含三个全连接层,并在激活函数上使用了LeakyReLU。最后一层使用Sigmoid激活函数将输出限制在[0,1]之间,表示判别样本为真实样本的概率。;生成对抗网络的整体训练过程可以用一个联合优化问题来描述,该问题包括生成器损失函数的最大化和判别器损失函数的最小化。整体训练过程的数学公式如下:;;6.3.1生成对抗网络训练过程可视化;DCGAN:DCGAN(DeepConvolutionalGenerationAdversarialNetwork,深度卷积生成对抗网络)是一种生成对抗网络的变体,它是利用CNN来构建自己的生成器和判别器的。
InfoGAN:InfoGAN(InformationMaximizingGenerativeAdversarialNetworks,信息最大化生成对抗网络)是在原始GAN基础上发展而来的变体,它引入了一种无监督学习方法,旨在从随机噪声中提取有意义的特征。
CycleGAN:CycleGAN(CycleGenerativeAdversarialNetwork,循环对抗生成网络)是一种适用于无监督图像转换的生成对抗网络。它能够实现在不同领域之间的转换,例如将马转变为斑马,或将夏天的场景转换为冬天。
;;6.4.1什么是扩散模型;6.4.2扩散模型的使用范围;;6.5.1扩散模型基础;DenoisingDiffusionProbabilisticModels(DDP