神經(jīng)網(wǎng)絡(luò)技術(shù)起源于上世紀五、六十年代,當(dāng)時叫感知機,擁有輸入層、輸出層和一個隱含層。輸入的特征向量通過隱含層變換達到輸出層,在輸出層得到分類結(jié)果,早期感知機的推動者是Ronsenblatt。后來又發(fā)展到多層感知機,而多層感知機在擺脫早期離散傳輸函數(shù)的束縛,在訓(xùn)練算法上使用Werbos發(fā)明的反向傳播BP算法,這個就是現(xiàn)在大家常數(shù)的神經(jīng)網(wǎng)絡(luò)NN,而目前存在的神經(jīng)網(wǎng)絡(luò)最常見的有:ANN,RNN,以及CNN。CNN是一種多層神經(jīng)網(wǎng)絡(luò),擅長處理圖像特別是大圖像的相關(guān)機器學(xué)習(xí)問題,它可以通過一系列方法,成功將數(shù)據(jù)量龐大的圖像識別問題不斷將維,最終使其能夠被訓(xùn)練。
GUNNESS開源工具
一個叫做GUNNESS的全新的開源工具,可以幫助用戶通過SDSoC 開發(fā)環(huán)境很輕松的將二值化神經(jīng)網(wǎng)絡(luò)(BNNs)實現(xiàn)在Zynq SoC芯片和Zynq UltraScale+ MPSoC芯片上。GUINNESS基于GUI工具而開發(fā),內(nèi)部實現(xiàn)利用深度學(xué)習(xí)框架來訓(xùn)練一個二值的CNN。關(guān)于這部分內(nèi)容在今年IEEE的國際并行和分布式處理的workshop上有一篇論文對此進行了較為全面的介紹(論文名為“on-chip Memory Based binarized Convolutional Deep Neural Network Applying Batch Normalization Free Technique on an FPGA”),論文中,作者Haruyoshi Yonekawa和Hiroki Nakahara描述了一個他們實現(xiàn)的系統(tǒng):他們通過在Xilinx ZCU102 Eval 套件上實現(xiàn)一個用于運行VGG-16 benchmark的二值化CNN邏輯系統(tǒng),其中ZCU102套件其實是基于Zynq UltraScale+ MPSoC芯片而搭建的。在后來比利時 Ghent的FPL2017中作者Nakahara就GUINNESS工具再次進行了介紹。
根據(jù)IEEE中發(fā)表的這篇paper所述,在Zynq上實現(xiàn)的CNN相比較與在ARM Cortex-A57處理器上運行CNN,運行速度加快了136.8倍,并且功率有效性也提高了44.7倍之多。與在Nvidia Maxwell GPU上運行同樣的CNN相比較,基于Zynq實現(xiàn)的BNN速度加快了4.9倍之多,功耗效率也增長了3.8倍。
不過,對于我們這些游離愛好者來說最值得慶幸的是整個GUINNESS工具可以在Github上access到(https://github.com/HirokiNakahara/GUINNESS)。
圖:Xilinx ZCU102 Zynq UltraScale+ MPSoC Eval Kit
目前的比較火的概念莫過于機器學(xué)習(xí),深度學(xué)習(xí),人工智能這三方面了,而這些技術(shù)的實現(xiàn)都離不開神經(jīng)網(wǎng)絡(luò)的訓(xùn)練,可以說當(dāng)前技術(shù)的熱點非神經(jīng)網(wǎng)絡(luò)莫屬。但是神經(jīng)網(wǎng)絡(luò)算法往往較為復(fù)雜,軟件實現(xiàn)速度往往無法達到需求,專用芯片設(shè)計又功能單一且成本高,而通過FPGA實現(xiàn)的話,不僅避免的單用途高成本的投入,同時得到了用戶期望的運算速度,一舉兩得。也相信在以后FPGA將會為神經(jīng)網(wǎng)絡(luò)的研究實現(xiàn)方面有更大的發(fā)揮空間。
-
FPGA
+關(guān)注
關(guān)注
1620文章
21510瀏覽量
598917 -
神經(jīng)網(wǎng)絡(luò)
+關(guān)注
關(guān)注
42文章
4717瀏覽量
100009 -
人工智能
+關(guān)注
關(guān)注
1787文章
46061瀏覽量
235006
原文標題:開源工具助你在FPGA上輕松實現(xiàn)二值化神經(jīng)網(wǎng)絡(luò)
文章出處:【微信號:FPGA-EETrend,微信公眾號:FPGA開發(fā)圈】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論