[发明专利]一种卷积神经网络的池化计算单元有效
申请号: | 202110655204.9 | 申请日: | 2021-06-11 |
公开(公告)号: | CN113255897B | 公开(公告)日: | 2023-07-07 |
发明(设计)人: | 杨晨东;秦晴;杨靓;黄巾;王硕;闫鑫;金玉琳;程智;纪虎东;朱青 | 申请(专利权)人: | 西安微电子技术研究所 |
主分类号: | G06V10/82 | 分类号: | G06V10/82;G06N3/04;G06N3/063;G06N3/08 |
代理公司: | 西安通大专利代理有限责任公司 61200 | 代理人: | 崔方方 |
地址: | 710065 陕西*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 卷积 神经网络 计算 单元 | ||
1.一种卷积神经网络的池化计算单元,其特征在于,包括36个基本计算单元C0~C35和4个结果计算单元R0~R3;
所述基本计算单元和所述结果计算单元均受表征池化类型的信号控制;
当进行池化计算时,输入特征图像整行按顺序从输入端口输入,池化计算流水建立之后,池化计算单元按顺序每周期给出相应的输出图像数据;
N个所述池化计算单元能够同时进行4N个池化尺寸为2x2或3x3的池化计算,或者N个池化尺寸为5x5的池化计算;
当池化尺寸为3x3,池化类型为最大池化时,所述池化计算单元结构由4个完全相同的池化计算结构构成;
输入特征图像Ifmap的第0~2行由Ifmap_input0~Ifmap_input2输入,输入特征图像Ifmap的第1~3行由Ifmap_input3~Ifmap_input5输入,输入特征图像Ifmap的第2~4行由Ifmap_input6~Ifmap_input8输入,输入特征图像Ifmap的第3~5行由Ifmap_input9~Ifmap_input11输入,依此类推,直至完成输入;
流水建立后,输出特征图像Ofmap的第0~3行输出会分别由OUT0~OUT3输出;
当Ofmap第0行计算完成后,输入特征图像Ifmap的4~6行由Ifmap_input0~Ifmap_input2输入,输出特征图像Ofmap的第4行由OUT0输出;
依此类推,完成整个Ifmap的池化计算;
当池化尺寸为2x2时,输入特征图像Ifmap的第0行及第1行分别从Ifmap_input0和Ifmap_input1输入,Ofmap第0行从OUT0输出;
输入特征图像Ifmap的第1行及第2行分别从Ifmap_input3和Ifmap_input4输入,Ofmap第1行从OUT1输出;
输入特征图像Ifmap的第2行及第3行分别从Ifmap_input6和Ifmap_input7输入,Ofmap第2行从OUT2输出;
输入特征图像Ifmap的第3行及第4行分别从Ifmap_input9和Ifmap_input10输入,Ofmap第3行从OUT3输出;
当Ofmap第0行计算完成后,输入特征图像Ifmap的第4行及第5行分别从Ifmap_input0和Ifmap_input1输入,Ofmap第4行从OUT0输出;
依此类推,完成整个输入特征图像Ifmap的池化计算;
当池化尺寸为5x5时,输入特征图像Ifmap的第0~4行分别从Ifmap_input0、Ifmap_input1、Ifmap_input2、Ifmap_input6、Ifmap_input7输入,Ofmap第0行由OUT3输出;
Ofmap第0行计算完成后,将输入特征图像Ifmap的第1~5行输入,Ofmap第1行由OUT3输出;
依此类推,可完成整个输入特征图像Ifmap的池化计算。
2.根据权利要求1所述的卷积神经网络的池化计算单元,其特征在于,当池化类型为最大池化时,基本计算单元用于取最大值,结果计算单元用于取最大值,参考值Ref为0。
3.根据权利要求1所述的卷积神经网络的池化计算单元,其特征在于,当池化类型为最小池化时,基本计算单元用于取最小值,结果计算单元用于取最小值,参考值Ref应为其所能表示的最大值。
4.根据权利要求1所述的卷积神经网络的池化计算单元,其特征在于,当池化类型为平均池化时,基本计算单元用于求和,结果计算单元用于求和后取平均值,参考值Ref为0。
5.根据权利要求1所述的卷积神经网络的池化计算单元,其特征在于,具体计算过程如下:
输入特征图像Ifmap的第0行从Ifmap_input0端口输入,第1行从Ifmap_input1端口输入,第2行从Ifmap_input2端口输入;
设第0行的数依次为A0、A1、A2、A4…,以此类推;
时钟周期0,基本计算单元C0输出为A0=Max(0,A0);
时钟周期1,基本计算单元C0输出为A1=Max(0,A1),基本计算单元C1输出为Max(A0,A1);
时钟周期2,基本计算单元C0输出为A2=Max(0,A2),基本计算单元C1输出为Max(A1,A2),基本计算单元C2输出为Max(A0,A1,A2);
时钟周期3,基本计算单元C0输出为A3=Max(0,A3),基本计算单元C1输出为Max(A2,A3),基本计算单元C2输出为Max(A1,A2,A3);
…
…
以此类推;池化窗口每周期滑动一次,在时钟周期2之后基本计算单元C2每周期均将池化窗口第0行的比较结果输出;同样,池化窗口第1、2行的比较结果也会在时钟周期2开始分别从基本计算单元C5、基本计算单元C8输出;
时钟周期3,在R0中算出基本计算单元C2、基本计算单元C5、基本计算单元C8计算结果的最大值,即为池化计算结果Ofmap第0行的首个值,并由OUT0输出;
流水建立后,OUT0每周期输出一个Ofmap第0行的值;
在OUT0输出的同时,OUT1~OUT3经相同的逻辑将Ofmap第1行~第3行的结果输出。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安微电子技术研究所,未经西安微电子技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110655204.9/1.html,转载请声明来源钻瓜专利网。