Weighted-Entropy-based Quantization for Deep Neural Networks 论文笔记
---恢復內容開始---
- 摘要
量化被認為是優化神經網絡模型的推理成本的最有效方法之一,用于部署到具有嚴格資源限制的移動和嵌入式系統。在這種方法中,在嚴格的精度損失約束(例如,1%)下提供低成本量化是至關重要的。在本文中,我們提出了一種基于加權熵概念量化權重和激活的新方法。與最近關于二進制加權神經網絡的工作不同,我們的方法是多比特量化,其中權重和激活可以根據目標精度通過任意數量的比特量化。這有助于更靈活地利用由不同量化級別提供的準確性 - 性能權衡。此外,我們的方案提供了基于傳統訓練算法的自動量化流程,這大大減少了量化網絡的設計時間。根據我們基于用于圖像分類的實際神經網絡模型(AlexNet,GoogLeNet和ResNet-50/101),物體檢測(使用ResNet-50的R-FCN)和語言建模(LSTM網絡)的廣泛評估,我們的方法實現了模型大小和計算量顯著減少,精度損失最小。此外,與現有的量化方案相比,我們提供了更高的精度和類似的資源約束,并且需要更低的設計工作量。
- 動機
最近的研究表明,卷積或完全連接層中的大多數權重集中在零附近,導致鐘形分布。 激活值的分布是相似的,除了由于ReLU層激活值總是非負的。 現有量化方案基于這些特性以明智地分配量化級別。 例如,基于對數的量化(或LogQuant)通過將更多量化級別分配給接近零的值來利用接近零的權重的更密集分布。
除了權重/激活值的分布之外,我們還進行了一項關鍵觀察,即在量化期間還應考慮每個權重/激活值對最終結果的影響。 由于量化方法的目的是使用最少的量化級別來最小化精度劣化,因此考慮到量化每個值的實際影響允許我們開發更有效地使用每個量化級別的新方案。 更具體地說,我們的見解可歸納如下:
圖1說明了現有方法和建議方法如何為給定的權重分布分配水平。 雖然線性量化根本不考慮權重分布,而LogQuant將過多的level分配給接近零的值,但我們的方法顯示分布更集中于既不太小也不太大的值。 通過定量評估,我們稍后將展示這種量化方式比傳統方案實現更高的效率。
- 基于加權熵的量化
- 權重量化
我們的權重量化方法的高級思想是將權重分組為N個群集,以便為重要的權重范圍提供更多群集,為每個群集分配代表值,并將每個群集中的所有權重量化為代表值集群。 為此,我們必須能夠評估群集質量并找到一組優化此類質量度量的群集。
基于每個權重的這個重要性值,我們導出用于基于加權熵來評估聚類結果(即,量化結果)的質量的度量。 加權熵源于物理學中的熵概念,旨在將數據的重要性考慮在內。 對于一組簇C0,...,CN-1,加權熵S被定義為
在該等式中,Pn表示在簇Cn的值范圍內有多少權重,而In是簇Cn中所有權重的平均重要性。 粗略地說,用于大權重的簇通常具有高In但低Pn(即,高重要性但低頻率),而用于小權重的簇將具有高Pn但低In(即,高頻但低重要性)。 根據我們的實驗,找到一個最大化S的聚類結果會產生量級被稀疏地分配給太小或太大的值的量化效果,正如我們在圖1中所示。
算法1中顯示了我們對此問題的解決方案。請注意,該算法僅顯示非負權重的加權量化。 這是因為,由于加權熵理論的限制,我們無法獲得具有負代表值和非負代表值的聚類結果。 因此,我們將權重分為兩個負組和非負組,并將我們的算法應用于每個組,每組N / 2級。
在算法開始時,我們計算每個權重的重要性(第2和第3行)。 這是通過重要性映射函數fi完成的,該函數根據權重wk計算重要性ik。 在這項工作中,我們憑經驗選擇平方函數fi(w)= w2來計算每個權重的重要性。 在獲得所有權重的重要性值之后,它們按其幅度的遞增順序排序(第4行)。
?
---恢復內容結束---
- 摘要
量化被認為是優化神經網絡模型的推理成本的最有效方法之一,用于部署到具有嚴格資源限制的移動和嵌入式系統。在這種方法中,在嚴格的精度損失約束(例如,1%)下提供低成本量化是至關重要的。在本文中,我們提出了一種基于加權熵概念量化權重和激活的新方法。與最近關于二進制加權神經網絡的工作不同,我們的方法是多比特量化,其中權重和激活可以根據目標精度通過任意數量的比特量化。這有助于更靈活地利用由不同量化級別提供的準確性 - 性能權衡。此外,我們的方案提供了基于傳統訓練算法的自動量化流程,這大大減少了量化網絡的設計時間。根據我們基于用于圖像分類的實際神經網絡模型(AlexNet,GoogLeNet和ResNet-50/101),物體檢測(使用ResNet-50的R-FCN)和語言建模(LSTM網絡)的廣泛評估,我們的方法實現了模型大小和計算量顯著減少,精度損失最小。此外,與現有的量化方案相比,我們提供了更高的精度和類似的資源約束,并且需要更低的設計工作量。
- 動機
最近的研究表明,卷積或完全連接層中的大多數權重集中在零附近,導致鐘形分布。 激活值的分布是相似的,除了由于ReLU層激活值總是非負的。 現有量化方案基于這些特性以明智地分配量化級別。 例如,基于對數的量化(或LogQuant)通過將更多量化級別分配給接近零的值來利用接近零的權重的更密集分布。
除了權重/激活值的分布之外,我們還進行了一項關鍵觀察,即在量化期間還應考慮每個權重/激活值對最終結果的影響。 由于量化方法的目的是使用最少的量化級別來最小化精度劣化,因此考慮到量化每個值的實際影響允許我們開發更有效地使用每個量化級別的新方案。 更具體地說,我們的見解可歸納如下:
圖1說明了現有方法和建議方法如何為給定的權重分布分配水平。 雖然線性量化根本不考慮權重分布,而LogQuant將過多的level分配給接近零的值,但我們的方法顯示分布更集中于既不太小也不太大的值。 通過定量評估,我們稍后將展示這種量化方式比傳統方案實現更高的效率。
- 基于加權熵的量化
- 權重量化
我們的權重量化方法的高級思想是將權重分組為N個群集,以便為重要的權重范圍提供更多群集,為每個群集分配代表值,并將每個群集中的所有權重量化為代表值集群。 為此,我們必須能夠評估群集質量并找到一組優化此類質量度量的群集。
基于每個權重的這個重要性值,我們導出用于基于加權熵來評估聚類結果(即,量化結果)的質量的度量。 加權熵源于物理學中的熵概念,旨在將數據的重要性考慮在內。 對于一組簇C0,...,CN-1,加權熵S被定義為
在該等式中,Pn表示在簇Cn的值范圍內有多少權重,而In是簇Cn中所有權重的平均重要性。 粗略地說,用于大權重的簇通常具有高In但低Pn(即,高重要性但低頻率),而用于小權重的簇將具有高Pn但低In(即,高頻但低重要性)。 根據我們的實驗,找到一個最大化S的聚類結果會產生量級被稀疏地分配給太小或太大的值的量化效果,正如我們在圖1中所示。
算法1中顯示了我們對此問題的解決方案。請注意,該算法僅顯示非負權重的加權量化。 這是因為,由于加權熵理論的限制,我們無法獲得具有負代表值和非負代表值的聚類結果。 因此,我們將權重分為兩個負組和非負組,并將我們的算法應用于每個組,每組N / 2級。
在算法開始時,我們計算每個權重的重要性(第2和第3行)。 這是通過重要性映射函數fi完成的,該函數根據權重wk計算重要性ik。 在這項工作中,我們憑經驗選擇平方函數fi(w)= w2來計算每個權重的重要性。 在獲得所有權重的重要性值之后,它們按其幅度的遞增順序排序(第4行)。
?
轉載于:https://www.cnblogs.com/dushuxiang/p/10502333.html
總結
以上是生活随笔為你收集整理的Weighted-Entropy-based Quantization for Deep Neural Networks 论文笔记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: react中实现异步请求的方法一,rea
- 下一篇: appium---【Mac】Appium