91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

3天內不再提示

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

電子設計 ? 來源:AI加速 ? 作者:AI加速 ? 2020-11-21 10:36 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

引言

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

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

1. 來自作者的批判

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

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

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

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

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

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

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

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

2. shuffleNetV2到DiracDeltNet

shuffleNetV2是新發(fā)展出來的一個神經網絡,它的網絡模型中參數更?。ū萔GG16小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進行了量化。量化結果如下:


精度損失很小。

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

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.

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

    關注

    1660

    文章

    22412

    瀏覽量

    636417
  • 神經網絡
    +關注

    關注

    42

    文章

    4838

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    網絡接口到 DMA,一套面向工程師的 FPGA 網絡開發(fā)框架

    在高性能網絡、數據中心和智能網卡加速領域,硬件與軟件協同設計已成為提升網絡處理效率的關鍵。Liberouter 提供的 Network De
    的頭像 發(fā)表于 02-12 11:28 ?319次閱讀
    從<b class='flag-5'>網絡</b>接口到 DMA,一套面向工程師的 <b class='flag-5'>FPGA</b> <b class='flag-5'>網絡</b>開發(fā)框架

    神經網絡的初步認識

    日常生活中的智能應用都離不開深度學習,而深度學習則依賴于神經網絡的實現。什么是神經網絡?神經網絡的核心思想是模仿生物神經系統(tǒng)的結構,特別是大腦中神經
    的頭像 發(fā)表于 12-17 15:05 ?336次閱讀
    <b class='flag-5'>神經網絡</b>的初步認識

    CNN卷積神經網絡設計原理及在MCU200T上仿真測試

    CNN算法簡介 我們硬件加速器的模型為Lenet-5的變型,網絡粗略分共有7層,細分共有13層。包括卷積,最大池化層,激活層,扁平層,全連接層。下面是各層作用介紹: 卷積層:提取特征?!安蝗?/div>
    發(fā)表于 10-29 07:49

    NMSIS神經網絡庫使用介紹

    NMSIS NN 軟件庫是一組高效的神經網絡內核,旨在最大限度地提高 Nuclei N 處理器內核上的神經網絡的性能并最??大限度地減少其內存占用。 該庫分為多個功能,每個功能涵蓋特定類別
    發(fā)表于 10-29 06:08

    在Ubuntu20.04系統(tǒng)中訓練神經網絡模型的一些經驗

    本帖欲分享在Ubuntu20.04系統(tǒng)中訓練神經網絡模型的一些經驗。我們采用jupyter notebook作為開發(fā)IDE,以TensorFlow2為訓練框架,目標是訓練一個手寫數字識別的神經網絡
    發(fā)表于 10-22 07:03

    CICC2033神經網絡部署相關操作

    在完成神經網絡量化后,需要將神經網絡部署到硬件加速器上。首先需要將所有權重數據以及輸入數據導入到存儲器內。 在仿真環(huán)境下,可將其存于一個文件,并在 Verilog 代碼中通過 readmemh 函數
    發(fā)表于 10-20 08:00

    液態(tài)神經網絡(LNN):時間連續(xù)性與動態(tài)適應性的神經網絡

    1.算法簡介液態(tài)神經網絡(LiquidNeuralNetworks,LNN)是一種新型的神經網絡架構,其設計理念借鑒自生物神經系統(tǒng),特別是秀麗隱桿線蟲的神經結構,盡管這種微生物的
    的頭像 發(fā)表于 09-28 10:03 ?1226次閱讀
    液態(tài)<b class='flag-5'>神經網絡</b>(LNN):時間連續(xù)性與動態(tài)適應性的<b class='flag-5'>神經網絡</b>

    神經網絡的并行計算與加速技術

    問題。因此,并行計算與加速技術在神經網絡研究和應用中變得至關重要,它們能夠顯著提升神經網絡的性能和效率,滿足實際應用中對快速響應和大規(guī)模數據處理的需求。神經網絡并行
    的頭像 發(fā)表于 09-17 13:31 ?1131次閱讀
    <b class='flag-5'>神經網絡</b>的并行計算與<b class='flag-5'>加速</b>技術

    基于神經網絡的數字預失真模型解決方案

    在基于神經網絡的數字預失真(DPD)模型中,使用不同的激活函數對整個系統(tǒng)性能和能效有何影響?
    的頭像 發(fā)表于 08-29 14:01 ?3477次閱讀

    無刷電機小波神經網絡轉子位置檢測方法的研究

    摘要:論文通過對無刷電機數學模型的推導,得出轉角:與三相相電壓之間存在映射關系,因此構建了一個以三相相電壓為輸人,轉角為輸出的小波神經網絡來實現轉角預測,并采用改進遺傳算法來訓練網絡結構與參數,借助
    發(fā)表于 06-25 13:06

    神經網絡專家系統(tǒng)在電機故障診斷中的應用

    摘要:針對傳統(tǒng)專家系統(tǒng)不能進行自學習、自適應的問題,本文提出了基于種經網絡專家系統(tǒng)的并步電機故障診斷方法。本文將小波神經網絡和專家系統(tǒng)相結合,充分發(fā)揮了二者故障診斷的優(yōu)點,很大程度上降低了對電機
    發(fā)表于 06-16 22:09

    神經網絡RAS在異步電機轉速估計中的仿真研究

    眾多方法中,由于其結構簡單,穩(wěn)定性好廣泛受到人們的重視,且已被用于產品開發(fā)。但是MRAS仍存在在低速區(qū)速度估計精度下降和對電動機參數變化非常敏感的問題。本文利用神經網絡的特點,使估計更為簡單、快速
    發(fā)表于 06-16 21:54

    基于FPGA搭建神經網絡的步驟解析

    本文的目的是在一個神經網絡已經通過python或者MATLAB訓練好的神經網絡模型,將訓練好的模型的權重和偏置文件以TXT文件格式導出,然后通過python程序將txt文件轉化為coe文件,(coe
    的頭像 發(fā)表于 06-03 15:51 ?1224次閱讀
    基于<b class='flag-5'>FPGA</b>搭建<b class='flag-5'>神經網絡</b>的步驟解析

    MAX78000采用超低功耗卷積神經網絡加速度計的人工智能微控制器技術手冊

    的Maxim超低功耗微控制器相結合。通過這款基于硬件的卷積神經網絡(CNN)加速器,即使是電池供電的應用也可執(zhí)行AI推理,同時功耗僅為微焦耳級。
    的頭像 發(fā)表于 05-08 11:42 ?990次閱讀
    MAX78000采用超低功耗卷積<b class='flag-5'>神經網絡</b><b class='flag-5'>加速</b>度計的人工智能微控制器技術手冊

    NVIDIA實現神經網絡渲染技術的突破性增強功能

    發(fā)者能使用 NVIDIA GeForce RTX GPU 中的 AI Tensor Cores,在游戲的圖形渲染管線內加速神經網絡渲染。
    的頭像 發(fā)表于 04-07 11:33 ?1188次閱讀