即插即用生成网络 PPGN 是什么?用分类器引导生成器画出指定类别的图
即插即用生成网络(Plug and Play Generative Networks,PPGN)是一种图像生成方法,由 Anh Nguyen、Jeff Clune、Yoshua Bengio、Alexey Dosovitskiy 和 Jason Yosinski 在 2017 年发表于计算机视觉重要会议 CVPR 的论文中提出。它的特点是:把一个负责生成图像的网络,与一个负责判断图像是否符合要求的“条件网络”组合在一起,而且这个条件网络可以像插头一样随时更换,不需要重新训练生成器。这就是“即插即用”这个名字的由来。
它从哪里来
PPGN 的研究源于对神经网络的可视化:研究者想知道一个图像分类网络中的某个神经元,比如负责识别“火山”的那个输出神经元,到底“喜欢”什么样的图片。一种做法叫激活最大化:从一张随机的图片出发,不断地修改图片的像素,让这个神经元的激活值越来越大,最终得到的图片就代表了这个神经元心目中“火山”的样子。但直接在像素空间中进行优化,得到的图片往往是一些奇怪的、不自然的花纹,人眼几乎认不出来。研究者此前的工作发现,如果不直接修改像素,而是在一个预训练好的生成器的输入空间,也就是潜在空间中进行优化,再由生成器把潜在向量变成图片,就能得到自然得多的图片。PPGN 在此基础上更进一步。
它是怎么工作的
PPGN 由两个部分组成。生成器:一个预先训练好的网络,能够把一个潜在向量转换成一张逼真的图片。条件网络:负责评价生成的图片是否符合想要的条件。它可以是一个图像分类器,比如在 ImageNet 上训练好的分类网络,用来判断图片是否属于某个类别;也可以是一个图像描述模型,用来判断图片是否符合一段文字描述。
生成图片的过程是一个迭代的采样过程:从一个潜在向量开始,每一步都综合考虑三个因素来更新它:一是让生成的图片更符合条件网络的要求,比如更像“火山”;二是让潜在向量保持在“看起来像真实图片”的区域中,这一项来自一个去噪自编码器学到的图像先验;三是加入一些随机的噪声,让生成的结果保持多样性。研究者把这个过程解释为一种近似的马尔可夫链蒙特卡罗采样,经过多次迭代,就能得到一系列既符合条件、又清晰逼真、彼此各不相同的图片。
由于条件网络是可以更换的,同一个生成器可以配合不同的条件网络使用:换上一个分类器,就能生成指定类别的图片;换上一个图像描述模型,就能根据一段文字描述生成图片,这在当时是一种早期的“文本到图像”生成尝试。
意义与发展
在发表的时候,PPGN 能够生成在当时看来质量很高、类别丰富多样的图片,覆盖了 ImageNet 的一千个类别。它展示了一种重要的思想:用一个独立训练的判别模型,来引导一个生成模型的生成过程。这一思想在后来的生成模型中得到了广泛的继承和发展,比如在扩散模型中,用一个分类器的梯度来引导生成过程的“分类器引导”方法,以及后来流行的“无分类器引导”;还有用 CLIP 等图文模型来引导图像生成的方法。如今的文生图模型虽然在技术上已经有了很大的不同,但“用条件来引导生成”的基本思想与 PPGN 一脉相承。