日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【论文翻译_无数据知识蒸馏_元学习_2022】Up to 100× Faster Data-free Knowledge Distillation

發布時間:2023/12/20 编程问答 78 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【论文翻译_无数据知识蒸馏_元学习_2022】Up to 100× Faster Data-free Knowledge Distillation 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.


可以參考2021的另一篇解決相似問題的文章(Learning_Student_Networks_in_the_Wild)

摘要

data-free知識蒸餾(DFKD)由于其僅使用人造合成數據壓縮模型的能力,近年來越來越受到研究界的關注。盡管取得了令人鼓舞的成果,但最先進的DFKD方法仍然存在數據合成效率低下的問題,這使得無數據訓練過程非常耗時,因此不適用于大規模任務。在這項工作中,我們介紹了一種有效的方案,稱為FastDFKD,它允許我們將DFKD加速一個數量級。我們方法的核心是一種新的策略,即重用訓練數據中的共享公共特征,從而合成不同的數據實例。與之前獨立優化一組數據的方法不同,我們建議學習一個元合成器,它尋找共同的特征作為快速數據合成的初始化。因此,FastDFKD只需幾步就能實現數據合成,顯著提高了無數據訓練的效率。在CIFAR、NYV2和ImageNet上的實驗表明,所提出的FastDFKD實現了10×甚至100×加速,同時保持了性能上的先進水平。代碼在https://github.com/zju-vipa/Fast-Datafree.

1.介紹

最近,知識蒸餾(KD)已經成為一種流行的范例,可以重用如今流行于網絡上的預訓練模型。KD的目標是通過模仿經過培訓的教師的行為來訓練一個緊湊的學生模型,以便進行有效的推理(Hinton、Vinyals和Dean 2015;Yang等人2020;Fang等人2021a)。KD的傳統設置要求擁有原始訓練數據作為輸入,以便訓練學生。不幸的是,由于保密或版權原因,在許多情況下,原始數據無法發布,用戶只能使用預先訓練過的模型(Kolesnikov等人,2020年;Shen等人,2019年;Ye等人,2019年),這反過來又對將KD應用于更廣泛的領域造成了重大障礙 。

為了解決這個問題,提出了無數據知識提取(DFKD)方法,假設根本無法訪問訓練數據(Lopes、Fenu和Starner 2017), 由于對訓練數據的限制非常寬松,DFKD受到研究界越來越多的關注,包括計算機視覺(Chen et al.2019)、自然語言處理(Ma et al.2020)和圖形學習(Deng和Zhang 2021)。通常,DKFD遵循一種通過生成來提取的范式,在這種范式中,合成數據集通常是通過“反轉”預先培訓過的教師來進行培訓的(Yin等人,2019年)。為了學習一個可比較的學生模型,合成集應該包含足夠的樣本,以便教師能夠全面地傳授知識。因此,這對DFKD構成了重大挑戰,因為合成大規模數據集不可避免地非常耗時,尤其是對于像ImageNet識別(Yin等人2019)和COCO檢測(Chawla等人2021)這樣的復雜任務。

在本文中,我們引入了一種新的方法,稱為FastDFKD,以加速數據合成過程,從而使無數據知識提取更適用于大規模任務。我們的動機源于這樣一個事實:來自同一領域的數據實例通常共享一些公共特征,因此這些共享特征應該被顯式地用于數據合成。例如,“毛發”的紋理可能經常出現在動物數據集中,因此可以重復使用以創建不同的實例。不幸的是,現有的DFKD方法主要集中于獨立合成樣本,事實上,現有的DFKD方法都沒有探索利用特征共享,這使得DFKD過程非常繁瑣。

另一方面,所提出的FastDFKD方法表達性地探索了用于合成的樣本之間的共同特征。FastDFKD遵循基于批次的數據合成策略(Yin等人2019;Fang等人2021b);然而,與之前獨立合成不同樣本的方法不同,FastDFKD專注于一個“學習合成”問題,在這個問題上,高效的合成器經過明確訓練,可以捕捉快速適應的共同特征。公共特征共享的優點是,我們不需要為每個實例重復合成它們,這顯著提高了合成效率。

具體而言,我們在Metal-Learning框架(Finn、Abbeel和Levine 2017)下開發了FastDFKD,旨在學習合成過程中的元生成器。FastDFKD包括兩個優化循環:外循環和內循環。內部循環用于數據合成過程,其中通過調整和重新組織公共特征來創建一組樣本。另一方面,外部循環使用內部循環的結果更新公共特性,以實現更好的元初始化。如圖1所示,這樣的元合成器在無數據蒸餾的情況下顯著提高了數據合成的效率,同時保持了與現有技術相一致的性能。正如我們的實驗所證明的那樣,與現有技術相比,FastDFKD能夠實現10倍的速度,在某些情況下甚至超過100倍的速度。

