深度神經網絡 FPGA 設計與實現

孫其功、鄔剛、田小林

  • 出版商: 西安電子科技大學出版
  • 出版日期: 2020-11-01
  • 售價: $210
  • 貴賓價: 9.5$200
  • 語言: 簡體中文
  • 頁數: 240
  • 裝訂: 平裝
  • ISBN: 7560657435
  • ISBN-13: 9787560657431
  • 相關分類: FPGA
  • 立即出貨

買這商品的人也買了...

商品描述

  《深度神經網路FPGA設計與實現》從深度神經網路和AI晶片研究現狀出發,系統地論述了目前深度學習主流開發平臺和深度神經網路基於FPGA平臺實現加速的開發原理和應用實例。
  《深度神經網路FPGA設計與實現》主要包括5部分:第12章介紹了深度神經網路的發展,並總結了深度學習主流開發平臺和AI晶片的研究現狀;第36章在對深度神經網路基礎層運算元、FPGA進行了介紹後,總結了FPGA神經網路開發基礎及RTL級開發;第7章分析了基於FPGA實現神經網路加速的實例;第8章介紹了基於OpenCLFPGA神經網路計算加速開發;第9章分析了前沿神經網路壓縮與加速技術。
  《深度神經網路FPGA設計與實現》可以為人工智慧、電腦科學、資訊科學、神經網路加速計算研究者或者從事深度學習、影像處理的相關研究人員提供參考,也可作為相關專業本科生及研究生的教學參考書。

本書從深度神經網路和AI晶片研究現狀出發,系統地論述了目前深度學習主流開發平臺和深度神經網路基於FPGA平臺實現加速的開發原理和應用實例。全書主要包括5部分:第1~2章介紹了深度神經網路的發展,並總結了深度學習主流開發平臺和AI晶片的研究現狀;第3~6章在對深度神經網路基礎層運算元、FPGA進行了介紹後,總結了FPGA神經網路開發基礎及RTL級開發;第7章分析了基於FPGA實現神經網路加速的實例;第8章介紹了基於OpenCL的FPGA神經網路計算加速開發;第9章分析了前沿神經網路壓縮與加速技術。


本書可以為人工智慧、電腦科學、資訊科學、神經網路加速計算研究者或者從事深度學習、影像處理的相關研究人員提供參考,也可作為相關專業本科生及研究生的教學參考書。

目錄大綱

第1章 深度學習及AI芯片 1
1.1 深度學習研究現狀 1
1.1.1 深度學習的概念 1
1.1.2 深度學習和神經網絡的發展歷程 2
1.1.3 典型的深度神經網絡 4
1.1.4 深度學習的典型應用 5
1.2 AI芯片研究現狀 10
1.2.1 GPU 10
1.2.2 半制定FPGA 11
1.2.3 全定制ASIC 11
1.2.4 SoC 11
1.2.5 類腦芯片 12

第2章 深度學習開發平台 13
2.1 深度學習平台介紹 13
2.1.1 TensorFlow 13
2.1.2 Caffe 16
2.1.3 Pytorch 17
2.1.4 MXNet 19
2.1.5 CNTK 20
2.1.6 PaddlePaddle 21
2.1.7 Darknet 22
2.2 深度學習平台對比 23

第3章 深度神經網絡基礎層算子介紹 26
3.1 卷積算子 26
3.2 反捲積算子 29
3.3 池化算子 31
3.3.1 平均池化算子 31
3.3.2 最大池化算子 32
3.4 激活算子 33
3.5 全連接算子 34
3.6 Softmax算子 35
3.7 批標準化算子 36
3.8 Shortcut算子 37

第4章 FPGA基本介紹 39
4.1 FPGA概述 39
4.1.1 可編程邏輯器件 39
4.1.2 FPGA的特點 40
4.1.3 FPGA的體系結構 40
4.2 FPGA系列及型號選擇 41
4.2.1 FPGA生產廠家 41
4.2.2 FPGA系列 42
4.2.3 基於應用的FPGA型號選擇 44
4.3 FPGA性能衡量指標 44

