吴忠躺衫网络科技有限公司

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

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

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

神經(jīng)網(wǎng)絡(luò)在FPGA上的應(yīng)用:深度壓縮方法

454398 ? 來源: AI加速 ? 作者:韓松 ? 2020-11-21 11:00 ? 次閱讀

引言

這篇論文來自文章也幫助深鑒科技在國(guó)內(nèi)外獲得了一定知名度。深度壓縮首先通過剪枝減少了網(wǎng)絡(luò)的連接,然后通過比特量化來降低權(quán)重量,最后通過無損壓縮方式霍夫曼編碼來縮小存儲(chǔ)空間。作者分別對(duì)AlexNet和VGG-16進(jìn)行了實(shí)驗(yàn),獲得了35倍和49倍的壓縮量,而且精度幾乎沒有損失。

1. 原理

深度壓縮之所以獲得成功主要是結(jié)合了三種壓縮方法:剪枝,量化和無損壓縮霍夫曼編碼,而且在大的數(shù)據(jù)集和深度神經(jīng)網(wǎng)絡(luò)中獲得了較高壓縮比以及精度未降。前兩種方法不僅僅降低了權(quán)重?cái)?shù)量,也提高了計(jì)算速率。而霍夫曼編碼只是能夠降低存儲(chǔ)空間,在實(shí)際計(jì)算的時(shí)候還需要進(jìn)行解碼操作,實(shí)際上不會(huì)提高計(jì)算率。

以上三種方法用圖來表示為三個(gè)過程:


這三個(gè)方法一次順序進(jìn)行,每個(gè)過程都單獨(dú)進(jìn)行。

2. 剪枝

首先進(jìn)行剪枝操作,也是很傳統(tǒng)的方法,就是通過一定策略來過濾掉一些不重要的神經(jīng)網(wǎng)絡(luò)連接。然后再重新訓(xùn)練進(jìn)行參數(shù)微調(diào),不斷重復(fù)這個(gè)過程直到不能夠再進(jìn)行剪枝為止。剪枝后的神經(jīng)網(wǎng)絡(luò)連接大大減少,剩下的都是對(duì)網(wǎng)絡(luò)分類有最重要貢獻(xiàn)的連接。其他被剪掉的連接的參數(shù)很小,產(chǎn)生的數(shù)值對(duì)結(jié)果影響可以通過重新訓(xùn)練來微調(diào)其他參數(shù)而彌補(bǔ)。在imageNet數(shù)據(jù)集上,剪枝方法可以將AlexNet的參數(shù)數(shù)量減少9倍而沒有精度上的損失。VGG-16同樣有類似的現(xiàn)象,參數(shù)總量可以減少13倍左右而沒有精度損失。



3. 量化

接下來在剪枝網(wǎng)絡(luò)上做進(jìn)一步量化操作。基本思路是權(quán)重共享和聚類。假設(shè)給定了k個(gè)類,這是權(quán)重參數(shù)量化后可能產(chǎn)生的k個(gè)值,然后對(duì)權(quán)重執(zhí)行聚類操作,聚類方法選擇了k-means方式。然后會(huì)得到k個(gè)區(qū)間,這些權(quán)重參數(shù)都分布在這k個(gè)區(qū)間中。然后用對(duì)應(yīng)k個(gè)區(qū)間的數(shù)值來替代原來的權(quán)重?cái)?shù)據(jù)。K個(gè)數(shù)值通常需要log2(k)比特來表示。這樣就從原來的32bit降低到了log2(k)。

以下為k-means方法的目標(biāo)函數(shù):


作者在同一層網(wǎng)絡(luò)上進(jìn)行權(quán)重共享,不同層之間的權(quán)重分別進(jìn)行聚類。為什么不同層之間的權(quán)重不能夠進(jìn)行共享?可以這樣想,權(quán)重之所以可以共享和量化,是因?yàn)槠浔磉_(dá)的信息有一些共性,從數(shù)學(xué)上看同一層權(quán)重之間是以“求和”方式連接的,而不同層時(shí)間是“相乘”關(guān)系,后者有一定順序性,無法做到共享。否則會(huì)導(dǎo)致較高錯(cuò)誤率,而且層與層之間還有激活函數(shù),歸一化函數(shù),不能簡(jiǎn)單的進(jìn)行共享。

訓(xùn)練也進(jìn)行了量化,在原來權(quán)重求得梯度值基礎(chǔ)上進(jìn)行同樣的聚類和量化操作,然后對(duì)量化的權(quán)重進(jìn)行微調(diào)得到新的值。過程如下圖所示。這里作者并不是用未量化的梯度來更新權(quán)重,用量化的梯度來更新可以減少訓(xùn)練迭代,在這里只進(jìn)行了兩次訓(xùn)練,第一次先訓(xùn)練出初始權(quán)重?cái)?shù)據(jù),第二次是用量化的梯度更新權(quán)重。


4. 霍夫曼編碼

