CVPR 2022 | 這個(gè)自蒸餾新框架新SOTA,降低了訓練成本,無(wú)需修改網(wǎng)絡(luò )
OPPO 研究院聯(lián)合上海交通大學(xué)提出的新的自蒸餾框架DLB,無(wú)需額外的網(wǎng)絡(luò )架構修改,對標簽噪聲具有魯棒性,并可大幅節約訓練的空間復雜度,在三個(gè)基準數據集的實(shí)驗中達到了 SOTA 性能。
深度學(xué)習促進(jìn)人工智能(AI)領(lǐng)域不斷發(fā)展,實(shí)現了許多技術(shù)突破。與此同時(shí),如何在有限硬件資源下挖掘模型潛能、提升部署模型的準確率成為了學(xué)界和業(yè)界的研究熱點(diǎn)。其中,知識蒸餾作為一種模型壓縮和增強的方法, 將泛化能力更強的「大網(wǎng)絡(luò )模型」蘊含的知識「蒸餾」到「小網(wǎng)絡(luò )模型」上,來(lái)提高小模型精度,廣泛地應用于 AI 領(lǐng)域的全監督、半監督、自監督、域遷移等各個(gè)方向。
近日, OPPO 研究院聯(lián)合上海交通大學(xué)將視角聚焦到知識蒸餾的范式本身,提出了新的自蒸餾框架:DLB(Self-Distillation from Last Mini-Batch),模型無(wú)需額外的網(wǎng)絡(luò )架構修改,對標簽噪聲具有魯棒性,并大幅節約訓練的空間復雜度。此外,在三個(gè)基準數據的實(shí)驗中,模型達到了 SOTA 性能。相關(guān)論文「Self-Distillation from the Last Mini-Batch for Consistency Regularization」已被 CVPR 2022 收錄。
論文鏈接:https://arxiv.org/pdf/2203.16172.pdf
DLB 自蒸餾框架
如何減少蒸餾計算復雜度?
知識蒸餾通??梢詣澐譃槿?lèi),即離線(xiàn)蒸餾、在線(xiàn)蒸餾和自蒸餾。其中,自蒸餾具有訓練輕量、知識遷移效率高的特點(diǎn),最近受到更多研究者的重視。
圖 1:本文方法與其他自蒸餾方法的比較
但是傳統的自蒸餾,例如 Be Your Own Teacher,在模型訓練過(guò)程中需要對模型結構進(jìn)行修改。除此以外,訓練成本高、計算冗余且效率低下也是自蒸餾需要攻克的難題。
為了解決上述難題,讓模型更好地部署到手機等終端設備中,OPPO 研究院和上海交通大學(xué)的研究員們提出了 DLB 自蒸餾框架。利用訓練時(shí)前后 Batch 預測結果的一致性,在無(wú)需對模型進(jìn)行網(wǎng)絡(luò )結構修改的前提下,就能降低訓練復雜度,增強模型泛化能力。
1. 本文的任務(wù)
提出更加輕量的自蒸餾方式,降低訓練的計算復雜度,提高模型準確率和泛化性。
2. 本文創(chuàng )新與貢獻
提出 DLB,通過(guò)保存與下個(gè) Batch 部分樣本重疊的軟目標(soft targets)進(jìn)行自蒸餾。節省計算內存,并且簡(jiǎn)化訓練流程。
讓訓練樣本的每次前向過(guò)程都與一次反向傳播過(guò)程相關(guān)聯(lián),從而提升學(xué)習效率。
實(shí)驗分析了 DLB 訓練方法的動(dòng)態(tài)影響,發(fā)現其正則化效果來(lái)源于即時(shí)生效的平滑標簽帶來(lái)的訓練一致性,為自蒸餾的理論研究提供了實(shí)驗基礎。
DLB 自蒸餾框架訓練機制
DLB 在訓練階段的每個(gè) iteration 中,目標網(wǎng)絡(luò )扮演著(zhù)「教師」和「學(xué)生」的雙重角色。其中,教師的作用是生成下一個(gè) iteration 的軟目標進(jìn)行正則化;學(xué)生的作用是從前一個(gè) iteration 平滑的標簽中蒸餾,并最小化監督學(xué)習目標。
數據集定義為,包含 n 個(gè)樣本的 Batch 定義為:
,以圖像分類(lèi)為例,圖片先進(jìn)行數據增強,然后將其輸入神經(jīng)網(wǎng)絡(luò ),優(yōu)化預測輸出與真值間的交叉熵損失:
上式中 p_i 的表達式如下:
θ為網(wǎng)絡(luò )參數,K 表示分類(lèi)類(lèi)別數,τ表示溫度。
為了提高泛化能力,傳統的 vanilla 知識蒸餾通過(guò)額外優(yōu)化的 KL 散度損失來(lái)遷移預先訓練好的 teacher 網(wǎng)絡(luò )的知識,即:
不同于以往采用預先訓練 teacher 模型的方式生成(P_i^τ ) ?,DLB 采用訓練中前一個(gè) Batch 蘊含的信息生成(P_i^τ ) ?,并將其作為正則化的即時(shí)平滑標簽。
圖 2:DLB 訓練方式示意圖
如圖 2 所示,數據樣本在第 t 次迭代時(shí)的定義為,神經(jīng)網(wǎng)絡(luò )的參數為θ_t。
B_t 和 B_(t-1)是通過(guò)使用數據采樣器獲得,在前向過(guò)程后計算 L_CE。每個(gè)小批次的一半限制為與上一個(gè) iteration 一致,其余一半與下一個(gè) iteration 一致。之后,前半部分小批次利用上一個(gè) iteration 中生成的動(dòng)態(tài)軟目標進(jìn)行學(xué)習。即由 t-1 次迭代的軟標簽(soften labels)
生成。因此,引入的正則化損失公式如下:
存儲平滑標簽只需要很少的額外內存成本,所以帶來(lái)的額外計算成本很低。整體損失函數由下式表示:
綜上,DLB 算法整體的訓練的偽代碼如下所示:
實(shí)驗設置
研究員們采用三個(gè)圖像分類(lèi)基準數據集評估性能,包括 CIFAR-10、CIFAR-100TinyImageNet。實(shí)驗結果都達到了最佳性能,如下表所示:
具體而言,在平均錯誤率層面, DLB 在 CIAFR-100 改進(jìn)幅度為 0.83% 至 2.50%,在 CIFAR-10 上為 0.37% 至 1.01%,在 TinyImageNet 上為 0.81% 至 3.17。值得一提的是,DLB 的表現明顯優(yōu)于 Tf-KD 和 PS-KD,這證明了 DLB 在模型泛化提升上的優(yōu)勢。
為了評估 DLB 與基于數據增強正則化方法的兼容性,研究員在 CIFAR-10 和 CIFAR-100 上將 DLB 與 CutMix、CutOut 和 DDGSD 相結合。如下所示,實(shí)驗表明通過(guò)結合 DLB 和基于增強的正則化,可以實(shí)現額外的性能增益。
為了證明魯棒性,研究員在訓練之前向 CIFAR-100、CIFAR-10 隨機注入標簽噪聲,實(shí)驗結果如下圖所示,DLB 可以有效地抵抗標簽噪聲并提高整體性能。
結語(yǔ)
本文提出了一種基于自蒸餾思想的深度學(xué)習訓練策略,將自蒸餾思想融入到模型訓練過(guò)程中,對傳統知識蒸餾進(jìn)行改進(jìn),無(wú)需額外預先訓練 teacher 的過(guò)程。通過(guò)在三個(gè)基準數據集上進(jìn)行實(shí)驗,多維度論證了 DLB 訓練策略的有效性與普適性。
當下,深度學(xué)習網(wǎng)絡(luò )模型結構復雜度不斷提升,使用有限硬件資源開(kāi)發(fā)和部署 AI 模型成為新的科研問(wèn)題。在本文中,研究員設計的 DLB 訓練策略,在某種程度上解決了「不增加模型復雜度,提高模型準確率」這一業(yè)界難題。
未來(lái),OPPO 將持續研發(fā)該算法,并將其賦能到相關(guān)業(yè)務(wù)場(chǎng)景中,不斷提升 OPPO 產(chǎn)品的用戶(hù)體驗。
*博客內容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀(guān)點(diǎn),如有侵權請聯(lián)系工作人員刪除。
伺服電機相關(guān)文章:伺服電機工作原理
電容式接近開(kāi)關(guān)相關(guān)文章:電容式接近開(kāi)關(guān)原理 接近開(kāi)關(guān)相關(guān)文章:接近開(kāi)關(guān)原理