一种卷积神经网络-图卷积神经网络可重构硬件加速架构制造技术

技术编号:32827610 阅读:54 留言:0更新日期:2022-03-26 20:32
本发明专利技术属于神经网络深度学习领域,具体涉及一种卷积神经网络

【技术实现步骤摘要】
一种卷积神经网络

图卷积神经网络可重构硬件加速架构


[0001]本专利技术属于神经网络深度学习领域,具体涉及一种卷积神经网络

图卷积神经网络可重构硬件加速架构。

技术介绍

[0002]最近几年来,人工智能领域,尤其是机器学习在理论和应用方面均获得了突破性的成就。神经网络深度学习是机器学习最重要发展方向之一,在过去的十年中,随着计算资源的快速发展和大量训练数据的可用性,深度学习和神经网络得到了快速的兴起与发展。许多曾经严重依赖于手工提取特征的机器学习任务(如目标检测、机器翻译和语音识别),如今都已被各种端到端的深度学习神经网络模型(例如卷积神经网络(CNN)、长短期记忆模型(LSTM)和自动编码器)彻底取代了。
[0003]相比于中央处理器(CPU)、图形处理器(GPU)和专用集成电路(ASIC),现场可编程逻辑门阵列(FPGA)在深度学习算法加速上具有高速度、低功耗、稳定而又延迟极低,适用于流式的计算密集型任务和通信密集型任务,并具有灵活、开发周期短、成本低、便于携带等优势。因此现场可编程逻辑门阵列是深度学习加速非常不错的选择。
[0004]近年来卷积神经网络(CNN)和图卷积神经网络(GCN)是神经网络深度学习领域炙手可热的研究方向。卷积神经网络在图像数据识别领域,对数据具备规则空间结构的欧式结构图像数据识别的处理有很好的效果。但现实生活中还存在有很多不规则的数据结构,近年来兴起的图卷积神经网络对于不具备规则空间结构的非欧结构图像数据,如推荐系统、电子交易、分子结构等抽象出来的图谱等的处理场景应用广泛。
[0005]目前学术、工业界针对卷积神经网络的硬件加速器的研究已经成果颇丰,对于图卷积神经网络的硬件加速器的研究也有一定的成果。但是目前的硬件架构都是针对一种神经网络进行加速,不支持重构加速不同神经网络,然而这会极大限制人工智能芯片产业的发展。近两年来人工智能芯片市场陷入低速增长,其根本原因就是神经网络加速硬件架构不支持重构。比如对于欧式结构和非欧结构数据都需要处理、研究的需求场景,一旦深度学习神经网络的计算复杂度急速增高、数据量急速增大,对硬件加速器的开销需求会急速增大,如果对卷积神经网络和图卷积神经网络两种神经网络数据分别采用不同神经网络硬件加速架构进行加速会造成资源的严重浪费。如果能够设计出一款动态可重构的神经网络硬件加速架构,以实现一个架构可以跑多种算法,这将节省资源,大大提高通用性,极大程度上促进整个产业的发展。因此,如何设计一种硬件加速架构,通过配置支持对卷积神经网络

图卷积神经网络两种神经网络数据进行重构加速,成为目前需要解决的一个问题。

技术实现思路

[0006]针对上述存在问题或不足,为解决现有神经网络硬件加速架构不支持两种神经网络重构的问题,本专利技术提供了一种卷积神经网络

图卷积神经网络可重构硬件加速架构,基于现场可编程逻辑门阵列。
[0007]一种卷积神经网络

图卷积神经网络可重构硬件加速架构,其包括权重静态存储控制单元、数据静态存储控制单元、状态控制单元、重排图像块为矩阵列方法单元、处理元件(PE)运算阵列、邻接矩阵运算单元、配置寄存器和激活函数与池化运算单元。
[0008]所述状态控制单元,用于完成整个系统架构的状态跳转,以控制神经网络(卷积神经网络或图卷积神经网络)图像/图数据和权重数据的存储调用以及神经网络运算操作的执行顺序。
[0009]如果是卷积神经网络模式,状态控制单元的状态跳转顺序为:空闲

输入数据存储

重排图像块为矩阵列方法

神经网络运算

激活池化

中间数据存储。
[0010]如果是图卷积神经网络模式,状态控制单元的状态跳转顺序为:空闲

输入数据存储

神经网络运算

邻接矩阵运算

激活池化