神經(jīng)網(wǎng)絡(luò)在FPGA上部署通常需要大量的緩存,為了降低緩存空間,霍夫曼編碼進(jìn)一步來壓縮權(quán)重。霍夫曼編碼是一種無損編碼,其通過數(shù)據(jù)的重復(fù)率來進(jìn)行數(shù)據(jù)重新編碼,重復(fù)率高的用少的比特,重復(fù)率少的用多的比特,這樣就降低了數(shù)據(jù)存儲(chǔ)空間。雖然霍夫曼編碼能壓縮2到3倍權(quán)重,但是并不適合在FPGA上實(shí)現(xiàn)。因?yàn)榛舴蚵獯a要消耗大量資源,同時(shí)霍夫曼解碼是單bit進(jìn)行解析,速度較慢。這些都不利于FPGA上加速深度神經(jīng)網(wǎng)絡(luò)。

5. 實(shí)驗(yàn)結(jié)果

作者主要在AlexNet和VGG-16上進(jìn)行了嘗試,結(jié)果如圖:


從結(jié)果中可以獲得以下結(jié)論:
1) 全連接層的剪枝和量化都很大,說明全連接層信息有很大冗余;
2) 越深的網(wǎng)絡(luò)壓縮比例越大;

結(jié)論

本文介紹了深度壓縮方法,其結(jié)合了剪枝,量化和霍夫曼編碼的方式來最大限度降低權(quán)重?cái)?shù)據(jù)量,這種方法促進(jìn)了深度神經(jīng)網(wǎng)絡(luò)在FPGA器件上的應(yīng)用能力。

