我们知道原始形式GAN其实只是fGAN的一个特例,fGAN中提出了使用f散度作为两个概率分布之间距离的度量,而原始形式GAN使用的JS散度便是f散度里的一种,LSGAN、EBGAN等也可以视为fGAN的特例。其实,相似的情况也存在于WGAN中,IPM定义了一大类度量方式来计算两个概率分布之间的度量,其中WGAN定义的Wasserstein距离可以视为IPM框架下的特例,另外MCGAN、MMDGAN、FisherGAN等也被概括在IPM框架下。理解IPM有助于我们更深刻地认识GAN的本质。
类似于f散度,IPM(Integral Probability Metric)同样度量了两个概率分布之间的距离。对于生成器定义的隐式概率分布 p g 和训练数据集的概率分布 p data ,定义IPM为:
我们通常关注的是对称函数空间,即对于集合中的函数 f ,若 f ∈ F ,则 -f ∈ F ,故IPM可写为:
其中, F 是一个有界、可测、实值函数的集合, f 是集合 F 中的一个函数,这些 f 中的最优解 f * 使得整个式子取得最大值,该最大值即两个分布 p data 和 p g 的某种距离。IPM框架下的度量 d F ( p data , p g )满足正定性、对称性和三角不等式,但却是一种伪度量,即 d F ( p data , p g )=0并不意味着 p data = p g 。通过选择不同的集合 F ,我们可以得到不同的度量,也就是说函数集合 F 的形式决定了度量的形式和性质。
在GAN中,距离一般是通过优化判别器获得的,而判别器的最后一层通常为全连接层,其输入为一个向量,其输出值为一个标量值,该层计算过程可视为两个向量计算内积(一个向量为全连接层输入,一个向量为全连接层权重)。故此,在IPM中,我们通常考虑具有 f ( x )=< v , Φ w ( x )| v ∈ℝ m >形式的函数,其中 v 为 m 维向量, Φ w ( x )将样本 x 映射为 m 维向量, Φ w 可理解为一个神经网络,此时IPM可写为:
其中, μw ( p g )= [ Φ w ( x )], μw ( p data )= [ Φ w ( x )]。可以看出,IPM在最大化两个概率分布特征均值的差异。计算该差异时,先由神经网络 Φ w 将样本 x 映射到某个特征,然后计算该特征在概率分布下的均值(期望),差异最终由特征均值向量之差的 q 范数得到,而最大差异值的获得是通过寻找最优的神经网络 Φ w 实现的。当计算得到IPM时,优化生成器就如同之前一样,只需优化 p g 使IPM最小。
其实,许多GAN可由IPM导出或与IPM具有紧密的联系,我们在此简单列举几个代表。在IPM中,当把函数集合 F 限定为满足1-Lipschitz限制的所有函数的集合时,有
此时,我们便得到了WGAN的判别器的目标函数。在原始的WGAN中,对神经网络的权重使用了权重裁剪策略,使权重值在[-1,1]的范围内。可以看出它其实是对最后全连接层的向量 v 和 Φ 的权重 w 都施加了∞范数约束( p =1),则对应式(2.66),有 q =1,故其本质是最小化基于L1范数的特征均值差异。
McGAN [ 8 ] 将特征均值差异的概念进行了延展,不仅考虑均值,还考虑二阶统计特征——方差。其选择函数集合 F 为{ f ( x )=< U T Φ w ( x ), V T Φ w ( x )>| U , V ∈ℝ m × k , U T U = I k , V T V = I k },即{ u 1 , u 2 ,…, u k }∈ℝ m 和{ v 1 , v 2 ,…, v k }∈ℝ m 均为正交基。在此选择下导出的IPM距离为:
其中[ A ] k 表示矩阵 A 的秩 k 近似,‖x‖ * 为向量的 Ky Fan k 范数。可以看出,McGAN对应的IPM距离是通过使两个分布的嵌入特征的方差差异最大而得到的。
在最大平均差异(Maximum MeanDiscrepancy,MMD)中,将IPM中的函数合集 F 选择为 ,即将其限制在希尔伯特空间 H k 的单位球中。因为在希尔伯特空间中对任意 f ( x ),均有 f ( x ) = ( x ),其中 由定义的核函数决定,即 k ( x , x i )= ,又因为 f ( x )=< ,则IPM距离可写为:
其中, μ ( p )=E x ~ p Φ x (·)。MMD首先将样本 x 通过 Φ x (·)映射到无限维的希尔伯特空间,然后计算两个概率分布关于一阶矩(均值)的差异,该差异值即为MMD距离。当两个分布完全相等时,其MMD距离为0。生成矩匹配网络GMMN通过最小化MMD距离来直接训练生成模型,其核函数选择为高斯核 k ( x , x′ )=exp(-‖ x-x′ ‖ 2 )。MMDGAN将GMMN中固定的高斯核函数替换为单射函数 f w 和高斯核函数的组合,即 k ( x , x′ )=exp(-‖ f w ( x ) -f w ( x′ )‖ 2 ),即先使用判别器学习一个核函数得到MMD距离,再利用MMD距离优化生成器。GMMN和MMDGAN [ 9 ] 均属于IPM框架范畴的生成模型,二者的主要区别在于核函数为固定参数还是包含可学习参数。它们的优势在于可以通过选择不同的核函数而将样本映射到不同的特征空间中,不足在于当样本数较多时,计算MMD距离需要使用很多计算资源。
在线性判别分析中,我们希望将样本投影到一条直线上,使得同类样本的投影点尽量接近,而不同类样本的投影点尽量远离。FisherGAN [ 7 ] 便是受此启发,它不仅最大化两个分布的特征均值差异,同时也使类内标准差更小。FisherGAN把函数集合 F 限定为满足式2.70要求的 f ( x )。
另外,当函数集合F限定为-1到1之间的所有连续函数时,有
此时,IPM的形式为总变分距离,而EBGAN学习的 p g 和 p data 的度量正是总变分距离。判别器作为 f ( x )以使上式最大化,当判别器达到最优时,生成器的目标函数将非常接近 p g 和 p data 的总变分距离,这表明IPM与EBGAN具有非常紧密的联系。
f散度定义的度量通常面临几个问题,首先随着数据空间的维度的增加,f散度的值将越来越难估计,而且两个分布的支撑集将趋于未对齐,这样会导致f散度的值出现无穷大。例如,使用KL散度计算 p g 和 p data 的距离,若在某一点 x 0 ,有 p g ( x 0 )=0而 p data ( x 0 )≠0,根据KL散度计算公式:
至少在 x 0 点,log对数内会出现无穷大的f散度值。另外,考虑到
即判别器在GAN中学习到的度量并不是真正的f散度,而只是它的一个变分下界,在实践中,上式能否取到等号是难以保证的,因此会产生一个不准确的度量估计。
IPM克服了f散度的问题,f散度的收敛情况高度依赖于数据分布,而IPM的收敛情况不受样本数据维度和样本选择的影响,均可使 p g 收敛到训练数据集的概率分布 p data ,表现出更强的一致性。实践中,基于IPM的GAN通常比基于f散度的GAN表现更佳。