【知识星球】剪枝量化初完结,蒸馏学习又上线
歡迎大家來到《知識星球》專欄,這里是網(wǎng)絡(luò)結(jié)構(gòu)1000變小專題,模型壓縮是當(dāng)前工業(yè)界的核心技術(shù),我們這一個月一直在更新相關(guān)的內(nèi)容,剛剛更新完了一批剪枝和量化相關(guān)的文章,最近又開始更新蒸餾學(xué)習(xí)相關(guān)的內(nèi)容。
作者&編輯 | 言有三
1 剪枝
剪枝是一項(xiàng)古老的技術(shù),從上個世紀(jì)傳承至今,在學(xué)術(shù)界和工業(yè)界相關(guān)的研究工作都是很活躍的。剪枝根據(jù)不同的粒度有很多種,小到一個卷積連接,大到一個網(wǎng)絡(luò)層。
下面是Google關(guān)于剪枝的一個典型研究。
有三AI知識星球-網(wǎng)絡(luò)結(jié)構(gòu)1000變
To prune, or not to prune
本文探討了具有同樣大小的稀疏大模型和稠密小模型的性能對比,在圖像和語音任務(wù)上表明稀疏大模型普遍有更好的性能。
作者/編輯 言有三
模型剪枝是一項(xiàng)重要的模型壓縮技術(shù),它給網(wǎng)絡(luò)參數(shù)帶來了稀疏性,在開源框架中可以通過和權(quán)重矩陣大小相等的掩膜來實(shí)現(xiàn)。
那么,剪枝到底對性能會有什么影響呢?首先看Inception V3模型的實(shí)驗(yàn),在稀疏性分別為0%,50%,75%,87.5%時的結(jié)果,此時模型中非零參數(shù)分別是原始模型的1,0.5,0.25,0.128倍,即實(shí)現(xiàn)了1,2,4,8倍的壓縮。
可以看到,在稀疏性為50%,性能幾乎不變。稀疏性為87.5%時,指標(biāo)下降為2%。
上表展示了MobileNet的實(shí)驗(yàn)結(jié)果,分別比較更窄的MobileNet和更加稀疏的MobileNet的結(jié)果,可以發(fā)現(xiàn)稀疏的MobileNet性能明顯優(yōu)于稠密的MobileNet。
75%的Sparse Model比0.5倍寬的Dense Model在top-
1指標(biāo)上超出了4%,而且模型更小。90%的Sparse Model比0.25倍寬的Dense Model在top-1指標(biāo)上超出了10%,模型大小相當(dāng)。
從這里可以看出剪枝真的是一個非常有前途的課題,值得研究。
[1]?Zhu M, Gupta S. To prune, or not to prune: exploring the efficacy of pruning for model compression[J]. arXiv preprint arXiv:1710.01878, 2017.
其他相關(guān)的內(nèi)容如果感興趣可以移步有三AI知識星球。
2 量化
量化是深度學(xué)習(xí)模型在各大硬件平臺落地的重要基礎(chǔ)技術(shù),從全精度到8bit及以下的相關(guān)研究和實(shí)踐都非常多。早期的研究關(guān)注在訓(xùn)練后模型的權(quán)重量化,而現(xiàn)在更多的研究已經(jīng)集中在訓(xùn)練過程中同時完成量化,并且并不僅僅限制在模型的權(quán)重,而是從權(quán)重到激活,甚至是誤差和梯度,并且開始關(guān)注混合精度量化,下面是一個典型的研究。
有三AI知識星球-網(wǎng)絡(luò)結(jié)構(gòu)1000變
HAQ
HAQ(Hardware-Aware Automated Quantization with Mixed Precision)是一個自動化的混合精度量化框架,使用增強(qiáng)學(xué)習(xí)讓每一層都學(xué)習(xí)到了適合該層的量化位寬。
作者/編輯 言有三
不同的網(wǎng)絡(luò)層有不同的冗余性,因此對于精度的要求也不同,當(dāng)前已經(jīng)有許多的芯片開始支持混合精度。通常來說,淺層特征提取需要更高的精度,卷積層比全連接層需要更高的精度。如果手動的去搜索每一層的位寬肯定是不現(xiàn)實(shí)的,因此需要采用自動搜索策略。
另一方面,一般大家使用FLOPS,模型大小等指標(biāo)來評估模型壓縮的好壞,然后不同的平臺表現(xiàn)出來的差異可能很大,因此本文使用了新的指標(biāo),即芯片的延遲和功耗。
搜索的學(xué)習(xí)過程是代理Agent接收到層配置和統(tǒng)計(jì)信息作為觀察,然后輸出動作行為即權(quán)值和激活的位寬。其中一些概念如下:
(1) 觀測值-狀態(tài)空間,一個10維變量,如下:
(2) 動作空間,使用了連續(xù)函數(shù)來決定位寬,離散的位寬如下:
(3) 反饋,利用硬件加速器來獲取延遲和能量作為反饋信號,以指導(dǎo)Agent滿足資源約束。
(4) 量化,直接使用線性量化方法,其中s是縮放因子,clamp是截?cái)嗪瘮?shù)。
c的選擇是計(jì)算原始分布和量化后分布的KL散度,這也是很多框架中的做法。
(5) 獎勵函數(shù),在所有層被量化過后,再進(jìn)行1個epoch的微調(diào),并將重訓(xùn)練后的驗(yàn)證精度作為獎勵信號。
(6)代理,使用了深度確定性策略梯度(DDPG)方法。
下面我們看實(shí)驗(yàn)結(jié)果,這是延遲約束量化下的結(jié)果。
上圖是MobileNet-V1/V2模型在邊緣端和云端設(shè)備上的實(shí)驗(yàn)結(jié)果,與固定的8bit量化方法相比,分別取得了1.4倍到1.95倍的加速。
上圖分別是邊緣端和云端設(shè)備上MobileNet-V1各個網(wǎng)絡(luò)層的量化特點(diǎn),可以發(fā)現(xiàn)在邊緣端設(shè)備上depthwise卷積有更少的bits,pointwise有更多,在云端則是完全相反。這是因?yàn)樵圃O(shè)備具有更大的內(nèi)存帶寬和更高的并行性,而depthwise就是內(nèi)存受限的操作,pointwise則是計(jì)算受限的操作,MobileNet-V2上能觀察到同樣的特點(diǎn)。
另外還有能量約束和模型大小約束的結(jié)果,讀者可以讀原始論文獲取細(xì)節(jié)。
[1] Wang K, Liu Z, Lin Y, et al. HAQ: Hardware-Aware Automated Quantization with Mixed Precision[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2019: 8612-8620.
更多相關(guān)內(nèi)容感興趣請移步有三AI知識星球。
3 蒸餾學(xué)習(xí)
人類學(xué)習(xí)都需要一個經(jīng)驗(yàn)更加豐富的老師引導(dǎo),這一思想也可以更自然地遷移到深度學(xué)習(xí)模型的訓(xùn)練上,即知識蒸餾(Knowledge Distilling)技術(shù),由此引發(fā)了很多的相關(guān)研究,大佬云集。下面是Hinton研究組最早期的經(jīng)典方法。
有三AI知識星球-網(wǎng)絡(luò)結(jié)構(gòu)1000變
Knowledge Distilling
知識蒸餾(Knowledge Distilling)是一項(xiàng)重要的模型壓縮技術(shù),它將Teacher模型的知識遷移到了Student模型上,有著很廣泛的應(yīng)用。
作者/編輯 言有三
知識蒸餾法包含了一個大模型,也被稱為teacher模型,一個小模型,也被稱為student模型,teacher模型和student模型的訓(xùn)練是同時進(jìn)行的。
Hinton最早在文章“Distilling the knowledge in a neural network”中提出了這個概念,核心思想是一旦復(fù)雜網(wǎng)絡(luò)模型訓(xùn)練完成,便可以用另一種訓(xùn)練方法從復(fù)雜模型中提取出來更小的模型。
“蒸餾”的難點(diǎn)在于如何縮減網(wǎng)絡(luò)結(jié)構(gòu)但保留有效信息,文中以softmax分類為例子,T就是一個常量參數(shù):
當(dāng)T=1時,這就是softmax的定義,當(dāng)T>1,稱之為soft softmax,T越大,因?yàn)閆k產(chǎn)生的概率差異就會越小。
文中提出這個方法用于生成軟標(biāo)簽,然后將軟標(biāo)簽和硬標(biāo)簽同時用于新網(wǎng)絡(luò)的學(xué)習(xí)。當(dāng)訓(xùn)練好一個模型之后,模型為所有的誤標(biāo)簽都分配了很小的概率。然而實(shí)際上對于不同的錯誤標(biāo)簽,其被分配的概率仍然可能存在數(shù)個量級的懸殊差距。這個差距,在softmax中直接就被忽略了,但這其實(shí)是一部分有用的信息。文章的做法是先利用softmax loss訓(xùn)練獲得一個大模型,然后基于大模型的softmax輸出結(jié)果獲取每一類的概率,將這個概率,作為小模型訓(xùn)練時的標(biāo)簽,網(wǎng)絡(luò)結(jié)構(gòu)如上圖。真實(shí)的損失函數(shù)包含了硬標(biāo)簽(hard label)和軟標(biāo)簽(soft label)兩部分。
MNIST和JAT數(shù)據(jù)集上的結(jié)果都驗(yàn)證了該方法的有消性,如下圖:
[1] Hinton G, Vinyals O, Dean J. Distilling the knowledge in a neural network[J]. arXiv preprint arXiv:1503.02531, 2015.
更多蒸餾學(xué)習(xí)相關(guān)的內(nèi)容請移步有三AI知識星球,火熱更新中。
4 關(guān)于有三AI知識星球
有三AI知識星球是我們繼公眾號之后重點(diǎn)打造的原創(chuàng)知識學(xué)習(xí)社區(qū),有需要的同學(xué)可以閱讀下文了解生態(tài)。
大家可以預(yù)覽一些內(nèi)容如下,添加有三微信Longlongtogo加入可以優(yōu)惠。
以上所有內(nèi)容
加入有三AI知識星球即可獲取
來日方長
點(diǎn)擊加入
不見不散
更多精彩
每日更新
轉(zhuǎn)載文章請后臺聯(lián)系
侵權(quán)必究
往期精選
【知識星球】數(shù)據(jù)集板塊重磅發(fā)布,海量數(shù)據(jù)集介紹與下載
總結(jié)
以上是生活随笔為你收集整理的【知识星球】剪枝量化初完结,蒸馏学习又上线的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【摄像头与成像】长文详解RAW图的来龙去
- 下一篇: 【图像分类】 标签噪声对分类性能会有什么