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

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

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

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

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

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

引言

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

1. 原理

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

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


這三個方法一次順序進行,每個過程都單獨進行。

2. 剪枝

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



3. 量化

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

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


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

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


4. 霍夫曼編碼

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

5. 實驗結(jié)果

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


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

結(jié)論

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

編輯:hfy


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

    關(guān)注

    1643

    文章

    21923

    瀏覽量

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

    關(guān)注

    42

    文章

    4797

    瀏覽量

    102413
收藏 人收藏

    評論

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

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

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

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

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

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

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

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

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

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

    多層感知機 深度神經(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中的實現(xiàn)方法是什么?

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

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

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

    BP神經(jīng)網(wǎng)絡(luò)圖像壓縮算法乘累加單元的FPGA設(shè)計

    BP神經(jīng)網(wǎng)絡(luò)圖像壓縮算法乘累加單元的FPGA設(shè)計 概 述神經(jīng)網(wǎng)絡(luò)(Neural Networks)是人工神經(jīng)網(wǎng)絡(luò)(Ar-tificial
    發(fā)表于 03-29 10:05 ?815次閱讀
    BP<b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>圖像<b class='flag-5'>壓縮</b>算法乘累加單元的<b class='flag-5'>FPGA</b>設(shè)計

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

    到只有有限硬件資源的嵌入式系統(tǒng)。 為了解決這個限制,可以使用深度壓縮來顯著地減少神經(jīng)網(wǎng)絡(luò)所需要的計算和存儲需求。例如對于具有全連接層的卷積神經(jīng)網(wǎng)絡(luò)
    發(fā)表于 11-16 13:11 ?1917次閱讀
    <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ò)識別物體的能力怎樣

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

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

    人工設(shè)計的算法分別進行優(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)化綜述

    近年來,隨著深度學習的飛速發(fā)展,深度神經(jīng)網(wǎng)絡(luò)受到了越來越多的關(guān)注,許多應用領(lǐng)域取得了顯著效果。通常,較高的計算量下,
    發(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ò)硬件實現(xiàn)方法

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

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

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

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

    、低功耗等特點,逐漸成為深度神經(jīng)網(wǎng)絡(luò)邊緣計算和設(shè)備端推理的重要硬件平臺。本文將詳細探討FPGA深度
    的頭像 發(fā)表于 07-24 10:42 ?1028次閱讀