【已開源】華為諾亞方舟實驗室首創針對生成對抗網絡(GAN)的剪枝算法
7月23日,ICCV 2019公布錄用結果,華為諾亞方舟實驗室的論文《Co-Evolutionary Compression for Unpaired Image Translation》被成功錄用,該論文首次提出針對GAN中生成網絡的剪枝算法,在圖像遷移任務中,可以在保持遷移效果的情況下,網絡參數量和計算量壓縮四倍以上,實測推理時間壓縮壓縮三倍以上。

論文地址:https://arxiv.org/abs/1907.10804
開源地址:https://github.com/huawei-noah/GAN-pruning
研究背景
隨著手機等智能終端的廣泛普及,基于移動端的圖像風格遷移,人像渲染等應用有著廣泛的需求,在智能相機、移動社交、虛擬穿戴等領域有著巨大的應用前景。生成對抗神經網絡在圖像風格遷移、人臉屬性控制等任務中取得了良好的效果。但是生成式模型由于其本身輸出結果和優化目標的特點,模型往往需要較大的內存,運行這些模型需要較大的計算開銷,一般只能在GPU平臺上運行,不能直接將這些模型遷移到移動端上。而現有的針對神經網絡的壓縮算法都是針對判別式神經網絡模型設計,直接應用在生成網絡上不能取得令人滿意的壓縮結果。
生成模型參數冗余建模
對生成模型來說,網絡輸出是高維的生成圖像,很難直接從這些圖像本身去量化評價壓縮模型的好壞,借鑒傳統的剪枝算法,可以直接最小化壓縮生成模型前后的重建誤差來獲得壓縮后的模型。可以定義為生成器感知誤差,
(公式1)
直接優化公式1可以讓壓縮后的生成器和原始生成器盡量像素相近,但是在圖像風格遷移任務中確沒必要。比如,一個“斑馬”,不管是有5條還是8條白色條紋,都可以看成是成功的風格遷移,但是體現在公式1中的差別可能很大。所以優化公式1并不能準確地去除風格遷移任務中的參數冗余。
雖然在推理階段,判別器經常不會被使用,但是判別器中包含了判別圖像域的重要信息,因此論文提出了判別器感知損失來牽引生成器的壓縮過程。
(公式2)
是原始網絡中的判別器。與公式1相比,公式2并不直接關注壓縮前后的生成器模型在像素級別的相似性,而是通過判別器,更加關注壓縮前后風格的一致性,這對壓縮生成器是一個更好的優化方向。
對于兩個圖像域的互相轉換,循環一致性誤差的重要性也在多篇論文里得到證明,所以也是壓縮生成器重要的優化方向。
(公式3)
所以總體來說,壓縮一個生成網絡的目標函數如下:
(公式4)
其中表示網絡的參數量,用來平衡網絡參數量和壓縮模型的誤差。
對于兩個的圖像域互相轉換,兩個生成器一般有相同的網絡結構和參數量,如果只優化其中一個生成器會導致網絡訓練過程不穩定,所以提出同時優化兩個生成器,這樣也可以節省計算時間和資源。
(公式5)
協同進化壓縮
考慮到無法準確地計算生成網絡中的每一個通道對于最終輸出結果的影響,采用進化算法,對網絡進行全局二值編碼,如圖1所示,對兩個對稱的生成器分別維持一個種群,將生成器A種群適應值最高的個體與生成器B的種群一起訓練,選出B種群中適應值最高的個體,再和A的下一代種群進行訓練,以此類推,進行協同交替壓縮,最終得到兩個壓縮的生成器,算法流程如算法1所示。
圖1 協同進化交替迭代,最終得到兩個壓縮后模型
更新: 壓縮后的由一串固定長度的二值編碼表示,編碼的每一位表示網絡的每一個通道,如公式6所示。 表示生成網絡中第 層的通道編碼,表示把第n個卷積通道去除,反之則保留。
(公式6)
用公式7表示網絡壓縮后的參數量。
(公式7)
所以在進化算法中,一個壓縮個體的適應值可以用公式8來計算:
(公式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。
人工智能園地,力求打造運營商領域第一的人工智能交流平臺,促進華為NAIE
理念在業界(尤其通信行業)形成影響力!
本文來自“人工智能園地”
人工智能 華為 AI
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。