CN109978161A - 一种通用的卷积-池化同步处理卷积核*** - Google Patents
一种通用的卷积-池化同步处理卷积核*** Download PDFInfo
- Publication number
- CN109978161A CN109978161A CN201910268608.5A CN201910268608A CN109978161A CN 109978161 A CN109978161 A CN 109978161A CN 201910268608 A CN201910268608 A CN 201910268608A CN 109978161 A CN109978161 A CN 109978161A
- Authority
- CN
- China
- Prior art keywords
- input
- convolution
- image
- convolution kernel
- pond
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Neurology (AREA)
- Complex Calculations (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种通用的卷积‑池化同步处理卷积核***,属于机器学习中卷积神经网络加速技术领域。针对现有的机器学习方法采用软件实现,存在计算能力有限,成本较高等问题,本发明采用硬件设计实现机器学习,以卷积‑池化同步处理的方式来实现对卷积神经网络进行加速的目的,能够在准确率不改变的前提下,能够快速、低功耗、高效率的实现机器学习。现有的卷积神经网络通常的卷积核为固定大小,不能够适应各种设计需要,本发明中的卷积核,能够改变卷积核大小、步长等参数,能够适应各种情况下的设计需要。
Description
技术领域
本发明属于机器学习中卷积神经网络加速技术领域。
技术背景
人工智能(Artificial Intelligence)是当今时代的一大发展趋势,被广泛的应用于计算机、医学、生物、机械等诸多领域。机器学习(Machine Learning)作为其中一个重要分支,在近些年里得到了广泛的关注,实现了迅猛的发展。其能够通过大量的数据样本,进行多次训练,得到理想的效果,被广泛应用于图像识别、物体跟踪、语音处理等领域。卷积神经网络(Convolutional Neural Network,CNN)是机器学习的重要方法之一,吸引了大量学者从事研究。其中,Lenet、Alexnet、VGG等是其较具代表性的模型,在实际应用中有着出色的表现。
机器学习于上个世纪五十年代兴起,经历了十几年的发展,在二十世纪六十年代中到七十年代末,由于当时计算机的计算能力有限,机器学习的发展处于停滞阶段。到上个世纪七十年代末开始,随着计算机处理能力的提升,机器学习掀起第二次热潮。现如今,随着计算机和大数据的发展,机器学习方法得到了前所未有的发展。然而,随着数据量的不断增大和层次的不断加深,CPU的处理能力已经无法较好地适应其发展。这时,GPU涌现出来。然而,GPU在计算能力上虽然有一定的提升,但就算能力仍旧有限,并且成本较高。因此,现在的发展趋势逐渐偏向于使用硬件实现机器学习算法。其速度快、功耗低、效率高,使其具有光明的发展前景。并且,使用硬件对卷积神经网络进行加速,也是未来的一个重要的发展方向。
发明内容
本发明的目的是为了解决现有技术的不足,提出了一种卷积神经网络的硬件加速方案,能够在准确率不改变的前提下,通过卷积-池化同步处理来实现对卷积神经进行加速的目的。
一种通用的卷积-池化同步处理卷积核***,由九个处理单元、12个输入端口和3个输出端口组成;处理单元包括:权重寄存器、图像寄存器、存储器单元、乘法单元、加法单元、激活函数单元、池化单元、第一计数单元和第二计数单元;
12个输入端口分别为时钟输入端口clk、复位端口rstn、输入权重偏置有效信号端口wren、权重偏置输入端口wb、图像输入有效信号端口pren、图像输入端口p、图像宽度像素数量输入端口npx、图像长度像素数量输入端口npy、卷积核大小输入端口nc、步长大小输入端口st、填充(padding)大小输入端口pa和池化类型输入端口po;
3个输出端口分别为卷积结果输出端口r、输出结果有效信号端口rl和卷积完成信号d。
1)时钟输入端口clk以恒定时长的交替高低电平信号输入***用于计时;经过复位端口rstn向***输入高电平的复位信号,各处理单元在该信号指示下进行卷积-池化同步处理;
***在复位完成后,通过图像宽度像素数量输入端口npx、图像长度像素数量输入端口npy、卷积核大小输入端口nc、步长大小输入端口st、填充(padding)大小输入端口pa和池化类型输入端口po将卷积和图像的各个参数输入***;
***在接收到由输入权重偏置有效信号端口wren接收到权重有效高信号后,将由权重偏置输入端口wb输入的卷积核权重数值和偏置数值存入权重寄存器中,卷积核权重和偏置输入完毕后,输入权重偏置有效信号变为无效低信号;
2)***从图像输入有效信号端口pren接收到图像输入有效高信号后,***将通过图像输入端口p接收到的图像像素数值存入图像寄存器中,每一个时钟周期接收图像的一个像素,同时将图像寄存器的数值更新为此时接收到的像素数值;像素数值的取值范围为-1~1,图像像素输入结束后,图像输入有效信号变为无效低信号;
3)在接收像素的同时,将图像寄存器中的图像像素数值与权重寄存器中的卷积核中的每个权重数值相乘,乘法单元向计数器发送指示信号xd;
4)第一计数单元接收到指示信号xd后,根据从图像宽度像素数量npx和图像长度像素数量npy获取的图像长宽像素数量判断出乘法单元所计算的像素的位置坐标x、y,计算公式如下:
其中,x代表此像素的横坐标,y代表此像素的纵坐标,n代表计数器计得的像素的序数,npx代表图像每行的像素个数,npy代表图像每列的像素个数,[]代表取整;npx和npy的取值范围为0~1024,且为整数;
然后将所得像素位置坐标x、y发送给存储器单元;
5)存储器单元根据权重的序数、从填充大小输入端口pa获取的填充大小,以及像素的位置坐标x、y将乘法单元的计算结果存入存储器单元,存储方式如下:
ram[m][y+pa][x+pa]=wm×pxy
其中,ram代表存储器,ram[][][]代表存储器的三维坐标,wm代表权重序数为m的卷积核权重,取值范围为-1~1,pxy代表横坐标为x纵坐标为y的像素数值,pa代表填充大小数值,填充大小pa的取值范围为0~5,且为整数;
按照行列的次序,依次将整张图片的所有像素输入***并计算完成后,存储器单元向第二计数单元发送指示信号cd;
6)第二计数单元接收到指示信号cd后,根据从步长大小输入端口st获取到的步长数值,以及从图像宽度像素数量npx和图像长度像素数量npy获取的图像长宽像素数量,计算出用于卷积所需的乘积的位置,计算公式如下:
其中,cx代表卷积核的横坐标,cy代表卷积核的纵坐标,cx′代表上一时刻卷积核的横坐标,cy′代表上一时刻卷积核的纵坐标,npx代表图像每行的像素个数,npy代表图像每列的像素个数,pa代表填充大小数值,nc代表卷积核大小,st代表步长;步长st的取值范围为1~11,且为整数;
7)存储器单元将用于计算的相邻四个卷积核的所有乘积数据取出,每个卷积核所需乘积个数为:
n=nc2
其中,n代表所需乘积个数,nc代表卷积核大小;卷积核大小nc的取值范围为1~11,且为整数;
7)在加法单元中进行对应的加法运算,同时加入偏置,得到四个计算结果,计算公式如下:
其中,a1代表相邻的四个卷积核中位于左上的卷积核的计算结果,a2代表位于右上的卷积核的计算结果,a3代表位于左下的卷积核的计算结果,a4代表位于右下的卷积核的计算结果,以四个卷积核为一组,cx代表每组的横坐标,cy代表每组的纵坐标,st代表步长,b为权重偏置,取值范围为-1~1,nc为卷积核的大小。
8)将这四个结果通过激活函数Relu,具体方法为将相加结果ai(i=1~4)与0比较,大于0取数值本身,小于等于0取0;
其中,mi代表通过激活函数的计算结果;
9)将四个结果送入池化单元,池化单元根据由池化类型输入端口po输入的池化类型进行池化;池化类型po可以输入两个数值分别为0和1,0,代表最大值池化,1代表均值池化;
如果为最大值池化,取四个结果的最大值输出;如果为均值池化,则计算四个结果的平均值进行输出;具体如下:
其中,r代表池化结果;
将池化结果从卷积结果输出端口r输出,同时从输出结果有效信号端口rl输出结果有效信号;
10)第二计数单元根据图像的大小,根据计算所示完成所有卷积后,向输出端口d输出完成信号,复位信号转为低电平,结束一张图片的卷积,准备接收下一张图片。
判断处理完成的方法如下:
且
其中,cx代表每组卷积核的横坐标,cy代表每组卷积核的纵坐标,npx代表图像每行的像素个数,npy代表像素具有的行数,pa代表填充大小,nc代表卷积核大小,st代表步长大小。
本发明的有益效果:
在计算卷积的同时为实现lenet-5卷积神经网络,在输入图像大小为28×28,padding大小为1,卷积核大小为3×3,步长为1的情形下,本方法从开始输入图像,到计算出全部卷积结果,需980个时钟周期,其中,输入图像需784个时钟周期,从完成图像输入到输出全部结果的处理过程需196个时钟周期。而通常的卷积池化独立实现的方法,从开始输入图像,到计算出全部卷积结果,需1568个时钟周期,其中,输入图像需784个时钟周期,从完成图像输入到输出全部结果的处理过程需784个时钟周期。本设计方法较比一般方法在全过程中提速37.5%,图像输入结束后的数据处理过程提速75%。并且,通常的卷积核为固定大小,不能够适应各种设计需要,本设计的卷积核,能够改变卷积核大小、步长等参数,能够适应各种情况下的设计需要。
附图说明
图1是本发明中通用的卷积-池化同步处理卷积核的流程图;
图2是本发明中通用的卷积-池化同步处理卷积核的算法示意图;
图3是本发明中通用的卷积-池化同步处理卷积核的硬件***结构图;
图4是本发明中通用的卷积-池化同步处理卷积核的***内部结构示意图;
图5是本发明中通用的卷积-池化同步处理卷积核的时序仿真示意图。
具体实施方式
为使本发明的设计方案更加清楚,下面将结合本发明实施例中的附图,对本发明实例的实施方案进行详细的描述。
本发明是对卷积神经网络的前向传播的判别过程的加速硬件实现,包括卷积神经网络的卷积层和池化层。其中,卷积层的公式为:
其中,l代表层数,al代表输出张量,*代表卷积,b代表偏置,M代表子矩阵个数,σ代表激活函数,一般是Relu。
池化层公式为
al=pool(al-1)
其中,pool指按照池化区域大小和池化标准将输入张量缩小的过程。
本发明的整体设计思想,如图2所示,为:
先将所有权重与每个输入像素的乘积同步实现;
图像输入完毕后,同时计算出相邻的四个卷积所得结果,因此,可以直接对这四个结果进行求均值或取最大值的池化操作,实现卷积与池化操作同步实现的目的。
图4为本发明中硬件***的内部结构。***在接收到由wren端口输入的权重有效信号后,将由wb端口输入的卷积核权重数值和偏置数值存入权重寄存器中。此后,上层单元通过pren端口向***发送输入像素有效信号,根据此信号***将接收到的像素存入图像寄存器,同时将接收到的像素数值通过乘法单元分别与这个卷积核的每个权重相乘。在开始乘法运算后,乘法单元向计数器单元1发送指示信号xd,计数器单元1会根据输入图像的长宽像素个数判断像素的位置坐标x、y,并根据权重的序数及填充大小将乘积存入存储器的对应位置。存储完成后,存储单元向计数单元2发送信号cd,计数单元2开始计算用于卷积所需的乘积的位置,同时将用于上下左右相邻的四个卷积核的所有乘积数据取出,并在加法单元中进行对应的加法运算,同时加入偏置,得到四个计算结果。下一步将这四个结果通过激活函数Relu,方法为将相加结果与0比较,大于0取数值本身,小于0取0。完成这个步骤后,将四个结果送入池化单元,池化单元根据由输入端口po输入的池化类型,如果为最大值池化,取四个结果的最大值输出,如果为均值池化,则计算四个结果的平均值进行输出,输出结果的同时输出结果有效信号rl为有效。与此同时,计数单元2根据图像的大小,根据计算显示完成所有卷积后,向输出端口d输出完成信号,结束一张图片的卷积,准备接收下一张图片。
图5为本发明中硬件***的电路仿真图。clk为时钟信号,rstn为复位信号,npx为图像每行的像素个数,npy为图像每列的像素个数,nc为卷积核大小,st为步长,pa填充大小,po为池化类型,wren为权重偏置有效信号,wb为权重与偏置,pren图像输入有效信号,p为像素,y1~yn为乘法单元,xd为第一计数单元有效信号,x像素横坐标,y像素纵坐标,ram为存储器单元,cd为第二计数单元有效信号,cx卷积核横坐标,cy卷积核纵坐标,m1~m4为加法单元,r为最后卷积结果,rl为结果有效信号,d为卷积完成信号。
本发明的具体实现方案如下:
一种通用的卷积-池化同步处理卷积核***,由九个处理单元、12个输入端口和3个输出端口组成;处理单元包括:权重寄存器、图像寄存器、存储器单元、乘法单元、加法单元、激活函数单元、池化单元、第一计数单元和第二计数单元;
12个输入端口分别为时钟输入端口clk、复位端口rstn、输入权重偏置有效信号端口wren、权重偏置输入端口wb、图像输入有效信号端口pren、图像输入端口p、图像宽度像素数量输入端口npx、图像长度像素数量输入端口npy、卷积核大小输入端口nc、步长大小输入端口st、填充(padding)大小输入端口pa和池化类型输入端口po;
3个输出端口分别为卷积结果输出端口r、输出结果有效信号端口rl和卷积完成信号d。
1)时钟输入端口clk以恒定时长的交替高低电平信号输入***用于计时;经过复位端口rstn向***输入高电平的复位信号,各处理单元在该信号指示下进行卷积-池化同步处理;
***在复位完成后,通过图像宽度像素数量输入端口npx、图像长度像素数量输入端口npy、卷积核大小输入端口nc、步长大小输入端口st、填充(padding)大小输入端口pa和池化类型输入端口po将卷积和图像的各个参数输入***;
***在接收到由输入权重偏置有效信号端口wren接收到权重有效高信号后,将由权重偏置输入端口wb输入的卷积核权重数值和偏置数值存入权重寄存器中,卷积核权重和偏置输入完毕后,输入权重偏置有效信号变为无效低信号;
2)***从图像输入有效信号端口pren接收到图像输入有效高信号后,***将通过图像输入端口p接收到的图像像素数值存入图像寄存器中,每一个时钟周期接收图像的一个像素,同时将图像寄存器的数值更新为此时接收到的像素数值;像素数值的取值范围为-1~1,图像像素输入结束后,图像输入有效信号变为无效低信号;
3)在接收像素的同时,将图像寄存器中的图像像素数值与权重寄存器中的卷积核中的每个权重数值相乘,乘法单元向计数器发送指示信号xd;
4)第一计数单元接收到指示信号xd后,根据从图像宽度像素数量npx和图像长度像素数量npy获取的图像长宽像素数量判断出乘法单元所计算的像素的位置坐标x、y,计算公式如下:
其中,x代表此像素的横坐标,y代表此像素的纵坐标,n代表计数器计得的像素的序数,npx代表图像每行的像素个数,npy代表图像每列的像素个数,[]代表取整;npx和npy的取值范围为0~1024,且为整数;
然后将所得像素位置坐标x、y发送给存储器单元;
5)存储器单元根据权重的序数、从填充大小输入端口pa获取的填充大小,以及像素的位置坐标x、y将乘法单元的计算结果存入存储器单元,存储方式如下:
ram[m][y+pa][x+pa]=wm×pxy
其中,ram代表存储器,ram[][][]代表存储器的三维坐标,wm代表权重序数为m的卷积核权重,取值范围为-1~1,pxy代表横坐标为x纵坐标为y的像素数值,pa代表填充大小数值,填充大小pa的取值范围为0~5,且为整数;
按照行列的次序,依次将整张图片的所有像素输入***并计算完成后,存储器单元向第二计数单元发送指示信号cd;
6)第二计数单元接收到指示信号cd后,根据从步长大小输入端口st获取到的步长数值,以及从图像宽度像素数量npx和图像长度像素数量npy获取的图像长宽像素数量,计算出用于卷积所需的乘积的位置,计算公式如下:
其中,cx代表卷积核的横坐标,cy代表卷积核的纵坐标,cx′代表上一时刻卷积核的横坐标,cy′代表上一时刻卷积核的纵坐标,npx代表图像每行的像素个数,npy代表图像每列的像素个数,pa代表填充大小数值,nc代表卷积核大小,st代表步长;步长st的取值范围为1~11,且为整数;
7)存储器单元将用于计算的相邻四个卷积核的所有乘积数据取出,每个卷积核所需乘积个数为:
n=nc2
其中,n代表所需乘积个数,nc代表卷积核大小;卷积核大小nc的取值范围为1~11,且为整数;
7)在加法单元中进行对应的加法运算,同时加入偏置,得到四个计算结果,计算公式如下:
其中,a1代表相邻的四个卷积核中位于左上的卷积核的计算结果,a2代表位于右上的卷积核的计算结果,a3代表位于左下的卷积核的计算结果,a4代表位于右下的卷积核的计算结果,以四个卷积核为一组,cx代表每组的横坐标,cy代表每组的纵坐标,st代表步长,b为权重偏置,取值范围为-1~1,nc为卷积核的大小。
8)将这四个结果通过激活函数Relu,具体方法为将相加结果ai(i=1~4)与0比较,大于0取数值本身,小于等于0取0;
其中,mi代表通过激活函数的计算结果;
9)将四个结果送入池化单元,池化单元根据由池化类型输入端口po输入的池化类型进行池化;池化类型po可以输入两个数值分别为0和1,0,代表最大值池化,1代表均值池化;
如果为最大值池化,取四个结果的最大值输出;如果为均值池化,则计算四个结果的平均值进行输出;具体如下:
其中,r代表池化结果;
将池化结果从卷积结果输出端口r输出,同时从输出结果有效信号端口rl输出结果有效信号;
10)第二计数单元根据图像的大小,根据计算所示完成所有卷积后,向输出端口d输出完成信号,复位信号转为低电平,结束一张图片的卷积,准备接收下一张图片。
判断处理完成的方法如下:
且
其中,cx代表每组卷积核的横坐标,cy代表每组卷积核的纵坐标,npx代表图像每行的像素个数,npy代表像素具有的行数,pa代表填充大小,nc代表卷积核大小,st代表步长大小。
Claims (1)
1.一种通用的卷积-池化同步处理卷积核***,其特征在于,该***由九个处理单元、12个输入端口和3个输出端口组成;处理单元包括:权重寄存器、图像寄存器、存储器单元、乘法单元、加法单元、激活函数单元、池化单元、第一计数单元和第二计数单元;
12个输入端口分别为时钟输入端口clk、复位端口rstn、输入权重偏置有效信号端口wren、权重偏置输入端口wb、图像输入有效信号端口pren、图像输入端口p、图像宽度像素数量输入端口npx、图像长度像素数量输入端口npy、卷积核大小输入端口nc、步长大小输入端口st、填充大小输入端口pa和池化类型输入端口po;
3个输出端口分别为卷积结果输出端口r、输出结果有效信号端口rl和卷积完成信号d;
1)时钟输入端口clk以恒定时长的交替高低电平信号输入***用于计时;经过复位端口rstn向***输入高电平的复位信号,各处理单元在该信号指示下进行卷积-池化同步处理;
***在复位完成后,通过图像宽度像素数量输入端口npx、图像长度像素数量输入端口npy、卷积核大小输入端口nc、步长大小输入端口st、填充大小输入端口pa和池化类型输入端口po将卷积和图像的各个参数输入***;
***在接收到由输入权重偏置有效信号端口wren接收到权重有效高信号后,将由权重偏置输入端口wb输入的卷积核权重数值和偏置数值存入权重寄存器中,卷积核权重和偏置输入完毕后,输入权重偏置有效信号变为无效低信号;
2)***从图像输入有效信号端口pren接收到图像输入有效高信号后,***将通过图像输入端口p接收到的图像像素数值存入图像寄存器中,每一个时钟周期接收图像的一个像素,同时将图像寄存器的数值更新为此时接收到的像素数值;像素数值的取值范围为-1~1,图像像素输入结束后,图像输入有效信号变为无效低信号;
3)在接收像素的同时,将图像寄存器中的图像像素数值与权重寄存器中的卷积核中的每个权重数值相乘,乘法单元向计数器发送指示信号xd;
4)第一计数单元接收到指示信号xd后,根据从图像宽度像素数量npx和图像长度像素数量npy获取的图像长宽像素数量判断出乘法单元所计算的像素的位置坐标x、y,计算公式如下:
其中,x代表此像素的横坐标,y代表此像素的纵坐标,n代表计数器计得的像素的序数,npx代表图像每行的像素个数,npy代表图像每列的像素个数,[]代表取整;npx和npy的取值范围为0~1024,且为整数;
然后将所得像素位置坐标x、y发送给存储器单元;
5)存储器单元根据权重的序数、从填充大小输入端口pa获取的填充大小,以及像素的位置坐标x、y将乘法单元的计算结果存入存储器单元,存储方式如下:
ram[m][y+pa][x+pa]=wm×pxy
其中,ram代表存储器,ram[][][]代表存储器的三维坐标,wm代表权重序数为m的卷积核权重,取值范围为-1~1,pxy代表横坐标为x纵坐标为y的像素数值,pa代表填充大小数值,填充大小pa的取值范围为0~5,且为整数;
按照行列的次序,依次将整张图片的所有像素输入***并计算完成后,存储器单元向第二计数单元发送指示信号cd;
6)第二计数单元接收到指示信号cd后,根据从步长大小输入端口st获取到的步长数值,以及从图像宽度像素数量npx和图像长度像素数量npy获取的图像长宽像素数量,计算出用于卷积所需的乘积的位置,计算公式如下:
其中,cx代表卷积核的横坐标,cy代表卷积核的纵坐标,cx′代表上一时刻卷积核的横坐标,cy′代表上一时刻卷积核的纵坐标,npx代表图像每行的像素个数,npy代表图像每列的像素个数,pa代表填充大小数值,nc代表卷积核大小,st代表步长;步长st的取值范围为1~11,且为整数;
7)存储器单元将用于计算的相邻四个卷积核的所有乘积数据取出,每个卷积核所需乘积个数为:
n=nc2
其中,n代表所需乘积个数,nc代表卷积核大小;卷积核大小nc的取值范围为1~11,且为整数;
7)在加法单元中进行对应的加法运算,同时加入偏置,得到四个计算结果,计算公式如下:
其中,a1代表相邻的四个卷积核中位于左上的卷积核的计算结果,a2代表位于右上的卷积核的计算结果,a3代表位于左下的卷积核的计算结果,a4代表位于右下的卷积核的计算结果,以四个卷积核为一组,cx代表每组的横坐标,cy代表每组的纵坐标,st代表步长,b为权重偏置,取值范围为-1~1,nc为卷积核的大小;
8)将这四个结果通过激活函数Relu,具体方法为将相加结果ai(i=1~4)与0比较,大于0取数值本身,小于等于0取0;
其中,mi代表通过激活函数的计算结果;
9)将四个结果送入池化单元,池化单元根据由池化类型输入端口po输入的池化类型进行池化;池化类型po可以输入两个数值分别为0和1,0,代表最大值池化,1代表均值池化;
如果为最大值池化,取四个结果的最大值输出;如果为均值池化,则计算四个结果的平均值进行输出;具体如下:
其中,r代表池化结果;
将池化结果从卷积结果输出端口r输出,同时从输出结果有效信号端口rl输出结果有效信号;
10)第二计数单元根据图像的大小,根据计算显示完成所有卷积后,向输出端口d输出完成信号,复位信号转为低电平,结束一张图片的卷积,准备接收下一张图片;
判断处理完成的方法如下:
且
其中,cx代表每组卷积核的横坐标,cy代表每组卷积核的纵坐标,npx代表图像每行的像素个数,npy代表像素具有的行数,pa代表填充大小,nc代表卷积核大小,st代表步长大小。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910177153 | 2019-03-08 | ||
CN2019101771536 | 2019-03-08 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109978161A true CN109978161A (zh) | 2019-07-05 |
CN109978161B CN109978161B (zh) | 2022-03-04 |
Family
ID=67082846
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910268608.5A Active CN109978161B (zh) | 2019-03-08 | 2019-04-04 | 一种通用的卷积-池化同步处理卷积核*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109978161B (zh) |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11403069B2 (en) | 2017-07-24 | 2022-08-02 | Tesla, Inc. | Accelerated mathematical engine |
US11409692B2 (en) | 2017-07-24 | 2022-08-09 | Tesla, Inc. | Vector computational unit |
US11487288B2 (en) | 2017-03-23 | 2022-11-01 | Tesla, Inc. | Data synthesis for autonomous control systems |
US11537811B2 (en) | 2018-12-04 | 2022-12-27 | Tesla, Inc. | Enhanced object detection for autonomous vehicles based on field view |
US11561791B2 (en) | 2018-02-01 | 2023-01-24 | Tesla, Inc. | Vector computational unit receiving data elements in parallel from a last row of a computational array |
US11562231B2 (en) | 2018-09-03 | 2023-01-24 | Tesla, Inc. | Neural networks for embedded devices |
US11567514B2 (en) | 2019-02-11 | 2023-01-31 | Tesla, Inc. | Autonomous and user controlled vehicle summon to a target |
US11610117B2 (en) | 2018-12-27 | 2023-03-21 | Tesla, Inc. | System and method for adapting a neural network model on a hardware platform |
US11636333B2 (en) | 2018-07-26 | 2023-04-25 | Tesla, Inc. | Optimizing neural network structures for embedded systems |
US11665108B2 (en) | 2018-10-25 | 2023-05-30 | Tesla, Inc. | QoS manager for system on a chip communications |
US11681649B2 (en) | 2017-07-24 | 2023-06-20 | Tesla, Inc. | Computational array microprocessor system using non-consecutive data formatting |
US11734562B2 (en) | 2018-06-20 | 2023-08-22 | Tesla, Inc. | Data pipeline and deep learning system for autonomous driving |
US11748620B2 (en) | 2019-02-01 | 2023-09-05 | Tesla, Inc. | Generating ground truth for machine learning from time series elements |
US11790664B2 (en) | 2019-02-19 | 2023-10-17 | Tesla, Inc. | Estimating object properties using visual image data |
US11816585B2 (en) | 2018-12-03 | 2023-11-14 | Tesla, Inc. | Machine learning models operating at different frequencies for autonomous vehicles |
US11841434B2 (en) | 2018-07-20 | 2023-12-12 | Tesla, Inc. | Annotation cross-labeling for autonomous control systems |
US11893774B2 (en) | 2018-10-11 | 2024-02-06 | Tesla, Inc. | Systems and methods for training machine models with augmented data |
US11893393B2 (en) | 2017-07-24 | 2024-02-06 | Tesla, Inc. | Computational array microprocessor system with hardware arbiter managing memory requests |
US12014553B2 (en) | 2019-02-01 | 2024-06-18 | Tesla, Inc. | Predicting three-dimensional features for autonomous driving |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103905686A (zh) * | 2012-12-24 | 2014-07-02 | 三星电子株式会社 | 图像扫描装置、图像补偿方法及计算机可读记录介质 |
CN107894189A (zh) * | 2017-10-31 | 2018-04-10 | 北京艾克利特光电科技有限公司 | 一种目标点自动追踪的光电瞄准***及其自动追踪方法 |
CN108154229A (zh) * | 2018-01-10 | 2018-06-12 | 西安电子科技大学 | 基于fpga加速卷积神经网络框架的图片处理方法 |
IN201811023855A (zh) * | 2018-06-26 | 2018-07-13 | Hcl Technologies Ltd | |
CN108764467A (zh) * | 2018-04-04 | 2018-11-06 | 北京大学深圳研究生院 | 用于卷积神经网络卷积运算和全连接运算电路 |
CN108804973A (zh) * | 2017-04-27 | 2018-11-13 | 上海鲲云信息科技有限公司 | 基于深度学习的目标检测算法的硬件架构及其执行方法 |
CN108848326A (zh) * | 2018-06-13 | 2018-11-20 | 吉林大学 | 一种高动态范围mcp探测器前端读出电路及其读出方法 |
CN109284824A (zh) * | 2018-09-04 | 2019-01-29 | 复旦大学 | 一种基于可重构技术的用于加速卷积和池化运算的装置 |
CN109416756A (zh) * | 2018-01-15 | 2019-03-01 | 深圳鲲云信息科技有限公司 | 卷积器及其所应用的人工智能处理装置 |
-
2019
- 2019-04-04 CN CN201910268608.5A patent/CN109978161B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103905686A (zh) * | 2012-12-24 | 2014-07-02 | 三星电子株式会社 | 图像扫描装置、图像补偿方法及计算机可读记录介质 |
CN108804973A (zh) * | 2017-04-27 | 2018-11-13 | 上海鲲云信息科技有限公司 | 基于深度学习的目标检测算法的硬件架构及其执行方法 |
CN107894189A (zh) * | 2017-10-31 | 2018-04-10 | 北京艾克利特光电科技有限公司 | 一种目标点自动追踪的光电瞄准***及其自动追踪方法 |
CN108154229A (zh) * | 2018-01-10 | 2018-06-12 | 西安电子科技大学 | 基于fpga加速卷积神经网络框架的图片处理方法 |
CN109416756A (zh) * | 2018-01-15 | 2019-03-01 | 深圳鲲云信息科技有限公司 | 卷积器及其所应用的人工智能处理装置 |
CN108764467A (zh) * | 2018-04-04 | 2018-11-06 | 北京大学深圳研究生院 | 用于卷积神经网络卷积运算和全连接运算电路 |
CN108848326A (zh) * | 2018-06-13 | 2018-11-20 | 吉林大学 | 一种高动态范围mcp探测器前端读出电路及其读出方法 |
IN201811023855A (zh) * | 2018-06-26 | 2018-07-13 | Hcl Technologies Ltd | |
CN109284824A (zh) * | 2018-09-04 | 2019-01-29 | 复旦大学 | 一种基于可重构技术的用于加速卷积和池化运算的装置 |
Non-Patent Citations (6)
Title |
---|
FRANCESCO CONTI等: "A Ultra-Low-Energy Convolution Engine for Fast Brain-Inspired Vision in Multicore Clusters", 《DOI:10.7873/DATE.2015.0404》 * |
LI DU等: "A Reconfigurable Streaming Deep Convolutional Neural Network Accelerator for Internet of Things", 《DOI:10.1109/TCSI.2017.2735490》 * |
MOHAMMED ALAWAD等: "Stochastic-Based Deep Convolutional Networks with Reconfigurable Logic Fabric", 《IEEE TRANSACTIONS ON MULTI-SCALE COMPUTING SYSTEMS》 * |
俞健: "多核DSP图像处理***的硬件设计", 《中国优秀硕士学位论文全文数据库_信息科技辑》 * |
姬梦飞等: "一种低功耗数据转换***的设计", 《集成电路应用》 * |
邱宇: "基于FPGA的Alexnet前向网络加速", 《中国优秀硕士学位论文全文数据库_信息科技辑》 * |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11487288B2 (en) | 2017-03-23 | 2022-11-01 | Tesla, Inc. | Data synthesis for autonomous control systems |
US12020476B2 (en) | 2017-03-23 | 2024-06-25 | Tesla, Inc. | Data synthesis for autonomous control systems |
US11409692B2 (en) | 2017-07-24 | 2022-08-09 | Tesla, Inc. | Vector computational unit |
US11403069B2 (en) | 2017-07-24 | 2022-08-02 | Tesla, Inc. | Accelerated mathematical engine |
US11893393B2 (en) | 2017-07-24 | 2024-02-06 | Tesla, Inc. | Computational array microprocessor system with hardware arbiter managing memory requests |
US11681649B2 (en) | 2017-07-24 | 2023-06-20 | Tesla, Inc. | Computational array microprocessor system using non-consecutive data formatting |
US11561791B2 (en) | 2018-02-01 | 2023-01-24 | Tesla, Inc. | Vector computational unit receiving data elements in parallel from a last row of a computational array |
US11797304B2 (en) | 2018-02-01 | 2023-10-24 | Tesla, Inc. | Instruction set architecture for a vector computational unit |
US11734562B2 (en) | 2018-06-20 | 2023-08-22 | Tesla, Inc. | Data pipeline and deep learning system for autonomous driving |
US11841434B2 (en) | 2018-07-20 | 2023-12-12 | Tesla, Inc. | Annotation cross-labeling for autonomous control systems |
US11636333B2 (en) | 2018-07-26 | 2023-04-25 | Tesla, Inc. | Optimizing neural network structures for embedded systems |
US11562231B2 (en) | 2018-09-03 | 2023-01-24 | Tesla, Inc. | Neural networks for embedded devices |
US11983630B2 (en) | 2018-09-03 | 2024-05-14 | Tesla, Inc. | Neural networks for embedded devices |
US11893774B2 (en) | 2018-10-11 | 2024-02-06 | Tesla, Inc. | Systems and methods for training machine models with augmented data |
US11665108B2 (en) | 2018-10-25 | 2023-05-30 | Tesla, Inc. | QoS manager for system on a chip communications |
US11816585B2 (en) | 2018-12-03 | 2023-11-14 | Tesla, Inc. | Machine learning models operating at different frequencies for autonomous vehicles |
US11908171B2 (en) | 2018-12-04 | 2024-02-20 | Tesla, Inc. | Enhanced object detection for autonomous vehicles based on field view |
US11537811B2 (en) | 2018-12-04 | 2022-12-27 | Tesla, Inc. | Enhanced object detection for autonomous vehicles based on field view |
US11610117B2 (en) | 2018-12-27 | 2023-03-21 | Tesla, Inc. | System and method for adapting a neural network model on a hardware platform |
US11748620B2 (en) | 2019-02-01 | 2023-09-05 | Tesla, Inc. | Generating ground truth for machine learning from time series elements |
US12014553B2 (en) | 2019-02-01 | 2024-06-18 | Tesla, Inc. | Predicting three-dimensional features for autonomous driving |
US11567514B2 (en) | 2019-02-11 | 2023-01-31 | Tesla, Inc. | Autonomous and user controlled vehicle summon to a target |
US11790664B2 (en) | 2019-02-19 | 2023-10-17 | Tesla, Inc. | Estimating object properties using visual image data |
Also Published As
Publication number | Publication date |
---|---|
CN109978161B (zh) | 2022-03-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109978161A (zh) | 一种通用的卷积-池化同步处理卷积核*** | |
CN111062472B (zh) | 一种基于结构化剪枝的稀疏神经网络加速器及其加速方法 | |
CN107239823A (zh) | 一种用于实现稀疏神经网络的装置和方法 | |
CN101706741B (zh) | 一种基于负载平衡的cpu和gpu两级动态任务划分方法 | |
CN105528191B (zh) | 数据累加装置、方法及数字信号处理装置 | |
CN110348574A (zh) | 一种基于zynq的通用卷积神经网络加速结构及设计方法 | |
CN110119809A (zh) | 深度学习处理中乘法和累加运算的非对称量化 | |
CN109086244A (zh) | 一种基于向量处理器的矩阵卷积向量化实现方法 | |
CN106779060A (zh) | 一种适于硬件设计实现的深度卷积神经网络的计算方法 | |
CN109409512B (zh) | 一种可灵活配置的神经网络计算单元、计算阵列及其构建方法 | |
CN111242289A (zh) | 一种规模可扩展的卷积神经网络加速***与方法 | |
Chen et al. | Multi-objective reservoir operation using particle swarm optimization with adaptive random inertia weights | |
CN110390384A (zh) | 一种可配置的通用卷积神经网络加速器 | |
CN112465110B (zh) | 一种卷积神经网络计算优化的硬件加速装置 | |
CN110390385A (zh) | 一种基于bnrp的可配置并行通用卷积神经网络加速器 | |
CN111445012A (zh) | 一种基于fpga的分组卷积硬件加速器及其方法 | |
CN107886167A (zh) | 神经网络运算装置及方法 | |
CN110210610A (zh) | 卷积计算加速器、卷积计算方法及卷积计算设备 | |
CN109740739A (zh) | 神经网络计算装置、神经网络计算方法及相关产品 | |
CN110263925A (zh) | 一种基于fpga的卷积神经网络前向预测的硬件加速实现架构 | |
CN112200300B (zh) | 卷积神经网络运算方法及装置 | |
KR20130090147A (ko) | 신경망 컴퓨팅 장치 및 시스템과 그 방법 | |
CN109191364A (zh) | 加速人工智能处理器的硬件架构 | |
CN107885700A (zh) | 一种大规模矩阵卷积的多核实现方法 | |
CN108334945A (zh) | 深度神经网络的加速与压缩方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |