[发明专利]一种通用的卷积-池化同步处理卷积核系统有效
| 申请号: | 201910268608.5 | 申请日: | 2019-04-04 |
| 公开(公告)号: | CN109978161B | 公开(公告)日: | 2022-03-04 |
| 发明(设计)人: | 张宝林;姬梦飞;常玉春;李东泽;丁宁;戴加海;慕雨松;蒋佳奇;马玉美;郭玉萍;孙畅;宫浩然;王若溪;李捷菲 | 申请(专利权)人: | 吉林大学 |
| 主分类号: | G06N3/063 | 分类号: | G06N3/063;G06N3/04 |
| 代理公司: | 长春吉大专利代理有限责任公司 22201 | 代理人: | 李泉宏 |
| 地址: | 130012 吉*** | 国省代码: | 吉林;22 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | 本发明公开了一种通用的卷积‑池化同步处理卷积核系统,属于机器学习中卷积神经网络加速技术领域。针对现有的机器学习方法采用软件实现,存在计算能力有限,成本较高等问题,本发明采用硬件设计实现机器学习,以卷积‑池化同步处理的方式来实现对卷积神经网络进行加速的目的,能够在准确率不改变的前提下,能够快速、低功耗、高效率的实现机器学习。现有的卷积神经网络通常的卷积核为固定大小,不能够适应各种设计需要,本发明中的卷积核,能够改变卷积核大小、步长等参数,能够适应各种情况下的设计需要。 | ||
| 搜索关键词: | 一种 通用 卷积 同步 处理 系统 | ||
【主权项】:
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代表步长大小。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于吉林大学,未经吉林大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201910268608.5/,转载请声明来源钻瓜专利网。





