真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網站制作重慶分公司

如何使用BatchNormalization折疊來加速模型推理

這期內容當中小編將會給大家?guī)碛嘘P如何使用Batch Normalization折疊來加速模型推理,文章內容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

發(fā)展壯大離不開廣大客戶長期以來的信賴與支持,我們將始終秉承“誠信為本、服務至上”的服務理念,堅持“二合一”的優(yōu)良服務模式,真誠服務每家企業(yè),認真做好每個細節(jié),不斷完善自我,成就企業(yè),實現(xiàn)共贏。行業(yè)涉及成都辦公空間設計等,在網站建設、營銷型網站、WAP手機網站、VI設計、軟件開發(fā)等項目上具有豐富的設計經驗。

導讀  

如何去掉batch normalization層來加速神經網絡。

 

介紹

Batch Normalization是將各層的輸入進行歸一化,使訓練過程更快、更穩(wěn)定的一種技術。在實踐中,它是一個額外的層,我們通常添加在計算層之后,在非線性之前。它包括兩個步驟:

  • 首先減去其平均值,然后除以其標準差
  • 進一步通過γ縮放,通過β偏移,這些是batch normalization層的參數,當網絡不需要數據的時候,均值為0、標準差為1。

如何使用Batch Normalization折疊來加速模型推理

Batch normalization在神經網絡的訓練中具有較高的效率,因此得到了廣泛的應用。但它在推理的時候有多少用處呢?

一旦訓練結束,每個Batch normalization層都擁有一組特定的γ和β,還有μ和σ,后者在訓練過程中使用指數加權平均值進行計算。這意味著在推理過程中,Batch normalization就像是對上一層(通常是卷積)的結果進行簡單的線性轉換。

由于卷積也是一個線性變換,這也意味著這兩個操作可以合并成一個單一的線性變換!這將刪除一些不必要的參數,但也會減少推理時要執(zhí)行的操作數量。

 

在實踐中怎么做?

用一點數學知識,我們可以很容易地重新對卷積進行排列來處理batch normalization。提醒一下,對一個輸入x進行卷積之后再進行batch normalization的運算可以表示為:

如何使用Batch Normalization折疊來加速模型推理

那么,如果我們重新排列卷積的Wb,考慮batch normalization的參數,如下:

如何使用Batch Normalization折疊來加速模型推理

我們可以去掉batch normalization層,仍然得到相同的結果!

注意:通常,在batch normalization層之前的層中是沒有bias的,因為這是無用的,也是對參數的浪費,因為任何常數都會被batch normalization抵消掉。

 

這樣做的效果怎樣?

我們將嘗試兩種常見的架構:

  • 使用batch norm的VGG16
  • ResNet50

為了演示,我們使用ImageNet dataset和PyTorch。兩個網絡都將訓練5個epoch,看看參數數量和推理時間的變化。

 

1. VGG16

我們從訓練VGG16 5個epoch開始(最終的準確性并不重要):

如何使用Batch Normalization折疊來加速模型推理

參數的數量:

如何使用Batch Normalization折疊來加速模型推理

單個圖像的初始推理時間為:

如何使用Batch Normalization折疊來加速模型推理

如果使用了batch normalization折疊,我們有:

如何使用Batch Normalization折疊來加速模型推理

以及:

如何使用Batch Normalization折疊來加速模型推理

8448個參數被去掉了,更好的是,幾乎快了0.4毫秒!最重要的是,這是完全無損的,在性能方面絕對沒有變化:

如何使用Batch Normalization折疊來加速模型推理

讓我們看看它在Resnet50的情況下是怎么樣的!

 

2. Resnet50

同樣的,我們開始訓練它5個epochs:

如何使用Batch Normalization折疊來加速模型推理

初始參數量為:

如何使用Batch Normalization折疊來加速模型推理

推理時間為:

如何使用Batch Normalization折疊來加速模型推理

使用batch normalization折疊后,有:

如何使用Batch Normalization折疊來加速模型推理

和:

如何使用Batch Normalization折疊來加速模型推理

現(xiàn)在,我們有26,560的參數被移除,更驚訝的hi,推理時間減少了1.5ms,性能一點也沒降。

如何使用Batch Normalization折疊來加速模型推理

上述就是小編為大家分享的如何使用Batch Normalization折疊來加速模型推理了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


當前標題:如何使用BatchNormalization折疊來加速模型推理
文章地址:http://weahome.cn/article/gioeij.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部