【FPGA】論文調(diào)研——Evaluating Fast Algorithm for CNNs and FPGAs
具體調(diào)研請見:https://zty-user.github.io/post/9d3964fd.html
摘要
近年來,卷積神經(jīng)網(wǎng)絡(luò)(CNN)已被廣泛應(yīng)用于計算機視覺領(lǐng)域。FPGA由于其高性能和可重構(gòu)性,已被充分開發(fā)為較有前途的CNN硬件加速器。然而,先前基于傳統(tǒng)卷積算法的FPGA實現(xiàn)方案往往受到FPGA計算能力的限制,例如DSP的數(shù)量。
首先,為了解決這一問題,本文研究的論文《Evaluating Fast Algorithm for Convolutional Neural Networks on FPGAs》采用快速算法將特征映射轉(zhuǎn)換為特定域,降低了算法復(fù)雜度,減少了DSP的使用數(shù)量,提升了FPGA的資源利用率。Winograd和快速傅里葉變換(FFT)作為快速算法的代表,首先將輸入數(shù)據(jù)轉(zhuǎn)換并濾波,然后逐元乘法,再進行逆變換得到最終輸出。
其次,調(diào)研的論文中還提出了一種在FPGA上實現(xiàn)快速算法的新架構(gòu)。該設(shè)計采用了行緩沖結(jié)構(gòu),可以有效地重用不同塊之間的特征圖數(shù)據(jù)。該論文還有效地對Winograd/FFT處理元素(PE)單元進行流水線化,并通過并行化啟動多個PE。
最后,論文提出了一個分析模型來預(yù)測資源的使用和性能,并使用了最先進的CNN實驗測出了FPGA的最佳性能和能源效率。在Xilinx ZCU102平臺上,使用Winograd實現(xiàn)了AlexNet和VGG16的854.6 GOP/s和2479.6 GOP/s。在Xilinx ZC706平臺上,使用Winograd實現(xiàn)了Resnet的130.4 GOP/s,使用FFT實現(xiàn)了YOLO的2011 GOP/s。
關(guān)鍵詞:CNN、FPGA、快速算法、新架構(gòu)、行緩沖、PE、流水化、并行化、分析模型