[发明专利]一种细胞神经网络硬件架构的优化方法在审
申请号: | 201810337836.9 | 申请日: | 2018-04-16 |
公开(公告)号: | CN108596331A | 公开(公告)日: | 2018-09-28 |
发明(设计)人: | 卓成;刘仲阳 | 申请(专利权)人: | 浙江大学 |
主分类号: | G06N3/06 | 分类号: | G06N3/06 |
代理公司: | 杭州求是专利事务所有限公司 33200 | 代理人: | 刘静;邱启旺 |
地址: | 310058 浙江*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 细胞神经网络 加速单元 迭代单元 硬件架构 优化 设计空间 输出缓存 运算操作 系统级 存储器接口控制器 数据传输延时 外部存储器 并行计算 并行运算 计算性能 内存带宽 神经网络 输入缓存 依次连接 硬件资源 优化设计 运算结果 整个细胞 总线 构建 流水线 写入 架构 | ||
1.一种细胞神经网络硬件架构的优化方法,其特征在于,该方法包括以下步骤:
(1)构建细胞神经网络硬件架构,该架构由外部存储器、存储器接口控制器、片上输入缓存、片上输出缓存、计算加速单元和总线构成;所述计算加速单元包括若干依次连接的迭代单元,每个迭代单元包括若干并行运算模块;数据从外部存储器通过存储器接口控制器和总线读入片上输入缓存,并在计算加速单元中执行运算操作,运算结果写入片上输出缓存,最终输出到外部存储器;整个细胞神经网络的运算操作通过迭代单元流水线完成;
(2)对计算加速单元实现系统级优化设计,具体为:
分块并行阵列:将输入图像分割成若干个容量为N的数据块,将每个数据块中的N个数据按照其空间排布顺序分配到一个迭代单元的N个并行运算模块中,并且所有运算模块在一个运行周期内完成运算;
数据重用:当一个迭代单元中的并行运算模块在执行计算操作时,利用相邻运算模块的输入矩阵的数据共享关系对输入图像进行数据重用,减少迭代单元之间以及片上输入缓存的读写操作。
2.根据权利要求1所述的一种细胞神经网络硬件架构的优化方法,其特征在于,所述数据重用具体为:细胞神经网络在一个迭代单元内执行并行计算时,当前运算模块的3×3输入矩阵中前两列数据与前一个相邻运算模块的输入矩阵后两列数据存在数据共享关系,因此前两列数据可以通过访问相邻运算模块的寄存器获取,而第三列数据从迭代单元FIFO中读取,从而使FIFO带宽需求下降2/3。
3.根据权利要求1所述的一种细胞神经网络硬件架构的优化方法,其特征在于,在系统级优化设计后还包括模块级优化设计,具体为:
参数量化:对所有细胞神经网络的模板数据做指数量化,引入参数重复和矩阵稀疏化两个特性,从而减少乘法运算次数,并在量化的基础上用移位操作代替乘法运算;
内存访问优化:通过重新分配片上内存访问和计算周期来减少延迟;在运算单元寄存器空闲时,将寄存器内存访问和计算操作并行执行,并行运算单元内存访问操作相互不独立,以流水线方式执行。
4.根据权利要求3所述的一种细胞神经网络硬件架构的优化方法,其特征在于,所述参数量化具体为:在细胞神经网络的大量乘加运算中,将参数量化为2的指数,用二进制移位代替浮点数乘法,从而降低乘法器资源消耗;量化集qs和量化结果uq(i)的公式如下:
其中,p为所有量化参数可能的取值,k和m分别描述量化下限和上限。
5.根据权利要求3所述的一种细胞神经网络硬件架构的优化方法,其特征在于,所述内存访问优化具体为:将离散时间细胞神经网络的一个计算周期分为寄存器繁忙和空闲两个阶段,在寄存器繁忙阶段,计算操作需要从寄存器中读取图像数据,在寄存器空闲阶段,将寄存器内存访问和计算操作并行执行,寄存器加载下个计算周期所需要的数据,减少了内存访问所造成的延迟;为了减少存储器端口的面积消耗,并行分块阵列中在时域中重合的内存访问周期以流水线方式实现。
6.根据权利要求3所述的一种细胞神经网络硬件架构的优化方法,其特征在于,在模块级优化设计后还包括设计空间级优化设计,具体为:引入基于细胞神经网络的Roofline模型,对构建的细胞神经网络硬件架构进行可重构的设计空间探索;根据I/O带宽上限和峰值计算性能上限的约束条件,Roofline模型得出系统计算性能和迭代单元个数、运算模块的计算性能、分块尺寸之间的关系,使得系统可以在充分利用所有硬件资源的情况下达到最优性能。
7.根据权利要求1所述的一种细胞神经网络硬件架构的优化方法,其特征在于,所述计算加速单元包括依次连接的一个迭代单元A和若干个迭代单元B,整个细胞神经网络的运算操作通过迭代单元流水线完成,具体为:
迭代单元A执行离散时间细胞神经网络迭代过程中的初始计算操作,由于细胞神经网络中输入系数模板和阈值的数值仅与空间位置相关,因此只需要一个迭代单元A完成与上述参数相关的初始计算;
迭代单元B执行离散时间细胞神经网络中与时间相关的迭代运算操作。
8.根据权利要求1所述的一种细胞神经网络硬件架构的优化方法,其特征在于,所述计算加速单元还包括数据传输控制单元,所述数据传输控制单元用于管理片上输入缓存和输出缓存、模板RAM和迭代单元之间的所有数据传输操作,它保证了不同迭代单元数据传输和计算的同步性,并且可以根据不同总线带宽改变计算加速单元的最优运行频率。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大学,未经浙江大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810337836.9/1.html,转载请声明来源钻瓜专利网。