一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

一文解析網(wǎng)絡(luò)壓縮算法的原理實(shí)現(xiàn)及結(jié)果

454398 ? 來(lái)源:AI加速微信公眾號(hào) ? 作者:AI加速微信公眾號(hào) ? 2020-11-14 10:51 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

引言

網(wǎng)絡(luò)壓縮在AI加速中可以說(shuō)起到“四兩撥千斤”的作用,網(wǎng)絡(luò)參數(shù)的減小不僅僅降低了存儲(chǔ)和帶寬,而且使計(jì)算邏輯簡(jiǎn)單,降低了LUT資源。從本篇開(kāi)始,我們就一起挖掘一下網(wǎng)絡(luò)壓縮算法的類型,原理,實(shí)現(xiàn),以及效果。寫這類算法類文章,一是學(xué)習(xí),二是希望能夠令更多做FPGA的人,不再將眼光局限于RTL,仿真,調(diào)試,關(guān)心一下算法,定會(huì)發(fā)現(xiàn)FPGA的趣味和神通。

網(wǎng)絡(luò)結(jié)構(gòu)

二值化網(wǎng)絡(luò),顧名思義,就是網(wǎng)絡(luò)參數(shù)只有兩個(gè)數(shù)值,這兩個(gè)數(shù)值是+1和-1。在DNN網(wǎng)絡(luò)中主要是乘和加法運(yùn)算,如果參數(shù)只有兩個(gè)數(shù)值,那么乘法的實(shí)現(xiàn)就很簡(jiǎn)單,僅僅需要符號(hào)判斷就可以了。比如輸入數(shù)據(jù)A,如果和1乘,不變;和-1乘,變?yōu)樨?fù)數(shù)。這用LUT很好實(shí)現(xiàn),還節(jié)省了DSP的使用。相對(duì)于單精度浮點(diǎn)數(shù),存儲(chǔ)減小16倍,帶寬也增加16倍。在計(jì)算單元數(shù)目相同情況下,比浮點(diǎn)運(yùn)算速率提高了16倍。當(dāng)然由于乘法和加法使用LUT數(shù)目減少,計(jì)算單元也會(huì)成倍增長(zhǎng),總的下來(lái)計(jì)算速率將大幅度提高。

網(wǎng)絡(luò)訓(xùn)練中使用的都是浮點(diǎn)類型參數(shù),這樣做是為了保證訓(xùn)練的精度。那么這些浮點(diǎn)類型的參數(shù)如何量化的只有兩個(gè)數(shù)值呢?論文中提出了兩種方法,第一種是粗暴型,直接根據(jù)權(quán)重參數(shù)的正負(fù),強(qiáng)行分出1和-1。即:

這里wb是二值參數(shù),w是實(shí)際權(quán)重參數(shù)。量化可以看做在原來(lái)數(shù)據(jù)基礎(chǔ)上增加了噪聲,導(dǎo)致數(shù)據(jù)間最短距離變大。比如原來(lái)數(shù)據(jù)的分辨率為R0,如果增加一個(gè)高斯噪聲s,那么其分辨率就增大了。這樣在DNN中矩陣乘法中也引入了噪聲,為:

數(shù)據(jù)分辨率的降低導(dǎo)致了有效信息的損失,但是在大量權(quán)重情形下,平均下來(lái)可以補(bǔ)償一定的信息損失,即如果有:

那么在權(quán)重?zé)o窮多時(shí),有:


圖1.1 數(shù)據(jù)增加了噪聲,導(dǎo)致數(shù)據(jù)分辨率降低

另外一種是隨機(jī)型,即以一定概率來(lái)選擇1和-1,論文中采用如下公式:

其中“hard sigmoid”函數(shù)為:

這實(shí)際上是對(duì)sigmoid函數(shù)進(jìn)行了線性化,這樣做的目的可以減少計(jì)算量。因?yàn)榫€性計(jì)算只有一個(gè)乘法和加法,而sigmoid函數(shù)有指數(shù)計(jì)算。使用隨機(jī)量化更能均衡化量化引入的噪聲,消除噪聲造成的信息損失。粗暴型量化可能因?yàn)闄?quán)重參數(shù)分布不同而發(fā)生較大的“不平衡”,比如負(fù)數(shù)權(quán)重較多,那么導(dǎo)致-1遠(yuǎn)遠(yuǎn)多于+1,這樣就會(huì)出現(xiàn)權(quán)重偏移在負(fù)方向多一些。如果使用隨機(jī)概率模型,即使負(fù)數(shù)權(quán)重多,也會(huì)有一定概率出現(xiàn)+1,彌補(bǔ)了+1較少的情況。

圖1.2 粗暴型和隨機(jī)型量化:隨機(jī)型量化的分布更加均勻

訓(xùn)練過(guò)程

訓(xùn)練過(guò)程主要包括三個(gè)部分:

1) 前向傳播:給定輸入數(shù)據(jù),一層一層的計(jì)算,前一層激活函數(shù)的結(jié)果作為下一層的輸入;

2) 反向傳播:計(jì)算每一層代價(jià)函數(shù)的梯度,從最后一層開(kāi)始計(jì)算,反向計(jì)算前一層,一直到計(jì)算出第一層的梯度值;

3) 更新參數(shù):根據(jù)計(jì)算出來(lái)的梯度和前一時(shí)刻的參數(shù),計(jì)算出下一時(shí)刻的參數(shù)。

計(jì)算過(guò)程可以用圖2.1表示:

圖2.1 訓(xùn)練過(guò)程

圖2.2 訓(xùn)練算法

每次量化發(fā)生在計(jì)算出浮點(diǎn)參數(shù)之后,然后在進(jìn)行前向計(jì)算,得到代價(jià)函數(shù),進(jìn)行反向計(jì)算代價(jià)函數(shù)梯度,接著利用前一刻參數(shù)計(jì)算出下一刻數(shù)據(jù),不斷迭代直到收斂。

結(jié)果

論文在三個(gè)數(shù)據(jù)集上進(jìn)行了測(cè)試:MNIST,CIFAR-10,SVHN。

MNIST有6萬(wàn)張內(nèi)容為0-9數(shù)字的訓(xùn)練圖片,以及1萬(wàn)張用于測(cè)試的28x28大小的灰度圖片。論文研究了兩種量化方式下訓(xùn)練時(shí)間,以及測(cè)試出錯(cuò)率。從中看出隨機(jī)量化出錯(cuò)率更低,更適合用于二值量化。

圖3.1 不同量化方式下的訓(xùn)練時(shí)間以及測(cè)試錯(cuò)誤率:點(diǎn)線表示訓(xùn)練誤差,連續(xù)線表示測(cè)試錯(cuò)誤率

CIFAR-10圖片內(nèi)容比MNIST復(fù)雜一些,包含了各種動(dòng)物。有5萬(wàn)張訓(xùn)練圖片和1萬(wàn)張32x32大小的測(cè)試圖片。

SVHN也是0-9數(shù)字圖片,含有604K張訓(xùn)練圖片和26K的32x32大小的測(cè)試圖片。以上三種數(shù)據(jù)集下使用二值網(wǎng)絡(luò)的結(jié)果如下圖:

圖3.2 三種數(shù)據(jù)集結(jié)果(錯(cuò)誤率)比較

從中看出二值網(wǎng)絡(luò)錯(cuò)誤率幾乎和其他網(wǎng)絡(luò)模型差不多,但是其大大壓縮了網(wǎng)絡(luò)模型。

結(jié)論

二值化網(wǎng)絡(luò)中參數(shù)只用兩個(gè)數(shù)值表示,實(shí)際上僅僅考慮了權(quán)重的符號(hào)作用。在三種小型簡(jiǎn)單的數(shù)據(jù)集上表現(xiàn)良好。

文獻(xiàn)

1 Matthieu Courbariaux, Y.B., Binary Connect Training Deep Neural Networks with binary weights during propagations. ArXiv preprint, 2016.

