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)=−i∑NPilogPi(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(P∣Q)=−i∑NPilogQi(3)连续:H(P∣Q)=−∫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 +