因此,我們的貢獻是一種新的DFKD方案,稱為FastDFKD,它允許我們通過公共特征重用顯著加速無數據訓練。在CIFAR、ImageNet和NYUv2數據集上的實驗結果表明,FastDFKD的性能與最新技術相當,同時與現有方法相比,其加速系數為10,有時甚至超過100。

圖1:CIFAR-100數據集上學生模型與GPU數據合成小時數的準確性(%)。我們的方法,稱為“快”,達到了10×100×加速度和性能與現有方法席上。

2.相關工作

無數據知識蒸餾:無數據知識提取的目的是從預先訓練的教師模型中訓練出一個緊湊的學生模型,而不需要訪問原始的訓練數據。它通常遵循一種通過生成提取的范例,在這種范例中,一個虛假的數據集將被合成并用于學生培訓。在文獻中,Lopes等人提出了第一種無數據的知識提取方法,該方法利用原始訓練數據的統計信息在知識提取過程中重建合成集(Lopes、Fenu和Starner 2017)。這項開創性的工作催生了幾部作品,在檢測(Chawla等人2021年)、分割(方等人2019年)、文本分類(馬等人2020年)、圖形分類(鄧和張2021年)和聯合學習(朱、洪和周2021年)等多項任務上取得了令人印象深刻的進步。盡管取得了令人印象深刻的進展,但DFKD中仍然存在一個令人煩惱的問題,即數據合成效率低下,這使得無數據訓練非常耗時。例如,(Luo等人,2020年)訓練1000個生成器壓縮ImageNet預訓練的ResNet-50,以及(Yin等人,2019年)優化大量小批量數據合成。在這項工作中,我們重點研究了這個尚未得到充分研究的問題,即DFKD的效率,并提出了第一種加速無數據訓練的方法。

元學習:元學習是一種流行的少鏡頭學習框架(Hospedales et al.2020),它遵循“learning to learn”范式,為目標任務找到一個有用的初始化。在各種元學習算法中,MAML是最具影響力的方法之一,因為它在多個基準測試中取得了令人印象深刻的結果(Finn、Abbeel和Levine 2017;Nichol、Achiam和Schulman 2018)。作為一種基于優化的元學習方法,MAML引入了兩個優化循環來處理一組相關的任務:一個用于任務學習的內循環和一個用于訓練meta-learner的外循環。內部和外部循環經過協作培訓,以找到可以快速適應不同任務的元初始化,其中跨任務的一些一般知識由meta-learner獲取(Finn、Abbeel和Levine 2017)。受元學習“learning to learn”范式的啟發,我們開發了一種快速方法來訓練DFKD問題的元合成器,該方法可以快速適應快速數據合成。

3.方法

問題設置
給定一個教師模型ft(x;θt),在一個標記但不可訪問的訓練集上預先訓練Dt=Σni{(xi,yi)|xi∈X,yi∈ Y}(參考: ),無數據知識蒸餾(DFKD)的目標是通過反轉預先訓練的模型的N個樣本構建一個合成數據集D=Σni{xi|xi∈X} ,可以通過模仿教師的行為來訓練可比較的學生模型fs(X;θs)。通常,D的合成由預先訓練的反轉loss驅動L:X→ R、 根據預培訓教師模型中的一些統計信息,這表明輸入樣本x是否來自培訓領域(Yin等人,2019年)。因此,單個數據點x的優化可以形式化如下:

為了獲得大小為N的完整合成集D‘={x1,x2,…,xN},DFKD重復上述優化以構造一組樣本,這將導致一系列方程1形式的優化問題。值得注意的是,不同實例xi的損失函數,表示為Li,可以是不同的,因此可以構造多樣的數據集D來從教師那里獲取全面的知識。為此,我們考慮DFKD的一個廣義數據合成問題,它利用一組反轉 loss:L= {L1,L2,…,LN}來處理合成數據集,如下:

在DFKD中,求解方程2的一種常用方法是以一批一批的方式直接優化不同的樣本(Yin等人2019;Fang等人2019;Chawla等人2021)。如圖2(a)所示,基于批處理的方法合成不同的獨立的實例,只考慮樣本之間的關系。盡管取得了令人鼓舞的結果,但DFKD方法通常存在數據合成效率低下的問題,因為制作大規模數據集需要解決方程1中的大量優化問題,每個問題都需要數千步才能收斂(Yin等人,2019年)。通常,來自同一領域的數據可能共享一些共同的特征,這些特征可以被重用以合成不同的樣本。在這項工作中,我們提出了FastDFKD,這是一種新的、有效的學習共同特征的方法,可以加速方程2的優化。


圖2:提出的元特征重用圖,以及它與其他合成策略的區別。(a) 數據實例獨立合成,無需特征重用;(b) 數據實例是按順序合成的,重復使用以前的結果作為初始化。(c) 建議的公共特征重用學習元生成器以實現快速自適應。