編輯:hfy


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1645

    文章

    22050

    瀏覽量

    618609
  • 算法
    +關(guān)注

    關(guān)注

    23

    文章

    4710

    瀏覽量

    95405
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    壓縮機(jī)式冷水機(jī):技術(shù)原理、應(yīng)用場(chǎng)景與行業(yè)創(chuàng)新

    價(jià)值與發(fā)展方向。、技術(shù)原理:蒸氣壓縮式制冷循環(huán)的核心邏輯壓縮機(jī)式冷水機(jī)基于蒸氣壓縮式制冷循環(huán),通過(guò)制冷劑在壓縮機(jī)、冷凝器、膨脹閥與蒸發(fā)器間
    的頭像 發(fā)表于 07-11 15:52 ?103次閱讀
    <b class='flag-5'>壓縮</b>機(jī)式冷水機(jī):技術(shù)原理、應(yīng)用場(chǎng)景與行業(yè)創(chuàng)新

    基于FPGA的壓縮算法加速實(shí)現(xiàn)

    本設(shè)計(jì)中,計(jì)劃實(shí)現(xiàn)對(duì)文件的壓縮及解壓,同時(shí)優(yōu)化壓縮中所涉及的信號(hào)處理和計(jì)算密集型功能,實(shí)現(xiàn)對(duì)其的加速處理。本設(shè)計(jì)的最終目標(biāo)是證明在充分并行化的硬件體系結(jié)構(gòu) FPGA 上
    的頭像 發(fā)表于 07-10 11:09 ?788次閱讀
    基于FPGA的<b class='flag-5'>壓縮</b><b class='flag-5'>算法</b>加速<b class='flag-5'>實(shí)現(xiàn)</b>

    嵌入式系統(tǒng)中的代碼優(yōu)化與壓縮技術(shù)

    以及資源利用效率。 、代碼優(yōu)化的重要性 嵌入式設(shè)備往往資源有限,如內(nèi)存空間小、處理器性能相對(duì)較弱。高效的代碼能夠在有限資源下實(shí)現(xiàn)更強(qiáng)大的功能。以智能家居中的溫度傳感器節(jié)點(diǎn)為例,其運(yùn)行的代碼若未經(jīng)優(yōu)化
    發(fā)表于 02-26 15:00

    解析工業(yè)互聯(lián)網(wǎng)

    電子發(fā)燒友網(wǎng)站提供《解析工業(yè)互聯(lián)網(wǎng).pptx》資料免費(fèi)下載
    發(fā)表于 02-20 16:42 ?1次下載

    百度搜索與心智能體平臺(tái)接入DeepSeek及心大模型深度搜索

    夠免費(fèi)使用DeepSeek和文心大模型的深度搜索功能。這功能不僅融合了先進(jìn)的搜索算法,還借助心大模型的強(qiáng)大能力,實(shí)現(xiàn)了對(duì)信息的深度挖掘和精準(zhǔn)匹配。用戶在進(jìn)行搜索時(shí),將能夠獲得更加全
    的頭像 發(fā)表于 02-17 09:14 ?642次閱讀

    什么是BP神經(jīng)網(wǎng)絡(luò)的反向傳播算法

    BP神經(jīng)網(wǎng)絡(luò)的反向傳播算法(Backpropagation Algorithm)是種用于訓(xùn)練神經(jīng)網(wǎng)絡(luò)的有效方法。以下是關(guān)于BP神經(jīng)網(wǎng)絡(luò)的反
    的頭像 發(fā)表于 02-12 15:18 ?775次閱讀

    解析路由器的奧秘

    在當(dāng)今數(shù)字化時(shí)代,互聯(lián)網(wǎng)已經(jīng)成為我們生活中不可或缺的部分。在這個(gè)龐大的網(wǎng)絡(luò)世界中,路由器作為連接不同網(wǎng)絡(luò)的關(guān)鍵設(shè)備,扮演著至關(guān)重要的角色。文檔君將為大家解析路由器的奧秘,讓您更好地理
    的頭像 發(fā)表于 01-09 15:37 ?825次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>文</b><b class='flag-5'>解析</b>路由器的奧秘

    EE-257:面向Blackfin處理器的引導(dǎo)壓縮/解壓縮算法

    電子發(fā)燒友網(wǎng)站提供《EE-257:面向Blackfin處理器的引導(dǎo)壓縮/解壓縮算法.pdf》資料免費(fèi)下載
    發(fā)表于 01-07 13:56 ?0次下載
    EE-257:面向Blackfin處理器的引導(dǎo)<b class='flag-5'>壓縮</b>/解<b class='flag-5'>壓縮</b><b class='flag-5'>算法</b>

    【「從算法到電路—數(shù)字芯片算法的電路實(shí)現(xiàn)」閱讀體驗(yàn)】+本介紹基礎(chǔ)硬件算法模塊實(shí)現(xiàn)的好書

    看下本書內(nèi)容簡(jiǎn)介,然后再瀏覽下各個(gè)章節(jié)的內(nèi)容。 從簡(jiǎn)介來(lái)看,本書也是關(guān)注最基礎(chǔ),最常用的那部分算法的電路實(shí)現(xiàn),比較貼合工程實(shí)踐,適合無(wú)基礎(chǔ)或者有定基礎(chǔ)的線工程人員閱讀。內(nèi)容選擇
    發(fā)表于 11-20 13:42

    【BearPi-Pico H3863星閃開(kāi)發(fā)板體驗(yàn)連載】LZO壓縮算法移植

    算法能夠在BearPi-Pico H3863正常實(shí)現(xiàn),但是壓縮算法還存在定的問(wèn)題,需要在研究。 解壓
    發(fā)表于 11-10 21:45

    AIGC算法解析及其發(fā)展趨勢(shì)

    AIGC(Artificial Intelligence Generated Content,人工智能生成內(nèi)容)算法是當(dāng)今前沿科技的代表,它利用人工智能技術(shù)和算法自動(dòng)生成各種形式的內(nèi)容。
    的頭像 發(fā)表于 10-25 15:35 ?1571次閱讀

    壓縮算法的類型和應(yīng)用

    壓縮算法種通過(guò)減少數(shù)據(jù)量來(lái)節(jié)省存儲(chǔ)空間或傳輸數(shù)據(jù)的技術(shù)。壓縮算法可以分為兩種類型:有損壓縮
    的頭像 發(fā)表于 10-21 13:50 ?921次閱讀

    Huffman壓縮算法概述和詳細(xì)流程

    Huffman壓縮算法種基于字符出現(xiàn)頻率的編碼算法,通過(guò)構(gòu)建Huffman樹,將出現(xiàn)頻率高的字符用短編碼表示,出現(xiàn)頻率低的字符用長(zhǎng)編碼表示,從而
    的頭像 發(fā)表于 10-21 13:48 ?905次閱讀

    使用qboot時(shí)選擇了壓縮率更高的zip算法,但是發(fā)現(xiàn)編譯報(bào)錯(cuò),為什么?

    在使用qboot時(shí)選擇了壓縮率更高的zip算法,但是發(fā)現(xiàn)編譯報(bào)錯(cuò),如下圖:
    發(fā)表于 09-26 07:22

    精準(zhǔn)捕捉拉曼信號(hào)——時(shí)間門控拉曼光譜系統(tǒng)實(shí)驗(yàn)結(jié)果深度解析

    在上篇的文章(詳見(jiàn)文末目錄:閃光科技推出高性能時(shí)間門控拉曼光譜系統(tǒng),為科學(xué)研究注入新動(dòng)力!),中,我們?cè)敿?xì)介紹了時(shí)間門控拉曼光譜系統(tǒng)的技術(shù)參數(shù)與應(yīng)用場(chǎng)景。本篇我們將為您深入解析我們通過(guò)該系統(tǒng)所獲
    的頭像 發(fā)表于 08-13 10:38 ?864次閱讀
    精準(zhǔn)捕捉拉曼信號(hào)——時(shí)間門控拉曼光譜系統(tǒng)實(shí)驗(yàn)<b class='flag-5'>結(jié)果</b>深度<b class='flag-5'>解析</b>