GAN的Loss的比较研究(1)——传统GAN的Loss的理解1

本文探讨了GAN中的损失函数,包括判别器Loss_D和生成器Loss_G。Loss_D基于二进制交叉熵,旨在使判别器准确区分真实与生成图像。而Loss_G的目标是使生成器产生的图像尽可能接近真实。文章通过数学公式和代码示例解释了这两者的计算,并提到了GAN训练中可能遇到的困难,如模型坍塌和梯度问题。

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

GAN(Generative Adversarial Network)由两个网络组成:Generator网络(生成网络,简称G)、Discriminator网络(判别网络,简称D),如图:
这里写图片描述
图1 GAN概念图
因而有两个Loss:Loss_D(判别网络损失函数)、Loss_G(生成网络损失函数)。
Loss_D只有两个分类,Real image判为1,Fake image(由G生成)判为0,因而可以用二进制交叉熵(BCELoss)来实现Loss_D。
熵(Entropy),是描述一个随机信号源的信息量的指标,为叙述方便,采用离散信号源。设信号源(S)可以发送N个符号 { S 1 , S 2 , . . . , S N } \{ S_1,S_2,...,S_N\} { S1,S2,...,SN},符号 S i S_i Si出现的概率为 P i P_i Pi,则该信号源所发送一个符号的平均信息量,即熵为:
H ( S ) = − ∑ i N P i log ⁡ P i ( 1 ) H(S) = -\sum_i^N P_i\log P_i\qquad(1) H(S)=iNPilogPi(1)
于是,熵就可以看成是一个概率的信息度量,于是从信息论过渡到概率度量上。对于连续概率分布,使用概率密度 p ( x ) p(x) p(x)代替(1)式中的概率 P i P_i Pi,有:
H ( S ) = − ∫ x p ( x ) log ⁡ p ( x ) d x ( 2 ) H(S)=-\int_x p(x)\log p(x)dx\qquad(2) H(S)=xp(x)logp(x)dx(2)
交叉熵(Cross Entropy)是描述两个随机分布(P、Q)差异的一个指标,其定义如下:
离 散 : H ( P ∣ Q ) = − ∑ i N P i log ⁡ Q i ( 3 ) 连 续 : H ( P ∣ Q ) = − ∫ x p ( x ) log ⁡ q ( x ) d x ( 4 ) 离散:H(P\vert Q) = -\sum_i^N P_i\log Q_i\qquad(3)\\ 连续:H(P\vert Q)=-\int_x p(x)\log q(x)dx\qquad(4) H(PQ)=iNPilogQi(3)H(PQ)=xp(x)logq(x)dx(4)
P、Q的顺序不能互换。当P与Q相同时,交叉熵取最小值,此时计算的是P(或Q)的熵。
所谓二进制交叉熵(Binary Cross Entropy)是指随机分布P、Q是一个二进制分布,即P和Q只有两个状态0-1。令p为P的状态1的概率,则1-p是P的状态0的概率,同理,令q为Q的状态1的概率,1-q为Q的状态0的概率,则P、Q的交叉熵为(只列离散方程,连续情况也一样):
H ( P ∣ Q ) = − ( p log ⁡ q +

评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值