無數據知識蒸餾
綜述:我們提出的方法的核心是重用公共特征。我們的動機源于這樣一個事實:來自同一領域的數據通常共享一些可重用的模式,這些模式可以被重用以合成不同的實例。以下各節從生成的角度為公共特征開發了一個新的定義,并建議FastDFKD通過元學習過程捕捉公共特征以進行快速合成。

相同特征:作為實現快速無數據訓練的關鍵步驟,需要明確定義公共特征,以構建網絡訓練的優化目標。如圖2(b)所示,一種簡單的重用策略是順序特征重用,在之前的合成中學習到的特征直接用作初始化來制作新樣本。然而,這樣一個簡單的方案會有問題,因為學習到的特征只來自一個數據點,這可能并不總是可用于其他樣本。為了解決這個問題,我們從生成的角度對公共特征進行了更自然的定義。讓我們考慮生成碼G(z;θ),它具有潛(latent)代碼Z和可訓練參數θ,滿足每個樣本xi∈ D’,可以發現潛代碼Zi生成xi= G(Zi;θ)。生成器描述了不同實例xi的生成過程。在某種程度上,一組樣本D’={x1,x2,…,xN}之間是否存在共同特征通常與不同數據實例的相似性高度相關,這意味著如果我們能夠找到使不同樣本的代碼z={z1,z2,…,zN}在潛在空間中接近的最佳參數θ,生成器可以隱式捕獲共同特征?;诖?#xff0c;可以通過解決以下問題來學習共同特征:

其中dz和dx指latent空間和輸入空間中的距離度量。上述優化旨在找到數據集D’的生成過程,該數據集在潛在latent空間中的z距離盡可能小,這樣,通過學習到的公共特征,可以通過在潛在代碼z中導航有效地獲得不同的樣本。然而,在無數據設置下,合成數據集D‘在我們合成它之前是不可用的。因此,我們用DFKD的反演損失L替換等式3的dx上定義的第二項,這導致了公共特征學習的無數據目標:
然而,由于生成模型的容量有限,且GAN訓練困難,學習一個完美的生成器來同時合成完整的合成集D’幾乎是困難的(Luo等人,2020)。為了解決這個問題,我們對等式4做了一些放寬,并且不強制生成器G捕獲整個數據集的所有特征。相反,我們訓練了一個生成器,允許快速適應k步梯度下降中的不同樣本,這自然會導致元學習問題。

元生成器:等式4很難優化,因為它需要用一個生成網絡生成完整的數據集D‘,包括許多不可重用的特性。相反,我們可以訓練一個只包含公共特征的生成器,并為數據合成過程動態合成其他缺失的特征,如圖2(c)所示。具體而言,我們放松了公共特征學習的目標,以訓練一個輕量級生成器,該生成器可以適應在k-step中合成不同的實例,形式化為元學習問題:

其中是元學習的內循環,它指的是從θ的估計值和代碼Z^初始化的k步優化,用于合成XI。內部循環可以展開,如下所示:

值得注意的是,等式5的作用與等式4中的公共特征損失類似。內環,即k步自適應,旨在通過顯式優化等式4的第二項來學習用于合成的生成器。另一方面,外循環試圖通過隱式優化等式4的第一項,使不同的樣本在k步優化中可達。

優化:優化方程6自然會導致元學習問題,需要一個有用的初始化(?z,?θ)來快速適應。經過k步梯度下降,我們得到了一組新的參數,在損失函數Li的指導下,它提供了梯度θ,如下所示:

其中θ? = U kLi(?z;?θ)指使用等式6的k步自適應的優化結果,x?i=G(z*i;θ?i)=G(U kLi(?z;?θ))是指在損失Li指導下的合成結果。然而,請注意,等式6中的k步自適應涉及k梯度更新:

式中,gk指在等式6的第k步計算的梯度,這將高階梯度引入生成器訓練,并使反向傳播非常低效。受元學習領域先前工作(Nichol、Achiam和Schulman 2018)的啟發,我們應用一階近似來進一步加速梯度計算,將3中的高階梯度視為常數,并用恒等式映射替換U’i(?θ)。在這種情況下,方程式7中的梯度計算僅涉及一階梯度,可簡化如下:

一階近似直接使用內部循環中自適應生成器上計算的梯度來更新元生成器。此外,還有一種更有效的梯度近似,稱為爬行動物(Nichol、Achiam和Schulman 2018),可以通過使用自適應生成器和元生成器之間的參數差近似等式9中的梯度來實現,這進一步將等式9簡化為 :
綜上所述,元生成器的優化如下所示:

方法總結
算法1總結了該方法,包括三個階段:1)數據合成的k步自適應;2) 共同特征學習的元學習步驟;3) 通過優化如下式的KL偏差來更新學生模型的一些KD步驟:
其中B是從合成集合D’中取樣的小批量。該方法允許較小的k值進行數據合成,顯著提高了DFKD的效率。

4.實驗

見原文

總結

以上是生活随笔為你收集整理的【论文翻译_无数据知识蒸馏_元学习_2022】Up to 100× Faster Data-free Knowledge Distillation的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。