簡易檢索 / 詳目顯示

研究生: 林琮憲
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語言的實現成功後,相關的硬體驗證可更有效率且正確。

    中文摘要 i 誌謝 i 目錄 ii 附表目錄 iii 附圖目錄 iv 附演算法目錄 v 第一章 緒論 1 1.1 研究背景 1 1.2 研究動機與目的 3 1.3 研究方法 4 1.4 全文架構 6 第二章 基礎理論及技術背景 7 2.1 類神經網路介紹 7 2.2 Convolutional Neural Network 9 2.3 Convolutional Neural Network演算法則 10 2.4 Binary Neural Network 14 第三章 系統架構 16 3.1 研究流程 16 3.2 Tensorflow與C語言介面 17 3.2.1 Tensorflow函式介紹 17 3.2.2 C語言模型實現 22 3.3 BNN架構 28 3.4 電路架構 31 3.4.1 C1電路架構 31 3.4.2 C2 Interleave Snake電路架構 36 第四章 實驗數據與效能分析 39 4.1 開發平台與實驗環境 39 4.2 BNN參數介紹 42 4.3 實驗結果與效能分析 44 第五章 結論 49 參考文獻 50

    “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.

    下載圖示
    QR CODE