二值卷积神经网络加速器的VLSI架构设计
发布时间:2024-07-10 20:31
卷积神经网络在图像分类领域应用越来越广泛,网络规模逐渐增大,有限的乘法器资源和片上存储空间难以满足卷积网络计算高并行性和日益增多的浮点数权重存储需求。二值卷积神经网络是一种量化的卷积神经网络,权重量化为+1或-1使得卷积计算时可以避免乘法运算,并且二值化权重使用1 bit表示,有效降低了权重参数存储空间需求。本文重点研究二值卷积神经网络及其加速器VLSI架构的设计,充分利用二值卷积神经网络的特性,设计低功耗、高并行、高能效二值卷积网络加速器,完成逻辑综合、布局布线以及板级验证。本文主要工作如下:(1)设计了一种二值编码激活函数,在前向传播过程中使用同或和比较运算替换中间BN层的乘法运算,从而减少了乘法运算次数,同时在全二值卷积层将中间特征图数据量化为整数,降低了中间特征图存储需求。(2)基于二值图片输入,设计了一种BNET-6网络加速器,使用脉动数据流和层间流水线提高计算并行度。使用二值编码激活函数,中间特征图存储减少72%。在 120 MHz 时,FPS 为 23080@28×28,推理 MNIST 测试集精度降低 0.13%。根据在VC707 FPGA芯片上的实现结果,片上功耗为0...
【文章页数】:90 页
【学位级别】:硕士
【文章目录】:
摘要
ABSTRACT
第1章 绪论
1.1 研究背景和意义
1.2 卷积神经网络及二值化现状
1.2.1 卷积神经网络背景
1.2.2 卷积神经网络优化方法
1.2.3 卷积网络的二值化
1.3 卷积及二值化硬件加速现状
1.3.1 浮点卷积硬件加速
1.3.2 定点卷积硬件加速
1.3.3 二值卷积硬件加速
1.4 主要工作与内容安排
1.4.1 主要工作
1.4.2 内容安排
第2章 卷积神经网络及二值化
2.1 卷积神经网络基础
2.1.1 卷积计算
2.1.2 池化计算
2.1.3 全连接计算
2.1.4 激活函数计算
2.1.5 批量归一化计算
2.1.6 输入特征图填充
2.1.7 前向传播与反向传播
2.2 二值卷积神经网络
2.2.1 二值卷积层
2.2.2 二值卷积神经网络训练
2.3 二值卷积硬件加速计算转换
2.3.1 乘累加转同或累加
2.3.2 二值卷积计算简化
2.4 本章小结
第3章 脉动二值卷积网络加速器设计
3.1 BNET-6网络结构和参数
3.2 脉动数据流工作方式
3.3 BNET-6加速器架构
3.3.1 流水线结构
3.3.2 脉动阵列结构
3.3.3 脉动阵列计算单元
3.3.4 二值编码激活函数结构
3.3.5 最大值池化单元结构
3.4 BNET-6网络仿真
3.4.1 MNIST数据集
3.4.2 BNET-6加速器行为级仿真结果
3.4.3 BNET-6网络软件平台仿真结果
3.5 BNET-6加速器性能与资源使用
3.6 本章小结
第4章 层间并行二值卷积加速器设计
4.1 BNET-12网络结构和参数
4.2 浮点数定点化原理
4.3 BNET-12加速器架构
4.3.1 输入输出特征图对应关系
4.3.2 层间流水线结构
4.3.3 BNET-12加速器卷积单元
4.3.4 卷积单元内部计算模块
4.3.5 三行输入特征图缓存结构
4.3.6 全连接层计算结构
4.3.7 二值编码激活函数结构Ⅱ
4.3.8 BNET-12加速器池化结构
4.4 BNET-12网络仿真
4.4.1 SVHN数据集和Cifar10数据集
4.4.2 SVHN的BNET-12加速器行为级仿真
4.4.3 SVHN的BNET-12网络软件仿真
4.4.4 Cifar10的BNET-12加速器行为级仿真
4.4.5 Cifar10的BNET-12网络软件仿真
4.5 BNET-12加速器性能和资源使用
4.6 本章小结
第5章 可重构阵列二值卷积加速器设计
5.1 BNET-5网络结构和参数
5.2 可重构脉动阵列结构
5.2.1 可重构脉动阵列工作模式一
5.2.2 可重构脉动阵列工作模式二
5.2.3 可重构脉动阵列工作模式三
5.2.4 可重构脉动阵列工作模式四
5.3 可重构阵列BNET-5加速器设计
5.3.1 BNET-5加速器总体架构
5.3.2 BNET-5网络与可重构阵列的映射
5.3.3 BNET-5加速器工作状态转换
5.3.4 可重构阵列计算单元
5.3.5 BNET-5加速器二值化模块
5.4 BNET-5网络仿真
5.4.1 BNET-5加速器行为级仿真结果
5.4.2 BNET-5网络的软件平台仿真结果
5.5 BNET-5加速器资源使用与分析
5.6 本章小结
第6章 实验与评估
6.1 实验环境
6.1.1 服务器平台
6.1.2 硬件架构设计平台
6.2 实验流程
6.3 实验结果评估
6.3.1 BNET-6加速器仿真验证结果
6.3.2 BNET-12加速器仿真验证结果
6.3.3 BNET-5加速器仿真验证结果
6.3.4 逻辑综合实验结果
6.4 本章小结
第7章 总结与展望
7.1 总结
7.2 展望
参考文献
致谢
在读期间发表的学术论文与取得的其他研究成果
本文编号:4004691
【文章页数】:90 页
【学位级别】:硕士
【文章目录】:
摘要
ABSTRACT
第1章 绪论
1.1 研究背景和意义
1.2 卷积神经网络及二值化现状
1.2.1 卷积神经网络背景
1.2.2 卷积神经网络优化方法
1.2.3 卷积网络的二值化
1.3 卷积及二值化硬件加速现状
1.3.1 浮点卷积硬件加速
1.3.2 定点卷积硬件加速
1.3.3 二值卷积硬件加速
1.4 主要工作与内容安排
1.4.1 主要工作
1.4.2 内容安排
第2章 卷积神经网络及二值化
2.1 卷积神经网络基础
2.1.1 卷积计算
2.1.2 池化计算
2.1.3 全连接计算
2.1.4 激活函数计算
2.1.5 批量归一化计算
2.1.6 输入特征图填充
2.1.7 前向传播与反向传播
2.2 二值卷积神经网络
2.2.1 二值卷积层
2.2.2 二值卷积神经网络训练
2.3 二值卷积硬件加速计算转换
2.3.1 乘累加转同或累加
2.3.2 二值卷积计算简化
2.4 本章小结
第3章 脉动二值卷积网络加速器设计
3.1 BNET-6网络结构和参数
3.2 脉动数据流工作方式
3.3 BNET-6加速器架构
3.3.1 流水线结构
3.3.2 脉动阵列结构
3.3.3 脉动阵列计算单元
3.3.4 二值编码激活函数结构
3.3.5 最大值池化单元结构
3.4 BNET-6网络仿真
3.4.1 MNIST数据集
3.4.2 BNET-6加速器行为级仿真结果
3.4.3 BNET-6网络软件平台仿真结果
3.5 BNET-6加速器性能与资源使用
3.6 本章小结
第4章 层间并行二值卷积加速器设计
4.1 BNET-12网络结构和参数
4.2 浮点数定点化原理
4.3 BNET-12加速器架构
4.3.1 输入输出特征图对应关系
4.3.2 层间流水线结构
4.3.3 BNET-12加速器卷积单元
4.3.4 卷积单元内部计算模块
4.3.5 三行输入特征图缓存结构
4.3.6 全连接层计算结构
4.3.7 二值编码激活函数结构Ⅱ
4.3.8 BNET-12加速器池化结构
4.4 BNET-12网络仿真
4.4.1 SVHN数据集和Cifar10数据集
4.4.2 SVHN的BNET-12加速器行为级仿真
4.4.3 SVHN的BNET-12网络软件仿真
4.4.4 Cifar10的BNET-12加速器行为级仿真
4.4.5 Cifar10的BNET-12网络软件仿真
4.5 BNET-12加速器性能和资源使用
4.6 本章小结
第5章 可重构阵列二值卷积加速器设计
5.1 BNET-5网络结构和参数
5.2 可重构脉动阵列结构
5.2.1 可重构脉动阵列工作模式一
5.2.2 可重构脉动阵列工作模式二
5.2.3 可重构脉动阵列工作模式三
5.2.4 可重构脉动阵列工作模式四
5.3 可重构阵列BNET-5加速器设计
5.3.1 BNET-5加速器总体架构
5.3.2 BNET-5网络与可重构阵列的映射
5.3.3 BNET-5加速器工作状态转换
5.3.4 可重构阵列计算单元
5.3.5 BNET-5加速器二值化模块
5.4 BNET-5网络仿真
5.4.1 BNET-5加速器行为级仿真结果
5.4.2 BNET-5网络的软件平台仿真结果
5.5 BNET-5加速器资源使用与分析
5.6 本章小结
第6章 实验与评估
6.1 实验环境
6.1.1 服务器平台
6.1.2 硬件架构设计平台
6.2 实验流程
6.3 实验结果评估
6.3.1 BNET-6加速器仿真验证结果
6.3.2 BNET-12加速器仿真验证结果
6.3.3 BNET-5加速器仿真验证结果
6.3.4 逻辑综合实验结果
6.4 本章小结
第7章 总结与展望
7.1 总结
7.2 展望
参考文献
致谢
在读期间发表的学术论文与取得的其他研究成果
本文编号:4004691
本文链接:https://www.wllwen.com/shoufeilunwen/xixikjs/4004691.html
上一篇:基于深度学习的嵌入式实时视频结构化系统研究
下一篇:没有了
下一篇:没有了