━━━━
華為諾亞方舟實驗室最新研究首次提出針對GAN中生成網絡的剪枝算法,在圖像遷移任務中,可以在保持遷移效果的情況下,網絡參數量和計算量壓縮四倍以上,實測推理時間壓縮三倍以上。論文已被ICCV 2019錄用。
隨著手機等智能終端的廣泛普及,基于移動端的圖像風格遷移,人像渲染等應用有著廣泛的需求,在智能相機、移動社交、虛擬穿戴等領域有著巨大的應用前景。生成對抗神經網絡在圖像風格遷移、人臉屬性控制等任務中取得了良好的效果。
但是生成式模型由于其本身輸出結果和優化目標的特點,模型往往需要較大的內存,運行這些模型需要較大的計算開銷,一般只能在GPU平臺上運行,不能直接將這些模型遷移到移動端上。而現有的針對神經網絡的壓縮算法都是針對判別式神經網絡模型設計,直接應用在生成網絡上不能取得令人滿意的壓縮結果。
華為諾亞方舟實驗室的論文Co-Evolutionary Compression for Unpaired Image Translation被ICCV 2019錄用,該論文首次提出針對GAN中生成網絡的剪枝算法,在圖像遷移任務中,可以在保持遷移效果的情況下,網絡參數量和計算量壓縮四倍以上,實測推理時間壓縮三倍以上。
━━━━
生成模型參數冗余建模
對生成模型來說,網絡輸出是高維的生成圖像,很難直接從這些圖像本身去量化評價壓縮模型的好壞,借鑒傳統的剪枝算法,可以直接最小化壓縮生成模型前后的重建誤差來獲得壓縮后的模型。可以定義為生成器感知誤差,
直接優化公式 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。
作者:王云鶴 (華為諾亞)
文章來源:新智元
IEEE Spectrum
《科技縱覽》
官方微信公眾平臺
往期推薦