【技术实现步骤摘要】
深度神经网络硬件加速的数据输入装置与方法
本专利技术涉及神经网络算法的硬件加速实现设计领域,具体为深度神经网络硬件加速的数据输入装置与方法。
技术介绍
深度学习是机器学习的一个分支,相比于传统机器学习,深度学习可以从数据中学习更加复杂的特征表达,使得权重学习更加有效。深度学习目前推广到了机器学习的各个领域,在计算机视觉任务(如目标分类和识别、自动驾驶和手写识别)、大数据分析、自动语音识别等应用都接近了人类判别的性能。而深度神经网络具有更多的网络层数和参数个数,能够提取更加丰富的数据特征,从而使得机器学习获取更好的学习效果,卷积神经网络则是其中一种被广泛应用的结构。卷积神经网络的基本结构由卷积层、池化层、非线性层以及全连接层组成,其中核心层级结构是卷积层,其最大的特点就是局部感知和权值共享。利用层间局部空间相关性将相邻每一层的神经元节点只与和它相近的上层神经元节点连接,即局部感知。权值共享则是在卷积神经网络中,卷积层的每一个卷积滤波器重复的作用于整个感受野中,对输入图像进行卷积,卷积结果构成了输入图像的特征图,提取出图像的局部特征。卷积神经网络兼具高计算密集与访存密集的特点,而传统的通用计算平台CPU无法提供足够的计算算力,难以达到应用对实时性的要求。为解决上述问题,很多研究针对神经网络的特性,设计了相应的加速器,硬件平台包括FPGA(可编程逻辑阵列)、ASIC(专用集成电路)等。已有的神经网络加速器多采用二维空间结构,通过数据局部性和网络稀疏性来达到更高的能效,但未发掘片外存储到片上缓冲的数据复用。
技术实现思路
本专利技术要解决的技术问题是提供一种用于深度神 ...
【技术保护点】
1.深度神经网络硬件加速的数据输入装置,数据输入装置(100)与外部存储(200)相连;所述外部存储(200)中存放用于计算的输入特征图存储区(210)、权重存储区(220)以及输出特征图存储区(230);其特征在于:所述数据输入装置(100)包括PE阵列组(110)、三重输入缓冲(120)、权重缓冲(130)、输出缓冲(140)和控制器(150);所述PE阵列组(110)、三重输入缓冲(120)和输出缓冲(140)的数量均至少为1;所述三重输入缓冲(120)与PE阵列组(110)一一对应的相连,且PE阵列组(110)和输出缓冲(140)一一对应的相连;每个三重输入缓冲(120)通过总线与输入特征图存储区(210)相连;所述控制器(150)分别与输入特征图存储区(210)以及每个三重输入缓冲(120)相连;所述权重缓冲(130)通过总线与权重存储区(220)相连,且权重缓冲(130)与每个PE阵列组(110)相连;每个输出缓冲(140)通过总线与输出特征图存储区(230)相连。
【技术特征摘要】
1.深度神经网络硬件加速的数据输入装置,数据输入装置(100)与外部存储(200)相连;所述外部存储(200)中存放用于计算的输入特征图存储区(210)、权重存储区(220)以及输出特征图存储区(230);其特征在于:所述数据输入装置(100)包括PE阵列组(110)、三重输入缓冲(120)、权重缓冲(130)、输出缓冲(140)和控制器(150);所述PE阵列组(110)、三重输入缓冲(120)和输出缓冲(140)的数量均至少为1;所述三重输入缓冲(120)与PE阵列组(110)一一对应的相连,且PE阵列组(110)和输出缓冲(140)一一对应的相连;每个三重输入缓冲(120)通过总线与输入特征图存储区(210)相连;所述控制器(150)分别与输入特征图存储区(210)以及每个三重输入缓冲(120)相连;所述权重缓冲(130)通过总线与权重存储区(220)相连,且权重缓冲(130)与每个PE阵列组(110)相连;每个输出缓冲(140)通过总线与输出特征图存储区(230)相连。2.根据权利要求1所述的深度神经网络硬件加速的数据输入装置,其特征在于:所述PE阵列组(110)包括自适应移位取数单元Ⅰ(111)、自适应移位取数单元Ⅱ(115)、PE阵列Ⅰ(112)、PE阵列Ⅱ(113)以及累加单元(114);所述自适应移位取数单元Ⅰ(111)和自适应移位取数单元Ⅱ(115)均与三重输入缓冲(120)相连;所述PE阵列Ⅰ(112)分别与自适应移位取数单元Ⅰ(111)、权重缓冲(130)和累加单元(114)相连;所述PE阵列Ⅱ(113)分别与自适应移位取数单元Ⅱ(115)、权重缓冲(130)和累加单元(114)相连;所述累加单元(114)还与输出缓冲(140)相连;所述PE阵列Ⅰ(112)和PE阵列Ⅱ(113)的大小为mxn,其中m表示该PE阵列可同时计算的卷积核个数,对应m个通道的输入特征图数据;n表示该PE阵列可同时计算的输出单元数,对应输入特征图数据上同一行的相邻n个输出。3.根据权利要求1或2所述的深度神经网络硬件加速的数据输入装置,其特征在于:所述三重输入缓冲(120)由缓冲区Ⅰ、缓冲区Ⅱ和缓冲区Ⅲ组成;所述缓冲区Ⅱ与的输入特征图存储区(210)相连,用于读取输入特征图数据,并将其交错拷贝一份到缓冲区Ⅰ或缓冲区Ⅲ中;所述缓冲区Ⅰ和缓冲区Ⅲ均与对应的PE阵列组(110)相连,PE阵列组(110)交错读取缓冲区Ⅰ和缓冲区Ⅲ的数据作为输入。4.根据权利要求3所述的深度神经网络硬件加速的数据输入装置,其特征在于:所述自适应移位取数单元Ⅰ(111)由控制单元Ⅰ(1111)、移位寄存器Ⅰ(1112)以及移位操作计数器Ⅰ(1113)组成;所述控制单元Ⅰ(1111)分别与移位寄存器Ⅰ(1112)和移位操作计数器Ⅰ(1113)相连;所述移位寄存器Ⅰ(1112)分别与三重输入缓冲(120)、PE阵列Ⅰ(112)和控制单元Ⅰ(1111)相连;所述自适应移位取数单元Ⅱ(115)由控制单元Ⅱ、移位寄存器Ⅱ以及移位操作计数器Ⅱ组成;所述控制单元Ⅱ分别与移位寄存器Ⅱ和移位操作计数器Ⅱ相连;所述移位寄存器Ⅱ分别与三重输入缓冲Ⅱ、PE阵列Ⅱ(113)和控制单元Ⅱ相连。5.利用如权利要求1~4任一所述的数据输入装置进行深度神经网络硬件加速的数据输入方法,其特征在于包括以下步骤:S1、数据从外部存储(200)传输到三重输入缓冲(120)和权重缓冲(130);S2、每个PE阵列组(110)分别读取与其相连的三重输入缓冲(120)和权重缓冲(130)中数据进行计算;S3、每个PE阵列组(110)将步骤S2中计算结果存入输出缓冲(140),输出缓冲(140)将其存入外部存储(200)。6.根据权利要求5所述的深度神经网络硬件加速的数据输入方法,其特征在于:所述数据包括权重数据和输入特征图数据;所述权重数据从权重存储区(220)传输到权重缓冲(130);所述控制器(150)控制输入特征图数据从输入特征图存储区(210)传输到三重输入缓冲(120)。7.根据权利要求6所述的深度神经网络硬件加速的数据输入方法,其特征在于:所述控制器(150)控制输入特征图数据从输入特征图存储区(210)传输到三重输入缓冲(120)的步骤如下:A、初始化源地址Rsrc、目标地址Rdst和取数行数寄存器Rline:所述三重输入缓冲(120)的缓冲区Ⅱ首次访问输入特征图存储区(210)时,控制器(150)将源地址Rsrc和目标地址Rdst初始化为0,将取数行数寄存器Rline初始化为(K+1)/2;所述源地址Rsrc的值表示此次取数对应输入特征图数据的位置,此时相对首地址的实...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。