当前位置: 首页 > 专利查询>中山大学专利>正文

一种卷积神经网络加速器制造技术

技术编号:24290135 阅读:47 留言:0更新日期:2020-05-26 20:16
本发明专利技术公开了一种卷积神经网络加速器,包括卷积模块、激活模块、池化模块、结果处理模块和控制模块;各个所述模块之间通过异步握手的方式完成数据通信的同步化;其中,所述卷积模块采用两级脉动阵列运算架构,能够实现加速器内权重数据及特征数据的复用,提高加速器在边界处的卷积计算单元(PE)利用率;卷积计算单元内部的乘法器引入七级流水线乘法器,能够提高加速器的计算并行度;使用异步握手信号取代全局时钟信号,能够从根源上消除时钟网络的功耗,从而降低系统的总功耗,提高加速器的能效比,而且由于没有时钟信号,不需要进行时序分析,系统具有更好的可扩展性。本发明专利技术广泛应用于电子信息与深度学习领域。

A convolutional neural network accelerator

【技术实现步骤摘要】
一种卷积神经网络加速器
本专利技术涉及电子信息与深度学习领域,尤其是一种卷积神经网络加速器。
技术介绍
近年来,卷积神经网络(CNN)引起了广泛的关注,推动着人工智能领域的高速发展,并取得巨大成功,其中以AlphaGo/AlphaZero为典型代表。如今,以CNN为基础的深度学习吸引了来自工业界和学术界的目光,在多个领域得到应用,包括图像检测、目标识别和自然语言处理等。神经网络具有巨大的计算量和访存次数,传统的通用处理器面对如此巨大的运算显得捉襟见肘。一种针对CNN的专用处理器—CNN加速器应运而生。业界和学术界不断提出新的架构,以期得到具有高能效比的CNN加速器。然而目前的CNN加速器设计都是基于同步方法学的,时钟信号是不可缺少的。随着电路规模的增大,系统本身的时钟网络也将变得更加复杂。加速器在时钟网络所消耗的功耗急剧上升,已有加速器时钟网络功耗的占比甚至达到了40%以上,导致加速器本身的能效降低。
技术实现思路
为了解决至少一个上述技术问题,本专利技术的目的在于提供一种卷积神经网络加速器。本专利技术所采取的技术方案是:本专利技术实施例包括一种卷积神经网络加速器,包括卷积模块、激活模块、池化模块、结果处理模块、控制模块和片内存储器;各个所述模块之间通过异步握手的方式完成数据通信的同步化;所述卷积模块包括卷积计算单元,所述卷积模块用于读取片内存储器的权重数据和特征数据,并进行卷积计算,所述权重数据和特征数据以两级脉动的方式在所述卷积计算单元之间流动;所述激活模块用于对所述卷积模块的卷积计算结果进行非线性处理,结果送入所述池化模块;所述池化模块用于对所述激活模块的处理结果进行池化处理;所述结果处理模块,用于根据控制信号将所述激活模块处理后的结果和/或所述池化模块处理后的结果送到片内存储器进行缓存;所述控制模块,用于控制各个所述模块的工作。进一步地,所述卷积模块包含至少一个卷积层,每个所述卷积层是由多个卷积计算单元组成的卷积运算阵列,所有卷积计算单元完成一轮卷积计算后,所述卷积模块的各个卷积层以列为单位将卷积计算的结果送到所述激活模块和所述池化模块依次处理。进一步地,所述卷积模块中的每一个卷积层对应一个激活模块中的激活层和一个池化模块中的池化层;所述卷积层的计算结果将被送到对应同一层的所述激活层和所述池化层和依次处理。进一步地,所述卷积层的计算结果经激活模块进行非线性处理后,送入所述池化模块进行池化处理,所述结果处理模块根据控制信号将所述池化模块处理后的结果送到片内存储器进行缓存;当检测到不用进行池化处理,所述控制模块使所述池化模块处于关闭模块,所述结果处理模块根据控制信号将所述激活模块处理后的结果送到片内存储器进行缓存。进一步地,所述卷积计算单元包含一个bit-serial乘法器,所述乘法器采用流水线微结构,展开为七级流水线乘法器。进一步地,所述卷积计算单元还实行部分和的累加计算,并将每次累加计算后的结果保存在所述卷积计算单元中。进一步地,在所述异步握手过程中,采用四相双轨异步握手协议,并采用双轨方式对各模块的数据进行编码,以同步各个所述模块之间的数据传递。进一步地,所述异步握手过程具体为:数据发送端发送有效数据,以表示一次请求;数据接收端接收并处理所述数据后,向数据发送端返回一个高电平的应答信号,以表示完成此次请求;所述数据发送端接收到所述应答信号后,向数据接收端发送空的数据,以表示准备下一次请求;所述数据接收端接收到空的数据后,返回一个低电平应答信号,以表示可以开始下一次的请求。进一步地,所述异步握手过程是由数据发送端发起数据请求,而接收端返回应答信号。进一步地,所述数据请求和所述应答信号通过推通道传送。本专利技术的有益效果是:本专利技术所述的加速器通过采用两级脉动阵列运算架构,实现加速器内权重数据及特征数据的复用,又使卷积计算边界处的卷积计算单元(PE)能尽早开始工作,提高加速器在边界处的卷积计算单元(PE)利用率;卷积计算单元(PE)内部的bit-serial乘法器引入流水线微结构,展开为七级流水线乘法器,避免了卷积计算单元(PE)因为乘法运算导致的数据流停滞的出现,进一步提高加速器的计算并行度;加速器使用异步握手信号取代全局时钟信号,从根源上消除时钟网络的功耗,从而降低系统的总功耗,提高加速器的能效比,而且由于没有时钟信号,不需要进行时序分析,系统具有更好的可扩展性;此外,异步电路的等效工作频率是由电路中各级流水线的平均时延决定的,与同步电路相比具有相对较好的性能。将异步电路设计方法学应用于CNN加速器,能够得到更高能效比的CNN加速器。附图说明图1为本专利技术实施例所述卷积神经网络加速器的结构示意图;图2为本专利技术实施例所述卷积模块的数据流示意图;图3为本专利技术实施例所述卷积计算单元的结构示意图;图4为本专利技术实施例所述四相双轨握手通信示意图、数据编码真值表、握手时序图和状态转换图;图5为本专利技术实施例所述异步握手过程示例示意图。具体实施方式本实施例中,所述卷积神经网络加速器,包括卷积模块、激活模块、池化模块、结果处理模块和控制模块;各个所述模块之间通过异步握手的方式完成数据通信的同步化;所述卷积模块包括卷积计算单元,所述卷积模块用于读取片内存储器的权重数据和特征数据,并进行卷积计算,所述权重数据和特征数据以两级脉动的方式在所述卷积计算单元之间流动;所述激活模块用于对所述卷积模块的卷积计算结果进行非线性处理,结果送入所述池化模块;所述池化模块用于读取所述激活模块的处理结果,并对所述处理结果进行池化处理;所述结果处理模块,用于根据控制信号将所述激活模块处理后的结果和/或所述池化模块处理后的结果送到片内存储器进行缓存;进一步地,所述卷积模块包含至少一个卷积层,每个所述卷积层是由多个卷积计算单元组成的卷积运算阵列,所有卷积计算单元完成一轮卷积计算后,所述卷积模块的各个卷积层以列为单位将卷积计算的结果送到所述激活模块和所述池化模块依次处理。所述卷积模块中的每一个卷积层对应一个激活模块中的激活层和一个池化模块中的池化层;所述卷积层的计算结果将被送到对应同一层的所述激活层和所述池化层和依次处理。所述卷积层的计算结果经激活模块进行非线性处理后,送入所述池化模块进行池化处理,所述结果处理模块根据控制信号将所述池化模块处理后的结果送到片内存储器进行缓存;当检测到不用进行池化处理,所述控制模块使所述池化模块处于关闭模块,所述结果处理模块根据控制信号将所述激活模块处理后的结果送到片内存储器进行缓存。本实施例中,卷积模块可以包含一个或多个卷积层,每个卷积层是一个由256个PE组成的16×16的卷积运算阵列;256个卷积计算单元(PE)平均划分为4×4排列的16个阵列簇(cluster);每个阵列簇(cluster)包含16个PE,组成4×4排列的PE阵列;所有卷积层共享相本文档来自技高网...

