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

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

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

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

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

454398 ? 來源: AI加速 ? 作者:韓松 ? 2020-11-21 11:00 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

引言

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

1. 原理

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

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


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

2. 剪枝

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



3. 量化

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

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


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

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


4. 霍夫曼編碼

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

5. 實驗結果

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


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

結論

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

編輯:hfy


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

    關注

    1645

    文章

    22050

    瀏覽量

    618578
  • 神經(jīng)網(wǎng)絡

    關注

    42

    文章

    4814

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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