色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

基于FPGA的神經網絡加速硬件和網絡設計的協同

電子設計 ? 來源:AI加速 ? 作者:AI加速 ? 2020-11-21 10:36 ? 次閱讀

引言

很久沒有看基于FPGA神經網絡實現的文章了,因為神經網絡加速設計做的久了就會發現,其實架構都差不多。大家都主要集中于去提高以下幾種性能:FPGA算力,網絡精度,網絡模型大小。FPGA架構也差不多這幾個模塊:片上緩存,卷積加速模塊,pool模塊,load,save,指令控制模塊。硬件架構上并不是太難,難的反而是軟件編譯這塊。因為其要去適應不同的網絡模型,還要能兼容FPGA硬件的變化,同時要為客戶提供一個容易操作的接口。這些在目前情景下還比較困難。首先是FPGA硬件的變化太多,各個模塊可配參數的變化(比如卷積模塊并行數的變化),另外一個是網絡模型多種多樣以及開源的網絡模型平臺也很多(tensorflow,pytorch等)。網絡壓縮也有很多種算法,這些算法基本上都會導致網絡模型精度的降低。一般基于FPGA的網絡加速設計都會強調模型被壓縮了多少以及FPGA上可以跑得多快,卻很少集中于去改善精度。

這篇文獻從概念上提出了硬件和網絡的協同設計,是很好的一個思路。因為之前神經網絡加速硬件設計和網絡壓縮是分開的,只是在網絡壓縮的時候盡可能考慮到硬件的特點,讓網絡模型更加適合硬件架構。這篇論文其實也是在做這樣類似的工作,我并不認為它真正的實現了硬件和網絡設計的協同(雖然其標榜自己如此)。但是它確實給我們提供了一個新的研究思路:如何從一開始就設計一個能夠適用于硬件的網絡。好的,廢話不多說,來看論文。

1. 來自作者的批判

發表論文,總是要先去總結以往論文的優缺點,然后指出其中不足,凸顯自己的優勢。這篇文章也花費了很大篇幅來批判了過去研究的不足。總結起來有以下幾點:

1) 過去的研究都是用一些老的網絡,比如VGG,resnet,alexnet等,這些網絡已經落伍了,市場上已經不怎么用了;

2) 過去用的數據集也小,比如CIFAR10這類,包含的圖片種類和數量都太少,不太適合商業應用;

3) 壓縮老的網絡的技術手段不再適用于最新的網絡,比如像squeezeNet網絡,它就比alexnet網絡小50倍,但是能達到和alexnet一樣的精度;

4) 以往的類似resnet的網絡,有skip連接的,并不適合在FPGA上部署,因為增加了數據遷移;

5) 以往網絡的卷積核較大,如3x3,5x5等,也不適合硬件加速;

6) 以前網絡壓縮集中于老的那些網絡,這些網絡本身就有很大的冗余,所以壓縮起來很容易,而最新的網絡比如ShuffleNet等壓縮起來就沒有那么容易了,但是這樣的報道很少;

總之,意思就是之前的文章都撿軟柿子捏,而且比較落后了。那么我們來看看在這樣狂妄口氣之下的成果如何。

2. shuffleNetV2到DiracDeltNet

shuffleNetV2是新發展出來的一個神經網絡,它的網絡模型中參數更小(比VGG16小60倍),但是精度只比VGG16低2%。shuffleNet不再像resnet將skip連接的數據求和,而是skip連接的數據進行concat,這樣的操作降低了加法操作。Skip連接可以擴展網絡的深度和提高深層網絡精度。但是加法skip不利于FPGA實現,一個是加法消耗資源和時間,另外一個是skip數據增加了遷移時間。Concat連接也和加法skip有相同的功能,增加網絡深度和精度。

作者對shuffleNetV2網絡結構進行了更有利于FPGA部署的微調。有以下三個方面:

1) 將所有3x3卷積(包括3x3depth-wise卷積)都替換為shift和1x1卷積。這樣替換是能夠降低feature map數據的遷移,比如3x3的卷積每個圖像數據要使用3次,而1x1只需要搬移一次,降低了邏輯復雜性,也提高了運算速度。Shift操作是將某個范圍的pixel移動到中間作為結果,這樣的操作減少了乘法運算次數。這種替換會導致精度降低,但是可以減少FPGA運算次數。

