ReLeQ 一種自動強化學習的神經網路深度量化方法

2021-09-11 14:55:33 字數 3103 閱讀 7392

量化作為壓縮的一種重要手段被廣泛應用,而位寬和準確率的矛盾也始終存在。目前解決的方法有如clip-q中的貝葉斯優化器,確定位寬。另乙個問題是量化值的選取,在lq-net中採取了交替訓練的方式。

如果將量化位寬的不同看作不同的決策,那麼就可以利用強化學習的思路進行選擇,releq就是其中的一種實現框架。不同層可能重要性不同,對準確率也有不同的敏感度。releq可以學習最終分類精度相對於每個層權重的量化級別的敏感度,從而確定每個層的位寬,同時保持分類精度。

每一層的位寬(bitwidth:q

bq_b

qb​)屬於集合

\中,通過確定位寬來訓練releq**(agent),同時考慮先前層在每個步驟的量化。確定dnn層的準確率敏感度需要了解先前層(previous layers』 )的位寬,層索引,層大小和關於權重分布的統計(如,標準差),即figure 2中layer specific的static內容。因此,使用lstm網路來考慮層之間的這種依賴關係。figure 2a顯示了releq**的狀態空間,分類如下:(i)每層唯一的層特定引數與特定於網路的引數,這些引數在**在訓練過程中表徵整個網路。(ii)在訓練過程中不會改變的靜態引數。在訓練過程中更改的動態引數取決於**在搜尋空間時所採取的操作。最後,除了層的屬性之外,狀態引數反映了關於量化和精度狀態的一些指示,其定義如下:

**提供一組離散的量化位寬,releq**從中選擇以獲得獎勵反饋。 如figure 2(b)所示,用於實現的一組位寬是1,2,3,4,5,但是也可以根據需要更改。

文章將獎勵函式(reward formulation)定義為兩個狀態的函式,分別是準確率狀態與量化狀態。 以下公式顯示了releq獎勵的制定,figure 2c顯示了公式的視覺化。

如figure 1所示,**逐個遍歷所有層,確定每一步的層的量化級別。 在針對給定步驟的每個動作之後,我們執行簡短的重訓練過程,並使用所得到的驗證準確率來計算獎勵。為了鼓勵較低的位元寬度量化並因此降低成本,**將所有層的平均量化與上述重新訓練的準確度相結合地計入獎勵。準確率獎勵由相對於全精度準確度的改進或維持的驗證準確度確定,而如果**減少層的位寬,則量化獎勵為正。 準確度獎勵和量化獎勵之間的相互作用使**能夠以最小的準確度損失對網路進行深度量化。

**由兩個網路組成,策略網路和價值網路。 所有狀態嵌入都作為輸入提供給lstm層,這作為策略和價值網路的第乙個隱藏層。 根據**的評估,lstm使releq**的收斂速度比沒有lstm的情況下快幾倍。 除了lstm之外,策略網路還有兩個完全連線的隱藏層,每個隱藏層有128個神經元,最終輸出層中的神經元數量等於**可以選擇的可用位寬數量。 而value網路有兩個完全連線的隱藏層,每層隱藏128個和64個神經元。 使用近端策略優化(ppo),用於更新策略和價值網路。

**測試了mnist,cifar10,svhn資料集,分別將這些網路量化為平均位寬分別為2.25,5和4,在所有情況下精度損失小於0.3%。

測試的網路都比較簡單,準確率損失的也不大。更多的結果在**中有詳細的說明。

**也進行了實驗來評估使用狀態嵌入的有效性。在每次迭代中,重複相同的實驗,同時省略一次嵌入狀態並保留其餘部分。觀察到層的尺寸/尺寸是最重要的收斂嵌入。層的標準差是第二重要引數。figure 5a顯示了lenet的收斂行為,其中權重方差作為狀態嵌入的一部分(基線結果),figure 5b顯示了權重方差從狀態嵌入中排除時的行為。其餘的狀態嵌入有助於加速收斂過程。

損失函式增加的自定義目標是為了增加泛化效能或對權重值施加一些偏好。以下小節中討論正則化的使用方式。

正則化是增強神經網路泛化效能的常用技術之一。 正則化通過向目標函式新增術語(正則化器)來有效地約束權重引數,該目標函式以軟方式捕獲期望的約束。 這是通過在優化過程中對權重更新施加某種偏好來實現的。最常用的正則化技術稱為權重衰減,其目的是通過限制權重的增長來降低網路複雜性。 通過在目標函式中新增乙個懲罰大權重值的術語來實現:

**提出了一種對量化有利的新型正則化。通過在原始目標函式中新增週期函式(正則化器)來實現所提出的正則化,如figure 6a。週期性正則化器具有對應於期望量化級別的週期性最小模式。通過基於給定層的特定位元數將週期與量化步長匹配來實現這種對應。其中e

oe_o

eo​是原始損失度量,而λ

q\lambda_q

λq​是乙個控制權重量化誤差有多強的引數。 w

ww是包含網路的所有引數的向量。

為了簡單和清楚起見,figure 6b和6c描繪了假設損耗表面(要最小化的原始目標函式)和2-d重量空間中的額外正則化項的幾何草圖。 對於重量衰減正則化,在圖6b中,褪色的圓形輪廓表明,當我們接近原點時,正則化損失最小化,但這種方式並不在量化點處於小值。而提出的量化友好正則化能在不同量化點處均有較低的正則化值,從而降低損失,加快收斂。

在figure 7上可以看出加上這一項起到的作用。

整體來看強化學習在量化中僅僅進行了選擇量化位寬的作用,而實際量化方式並沒有明確說明。所以感覺只是把原來的自動求位寬和剪枝率的方法變了。正則化這一項倒是很新穎,不過不能滿足非均勻量化。

強化學習的另一種策略(一)

強化學習在人工智慧技術中雖然不是十分的突出,但是強化學習也是乙個十分重要的技術,是乙個不容忽視的內容。大家是否知道,其實,強化學習還存在著另外一種策略,那就是反向強化學習,在這篇文章中我們就簡單給大家介紹一下這種反向強化學習的內容。首先我們給大家介紹一下反向強化學習基礎,反向強化學習也稱為模仿學習或...

學習強化學習之前需要掌握的3種技能

作者 nathan lambert 編譯 vk towards data science 現代強化學習幾乎完全集中在深度強化學習上。深度強化學習中的 深 一詞意味著在演算法的核心方面使用神經網路。神經網路在學習過程中進行一些高維近似。話雖如此,該模型並不需要具有許多層和特徵,這是乙個普遍的誤解,深層...

關於強化學習的一些思考

問1 增強學習的要素是什麼?答1 1 有限狀態集合s 2 有限動作集合a 3 轉移模型t,t s,a,s p s s,a 狀態s採取動作a後,狀態轉移到s 的概率 4 即時獎勵r,r s,a e rt 1 s,a 問2 增強學習的最終結果是什麼?答2 1 最優的policy 2 確定型策略 a s ...