生成对抗网络GAN&CycleGAN

本文详细介绍了生成对抗网络(GAN)的基本原理、构成、工作流程和关键组件,包括生成器、判别器、损失函数。通过讨论Inception分数和FID分数等评价算法,阐述了GAN在生成新图像和风格转换上的应用。同时,概述了数据准备和异常数据处理的重要性,并提供了一个简单的GAN实现代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

GAN简介

生成对抗网络GAN主要由两部分组成:生成网络和判别网络。每个网络都可以是任何神经网络,比如普通的人工神经网络(artificial neural network,ANN)、卷积神经网络(convolutional neural network,CNN)、循环神经网络(recurrent neural network,RNN)或者长短期记忆(long short term memory,LSTM)网络。判别网络则需要一些全连接层,并且以分类器收尾。生成对抗网络的基本结构图如图所示,对于生成对抗网络的具体描述如下:
生成对抗网络网络结构图
生成网络
对于GAN中的生成器而言,它会接收一个噪声输入,这个噪声输入可以来自于正太分布或其他任意分布,经过生成器复杂的神经网络变换,输出的数据可以组成一种复杂的分布,最小化这个分布与真是分布的差异即可。输入给生成器的数据其分布不用太在意,因为生成器是一个复杂的神经网络,它有能力将输入的数据“改造成”各式各样的数据分布,直观如图3所示。
生成器结构图
判别网络
使用真实数据与生成数据来训练判别器、训练的目标是让判别器可以分辨出哪些数据是真实数据哪些数据是判别数据,即对真实数据数据打高分,给生成数据打低分,其公式如下:

在这里插入图片描述

GAN的目标函数
为了使生成网络生成的图像能以假乱真,应尽量提高生成网络所生成数据和真实数据之间的相似度。可使目标函数测量这种相似度。生成网络和判别网络各有目标函数,训练过程中也分别试图最小化各自的目标函数。GAN最终的目标函数如下所示。
在这里插入图片描述

其中,D(x)是判别网络模型,G(z)是生成网络模型,p(x)是真实数据 分布,p(z)是生成网络生成的数据分布,E是期望输出。
在训练过程中,D(判别网络,discriminator)试图最大化公式的最终取值,而G(生成网络,generator)试图最小化该值。如此训练出来的GAN中。生成网络和判别网络之间会达到一种平衡,此时模型即“收敛”了,这种平衡状态就是纳什均衡。训练完成之后,就得到了一个可以生成逼真数据的生成网络。

GAN相关的概念

KL散度
KL散度,也称相对熵,用于判定两个概念分布之间的相似度。它可以测量一个概率分布p相对于另一个概率分布q的偏离。如下公式用于计算两个概率分布p(x)和q(x)之间的KL散度。
在这里插入图片描述

如果p(x)和q(x)处处相等,则此时KL散度为0,达到最小值。由于KL散度具有不对称性,因此不用对于测量两个概率分布之间的距离,因此也不用作距离的度量(metric)。

JS散度
JS散度,也称信息半径(information radius,IRaD)或者平均值总偏离(total divergence to the average),是测量两个概率分布之间相似度的另一种方法。它基于KL散度,但具有对称性,可用于测量两个概率分布之间的距离。对JS散度开平方即可得到JS距离,所以它是一种距离度量。
计算两个概率分布p和q之间JS散度的公式如下。

在这里插入图片描述

评分算法

Inception分数
Inception分数(IS)是应用最广泛的GAN评分算法。它使用一个在Imagnet上训练过的Inception3 V3网络分别提取真实图像和生成图像的特征。Shane Barrat和Rishi Sharma在论文“A Note on the Inception Score”中首次提出了该方法。IS测量生成图片的质量和多样性。计算IS的公式如下。
在这里插入图片描述

其中,Pg表示一个概率分布,X~Pg表示X是该概率分布中的一个抽样。p(y|X)是条件类别分布,p(y)是边缘类别分布。IS越高,说明模型质量越好。IS虽然是重要的测度(measure),却也存在一些问题。比如模型对于每个类别只生成一个结果,其IS仍然可以很高,但这样的模型缺乏多样性。

FID分数
为了克服Inception分数的一些缺陷,Martin Heusel等人在论文“GANs Trained by a Two Time-Scale Update Rule Converage to a Local Nash EquilibriuM”中提出FID。计算FID的公式如下。
在这里插入图片描述

FID分数优于IS之处在于对噪声的抵抗力较好,并且可以更好地测量生成数据的多样性。

工作原理

  1. 生成器目标:最大化判别器将生成器结果误分类为真的可能性。
  2. 判别器目标:优化的目标概率为0.5,即判别器无法区分真实图片和生成图片。

在GAN的框架

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

敲代码的洋葱头

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值