GAN生成式对抗网络
生成对抗网络由生成式网络(生成器)与判定式网络(鉴别器)组成。
生成器(Generator):通过机器生成数据(大部分情况下是图像),最终目的是“骗过”判别器。
判别器(Discriminator):判断这张图像是真实的还是机器生成的,目的是找出生成器做的“假数据”。
![image]()
生成器生成假数据,真假数据扔进鉴别器,D(x)接近1就是真,D(x)接近0就是假。D(x)越大越好。
构建GAN模型的基本逻辑:现实问题需求→建立实现功能的GAN框架(编程)→训练GAN(生成网络、对抗网络)→成熟的GAN模型→应用。
![image]()
要理解生成对抗网络(GAN)中生成网络 G 和交叉熵 H 的计算,我们可以分别拆解分析:
生成网络 G 是一个深度神经网络(如多层感知机、卷积神经网络、转置卷积网络等),其核心作用是将随机噪声 z 映射为生成数据 G(z),试图模仿真实数据的分布。
- 输入:随机噪声 z(通常是服从高斯分布或均匀分布的低维向量,比如 100 维的随机数组)。
- 计算过程:通过神经网络的前向传播实现。以图像生成为例,G 可能是一个转置卷积网络(反卷积网络),通过一系列转置卷积层、激活函数(如 ReLU、Tanh),将低维噪声 z 逐步 “上采样” 成与真实图像尺寸一致的张量(比如 3×64×64 的图像张量)。
- 输出:生成数据 G(z)(如假图像、假文本的向量表示等)。
交叉熵(Cross-Entropy)是一种衡量 “预测概率与真实标签差异” 的损失函数,在 GAN 中用于量化判别器的预测误差。对于二分类场景(判别器判断 “真实 / 虚假”),交叉熵的公式为:
H(y,p)=−ylog(p)−(1−y)log(1−p)
其中:
- y 是真实标签(1 表示 “真实数据”,0 表示 “虚假数据”);
- p 是判别器的预测概率(D(x) 或 D(G(z)),表示判别器认为该数据是 “真实” 的概率)。
结合 GAN 的损失函数,我们具体分析两种场景:
将
y=1(希望判别器把生成数据判为 “真实”)代入交叉熵公式:
LG=H(1,D(G(z)))=−1⋅log(D(G(z)))−(1−1)⋅log(1−D(G(z)))=−log(D(G(z)))
生成网络的目标是最小化 LG,即让 D(G(z)) 尽可能接近 1(让判别器把生成数据误认为真实)。
- 对于真实数据 x,y=1,代入得:H(1,D(x))=−log(D(x));
- 对于生成数据 G(z),y=0,代入得:H(0,D(G(z)))=−log(1−D(G(z)));
因此:
LD=−log(D(x))−log(1−D(G(z)))
判别网络的目标是
最小化 LD,即对真实数据
D(x) 尽可能接近 1,对生成数据
D(G(z)) 尽可能接近 0(准确区分真实与虚假)。
- G 的计算:通过神经网络前向传播,将随机噪声 z 转换为生成数据 G(z);
- H 的计算:通过二分类交叉熵公式,结合真实标签 y 和判别器的预测概率 p,量化预测误差。
综上所述:
1.生成网络和判别网络的网络架构
以深度卷积神将网络为例(DCGAN)
生成网络:卷积神经网络+反卷积神经网络(前者负责提取图像特征,后者负责根据输入的特征重新生成图像(即假数据))。
判别网络:卷积神经网络+全连接层处理(传统神经网络)(前者负责提取图像特征,后者负责判别真假。)
2.神经网络的基本概念
以神经元为基本单元,通过设置不同参数和设计不同形式而构成的网络模型。
3.GAN的核心要点
GAN的核心要点我觉得主要体现在GAN训练的核心上,即神经网络架构和损失函数基础下的误差反向传播。
4.卷积神经网络
卷积神经网络和GAN的关系:卷积神经网络对于处理图像相关的GAN来讲至关重要,是提取图像特征的重要工具;卷积神经网络与传统的多层感知器网络的对比;