第5章 FPGA神經網絡開發基礎 46
5.1 FPGA開發簡介 46
5.2 FPGA的結構特性與優勢 46
5.3 FPGA深度學習神經網絡加速計算的開發過程 48
5.3.1 神經網絡模型計算量分析 48
5.3.2 神經網絡模型訪問帶寬分析 51
5.3.3 加速硬件芯片選型 53
5.3.4 加速硬件系統設計 55
5.4 FPGA在深度學習方面的發展 58

第6章 FPGA神經網絡計算的RTL級開發 60
6.1 搭建開發環境 60
6.1.1 開發環境的選擇 60
6.1.2 開發環境的搭建 61
6.2 RTL級開發的優勢與劣勢 63
6.3 RTL級開發的基本流程 63
6.3.1 需求理解 65
6.3.2 方案評估 65
6.3.3 芯片理解 65
6.3.4 詳細方案設計 68
6.3.5 RTL級HDL設計輸入 79
6.3.6 功能仿真 81
6.3.7 綜合優化 82
6.3.8 佈局佈線與實現 82
6.3.9 靜態時序分析與優化 83
6.3.10 芯片編程與調試 83
6.4 RTL級神經網絡加速設計流程 83
6.5 RTL級神經網絡加速仿真 84
6.6 RTL級神經網絡加速時序優化 84

第7章 基於FPGA實現YOLO V2模型計算加速實例分析 86
7.1 神經網絡基本算子的FPGA實現 86
7.1.1 加速邏輯方案整體設計 86
7.1.2 卷積算子設計 89
7.1.3 全連接算子設計 97
7.1.4 池化算子設計 100
7.2 FPGA YOLO V2的頂層設計 103
7.2.1 YOLO V2模型簡介 103
7.2.2 YOLO V2模型結構 105
7.2.3 YOLO V2的FPGA實現設計 107
7.3 FPGA YOLO V2的模塊設計 111
7.3.1 卷積 111
7.3.2 YOLO V2偏置、歸一化/縮放/激活 114
7.3.3 激活函數 116
7.4 FPGA YOLO V2的系統和RTL仿真 116
7.5 FPGA YOLO V2系統時序優化 118
7.5.1 插入寄存器 118
7.5.2 並行化設計 120
7.5.3 均衡設計 124
7.5.4 減少信號扇出 126
7.5.5 優化數據信號路徑 127
7.6 性能對比 128
7.6.1 S10的檢測流程 128
7.6.2 檢測結果 129
7.6.3 與GPU的性能對比 130

第8章 基於OpenCL的FPGA神經網絡計算加速開發 132
8.1 OpenCL基礎 132
8.1.1 OpenCL簡介 132
8.1.2 OpenCL模型 133
8.1.3 命令事件 140
8.2 OpenCL FPGA開發流程 141
8.2.1 搭建OpenCL開發環境 141
8.2.2 開發流程 144
8.3 OpenCL程序優化 160
8.3.1 數據傳輸優化 160
8.3.2 內存訪問優化 161
8.3.3 數據處理優化 163
8.3.4 其他優化手段 170
8.3.5 矩陣乘法優化實例 170
8.4 OpenCL FPGA實例 176
8.4.1 分類任務 176
8.4.2 目標檢測 201

第9章 神經網絡壓縮與加速技術 221
9.1 神經網絡剪枝壓縮與權值共享方法 221
9.1.1 神經網絡剪枝 222
9.1.2 權值共享 223
9.2 低秩估計 226
9.3 模型量化 227
9.3.1 二值化權重 227
9.3.2 三值化權重 228
9.3.3 二值化神經網絡 229
9.3.4 多位神經網絡 230
9.4 知識蒸餾 231

參考文獻 234