GAN Compression: Efficient Architectures for Interactive Conditional GANs
Abstract
條件生成對抗網絡(cGANs)為許多計算機視覺和圖形應用提供了可控的圖像合成。然而,最近的cGANs比現代識別CNNs的計算強度高了1-2個數量級。例如,GauGAN每個圖像消耗281G MACs,而MobileNet-v3只消耗0.44G MACs,這使得交互式部署變得非常困難。在這項工作中,我們提出了一個通用的壓縮框架來減少cGANs中生成器的推理時間和模型大小。直接應用現有的CNNs壓縮方法會產生較差的性能,這是由於GAN訓練的難度和生成器架構的差異造成的。我們以兩種方式應對這些挑戰。首先,為了穩定GAN訓練,我們將原模型的多個中間表示的知識轉移到其壓縮模型中,將非成對和成對學習統一起來。其次,我們的方法不是重用現有的CNN設計,而是通過神經架構搜索(NAS)自動找到有效的架構。為了加速搜索過程,我們通過權值共享來解耦模型訓練和架構搜索。實驗證明了我們的方法在不同的監督設置(配對和不配對)、模型架構和學習方法(如pix2pix、GauGAN、CycleGAN)下的有效性。在不損失圖像質量的前提下,我們將CycleGAN的計算量減少了20×以上,GauGAN的計算量減少了9×,為交互式圖像合成鋪平了道路。code和demo是公開的。
1. Introduction
生成式對抗網絡(GANs)[14]擅長合成逼真的照片。其條件擴展,條件GANs[76,47,27],允許可控的圖像合成,並使許多計算機視覺和圖形應用程序的應用,如交互式地從用戶畫像[49]創建一個圖像、或將舞蹈的運動視頻轉移到一個不同的人[62,8,1]、或為遠程社會互動[64]創建虛擬現實面部動畫 變成可能。所有這些應用程序都需要模型與人交互,因此需要低延遲的設備性能以獲得更好的用戶體驗。然而,邊緣設備(移動電話、平板電腦、VR耳機)受到內存和電池等硬件資源的嚴格限制。這種計算瓶頸阻礙了條件GANs在邊緣設備上的部署。
與圖像識別CNNs[32, 57, 19, 25]不同的是,基於圖像條件的GANs的計算量非常大。例如,被廣泛使用的CycleGAN模型[76]需要超過50G MACs,比MobileNet[25]多100倍。更近期的模型GauGAN[49],雖然能生成逼真的高分辨率圖像,但需要250G MACs,比MobileNet多500倍[25,53,24]。
在這項工作中,我們提出了GAN壓縮,這是一種通用的壓縮方法,用於減少條件GANs的推理時間和計算成本。我們觀察到壓縮生成模型面臨兩個基本的困難:GANs神經網絡是不穩定的,特別是在不配對的情況下;生成器也不同於識別CNN,因此很難重用現有的CNN設計。為了解決這些問題,我們首先將知識從原始teacher生成器的中間表示層轉移到其相應的壓縮student生成器層。我們還發現,使用教師模型的輸出為非配對訓練創建偽配對是有益的。這將把非配對學習轉化為配對學習。其次,我們使用神經架構搜索(NAS)來自動找到一個計算成本和參數顯著減少的高效網絡。為了降低訓練成本,我們通過訓練一個包含所有可能的channel數量配置的“once-for-all網絡”,將模型訓練從架構搜索中解耦出來。once-for-all網絡可以通過權值共享產生多個子網絡,不需要再訓練就可以評估每個子網絡的性能。我們的方法可以應用於各種條件GAN模型,無論模型架構、學習算法和監督設置(配對或不配對)是什么樣。
通過大量的實驗,我們證明我們的方法可以減少三種廣泛使用的條件GAN模型的計算量,包括pix2pix [27], CycleGAN [76], GauGAN[49],在MACs上減少9×到21×的計算量,同時不丟失生成圖像的視覺保真度(幾個例子見圖1):
最后,我們在移動設備(Jetson Nano)上部署了壓縮的pix2pix模型,並演示了一個交互式的edges2shoes應用程序demo
2. Related Work
Conditional GANs. 生成式對抗網絡(GANs)[14]擅長合成逼真的照片結果[29,5]。它的條件形式,條件GANs[47,27]進一步支持可控的圖像合成,允許用戶合成給定各種條件的輸入的輸出圖像,如用戶草圖[27,54]、類標簽[47,5]或文本描述[51,73]。后續的工作進一步提高了結果的分辨率和真實感[63,49]。后來,提出了幾種學習無配對數據條件GANs的算法[59、55、76、30、67、40、11、26、33]。
高分辨率、真實感的合成結果需要大量的計算。如圖2所示:
雖然模型大小與圖像識別CNNs[19]的大小相同,但是條件GANs需要比其大兩個數量級的計算量。這使得在有限的計算資源下將這些模型部署到邊緣設備非常具有挑戰性。在這項工作中,我們關注用於交互式應用的有效的圖像條件GANs架構。
Model acceleration. 在各種實際應用中,硬件高效的深度學習受到了廣泛的關注[18,17,75,61,16]。為了減少網絡權重的冗余,研究人員提出了修剪各層之間的連接[18,17,65]。然而,經過修剪的網絡需要專門的硬件來實現它的完全加速。隨后的幾項工作提出了修剪整個卷積濾波器(convolution filter)[21,36,41],以提高計算的規律性。AutoML for Model Compression (AMC)[20]利用強化學習來自動確定每一層的修剪比例。Liu等人后來用進化搜索算法代替了強化學習。最近,Shu等人[56]通過對原有的CycleGAN算法進行了修改,提出了CycleGAN的協同進化剪枝方法。這種方法是為特定的算法量身定做的。在適當的壓縮比(4.2×)下,壓縮模型顯著提高了FID。相比之下,我們的模型無關方法可以應用於具有不同學習算法、體系結構以及成對和非成對設置的條件GANs。我們假設不知道原始的cGAN學習算法。實驗表明,我們的通用方法在保留原模型FID的同時,達到了21.1×壓縮比(比特定於CycleGAN的方法[56]好5倍)。
Knowledge distillation. Hinton等人在[23]中引入了知識蒸餾,將更大的教師網絡中的知識轉移到更小的學生網絡中。學生網絡被訓練成模仿教師網絡的行為。有幾種方法利用知識蒸餾來壓縮識別模型[45,9,34]。最近,Aguinaldo等人[2]采用了這種方法來加速無條件的GANs。與它們不同的是,我們關注的是條件GANs。我們在條件GANs上實驗了幾種蒸餾方法[2,68],但只觀察到有限的改進,不足以用於交互式應用。詳情請參閱附錄6.2。
Neural architecture search. 神經結構搜索(Neural Architecture Search, NAS)成功地設計出了在大規模圖像分類任務[78,37,38]中表現優於手工制作的神經網絡結構。為了有效降低搜索成本,研究人員最近提出了一種once-for-all神經結構搜索[39,7,66,15,24,4,6],其中不同的候選子網絡可以共享同一組權值。雖然所有這些方法都側重於圖像分類模型,但我們使用NAS研究了有效的條件GANs體系結構。
3. Method
壓縮交互式應用程序的條件生成模型具有挑戰性,原因有二。首先,GANs的訓練動態本質上是高度不穩定的。其次,識別和生成模型在架構上的巨大差異使得現有的CNN壓縮算法難以直接應用。針對上述問題,我們提出了一種適合高效生成模型的訓練協議(第3.1節),並通過神經結構搜索(NAS)進一步提高壓縮比(第3.2節)。整個框架如圖3所示:
這里,我們以ResNet生成器[28,76]為例。但是,相同的框架可以應用於不同的生成器架構和學習目標。
3.1. Training Objective
Unifying unpaired and paired learning. 條件GANs的目標是學習源域X和目標域Y之間的映射函數G。它們可以使用配對數據({xi, yi}i=1N,其中xi∈X和yi∈Y)或未配對數據(源數據集{xi}i=1N到目標數據集{yj}j=1M)進行訓練。這里,N和M表示訓練圖像的數量。為了簡單起見,我們省略了下標i和j。已經提出了幾個學習目標來處理成對和非成對的設置(例如,[27,49,63,76,40,26])。廣泛的訓練目標使得構建通用的壓縮框架非常困難。為了解決這個問題,我們在模型壓縮設置中統一了非成對和成對的學習,而不管教師模型最初是如何訓練的。給定原始的教師發生器G',我們可以將不配對的訓練集轉化為成對的訓練集。特別地,對於非成對的設置,我們可以將原始生成器的輸出視為我們的ground-truth,並使用成對的學習目標來訓練我們的壓縮生成器G。我們的學習目標可以總結如下:
通過這些修改,我們可以將相同的壓縮框架應用於不同類型的cGANs。此外,如4.4節所示,使用上述偽對進行學習,與原始的非成對訓練設置相比,訓練更加穩定,效果也更好。
由於未配對訓練已經轉化為配對訓練,除非另有說明,我們將在配對訓練設置中討論下面的章節。
Inheriting the teacher discriminator. 雖然我們的目標是壓縮發生器,但判別器D在識別當前發生器[3]的弱點時,會存儲已學習GAN的有用知識。因此,我們采用相同的判別器結構,使用teacher預先訓練的權重,並與我們的壓縮發生器一起對判別器進行微調。在我們的實驗中,我們觀察到一個預先訓練的判別器可以指導我們的student發生器的訓練。使用一個隨機初始化的鑒別器往往會導致嚴重的訓練不穩定性和圖像質量的下降。GAN的目標函數正式表述為:
在這里,我們使用來自teacher判別器D'的權重來初始化student判別器D。G和D使用標准的極小極大優化[14]進行訓練。
Intermediate feature distillation. 知識蒸餾是一種廣泛使用的CNN模型壓縮方法[23,45,9,68,34,50,10]。通過匹配輸出層的對數分布,可以將知識從教師模型轉移到學生模型,提高學生的性能。然而,條件GANs[27,76]通常輸出的是確定性的圖像,而不是概率分布。因此,很難從教師的輸出像素中提取出black知識。特別是在成對訓練的情況下,教師模型生成的輸出圖像與真實目標圖像相比,基本不包含額外的信息。附錄6.2中的實驗表明,在配對訓練中,單純地模仿教師模型的輸出並沒有帶來改進。
為了解決上述問題,我們匹配教師生成器的中間表示,像之前的工作所探索的那樣[34,71,9]。中間層包含更多的channels,提供更豐富的信息,並允許學生模型獲得除輸出之外的更多信息。蒸餾目標函數可以形式化為:
其中,Gt(x)和G't(x)是學生和教師模型中第T個選擇層的中間特征激活,T表示層數。1×1可學習卷積層ft將學生模型的特征映射到教師模型特征中相同數量的channels。我們共同優化Gt和ft,使蒸餾損失最小化。附錄6.1詳細說明了我們在實踐中選擇的層。
Full objective. 我們的最終目標如下:
其中超參數λrecon和λdistill控制每個項的重要性。詳情請參閱附錄6.1。
3.2. Efficient Generator Design Space
選擇一個設計良好的學生架構對於知識蒸餾的最終表現是至關重要的。我們發現,單純地縮小教師模型的通道數並不能產生一個緊湊的學生模型:當計算減少超過4倍時, 性能開始顯著下降。其中一個可能的原因是現有的生成器架構通常采用圖像識別模型[43,19,52,43],可能不是圖像合成任務的最佳選擇。下面,我們將展示如何從現有的cGAN生成器派生出更好的架構設計空間,並在該空間內執行神經架構搜索(NAS)。
Convolution decomposition and layer sensitivity. 現有的生成器通常采用vanilla卷積來遵循分類和分割CNNs的設計。最近高效的CNN設計廣泛采用了卷積的分解版本(depthwise+pointwise)[25],這證明了有更好的性能計算權衡。我們發現使用分解的卷積也有利於cGANs中生成器的設計。
不幸的是,我們早期的實驗已經表明,直接對所有卷積層進行分解(如在分類器中)將顯著降低圖像質量。分解一些層會立即影響性能,而其他層則更健壯。此外,這個層敏感性模式也不同於識別模型。例如,在ResNet生成器[19,28]中,resBlock層消耗了大部分的模型參數和計算成本,而幾乎不受分解的影響。相反,上采樣層有更少的參數,但是對模型壓縮相當敏感:適度的壓縮會導致很大的FID退化。因此,我們只分解resBlock層。我們在第4.4節中對層的敏感性進行了全面的研究。
Automated channel reduction with NAS. 現有的生成器在所有層上使用手工制作的(而且基本上是統一的)通道數,其包含冗余信息,遠遠不是最優的選擇。為了進一步提高壓縮比,我們使用通道剪枝方法[21,20,41,77,44]來自動選擇生成器中的通道寬度來去除冗余,這樣可以二次減少計算量。我們支持關於通道數量的細粒度選擇。對於每個卷積層,通道的數量可以從8的倍數中選擇,這平衡了MACs和硬件並行性[20]。
給定可能的通道配置{c1,c2,…,cK},其中K是要修剪的層數,我們的目標是使用神經結構搜索找到最佳的通道配置,其中Ft為計算約束。一種直接的方法是遍歷所有可能的通道配置,訓練它至收斂,然后評估並選擇性能最好的生成器。然而,隨着K的增加,可能的配置的數量呈指數級增長,每個配置可能需要不同的超參數,這些超參數與每個項的學習率和權重有關。這種嘗試和錯誤的過程太耗時了。
3.3. Decouple Training and Search
為了解決這個問題,我們將模型訓練從架構搜索中解耦出來,就像最近once-for-all神經架構搜索方法的工作一樣[7,6,15]。我們首先訓練一個支持不同channels數量的once-for-all網絡[6]。每個通道數目不同的子網絡都經過同等的訓練,可以獨立運行。子網絡與“once-for-all”網絡共享權重。圖3說明了整個框架。我們假設原始的教師生成器有{ck0}k=1K個通道。對於一個給定的通道數量配置{ck}k=1K ,ck≤ck0,我們按照Guo等人的[15]方法,從“once-for-all”網絡的相應權張量中提取第一個{ck}k=1K的通道,得到子網絡的權值。在每個訓練步驟,我們隨機采樣帶有某通道數量配置的子網絡,計算出輸出和梯度,使用我們的學習目標函數(等式4)提取和更新權重。由於權重在最初的幾個通道更新更加頻繁,他們在所有的權重中發揮更重要的作用。(once-for-all可見ONCE-FOR-ALL - 1 - 論文學習)
在對“once-for-all”網絡進行訓練后,我們通過直接評估驗證集上每個候選子網絡的性能來找到最佳的子網絡。由於“once-for-all”網絡經過了充分的訓練,並進行了權值共享,因此不需要進行微調。當從零開始訓練時,這近似於模型的性能。通過這種方式,我們可以解耦生成器架構的訓練和搜索:我們只需要訓練一次,但是我們可以評估所有可能的通道配置,而不需要進一步的訓練,並選擇最好的一個作為搜索結果。我們還可以選擇微調所選的體系結構,以進一步提高性能。我們在4.4節中報告了這兩種變體。
4. Experiments
4.1. Setups
Models. 在三個條件GAN模型上進行了實驗,驗證了該方法的通用性。
- CycleGAN[76]是一種非成對的圖像到圖像的翻譯模型,它使用一個基於resnet的生成器[19,28]將圖像從源域轉換為目標域,而不使用成對。
- Pix2pix[27]是一個基於條件GAN的成對圖像到圖像的翻譯模型。在這個模型中,我們將原始的U-Net生成器[52]替換為基於resnet的生成器[28],因為我們觀察到,在相同的學習目標下,基於resnet的生成器以更少的計算成本獲得更好的結果。有關詳細的U-Net與ResNet基准測試,請參見附錄6.2。
- GauGAN[49]是一個最先進的成對圖像到圖像的翻譯模型。它可以生成一個給定一個語義標簽map的高保真圖像。
Datasets. 使用了如下的四個數據:
- Edges→shoes. 我們使用來自UT Zappos50K數據集[69]的50,025張圖像。我們隨機分離數據集,使驗證集有2048張圖像,用於Fréchet初始距離(FID)(見4.2節)的穩定評估。我們在這個數據集上評估了pix2pix模型。
- Cityscapes. 該數據集[12]包含德國街景的圖像。訓練集和驗證集分別由2975和500幅圖像組成。我們在這個數據集上評估了pix2pix和GauGAN模型。
- Horse↔zebra. 該數據集由1187張馬圖像和1474張斑馬圖像組成,這些圖像最初來自於ImageNet[13],並在CycleGAN中使用[76]。驗證集包含120幅馬的圖像和140幅斑馬的圖像。我們在這個數據集上評估CycleGAN模型。
- Map↔aerial photo. 該數據集包含從谷歌地圖中提取的2194張圖像,並用於pix2pix[27]。訓練集和驗證集分別包含1096和1098張圖像。我們在這個數據集上評估了pix2pix模型。
Implementation details. 對於CycleGAN和pix2pix模型,我們在所有實驗中對生成器和判別器的訓練都使用了0.0002的學習率。
數據集Horse↔zebra、Edges→shoes、Map↔aerial photo、Cityscapes的batch size分別設置為1、4、1、1。對於GauGAN模型,我們遵循原始論文[49]的設置,除了batch size設置為16而不是32。我們發現,我們可以使用更小的batch size實現一個更好的結果。有關更多實現細節,請參見附錄6.1。
4.2. Evaluation Metrics
我們介紹了評價合成圖像等價性的指標。
Fréchet Inception Distance(FID)[22]. FID分數用於計算從真實圖像中提取的特征向量分布與使用InceptionV3[58]網絡生成的圖像之間的距離。該分數衡量的是真實圖像和生成圖像分布的相似性。得分越低,表示生成的圖像質量越好。我們使用開源的FID評估代碼(https://github.com/mseitzer/pytorch- fid)
Semantic Segmentation Metrics. 根據之前的工作[27,76,49],我們采用語義分割度量來評估Cityscapes數據集上生成的圖像。我們對生成的圖像運行語義分割模型,並比較分割模型的性能。我們選擇均值平均精度(Mean Average Precision, mAP)作為分割指標,並使用DRN-D-105[70]作為分割模型。更高的mAPs意味着生成的圖像看起來更真實,更好地反映輸入標簽映射。
4.3. Results
我們報告了壓縮CycleGAN、pix2pix和GuaGAN在表1中的四個數據集上的定量結果:
通過使用“once-for-all”網絡中性能最好的子網,我們的GAN壓縮方法實現了較大的壓縮比。它可以將最先進的條件GANs壓縮9-21倍,將模型尺寸縮小5-33倍,模型性能的下降幾乎可以忽略不計。具體來說,我們提出的方法與之前的協同進化方法[56]相比,具有明顯的CycleGAN壓縮優勢。我們可以將CycleGAN generator的計算量減少21.2×,與之前特定於CycleGAN的方法[56]相比,減少了5×,同時實現了更好的FID,超過30。
Performance vs. Computation Trade-off. 除了可以獲得較大的壓縮比外,我們還驗證了我們的方法可以在不同的模型尺寸下持續地提高性能。以pix2pix模型為例,我們繪制了Cityscapes和Edges→shoes數據集的性能vs計算權衡結果,如圖6所示:
首先,在大模型尺寸情況下,prune +distill(不含NAS)的效果優於從零開始的訓練,顯示了中間層蒸餾的有效性。不幸的是,隨着通道的不斷縮小,學生和老師之間的能力差距變得太大了。結果,來自老師的知識對學生來說可能太深奧了,在這種情況下,蒸餾甚至可能對學生的模型產生負面影響。
相反,我們的訓練策略可以讓我們自動找到一個學生和老師之間差距更小的子網絡,這使得學習更容易。我們的方法始終比基線有很大的優勢。
圖4顯示了幾個示例結果:
我們提供了輸入圖像、它的ground-truth(非成對設置除外)、原始模型的輸出和我們的壓縮模型的輸出。即使在較大的壓縮比下,我們的壓縮方法也能很好地保持輸出圖像的視覺保真度。對於CycleGAN,我們也提供了基線模型的輸出(0.25 CycleGAN: 14.9×)。0.25倍的基線模型CycleGAN包含1/4通道,已經從零開始訓練。我們的優勢是明顯的:基線模型很難在輸出圖像上創建斑馬圖案,且它的壓縮比要小得多。在某些情況下,壓縮模型可能會出現輕微的退化(例如,圖4中第二條斑馬的腿),但在其他情況下,壓縮模型有時會超過原來的例子(例如,第一個和最后一個鞋的圖像有更好的皮革紋理)。一般來說,我們的方法壓縮的GAN模型能與原始模型的性能比較,上面的定量結果可表明。
Accelerate Inference on Hardware. 對於真實的交互應用程序,硬件上的推理速度的減少比計算量減少更重要。為了驗證該方法的實際有效性,我們在不同計算能力的設備上測量了我們的壓縮模型的推理速度。為了模擬交互式應用程序,我們使用batch size為1。我們首先執行100次熱身的運行,並測量接下來100次運行的平均時間。結果如表2所示:
在Jetson Xavier的edge GPU上,壓縮CycleGAN生成器的推理速度可以達到40 FPS左右,滿足了交互應用的需求。我們注意到,與CPU相比,GPU上的加速沒那么顯著,這主要是由於並行度很大。然而,我們的重點是使生成模型在邊緣設上更容易訪問,強大的gpu可能是不可用的,因此該結果說明更多的人可以使用交互式的cGAN應用程序。
4.4. Ablation Study
下面,我們針對我們的個別系統組件和設計選擇進行一些消融研究。
Advantage of unpaired-to-paired trainsform. 首先利用教師模型的輸出,分析了將非成對條件GANs變換為偽成對訓練集的優點。
圖7a顯示了原始的非配對訓練和我們的偽配對訓練的性能比較:
隨着我們的計算預算的減少,由非配對訓練方法產生的圖像質量急劇下降,而我們的偽配對訓練方法相對穩定。非配對訓練要求模型足夠強大,能夠捕獲源域和目標域之間復雜而模糊的映射。一旦學習了映射,我們的學生模型就可以直接從教師模型中學習。此外,學生模型仍然可以從遺傳的判別器中學習關於真實目標圖像的額外信息。
The effectiveness of intermediate distillation and inheriting the teacher discriminator. 表3展示了中間蒸餾和在pix2pix模型上的繼承教師判別器的效果:
單獨的修剪和提取中間特征並不能得到比基線化訓練更好的結果。我們也探討了判別器在修剪中的作用。訓練前的判別器存儲了原始生成器的有用信息,可以指導修剪后的生成器更快更好地學習。如果重新設置學生判別器,那么被修剪的學生生成器的知識將被隨機初始化的判別器破壞,這將產生比從零開始的訓練基線更糟糕的結果。
Effectiveness of convolution decomposition. 系統地分析了條件GANs對卷積分解變換的靈敏度。我們以CycleGAN的基於resnet的生成器為例,對其有效性進行了測試。根據ResNet生成器的網絡結構,我們將其結構分為三部分:Downsample(3個卷積)、ResBlocks(9個residual block)和Upsample(最后兩個反卷積)。為了驗證每個階段的靈敏度,我們將每個階段的所有常規卷積替換為可分卷積[25]。性能下降情況見表4:
ResBlock部分需要相當大的計算量,因此在ResBlock中對卷積進行分解可以顯著降低計算量。通過對ngf=64和ngf=16架構的測試,ResBlock-modified架構顯示出更好的計算成本和性能權衡。我們進一步探討了在Cityscapes數據集上使用ResBlock-modified架構的計算成本與性能權衡。圖7b說明了這種mobilenet風格的架構始終比原來的架構更有效,原來的架構已經減少了大約一半的計算成本。
5. Conclusion
在這項工作中,我們提出了一個通用的壓縮框架來減少條件GANs中生成器的計算成本和模型大小。我們利用知識蒸餾和神經結構搜索來緩解訓練的不穩定性,提高模型的效率。大量的實驗表明,該方法在保證視覺質量的同時,可以壓縮多個條件GAN模型。未來的工作包括減少模型的延遲和用於生成視頻模型[62,60]的有效架構。
6. Appendix
6.1. Additional Implementation Details
Complete Pipeline. 對於每個模型和數據集,我們首先從零開始訓練一個MobileNet[25]風格的網絡,然后使用這個網絡作為一個教師模型來提取一個更小的學生網絡。由經過蒸餾的學生網絡初始化,我們訓練一個“once-for-all”網絡。然后,我們在一定的計算預算下評估所有的子網絡。經過評估,我們在“once-for-all”網絡中選擇性能最好的子網絡,並對其進行微調,以獲得最終的壓縮模型。對於每個任務,從零開始的MobileNet風格的老師和經過篩選的學生的大小列在表5中。
Training Epochs. 在所有的實驗中,我們采用Adam優化器[31]和在開始保持相同的學習率,在訓練的后期階段線性衰減比率到零。我們對來自“once-for-all”[6]網絡訓練的從零開始的訓練、蒸餾和微調使用不同的epochs。每個任務的具體時間列在表5中。
Distillation Layers. 在我們的實驗中,我們選擇了4種中間激活來進行蒸餾。我們將9個residual塊分成3個大小的組,每三層使用特征蒸餾。我們的經驗發現,這樣的配置可以傳遞足夠的知識,同時對於學生網絡來說也很容易學習,如附錄6.2所示。
Loss function. 對於pix2pix模型[27],我們用一個更穩定的Hinge GAN損失代替了普通的GAN損失[14][35,48,72]。對於CycleGAN模型[76]和GauGAN模型[49],我們采用與原始文獻相同的設置,分別使用LSGAN損失[46]和Hinge GAN損失項。我們對教師和學生模型以及我們的基線使用相同的GAN損失函數。我們的論文中提到的超參數λrecon和λdistill如表5所示。
Discriminator. 判別器在GAN訓練中起着至關重要的作用。對於每個模型,我們采用與原始工作相同的判別器架構。在我們的實驗中,我們沒有壓縮判別器,因為它在推理時沒有使用。我們也嘗試過調整判別器的容量,但發現效果不佳。我們發現,與使用壓縮判別器相比,使用帶有壓縮發生器的大容量判別器可以獲得更好的性能。表5詳細列出了每個判別器的容量。
6.2. Additional Ablation Study
Distillation. 最近,Aguinaldo等人[2]采用知識蒸餾來加速無條件GANs推理。它們強制學生生成器的輸出近似於教師生成器的輸出。然而,在配對條件GAN訓練環境中,學生發生器已經能夠從其ground-truth目標圖像中獲得足夠的信息。因此,相比真實的輸出,教師的輸出不包含額外的信息。圖8從經驗上證明了這一點:
我們在cityscapes數據集[12]上運行pix2pix模型的實驗。蒸餾基准[2]的結果甚至比從零開始訓練的模型更差。我們的GAN壓縮方法始終優於這兩個基線。我們還將我們的方法與Yim等人[68]進行了比較,Yim等人是一種用於識別網絡的最先進的蒸餾方法。表7是pix2pix模型的cityscapes數據集的基准測試:
我們的GAN壓縮方法比其他的蒸餾方法有很大的優勢,為交互式圖像合成鋪平了道路。
Network architecture for pix2pix. 在pix2pix實驗中,我們用基於resnet的生成器[28]代替了原來的U-net[52]。表6驗證了我們的設計選擇:
在edges→shoes和cityscapes數據集中,ResNet生成器實現了更好的性能。
Perceptual similarity and user study. 對於成對的數據集,我們評估我們結果的感知真實性。我們使用LPIPS[74]度量來度量生成的圖像和相應的真實圖像的感知相似性。較低的LPIPS表示生成的圖像質量更好。對於CycleGAN模型,由於沒有成對的圖像,我們對Amazon Mechanical Turk (AMT)上的horse→zebra數據集進行了人類偏好測試。我們基本上遵循[27]協議,只是我們要求工作人員在GAN壓縮模型和0.25倍的CycleGAN之間決定哪個圖像更像真實的斑馬圖像。表8顯示了我們對pix2pix模型和CycleGAN模型的感知研究結果:
我們的GAN壓縮方法明顯優於簡單的從頭開始的訓練基線。
6.3. Additional Results
在圖9中,我們展示了我們提出的用於horse→zebra數據集的CycleGAN模型的GAN壓縮方法的附加可視化結果:
在圖10、11和12中,我們展示了我們為pix2pix模型的edges→shoes、map→arial photo和cityscapes數據集所提出的方法的額外視覺結果。
在圖13中,我們在cityscapes上顯示了我們為GauGAN模型提出的方法的附加可視結果。