研究生: |
林琮憲 Lin, Tsung-Xian |
---|---|
論文名稱: |
以軟體模型為基礎的二元化類神經網路FPGA實現及驗證之研究 A Software Model for FPGA Implementation and Verification of Binary Neural Network for Image Recognition |
指導教授: | 黃文吉 |
學位類別: |
碩士 Master |
系所名稱: |
資訊工程學系 Department of Computer Science and Information Engineering |
論文出版年: | 2018 |
畢業學年度: | 106 |
語文別: | 中文 |
論文頁數: | 50 |
中文關鍵詞: | 深度學習 、摺積類神經網路 、C語言 |
DOI URL: | http://doi.org/10.6345/THE.NTNU.DCSIE.037.2018.B02 |
論文種類: | 學術論文 |
相關次數: | 點閱:103 下載:6 |
分享至: |
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
本論文主要提出一個以C語言為基礎的模型,能夠使深度學習模型架構更容易在硬體電路上實現並驗證。一般深度學習硬體實現方式是從類神經網路模型架構中取出參數,並實現於硬體電路上,但是一個典型的類神經網路模型會擁有龐大的參數及複雜的格式,再加上深度學習軟體都是在高階語言的環境下所架設,內部運作方式複雜,若直接在硬體電路上匯入參數會相當困難。本論文提出一個以C語言為基礎的模型來簡化深度學習硬體設計,由於C語言之架構與硬體描述語言(Verilog)相似,因此本論文以C語言做為實現網路模型之軟體,使得硬體電路在實現網路架構上更加容易。
本論文以一般的摺積類神經網路應用於圖像之辨識模型為例,由於一般的摺積類神經網路之權重為浮點數,在硬體上佔用許多的記憶體資源及複雜的運算。因此本論文採用二元化類神經網路之法則,以Sign Function將32bit浮點數簡化為1bit二進制碼。本論文的運算方式基於以乘法器及加法器做運算,以驗證硬體的正確性。
由本論文實驗可知,在C語言的實現成功後,相關的硬體驗證可更有效率且正確。
“The CIFAR-10 dataset,” [線上]. Available: https://www.cs.toronto.edu/~kriz/cifar.html. [存取日期: 7 2017].
Matthieu Courbariaux, Itay Hubara, Daniel Soudry, Ran El-Yaniv, Yoshua Bengio, “Binarized Neural Networks: Training Deep Neural Networks with Weights and Activations Constrained to +1 or -1,” 2016.
Alex Krizhevsky, Ilya Sutskever, Geoffrey E. Hinton, “ImageNet Classification with Deep Convolutional Neural Networks,” 2012.
S. Ioffe, “Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift,” 2015.
王雅慶, “以FPGA實現摺積神經網路及應用於人臉特徵辨識之研究,” 國立台灣師範大學, 2016.
紀凱文, “摺積神經網路全連結層FPGA實現之研究,” 國立台灣師範大學碩士論文, 2016.
黃暐傑, “以FPGA實現二元化類神經網路及應用於手寫圖片辨識之研究,” 國立台灣師範大學, 2017.
王愷薇,”以BNN與AlexNet為基礎適用於CIFAR10圖形辨識之積體電路架構設計,” 國立台灣師範大學, 2017
kuangliu, “Train CIFAR10 with PyTorch,” [線上]. Available: https://github.com/kuangliu/pytorch-cifar. [存取日期: 8 2017].
Yaman Umuroglu, “FINN: A Framework for Fast, Scalable Binarized Neural,” 2016.
Ritchie Zhao, “Accelerating Binarized Convolutional Neural Networks with Software-Programmable FPGAs,” 2017.
Shrutika Redkar, “Deep Learning Binary Neural Network on an FPGA,” 2017.
Jeng-Hau Lin, “Binarized Convolutional Neural Networks with Separable Filters for Efficient Hardware Acceleration,” 2017.