亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        FPGA在人工智能深度學習中的應用

        2022-10-26 08:52:52武漢工程大學郵電與信息工程學院周瑩
        數(shù)字技術與應用 2022年10期
        關鍵詞:后向權值卷積

        武漢工程大學郵電與信息工程學院 周瑩

        近年來,F(xiàn)PGA應用的呼聲之高,發(fā)展之快令人振奮,從AI到VR,從語音識別,人臉識別到各種各樣的加速器。在人工智能興起和發(fā)展的時代,深度學習起到了中流砥柱的作用,然而深度學習仍然面臨著超大計算量的問題,GPU、ASIC、FPGA都是解決龐大計算量的有效方案。本文將以Lenet卷積神經網絡模型為例,基于CNN網絡模型和硬件架構實現(xiàn),對CNN網絡的后向訓練過程進行Matlab定點仿真和FPGA實現(xiàn)以及Modelsim仿真驗證,最終綜合對比FPGA、GPU、CPU的性能。

        人工智能是研究用于模擬和擴展人類行為的一門新型技術學科。對于人工智能,特別是基于深度學習的應用來說,很多應用場所都對實時性有著很高的要求[1]。面對這個新時代提出的新要求,F(xiàn)PGA利用其特點,發(fā)揮著它重要的作用[2]。下文以CNN網絡的后向訓練過程為例說明FPGA的性能優(yōu)勢。

        DNN(深層神經網絡)包含兩類核心算法:CNN(卷積神經網絡)和LSTM(長短期記憶網絡),都能在很大程度上受益于低精度的乘加運算[3]。CNN算法目前是最重要的深度學習方法之一,這種算法在圖像識別以及語音識別應用中取得了突破性的成就,下面就以CNN算法的后向訓練過程模型架構及結果仿真為例,說明FPGA在深度學習算法加速上的優(yōu)勢。

        1 CNN的網絡模型

        下面以一種具體的Lenet卷積神經網絡模型為例,給該CNN一個輸入,輸入名為MINST的一個數(shù)據集,也就是一張灰度圖像,其像素是(1,28,28),如圖1所示。

        其conv1作為第一個卷積層,卷積核的大小是(4,1,5,5),其中的4代表有4個(1,5,5)的卷積;利用非全零的方法進行填充,步長取1,Relu作為其激活函數(shù),再依據(式1)和(式2)可得,輸出(4,24,24);第1個池化層是Pooling1,經過這個池化層之后,再采用最大池化策略的方式,利用非全零的方法進行填充,步長取2,這時的輸出是(4,12,12);conv2作為第二個卷積層,它的conv2卷積核大小是(4,4,5,5,),其中的4是指有4個(4,5,5)卷積,利用非全零填充的方法進行填充,步長取1,Relu作為其激活函數(shù),根據(式1)和(式2)可得,經過卷積后的輸出是(4,8,8);接著進入到第二個池化層pooling2,采用Max Pooling的方式且池化值為(2,2),最終的輸出為(4,4,4);經過2層全連接層FC1和FC2,F(xiàn)C1的大小是(12,64),激活函數(shù)是Relu,F(xiàn)C2的大小是(10,12),激活函數(shù)是Softmax。

        通過該模型的訓練之后,可以得到如圖2所示的系統(tǒng)損失函數(shù)的變化曲線,隨著迭代次數(shù)的疊加,損失函數(shù)將會逐漸變小,在開始的四千次迭代中損失函數(shù)的變化是迅速變小,而之后的四千到八千次時,曲線已經變得非常緩慢,直到最后趨于平穩(wěn)。

        可以通過曲線圖發(fā)現(xiàn):隨著迭代次數(shù)的增加,損失函數(shù)逐漸減小,最終會趨向一個穩(wěn)定值;而準確率的曲線圖是會不斷增大,最終也趨向于一個穩(wěn)定值,準確率曲線圖此處略[4]??傊@種模型的損失函數(shù)變化曲線和準確率變化曲線都符合要求,性能良好。下文以該模型為例,介紹硬件加速的實現(xiàn)。

        2 CNN的硬件結構

        對于CNN的后向訓練過程,包含全連接層、池化層傳遞過程以及卷積層誤差;同時也包括了權值的更新。CNN硬件框架是以后向訓練過程的誤差傳遞過程為主,前向預測過程的輸出結果長度為10,作為結構的輸入,通過和Label(正確標簽)相減取得差值之后,便得到了全連接層FullConnected2的誤差項,再經過全連接層隱層的誤差傳遞,會得到全連接層FullConnected1的誤差項,最終得到有效長度是8的4路卷積層,最后經過池化層的誤差項傳遞和卷積層誤差項傳遞,就會得到有效長度為24的4路卷積層[5]。參數(shù)更新模塊被進入的誤差項進行更新之后,權值和偏置項也會被更新。下面介紹利用FPGA實現(xiàn)全連接層后向過程的仿真驗證。

        3 FPGA實現(xiàn)全連接層后向過程仿真驗證

        3.1 Matlab定點仿真

        (1)根據卷積神經網絡訓練的算法理論,對上述Lenet卷積神經網絡的后向訓練過程進行Matlab的定點仿真。在Matlab中進行仿真,首先將數(shù)據集中的“mnist.train.images.txt”文件輸入,把“mnist.train.labels.txt”當做正確標志。均值設為0.1,初始化權值使用0,初始化方式采用標準差。

        (2)向訓練過程的定點方式采用1位符號位、5位整數(shù)位、12位小數(shù)位,即FI(1,18,12),采用這種方式后的輸出數(shù)據是卷積層為1的偏置b_conv1和權值w_conv1,卷積層為2的偏置b_conv2和權值w_conv2,全連接層為1的偏置b_full_connected1和權值w_full_connected1,全連接層為2的偏置b_full_connected2和權值w_full_connected2[6]。如圖3所示,訓練的迭代次數(shù)是橫坐標,數(shù)據的最大相對誤差值是縱坐標,經過分析訓練過程中的相對誤差絕對值,可以得到相對誤差的最大值是10∧-2,顯然這個誤差結果是在期望值中的。

        3.2 FPGA實現(xiàn)和結果驗證

        Lenet卷積神經網絡中全連接層隱層的誤差傳遞過程的Modelsim仿真結果如圖4所示,模塊是以10個連續(xù)誤差數(shù)據作為輸入,輸出是12路并行誤差數(shù)據,該數(shù)據是由有效控制模塊和12個乘累加器得到的,利用Matlab仿真的結果與這個結果一樣,意味著模塊正確。

        其中,全連接層隱層誤差傳遞模塊的端口信號定義如表1所示。

        表1 模塊的端口信號說明-誤差傳遞Tab.1 Module's port signal description - error propagation

        Lenet卷積神經網絡中全連接層隱層的權值更新過程由第三方仿真工具Modelsim得出的時序結果如圖5所示,該模塊的輸入是單個的誤差數(shù)據,輸出是64位的1路數(shù)據,即64個權值。一個誤差更新64個權值,因此12個誤差更新了所有的768個權值[7]。Matlab仿真結果和FPGA經過第三方仿真工具Modelsim的結果一樣,意味著模塊功能正確。

        其中,全連接層隱層權值更新過程的端口信號定義如表2所示。

        表2 端口信號說明-權值更新Tab.2 Port signal description - weight update

        實現(xiàn)卷積神經網絡后向訓練過程之后,經過Modelsim仿真的波形圖如圖6所示。由時序圖可得,在FPGA中只要實現(xiàn)了一次后向訓練,就需要821個時鐘信號,由于最大CLK頻率設定為200MHz,即5NS[8]。

        通過分析后向訓練在FPGA、GPU、CPU的性能,如表3所示。FPGA實現(xiàn)的后向訓練過程對比CPU來說,處理速度提高了1.8倍,由于該結果受到訓練過程中一系列外在因素的影響,例如權重相對正向過程需要轉置,就會浪費一定的處理時間[9]。雖然FPGA相對于GPU,處理速度稍有差距。但是FPGA功耗比GPU和CPU要小很多。

        表3 后向訓練過程FPGA、GPU、CPU性能對比Tab.3 Backward training process FPGA, GPU, CPU performance comparison

        4 結語

        目前深度學習的流行,其實仍然是得益于大數(shù)據和計算性能的提升。但是卻也遭受著計算能力和數(shù)據量限制的瓶頸。針對數(shù)據量的需求,還能夠利用調整或者變更模型來緩解,但面對計算力的挑戰(zhàn),卻沒有捷徑。FPGA解決了傳統(tǒng)PLD資源有限的劣勢,又克服了全定制的電路較死板的缺點[10]。隨著FPGA器件和云端部署等技術的發(fā)展,內存帶寬已經逐漸不再是DNN的算力瓶頸,取而代之的是單周期可以完成的乘加操作數(shù)量,這些都使得FPGA在未來的AI領域中,能夠發(fā)揮它最大的優(yōu)勢,推動科技的進步。

        猜你喜歡
        后向權值卷積
        隨機波動格點方程的后向緊隨機吸引子①
        隨機Kuramoto-Sivashinsky格點方程的后向緊隨機吸引子①
        一種融合時間權值和用戶行為序列的電影推薦模型
        基于3D-Winograd的快速卷積算法設計及FPGA實現(xiàn)
        CONTENTS
        無界域上非自治Navier-Stokes方程的后向緊動力學
        從濾波器理解卷積
        電子制作(2019年11期)2019-07-04 00:34:38
        基于傅里葉域卷積表示的目標跟蹤算法
        基于權值動量的RBM加速學習算法研究
        自動化學報(2017年7期)2017-04-18 13:41:02
        一類具有飽和發(fā)生率和治療的SIS傳染病模型的后向分支及動力學行為
        日本亚洲国产精品久久| 男人激烈吮乳吃奶视频免费| 韩国精品一区二区三区无码视频 | 国产精品久久久久久久久免费观看| 抖射在线免费观看视频网站| 精品在线观看一区二区视频| 日本无码欧美一区精品久久| 久久久久久av无码免费看大片 | 美日韩毛片| 99久久免费中文字幕精品| 人妻少妇精品视频一区二区三区l| 少妇激情一区二区三区视频| 欧美日韩成人在线| 亚洲传媒av一区二区三区| 极品一区二区在线视频观看| 国产精品51麻豆cm传媒| 97人妻碰免费视频| 久久91精品国产91久久跳舞| 人妻少妇被粗大爽.9797pw| 丰满人妻av无码一区二区三区| 亚洲男人天堂av在线| 日本办公室三级在线观看| 蜜臀av色欲a片无码精品一区| 免费无码av片在线观看| 69搡老女人老妇女老熟妇| 97超碰国产成人在线| 无码人妻av免费一区二区三区| 国产午夜亚洲精品理论片不卡| 人妻精品久久久一区二区| 中文区中文字幕免费看| 色欲av亚洲一区无码少妇| 丝袜人妻无码中文字幕综合网| 成年网站在线91九色| 黑人上司粗大拔不出来电影| 久久天天躁狠狠躁夜夜2020!| 一区=区三区国产视频| 欧美大胆性生话| 国产女精品视频网站免费| 女女同性av一区二区三区免费看| 亚洲乱码av中文一区二区 | 久久99国产精品久久|