CVPR 2021 Oral | “無招勝有招”?北航、耶魯、商湯提出用于無數據量化的多樣化樣本生成
近年來,量化被視為一種高效實用的神經網絡壓縮加速方法,無數據量化方法也開始被應用于數據隱私場景。本文將介紹 CVPR 2021 oral 關于無數據量化的最新工作,一種多樣性的數據生成方法 DSG。
相比現有的 SOTA 方法,DSG 對極低比特量化的性能改善明顯,部分場景下可以媲美甚至超越使用真實數據的效果。這項研究由北京航空航天大學劉祥龍教授團隊、耶魯大學、商湯研究院工具鏈團隊共同完成。
論文名稱:Diversifying Sample Generation for Accurate Data-Free Quantization
Part 1 背景與概述
近年來,量化已經成為了一種獲取高效神經網絡的有效方法。離線量化不需要重新訓練或者微調,作為一種實用而有前景的方案得到了廣泛研究。然而,這種方法仍然需要真實的訓練數據去校準量化后的模型。有時這些真實數據例如醫療或用戶數據因為隱私或者安全問題難以獲得。近期的很多工作提出了無數據的量化方法。
一些工作(如 ZeroQ)用全精度模型的 BN 統計量來生成最擬合BN統計量的合成數據,解決了對數據的依賴問題。然而,這些方法生成的數據存在兩個明顯的同質化問題。
首先是數據分布上的同質化現象:由于合成數據是去匹配批標準化(BN)統計量參數,每層的特征分布容易過擬合,而真實的數據通常具有更加多樣的分布(見圖1(a))。
其次是樣本層面上的同質化現象:合成數據的所有樣本都是通過同樣的目標函數被優化的,即直接將網絡每層的損失累加來優化所有樣本。這樣的話,樣本的特征分布統計量會趨于中心化但真實數據往往是分散的(見圖1(b))。
這兩個同質化問題導致生成數據的分布與真實數據有很大差異,從而導致了量化模型精度的下降。
圖1.生成數據的兩種同質化問題
我們提出了一種多樣化的樣本生成方式(DSG)來解決上述兩個同質化問題,采用松弛對齊分布(SDA)來松弛對 BN 層參數的約束,采用層級樣本增強(LSE)來加強特定的生成樣本對特定層的約束。DSG 方法適用于各種離線量化方法,并且可以獲得接近用真實數據校準的模型的性能,甚至在4bit 上超過了真實數據。
圖2.多樣化樣本生成(DSG)方法
Part 2 方法
Slack Distribution Alignment
我們提出了一種松弛對齊批標準化的數據分布的方法(SDA)。我們分別為激活的均值和標準差統計引入松弛量,以帶來豐富的分布變化。具體來說,將松弛常數添加到原始的批標準化統計量損失函數中,以解決分布同質化問題。第i個批標準化層的損失項變為如下形式:
松弛量和
允許合成數據的統計量與批標準化層的統計參數之間存在差距。 在特定范圍內,合成數據的統計量會在寬松的約束下波動。因此,合成數據的特征分布變得更加多樣化。
一個重大的挑戰是在不使用真實數據的條件下確定松弛量和
的值。真實數據的特征統計量與批標準化統計量參數之間的差距可以作為合理的參考。由于無法獲取真實數據,根據中心極限定理,我們可以使用高斯假設作為一個通用的近似值。因此,我們使用從高斯分布中隨機采樣的合成數據來確定
和
。
首先,我們從 μ=0,σ=1 的高斯分布中采樣1024個合成樣本。然后將合成樣本輸入模型,并保存所有特征統計信息,即均值和標準差。
然后計算保存的統計數據與相應的批標準化層的參數之間的差。采用差的絕對值的分位點作為和
。
和
的定義如下:
其中,和
是高斯分布中采樣的合成樣本
在第i個批標準化層的激活值的均值和標準差。
和
分別表示
和
的
百分位點。
這個在0與1之間的數決定了和的取值,即決定了合成數據統計量對齊批標準化統計量參數的松弛程度,當該值較大時,對合成數據的約束更加松散。
其中, 和 是高斯分布中采樣的合成樣本在第i個批標準化層的激活值的均值和標準差。和分別表示和的百分位點。這個在0與1之間的數決定了和的取值,即決定了合成數據統計量對齊批標準化統計量參數的松弛程度,當該值較大時,對合成數據的約束更加松散。
Layerwise Sample Enhancement
為解決樣本之間的同質化問題,我們提出了一種層級樣本增強的方法(LSE)。
我們分別設計一個 batch 中每個合成圖像的損失函數,從而增強每個樣本對于特定層的損失。具體地說,對于具有 N 個批標準化層的網絡,我們可以提供 N 個不同的損失項,并將它們中的每一個應用于特定數據樣本。
假設每次生成 N 個圖像,即批大小設置為 N,和模型中的批標準化層的個數相同。我們定義= (
)作為增強矩陣,其中I是一個 N 維單位矩陣,1是 N 維全1列向量,L 是包含每層損失項的向量。那么該批次的損失函數定義為:
其中L 是 N 維列向量,其第 i 個元素表示該批次中第 i 個圖像的損失函數。因此,該批次的每個樣本被施加了唯一的損失項,對特定層的損失項進行了增強。對于具有 N 個批標準化層的網絡,該方法可以同時批量生成各種樣本,每種樣本在特定層上進行增強。我們可以將 L 替換為
,從而將 SDA 方法與 LSE 方法結合。
如圖3所示,通過上述兩個方法,我們解決了生成樣本的同質化問題,并增強了多樣性。
圖3.真實樣本和生成樣本的激活值統計量分布
Part 3 實驗
為了驗證該多樣化樣本生成方法在不同網絡架構,數據集和不同量化位寬上的效果,我們在 ImageNet 數據集上使用各種模型與離線量化方案進行了實驗。
表1中結果表明,在 ResNet-18 和 ResNet-50 上,DSG 在各種比特設置下優于 ZeroQ,尤其是在較低比特下。在某些設置下,甚至取得了超過真實數據的結果。
表1.在ResNet-18(a)和ResNet-50(b)上的對比實驗
表2結果表明,采用各種離線校準方法時,DSG 相比 ZeroQ 有一致的性能提升。
表2.ResNet-18上采用不同離線校準方法的實驗
為了進一步驗證 DSG 的有效性,我們驗證了使用最先進的離線量化方法(AdaRound)時的性能,如表3所示。實驗中,我們也使用了 Label 以及 Image Prior 方法。結果表明,DSG 依然帶來了性能上的提升。
表3.在ResNet-18上使用AdaRound的實驗
Part 4 總結
本文展示了一種新穎的用于精確無數據量化的樣本生成方法 DSG,該方案針對合成樣本在分布和樣本層面上的的同質化問題進行了剖析,提出了松弛對齊批標準化層分布 SDA 和層級樣本增強 LSE 兩個方法,共同增強了生成數據的多樣性。
事實表明,DSG 在各種網絡訓練架構和各種離線量化方法中表現出色,尤其在超低位寬條件下,效果大大優于現有技術。我們的工作揭示了現有無數據量化方法中普遍存在的問題,希望能為未來的研究帶來啟發。
Part 5 作者介紹
論文共同第一作者張祥國,北京航空航天大學碩士二年級,主要研究方向為模型量化壓縮與加速、硬件友好的深度學習,以第一作者發表計算機視覺頂級會議(CVPR)一篇。 論文共同第一作者秦浩桐,北京航空航天大學博士二年級,主要研究方向為模型量化壓縮與加速、硬件友好的深度學習。以第一作者發表頂級會議、期刊(ICLR,CVPR,PR)共4篇。個人主頁:https://htqin.github.io/
團隊信息
北航劉祥龍教授團隊近年來圍繞模型低比特量化、二值量化、量化訓練等方向做出了一系列具有創新性和實用性的研究成果,包括國際首個二值化點云模型 BiPointNet、可微分軟量化 DSQ、量化訓練、信息保留二值網絡 IR-Net 等,研究論文發表在 ICLR、CVPR、ICCV 等國際頂級會議和期刊上。主頁:http://sites.nlsde.buaa.edu.cn/~xlliu/
論文鏈接