編輯:hfy


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

    關(guān)注

    1630

    文章

    21796

    瀏覽量

    605996
  • 神經(jīng)網(wǎng)絡(luò)

    關(guān)注

    42

    文章

    4779

    瀏覽量

    101167
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    脈沖耦合神經(jīng)網(wǎng)絡(luò)FPGA的實(shí)現(xiàn)誰會(huì)?

    脈沖耦合神經(jīng)網(wǎng)絡(luò)(PCNN)FPGA的實(shí)現(xiàn),實(shí)現(xiàn)數(shù)據(jù)分類功能,有報(bào)酬。QQ470345140.
    發(fā)表于 08-25 09:57

    基于賽靈思FPGA的卷積神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)設(shè)計(jì)

    FPGA 實(shí)現(xiàn)卷積神經(jīng)網(wǎng)絡(luò) (CNN)。CNN 是一類深度神經(jīng)網(wǎng)絡(luò)處理大規(guī)模圖像識(shí)別任務(wù)
    發(fā)表于 06-19 07:24

    如何設(shè)計(jì)BP神經(jīng)網(wǎng)絡(luò)圖像壓縮算法?

    (Digital Signal Processor)相比,現(xiàn)場(chǎng)可編程門陣列(Field Programma-ble Gate Array,FPGA)神經(jīng)網(wǎng)絡(luò)的實(shí)現(xiàn)更具優(yōu)勢(shì)。DSP處
    發(fā)表于 08-08 06:11

    基于FPGA神經(jīng)網(wǎng)絡(luò)的性能評(píng)估及局限性

    FPGA實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)關(guān)鍵問題分析基于FPGA的ANN實(shí)現(xiàn)方法基于FPGA神經(jīng)網(wǎng)絡(luò)的性能評(píng)估及局
    發(fā)表于 04-30 06:58

    深度神經(jīng)網(wǎng)絡(luò)是什么

    多層感知機(jī) 深度神經(jīng)網(wǎng)絡(luò)in collaboration with Hsu Chung Chuan, Lin Min Htoo, and Quah Jia Yong. 與許忠傳,林敏濤和華佳勇合作
    發(fā)表于 07-12 06:35

    EdgeBoard中神經(jīng)網(wǎng)絡(luò)算子FPGA中的實(shí)現(xiàn)方法是什么?

    FPGA加速的關(guān)鍵因素是什么?EdgeBoard中神經(jīng)網(wǎng)絡(luò)算子FPGA中的實(shí)現(xiàn)方法是什么?
    發(fā)表于 09-28 06:37

    基于深度神經(jīng)網(wǎng)絡(luò)的激光雷達(dá)物體識(shí)別系統(tǒng)

    的激光雷達(dá)物體識(shí)別技術(shù)一直難以嵌入式平臺(tái)上實(shí)時(shí)運(yùn)行。經(jīng)緯恒潤(rùn)經(jīng)過潛心研發(fā),攻克了深度神經(jīng)網(wǎng)絡(luò)嵌入式平臺(tái)部署所面臨的算子定制與加速、量化策略、模型
    發(fā)表于 12-21 07:59

    卷積神經(jīng)網(wǎng)絡(luò)模型發(fā)展及應(yīng)用

    network,DBN)[24], 從此拉開了深度學(xué)習(xí)大幕。隨著深度學(xué)習(xí)理論的研究和發(fā)展,研究人員提 出了一系列卷積神經(jīng)網(wǎng)絡(luò)模型。為了比較不同模型 的質(zhì)量,收集并整理了文獻(xiàn)中模型
    發(fā)表于 08-02 10:39

    深度神經(jīng)網(wǎng)絡(luò)壓縮和正則化剖析

    到只有有限硬件資源的嵌入式系統(tǒng)。 為了解決這個(gè)限制,可以使用深度壓縮來顯著地減少神經(jīng)網(wǎng)絡(luò)所需要的計(jì)算和存儲(chǔ)需求。例如對(duì)于具有全連接層的卷積神經(jīng)網(wǎng)絡(luò)
    發(fā)表于 11-16 13:11 ?1845次閱讀
    <b class='flag-5'>深度</b><b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>的<b class='flag-5'>壓縮</b>和正則化剖析

    深度神經(jīng)網(wǎng)絡(luò)識(shí)別物體的能力怎樣

    深度神經(jīng)網(wǎng)絡(luò)非常善于識(shí)別物體,但是當(dāng)涉及到他們的相互作用的推理時(shí),即使是最先進(jìn)的神經(jīng)網(wǎng)絡(luò)努力。
    發(fā)表于 04-14 15:24 ?867次閱讀

    基于深度神經(jīng)網(wǎng)絡(luò)的端到端圖像壓縮方法

    人工設(shè)計(jì)的算法分別進(jìn)行優(yōu)化近年來,基于深度神經(jīng)網(wǎng)絡(luò)的端到端圖像壓縮方法圖像壓縮中取得了豐碩的成
    發(fā)表于 04-08 09:30 ?16次下載
    基于<b class='flag-5'>深度</b><b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>的端到端圖像<b class='flag-5'>壓縮</b><b class='flag-5'>方法</b>

    深度神經(jīng)網(wǎng)絡(luò)模型的壓縮和優(yōu)化綜述

    近年來,隨著深度學(xué)習(xí)的飛速發(fā)展,深度神經(jīng)網(wǎng)絡(luò)受到了越來越多的關(guān)注,許多應(yīng)用領(lǐng)域取得了顯著效果。通常,較高的計(jì)算量下,
    發(fā)表于 04-12 10:26 ?20次下載
    <b class='flag-5'>深度</b><b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>模型的<b class='flag-5'>壓縮</b>和優(yōu)化綜述

    基于FPGA神經(jīng)網(wǎng)絡(luò)硬件實(shí)現(xiàn)方法

    基于FPGA神經(jīng)網(wǎng)絡(luò)硬件實(shí)現(xiàn)方法說明。
    發(fā)表于 06-01 09:35 ?37次下載
    基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>硬件實(shí)現(xiàn)<b class='flag-5'>方法</b>

    卷積神經(jīng)網(wǎng)絡(luò)壓縮方法

    卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network, CNN)作為深度學(xué)習(xí)領(lǐng)域的重要分支,圖像識(shí)別、視頻處理、自然語言處理等多個(gè)領(lǐng)域取得了顯著成就。然而,隨著網(wǎng)絡(luò)
    的頭像 發(fā)表于 07-11 11:46 ?428次閱讀

    FPGA深度神經(jīng)網(wǎng)絡(luò)中的應(yīng)用

    、低功耗等特點(diǎn),逐漸成為深度神經(jīng)網(wǎng)絡(luò)邊緣計(jì)算和設(shè)備端推理的重要硬件平臺(tái)。本文將詳細(xì)探討FPGA深度
    的頭像 發(fā)表于 07-24 10:42 ?798次閱讀
    威尼斯人娱乐场是真的吗| 百家乐最佳投注法下载| 在线真钱游戏| 玩百家乐出千方法| 百家乐官网单跳| 波克棋牌官方免费下载| 宝龙百家乐娱乐城| 百家乐官网永利娱乐城| 大发888代理佣金| 百家乐官网平玩法可以吗| 百家乐官网是怎样的| 大发888娱乐城下载lm0| 百家乐高手和勒威| 赌场百家乐官网信誉| 香港六合彩白小姐图库| 在线百家乐纸牌| 淘金百家乐官网的玩法技巧和规则 | 博彩百家乐官网龙虎| 星河娱乐城| 联众百家乐的玩法技巧和规则 | 真钱的棋牌游戏| 9人百家乐桌布| 新锦江百家乐官网赌场娱乐网规则| 百家乐龙虎台布作弊技巧| 尊龙百家乐官网娱乐场开户注册| 澳门百家乐官网加盟| 大发888官方网站登录| 百家乐园鼎丰娱乐城| 百家乐官网单注技巧| 大发888娱乐场下载 注册| 什么百家乐九宫三路| 风水24山辛山乙| 百家乐官网返点| 折式百家乐官网赌台| 亚洲顶级赌场 网投领导者 | 三星百家乐官网的玩法技巧和规则| 大发百家乐官网游戏| 什么棋牌游戏能赚钱| 百家乐网站| 网上百家乐记牌软件| 百家乐投注翻倍方法|