我在之前的博库中介绍了 style gan 的基本原理,原文中有提出感知路径长度(Perceptual Path Length)的概念。这是一种评价生成器质量的方式。
PPL基本思想:给出两个随机噪声 z 1 , z 2 ,为求得两点的感知路径长度PPL,采用微分的思想。把两噪声点插值路径细分成多个小段,求每个小段的长度,再求平均
为什么要距离越小越好?
假设上图表示perceptual距离空间。z1 可以生成一张白色的狗, z2 可以生成一张黑色的狗。那么我们在 z1和 z2 的欧式最短路径上,移动蓝色的点。在优秀的GAN网络中,得到的结果应该是perceptual距离也是最短的(也就是蓝色的线,最短距离)。绿色的线是比较差的GAN网络,在从白狗向黑狗变化的过程中,变化perceptual过大,出现了卧室。
PPL就是通过类似曲线积分的方法,计算出perceptual path的长度。比如下图,在两个不同的网络中。 P P L ( t + ϵ 1 ) < P P L ( t + ϵ 2 ) 。通过累加的方法逐步计算出绿线比蓝线长,那么得到了蓝线代表的GAN网络要比绿线代表的GAN网络要好。这里也就是说,以优化PPL为目标可以提升GAN网络的质量。
具体实现方式如下:
(1) 使用两个VGG16提取特征的加权差异来表示一对图像间的感知距离。
(2) 将潜在空间插值路径细分为线性段,每个段上的感知差异的总和就是感知路径长度。
(3)使用多份样本,分别计算z和w的PPL(感知距离长度)。由于z已经归一化,所以对z使用球面插值 slerp,而对w使用线性插值 lerp。评估为裁剪后仅包含面部的图像。