2) 將3x3的maxpooling操作降低為2x2的。

3) 調整了channel的順序來適應FPGA。




3. 量化

為了進一步降低網絡參數量,作者采用了DoReFa-Net網絡的量化方式,對全精度權重進行了量化。同時作者還對activation進行了量化。量化結果如下:


精度損失很小。

文獻中使用了很多對網絡修改的微調技術,細節很多,可以看出對這樣一個已經很少參數的網絡來說,要進一步壓縮確實要花費很大功夫。這可能不太具有普遍性。這些微調應該會花費很多時間和精力。

4. 硬件架構

硬件主要實現的操作很少,只有一下幾種:
1)1x1卷積
2)2x2的ma-pooling
3)shift
4)shuffle和concat

所以硬件架構上也變得很簡潔,文章中說兩個人用HLS只做了一個月。


使用資源很少。


看以下和其他人的結果對比:


結論

這篇論文在shuffleNet網絡的基礎上,基于FPGA的特點進行了網絡修改。包括網絡結構和量化,最終的精度都高于以往的幾個網絡。結果還是不錯的,只是這樣手動微調網絡并不是很具有普遍性,而且涉及到很多微調技術,也不一定適合每個網絡。但是作者確實提供了一個思路:如何去設計一個能夠用于FPGA的網絡,而且還可以保證很好的精度。

文獻

1. Yifan Yang, Q.H., Bichen Wu, Tianjun Zhang, Liang Ma, Giulio Gambardella, Michaela Blott, Luciano Lavagno, Kees Vissers, John Wawrzynek, Kurt Keutzer, Synetgy Algorithm-hardware Co-design for ConvNet Accelerators on Embedded FPGAs. arXiv preprint, 2019.

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

    關注

    1629

    文章

    21744

    瀏覽量

    603618
  • 神經網絡
    +關注

    關注

    42

    文章

    4772

    瀏覽量

    100803
