[发明专利]面向向量处理器的基于SIMD的平均值值池化并行处理方法在审
申请号: | 201710202133.0 | 申请日: | 2017-03-30 |
公开(公告)号: | CN106991473A | 公开(公告)日: | 2017-07-28 |
发明(设计)人: | 郭阳;张军阳;扈啸;王慧丽;胡敏慧;王子聪 | 申请(专利权)人: | 中国人民解放军国防科学技术大学 |
主分类号: | G06N3/02 | 分类号: | G06N3/02;G06F9/38 |
代理公司: | 湖南兆弘专利事务所(普通合伙)43008 | 代理人: | 周长清 |
地址: | 410073 *** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 面向 向量 处理器 基于 simd 平均值 值池化 并行 处理 方法 | ||
技术领域
本发明主要涉及到卷积神经网络技术领域,特指一种面向向量处理器的基于SIMD的平均值值池化并行处理方法。
背景技术
20世纪60年代,Hubel和Wiesel在研究猫脑皮层中用于局部敏感和方向选择的神经元时发现其独特的网络结构可以有效地降低反馈神经网络的复杂性,继而提出了卷积神经网络(ConvolutionalNeuralNetwork,CNN)。当前,卷积神经网络已经成为众多学科领域的研究热点之一,特别是在模式分类领域,由于该网络避免了对图像的复杂前期预处理,可以直接输入原始图像,因而得到了更加广泛的应用。
一般地,一个用于识别的卷积神经网络计算模型包括卷积层、池化层、全连接层以及后续的分类器。卷积层通过使用不同规模的卷积核来提取上一层图像的局部特征,一旦该局部特征被提取后,它与其它特征间的位置关系也随之确定下来;然后,通过求局部平均(也称池化操作)进行特征映射,得到降维后的特征信息,该特征信息输出到下一个卷积层继续进行相应的处理,直到到达最后一层(输出层),从而得到最终输出结果。
当前主流的卷积神经网络模型中采用的池化操作主要是平均值池化(Average Pooling)和最大值池化(Max Pooling),平均值池化和最大值池化是两种不同的池化方法,但是本质上都是为了降低大尺寸图像的维度,降低计算量,因此在卷积神经网络中占据重要的位置。平均值池化是取一定尺寸像素中的平均值,比如,n×n大小规模,最大值池化是取一定尺寸像素中的最大值。鉴于池化操作在卷积神经网络中的重要作用,因此在计算量十分巨大的卷积神经网络模型中加速池化操作的并行性十分重要。
发明内容
本发明要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一种原理简单、实现方便、能够高效计算、能充分挖掘向量处理器的多级并行性以发挥向量处理器的并行计算能力、缩短计算时间的面向向量处理器的基于SIMD的平均值值池化并行处理方法。
为解决上述技术问题,本发明采用以下技术方案:
一种面向向量处理器的基于SIMD的平均值值池化并行处理方法,其步骤为:
S1:设卷积操作后需要进行池化操作的池化矩阵为A,其大小为M×N,池化窗口的尺寸为k×k,且M>k,N>k,向量处理单元的个数为p,且M、N、p为k的整数倍;
S2:根据池化窗口尺寸k,取池化矩阵A的前k行元素进行相应的累加操作,得出前k行元素对应的列和;
S3:配置混洗模式并进行混洗;
S4:将步骤S3中得到的结果对应相加;
S5:重复步骤S3、S4直到每组元素的数值归约至p/k个VPE中为止;
S6:使用向量VMOVI指令将立即数赋值给一个向量寄存器,并将此向量寄存器与步骤S5中的累加和一一对应相乘;
S7:最终得出p/k个平均值池化的结果向量;
S8:顺移至池化矩阵A的k+1行,重复上述步骤S2到步骤S7直至遍历完池化矩阵A的所有子图,得到池化矩阵A的所有尺寸为k×k的平均值池化结果矩阵。
作为本发明的进一步改进:所述步骤S3的详细流程为:
S301:若k为偶数,则将步骤S2中p/k组中每组元素的前k/2个元素放置在一起,每组的后k/2个元素放置在一起;
S302:若k为奇数,以k为3,p为12为例,即池化窗口的尺寸为3×3,向量处理单元的个数为12。
作为本发明的进一步改进:所述步骤S8中的一个平均值池化结果c0,0的计算公式为其中c0,0为平均值池化结果矩阵中的第一个元素,k为池化窗口的尺寸,在卷积神经网络中,池化窗口为方阵,ai,j为需要进行平均值池化的池化矩阵A中的元素。
作为本发明的进一步改进:所述定义池化窗口的大小为sizeX,两个相邻池化窗口的水平位移或竖直位移为stride,平均值池化操作中池化窗口不重叠,即sizeX=stride。
作为本发明的进一步改进:所述池化矩阵A和池化窗口尺寸k均为方阵。
与现有技术相比,本发明的优点在于:本发明面向向量处理器的基于SIMD的平均值值池化并行处理方法,实现简单、成本低廉且操作方便,其利用向量处理器的交叉混洗网络替代归约操作完成VPE间数据的快速排序,一次操作能同时计算出p/k个平均值池化结果,能够充分发挥向量处理器的所有处理单元的并行计算性能,缩短卷积神经网络中平均值池化的计算时间,可靠性好并能降低硬件计算功耗。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科学技术大学,未经中国人民解放军国防科学技术大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710202133.0/2.html,转载请声明来源钻瓜专利网。