【技术保护点】
1.一种卷积神经网络加速器,其特征在于,包括卷积模块、激活模块、池化模块、结果处理模块、控制模块和片内存储器;各个所述模块之间通过异步握手的方式完成数据通信的同步化;/n所述卷积模块包括卷积计算单元,所述卷积模块用于读取片内存储器的权重数据和特征数据,并进行卷积计算,所述权重数据和特征数据以两级脉动的方式在所述卷积计算单元之间流动;/n所述激活模块用于对所述卷积模块的卷积计算结果进行非线性处理,结果送入所述池化模块;/n所述池化模块用于对所述激活模块的处理结果进行池化处理;/n所述结果处理模块,用于根据控制信号将所述激活模块处理后的结果和/或所述池化模块处理后的结果送到片内存储器进行缓存;/n所述控制模块,用于控制各个所述模块的工作。/n

【技术特征摘要】
1.一种卷积神经网络加速器,其特征在于,包括卷积模块、激活模块、池化模块、结果处理模块、控制模块和片内存储器;各个所述模块之间通过异步握手的方式完成数据通信的同步化;
所述卷积模块包括卷积计算单元,所述卷积模块用于读取片内存储器的权重数据和特征数据,并进行卷积计算,所述权重数据和特征数据以两级脉动的方式在所述卷积计算单元之间流动;
所述激活模块用于对所述卷积模块的卷积计算结果进行非线性处理,结果送入所述池化模块;
所述池化模块用于对所述激活模块的处理结果进行池化处理;
所述结果处理模块,用于根据控制信号将所述激活模块处理后的结果和/或所述池化模块处理后的结果送到片内存储器进行缓存;
所述控制模块,用于控制各个所述模块的工作。


2.根据权利要求1所述的一种卷积神经网络加速器,其特征在于,所述卷积模块包含至少一个卷积层,每个所述卷积层是由多个卷积计算单元组成的卷积运算阵列,所有卷积计算单元完成一轮卷积计算后,所述卷积模块的各个卷积层以列为单位将卷积计算的结果送到所述激活模块和所述池化模块依次处理。


3.根据权利要求2所述的一种卷积神经网络加速器,其特征在于,所述卷积模块中的每一个卷积层对应一个激活模块中的激活层和一个池化模块中的池化层;所述卷积层的计算结果将被送到对应同一层的所述激活层和所述池化层和依次处理。


4.根据权利要求2所述的一种卷积神经网络加速器,其特征在于,所述卷积层的计算结果经激活模块进行非线性处理后,送入所述池化模块进行池化处理,所述结果处理模块根据控制信号将所述池化模块处理后的结果送到片内存储器进行缓存;当检...

【专利技术属性】
技术研发人员:刘伟坤林俊树李旭胜肖山林虞志益
申请(专利权)人:中山大学
类型:发明
国别省市:广东;44

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

1