收藏 人收藏

    評論

    相關推薦

    FPGA在深度神經網絡中的應用

    、低功耗等特點,逐漸成為深度神經網絡在邊緣計算和設備端推理的重要硬件平臺。本文將詳細探討FPGA在深度神經網絡中的應用,包括其優勢、設計流程、關鍵技術以及實際應用案例。
    的頭像 發表于 07-24 10:42 ?687次閱讀

    分享幾個用FPGA實現的小型神經網絡

    今天我們分享幾個用FPGA實現的小型神經網絡,側重應用。
    的頭像 發表于 07-24 09:30 ?1204次閱讀
    分享幾個用<b class='flag-5'>FPGA</b>實現的小型<b class='flag-5'>神經網絡</b>

    神經網絡專用硬件實現的方法和技術

    神經網絡專用硬件實現是人工智能領域的一個重要研究方向,旨在通過設計專門的硬件加速神經網絡的訓練和推理過程,提高計算效率和能效比。以下將詳細
    的頭像 發表于 07-15 10:47 ?1156次閱讀

    什么是神經網絡加速器?它有哪些特點?

    神經網絡加速器是一種專門設計用于提高神經網絡計算效率的硬件設備。隨著深度學習技術的快速發展和廣泛應用,神經網絡模型的復雜度和計算量急劇增加,
    的頭像 發表于 07-11 10:40 ?497次閱讀

    如何在FPGA上實現神經網絡

    可編程門陣列(FPGA)作為一種靈活、高效的硬件實現方式,為神經網絡加速提供了新的思路。本文將從FPGA實現
    的頭像 發表于 07-10 17:01 ?2027次閱讀

    BP神經網絡和卷積神經網絡的關系

    BP神經網絡(Backpropagation Neural Network)和卷積神經網絡(Convolutional Neural Network,簡稱CNN)是兩種在人工智能和機器學習領域
    的頭像 發表于 07-10 15:24 ?1551次閱讀

    BP神經網絡和人工神經網絡的區別

    BP神經網絡和人工神經網絡(Artificial Neural Networks,簡稱ANNs)之間的關系與區別,是神經網絡領域中一個基礎且重要的話題。本文將從定義、結構、算法、應用及未來發展等多個方面,詳細闡述BP
    的頭像 發表于 07-10 15:20 ?1108次閱讀

    rnn是遞歸神經網絡還是循環神經網絡

    RNN(Recurrent Neural Network)是循環神經網絡,而非遞歸神經網絡。循環神經網絡是一種具有時間序列特性的神經網絡,能夠處理序列數據,具有記憶功能。以下是關于循環
    的頭像 發表于 07-05 09:52 ?585次閱讀

    遞歸神經網絡是循環神經網絡

    遞歸神經網絡(Recurrent Neural Network,簡稱RNN)和循環神經網絡(Recurrent Neural Network,簡稱RNN)實際上是同一個概念,只是不同的翻譯方式
    的頭像 發表于 07-04 14:54 ?780次閱讀

    循環神經網絡和卷積神經網絡的區別

    循環神經網絡(Recurrent Neural Network,RNN)和卷積神經網絡(Convolutional Neural Network,CNN)是深度學習領域中兩種非常重要的神經網絡
    的頭像 發表于 07-04 14:24 ?1309次閱讀

    深度神經網絡與基本神經網絡的區別

    在探討深度神經網絡(Deep Neural Networks, DNNs)與基本神經網絡(通常指傳統神經網絡或前向神經網絡)的區別時,我們需要從多個維度進行深入分析。這些維度包括
    的頭像 發表于 07-04 13:20 ?890次閱讀

    反向傳播神經網絡和bp神經網絡的區別

    反向傳播神經網絡(Backpropagation Neural Network,簡稱BP神經網絡)是一種多層前饋神經網絡,它通過反向傳播算法來調整網絡中的權重和偏置,以達到最小化誤差的
    的頭像 發表于 07-03 11:00 ?819次閱讀

    bp神經網絡是深度神經網絡

    BP神經網絡(Backpropagation Neural Network)是一種常見的前饋神經網絡,它使用反向傳播算法來訓練網絡。雖然BP神經網絡在某些方面與深度
    的頭像 發表于 07-03 10:14 ?860次閱讀

    bp神經網絡和卷積神經網絡區別是什么

    BP神經網絡(Backpropagation Neural Network)和卷積神經網絡(Convolutional Neural Network,簡稱CNN)是兩種不同類型的人工神經網絡,它們在
    的頭像 發表于 07-03 10:12 ?1199次閱讀

    卷積神經網絡和bp神經網絡的區別

    卷積神經網絡(Convolutional Neural Networks,簡稱CNN)和BP神經網絡(Backpropagation Neural Networks,簡稱BPNN)是兩種
    的頭像 發表于 07-02 14:24 ?4100次閱讀
    主站蜘蛛池模板: 无人区大片中文字幕在线 | jizzjizz丝袜| 国产永不无码精品AV永久| 日本无码免费久久久精品| 国产69TV精品久久久久99| 国产高清视频青青青在线| 男人把女人桶到爽免费看视频| 涩涩网站在线看| XXX老姥群交| 精品久久久99大香线蕉| 免费视频国产在线观看网站| 早乙女由依在线观看| 97无码人妻精品1国产精东影业 | 在线免费公开视频| 久久精品国产在热亚洲| 色网址在线观看| 电影果冻传媒在线播放| 人人碰在线视频| 中文字幕一区二区三区在线观看 | 亚洲视频在线观看不卡| 教室里的激情电影| 伊人情人网综合| 国产精品久久久久久免费播放| 老头xxx| 午夜影院视费x看| 24小时日本免费看| 国产无线乱码一区二三区| 少妇被躁爽到高潮无码久久| 国产高清在线a视频大全| 新图解av吧| 久久99精品涩AV毛片观看 | 高H纯肉NP 弄潮NP男男| 免费高清在线影片一区| 99热这里只有精品6| 久久中文字幕乱码免费| 最新国产精品视频免费看| 男女午夜性爽快免费视频不卡| 99精品观看| 四虎影院2022| 久久精品视频91| 亚洲人视频在线观看|