中间数据存储。此时状态控制单元还负责将上位机传输的邻接矩阵数据交给邻接矩阵运算单元存储起来。
[0011]所述权重静态存储控制单元,用于完成上位机训练完毕的权重数据的存储。上位机通过总线将权重数据存储进该单元内置的权重静态存储器。
[0012]神经网络运算前,状态控制单元读取权重静态存储控制单元中神经网络的权重数据,将权重数据与图像或者图数据在处理元件运算阵列中进行乘加运算;神经网络运算后,由于权重数据只是被读取,而不会被计算,因此不需要再执行将权重数据存储进权重静态存储控制单元的操作。
[0013]如果是卷积神经网络模式,权重静态存储控制单元存储经过上位机通过重排图像块为矩阵列方法转换完毕的每一层卷积神经网络的权重(卷积核)数据;
[0014]如果是图卷积神经网络模式,权重静态存储控制单元存储每一层图卷积神经网络的权重数据。
[0015]所述数据静态存储控制单元,用于完成上位机传输的输入数据和神经网络计算完毕的中间数据的存储。上位机通过总线将数据存储进该单元内置数据静态存储器。
[0016]如果是卷积神经网络模式,数据静态存储控制单元存储上位机输入的图像数据,以及每一层神经网络计算完毕后的中间图像数据。
[0017]如果是图卷积神经网络模式,数据静态存储控制单元存储上位机输入的初始图矩阵,和每一层神经网络计算完毕后的中间图矩阵。
[0018]神经网络运算前,状态控制单元读取数据,如果是卷积神经网络模式,数据还需要先进入重排图像块为矩阵列方法单元进行数据转换;再将权重数据与图像数据在处理单元运算阵列中进行乘加运算。如果是图卷积神经网络模式,则将图数据直接输入处理单元运算阵列中与权重数据进行乘加运算。
[0019]神经网络运算后,如果是图卷积神经网络模式,数据还需要进入邻接矩阵运算单元与存储在该单元的邻接矩阵数据做加法运算;然后再进入激活函数与池化运算单元进行激活函数与池化运算,最后得到的中间数据存储回到数据静态存储控制单元。
[0020]所述重排图像块为矩阵列方法单元,用于在卷积神经网络模式下,每一层神经网络运算前,将数据静态存储控制单元存储的数据转换成能够与权重数据进行乘加的数据。该单元将得到配置寄存器的卷积核尺寸、通道数、步长数据,将属于同一覆盖位置的不同通道的所有数据通过重排图像块为矩阵列方法展成一行。图卷积神经网络模式下该单元使能为低,将不会被使用。
[0021]所述处理元件运算阵列,内置至少两个可同时执行乘法运算的处理元件,用于对权重数据与图像数据或图数据进行高并行的乘加运算,从而实现乘加运算的效率提升。
[0022]如果是卷积神经网络模式,神经网络运算结束后的数据直接交给激活函数与池化运算单元。
[0023]如果是图卷积神经网络模式,神经网络运算结束后的数据送入邻接矩阵运算单元,与邻接矩阵数据进行加法运算(邻接矩阵数据代表图的节点的相邻关系,邻接矩阵本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种卷积神经网络

图卷积神经网络可重构硬件加速架构,其特征在于:包括权重静态存储控制单元、数据静态存储控制单元、状态控制单元、重排图像块为矩阵列方法单元、处理元件运算阵列、邻接矩阵运算单元、配置寄存器和激活函数与池化运算单元;所述状态控制单元,用于完成整个系统架构的状态跳转,以控制神经网络数据和权重数据的存储调用以及神经网络运算操作的执行顺序;如果是卷积神经网络模式,状态控制单元的状态跳转顺序为:空闲

输入数据存储

重排图像块为矩阵列方法

神经网络运算

激活池化

中间数据存储;如果是图卷积神经网络模式,状态控制单元的状态跳转顺序为:空闲

输入数据存储

神经网络运算

邻接矩阵运算

激活池化

中间数据存储;此时状态控制单元还负责将上位机传输的邻接矩阵数据交给邻接矩阵运算单元存储起来;所述权重静态存储控制单元,用于完成上位机训练完毕的权重数据的存储;上位机通过总线将权重数据存储进该单元内置的权重静态存储器;神经网络运算前,状态控制单元读取权重静态存储控制单元中神经网络的权重数据,将权重数据与图像或者图数据在处理元件运算阵列中进行乘加运算;如果是卷积神经网络模式,权重静态存储控制单元存储经过上位机通过重排图像块为矩阵列方法转换完毕的每一层卷积神经网络的权重数据;如果是图卷积神经网络模式,权重静态存储控制单元存储每一层图卷积神经网络的权重数据;所述数据静态存储控制单元,用于完成上位机传输的输入数据和神经网络计算完毕的中间数据的存储;如果是卷积神经网络模式,数据静态存储控制单元存储上位机输入的图像数据,以及每一层神经网络计算完毕后的中间图像数据;如果是图卷积神经网络模式,数据静态存储控制单元存储上位机输入的初始图矩阵,和每一层神经网络计算完毕后的中间图矩阵;所述重排图像块为矩阵列方法单元,用于在卷积神经网络模式下,每一层神经网络运算前,将数据静态存储控制单元存储的数据转换成能够与权重数据进行乘加的数据;该单元将得到配置寄存器的卷积核尺寸、通道数、步长数据,将属于同一覆盖位置的不同通道的所有数据通过重排图像块为矩阵列方法展成一行;图卷积神经网络模式下该单元使能为低,将不会被使用;所述处理元件运算阵列,内置至少两个可同时执行乘法运算的处理元件,用于对权重数据与图像数据或图数据进行高并行的乘加运算,从而实现乘加运算的效率提升;如果是卷积神经网络模式,神经网络运算结束后的数据直接交给激活函数与池化运算单元;如果是图卷积神经网络模式,神经网络运算结束后的数据送入邻接矩阵运算单元,与邻接矩阵数据进行加法运算,然后再交给激活函数与池化运算单元处理;所述邻接矩阵运算单元,用于在图卷积神经网络模式存储邻接矩阵数据,与神经网络运算后的数据进行加法运算;卷积神经网络模式,该单元使能为低,将不会被使用;所述配置寄存器,用于在系统架构启动前进行相应的神经网络模型参数配置,包括网
络参数寄存器、模式选择寄存器和中断寄存器;通过上位机配置相应的神经网络类型、神经网络层数、各层权重尺寸、步长、填充、数据尺寸和中断寄存...

【专利技术属性】
技术研发人员:卢俊龙刘洋荣丽梅肖斯宇于奇
申请(专利权)人:电子科技大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1