ICCV 2019:华为、北大等首创GAN剪枝算法,线上加速 3 倍以上

百家 作者:新智元 2019-09-24 04:31:46




  新智元专栏  

作者:王云鹤 (华为诺亚)

【新智元导读】华为诺亚方舟实验室最新研究首次提出针对GAN中生成网络的剪枝算法,在图像迁移任务中,可以在保持迁移效果的情况下,网络参数量和计算量压缩四倍以上,实测推理时间压缩三倍以上。论文已被ICCV 2019录用。


随着手机等智能终端的广泛普及,基于移动端的图像风格迁移,人像渲染等应用有着广泛的需求,在智能相机、移动社交、虚拟穿戴等领域有着巨大的应用前景。生成对抗神经网络在图像风格迁移、人脸属性控制等任务中取得了良好的效果。

但是生成式模型由于其本身输出结果和优化目标的特点,模型往往需要较大的内存,运行这些模型需要较大的计算开销,一般只能在GPU平台上运行,不能直接将这些模型迁移到移动端上。而现有的针对神经网络的压缩算法都是针对判别式神经网络模型设计,直接应用在生成网络上不能取得令人满意的压缩结果。

华为诺亚方舟实验室的论文Co-Evolutionary Compression for Unpaired Image Translation被ICCV 2019录用,该论文首次提出针对GAN中生成网络的剪枝算法,在图像迁移任务中,可以在保持迁移效果的情况下,网络参数量和计算量压缩四倍以上,实测推理时间压缩三倍以上。

论文地址:
https://arxiv.org/abs/1907.10804
开源地址:
https://github.com/huawei-noah/GAN-pruning
 
生成模型参数冗余建模

对生成模型来说,网络输出是高维的生成图像,很难直接从这些图像本身去量化评价压缩模型的好坏,借鉴传统的剪枝算法,可以直接最小化压缩生成模型前后的重建误差来获得压缩后的模型。可以定义为生成器感知误差,

直接优化公式 1 可以让压缩后的生成器和原始生成器尽量像素相近,但是在图像风格迁移任务中确没必要。比如,一个 “斑马”,不管是有 5 条还是 8 条白色条纹,都可以看成是成功的风格迁移,但是体现在公式 1 中的差别可能很大。所以优化公式 1 并不能准确地去除风格迁移任务中的参数冗余。

虽然在推理阶段,判别器经常不会被使用,但是判别器中包含了判别图像域的重要信息,因此论文提出了判别器感知损失来牵引生成器的压缩过程。

是原始网络中的判别器。与公式 1 相比,公式 2 并不直接关注压缩前后的生成器模型在像素级别的相似性,而是通过判别器,更加关注压缩前后风格的一致性,这对压缩生成器是一个更好的优化方向。

对于两个图像域的互相转换,循环一致性误差的重要性也在多篇论文里得到证明,所以也是压缩生成器重要的优化方向。

所以总体来说,压缩一个生成网络的目标函数如下:


其中表示网络的参数量,用来平衡网络参数量和压缩模型的误差。

对于两个的图像域互相转换,两个生成器一般有相同的网络结构和参数量,如果只优化其中一个生成器会导致网络训练过程不稳定,所以提出同时优化两个生成器,这样也可以节省计算时间和资源。

协同进化压缩

考虑到无法准确地计算生成网络中的每一个通道对于最终输出结果的影响,采用进化算法,对网络进行全局二值编码,如图 1 所示,对两个对称的生成器分别维持一个种群,将生成器 A 种群适应值最高的个体与生成器 B 的种群一起训练,选出 B 种群中适应值最高的个体,再和 A 的下一代种群进行训练,以此类推,进行协同交替压缩,最终得到两个压缩的生成器,算法流程如算法 1 所示。

图 1 协同进化交替迭代,最终得到两个压缩后模型
 
更新: 压缩后的由一串固定长度的二值编码表示,编码的每一位表示网络的每一个通道,如公式 6 所示。 表示生成网络中第 层的通道编码,表示把第 n 个卷积通道去除,反之则保留。

用公式 7 表示网络压缩后的参数量。



所以在进化算法中,一个压缩个体的适应值可以用公式 8 来计算:



定义了适应值的计算规则后,采用进化算法进行多代进化,可以选出适应值较高的个体。对于每一个压缩生成器的结构来说,先用 10% 的训练数据集训练,然后在验证集上计算适应值,根据种群中的适应值,个体可以被赋予一个选择概率,通过轮盘赌算法可以通过上一代种群通过选择、交叉和变异得到下一代个体。

更新:一样,对维持一个种群,也可以通过进化算法选出适应值最优的个体。但是,通过公式 8 可以看出,循环一致性误差计算同时涉及两个生成器,所以同时对分别维护一个种群。具体来说,在 t 次迭代中,用 t-1 次迭代中适应值最优的去和种群训练,得到适应值最优的,然后用适应值最优的种群训练,得到 t 迭代种群的适应值。

算法 1:协同进化算法流程


实验结果

我们在 horse2zebra, summer2winter 和 cityscapes 三个数据集上分别进行大量实验来说明算法的有效性。

超参影响:实验对平衡参数量和损失的超参数 γ 进行了实验,如图 2 所示,大的 γ 使得压缩比更低,但是风格迁移效果更好。


消融实验:在实验数据和超参数相同的情况下,我们比较了不用的进化策略和优化目标的影响,如下图 3 所示。(a)是采用传统的剪枝方法的结果,(c)采用了类似于传统剪枝最小重构误差的生成器感知误差,(b)和(d)则采用了本文提出的判别器感知误差,其中(b)是单独优化一个生成器的结果,而(d)是采用协同的策略同时优化两个生成器的结果。


与传统剪枝方法比较:表 2 和表 3 分别列出了压缩前后,传统的剪枝方法和论文提出的剪枝方法在三个数据集上的量化结果。在 cityscapes 数据集采用 FCN 分数,horse2zebra 和 summer2winter 数据集采用 FID 分数,论文提出方法结果与压缩之前的模型接近,远远好于传统的剪枝方法。



压缩结果:表 1 展示了三个数据集压缩的结果,论文提出的算法在能够得到 4 倍左右参数量和计算量的压缩,在运行时间上,在 Kirin 980 芯片上,推理时间从 6.8s 压缩到了 2.1s。


论文地址:
https://arxiv.org/abs/1907.10804
开源地址:
https://github.com/huawei-noah/GAN-pruning

关注公众号:拾黑(shiheibook)了解更多

[广告]赞助链接:

四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/

公众号 关注网络尖刀微信公众号
随时掌握互联网精彩
赞助链接