买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】多输入多输出矩阵平均值池化向量化实现方法_中国人民解放军国防科技大学_201711478728.5 

申请/专利权人:中国人民解放军国防科技大学

申请日:2017-12-29

公开(公告)日:2021-01-12

公开(公告)号:CN108205703B

主分类号:G06N3/04(20060101)

分类号:G06N3/04(20060101)

优先权:

专利状态码:有效-授权

法律状态:2021.01.12#授权;2018.07.20#实质审查的生效;2018.06.26#公开

摘要:一种多输入多输出矩阵平均值池化的向量化实现方法,其步骤为:S1:根据向量处理器中向量处理单元VPE的数量M等参数确定向量处理器单核同时计算的输入特征图数量;S2:将输入特征图按照第三维进行排序;S3:完成所有输入特征图的排序;S4:将排序好的输入特征图由DMA传输至向量处理器核内AM中;S5:向量加载并依次与接下来的数据行进行累加,得出输入特征图对应位置池化窗口的取平均值池化结果;S6:根据水平移动步长,顺移至下一个池化窗口;S7:重复步骤S5‑S6;S8:重复步骤S6‑S7NM次,最终完成N张输入特征图的平均值池化操作。本发明具有实现简单、操作方便、可提高多核向量处理器并行性、能提高处理器运算效率等优点。

主权项:1.一种多输入多输出矩阵平均值池化的向量化实现方法,其特征在于,步骤为:S1:根据向量处理器中向量处理单元VPE的数量M,输入特征图的数量N,尺寸为n×n,平均值池化的移动步长为s,池化窗口k,确定向量处理器单核同时计算的输入特征图数量;S2:将M个输入特征图按照第三维进行排序;S3:步骤S2进行NM次,直至完成所有N张输入特征图的排序;S4:将步骤S3中排序好的输入特征图由DMA传输至向量处理器核内AM中;S5:向量加载AM中的第1行,依次与接下来的数据行进行累加,共计累加k×k次,并将累加结果与1k2相乘,同时得出M个输入特征图对应位置池化窗口为k×k的取平均值池化结果;S6:根据水平移动步长s,顺移至下一个池化窗口,进行同步骤S5的计算,得出M个输入特征图第2个k×k池化窗口的平均值池化结果;S7:重复步骤S5-S6直至完成整个M个输入特征图所有池化窗口的平均值池化操作;S8:重复步骤S6-S7NM次,最终完成N张输入特征图的平均值池化操作。

全文数据:多输入多输出矩阵平均值池化向量化实现方法技术领域[0001]本发明主要涉及到深度学习、卷积神经网络领域,特指一种多输入多输出矩阵平均值池化向量化实现方法。背景技术[0002]卷积神经网络是当前深度学习算法模型中应用的最多的一种神经网络模型,同时也是识别率最好的一种模型。卷积神经网络模型中一般包括矩阵卷积、激活函数、最大值池化或平均值池化、局部线性归一化操作等。[0003]池化层位于卷积层之后,一般通过卷积层获得特征之后,希望利用这些特征取做分类,理论上,可以使用所有提取得到的特征取训练分类器,但这样会面临来自巨大计算量上的挑战。假设有一个96X96像素的输入图像,己经学习得到400个定义在8X8输入上的特征,每个特征和输入图像卷积都会得到一个96-8+1X96-8+1=7921维的输入卷积特征。由于有400个特征,所以每个样例都会得到一个89X89X400=3168400维的卷积特征向量,而学习这么大规模的分类器容易出现过拟合。[0004]而池化操作是对卷积特征向量进行降维的一种重要方法,可以通过计算图像一个区域上的某个特定特征的平均值或最大值),这些概要统计特征不仅具有很低的维度,同时还会改善结果,不易出现过拟合。[0005]此外池化操作还具有平移不变形,即图像经过一个小的平移之后,依然会产生相同的池化特征,而这种特性在物体检测、图像识别、语音识别等领域具有重要的应用前景,例如,当处理一个MNIST数据集数字的时候,把它向左侧或右侧平移,那么不论最终的位置在哪里,都会期望你的分类器仍然能够精确地将其分类为相同的数字。[0006]由于卷积神经网络中,具有多个输入特征图和多个输出特征图,相应的就会有多个进行平均值池化的输入特征图和多个输出特征图,而如何最大化平均值池化的计算过程,也是一个重要的研究内容。[0007]如图1所示,向量处理器是一种新型的体系结构,包括进行标量运算的标量处理单元SPU和进行向量运算的向量处理单元VPU,通过合理的任务划分可以充分发挥向量处理器的计算优势。发明内容[0008]本发明要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一种实现简单、操作方便、可提高多核向量处理器并行性、能提高处理器运算效率的多输入多输出矩阵平均值池化向量化实现方法。[0009]为解决上述技术问题,本发明采用以下技术方案:[0010]—种多输入多输出矩阵平均值池化的向量化实现方法,其步骤为:[0011]si:根据向量处理器中向量处理单元VPE的数量M,输入特征图的数量N,尺寸为nXn,平均值池化的移动步长为s,池化窗口k,确定向量处理器单核同时计算的输入特征图数量;[0012]S2:将M个输入特征图按照第三维进行排序;[0013]S3:步骤S2进行NM次,直至完成所有N张输入特征图的排序;[0014]S4:将步骤S3中排序好的输入特征图由DMA传输至向量处理器核内AM中;[0015]S5:向量加载AM中的第1行,依次与接下来的数据行进行累加,共计累加kXk次,并将该累加结果与1k2相乘,同时得出M个输入特征图对应位置池化窗口为kXk的取平均值池化结果;[0016]S6:根据水平移动步长s,顺移至下一个池化窗口,进行同步骤S5的计算,得出則"输入特征图第2个kXk池化窗口的平均值池化结果;[0017]S7:重复步骤S5-S6直至完成整个M个输入特征图所有池化窗口的平均值池化操作;[0018]S8:重复步骤S6-S7NM次,最终完成N张输入特征图的平均值池化操作。[0019]作为本发明的进一步改进:所述步骤S1中,输入特征图的数量N远大于向量处理单元VPE的数量M、且N为M的整数倍。[0020]作为本发明的进一步改进:所述步骤S1中,输入特征图是一个三维矩阵,即高度、宽度、数量。[0021]作为本发明的进一步改进:所述步骤S1中的三维矩阵为方阵,即高度和宽度相等。[0022]作为本发明的进一步改进:所述步骤S1中平均值池化的移动步长分为水平移动步长和垂直移动步长。[0023]作为本发明的进一步改进:所述步骤S1中取水平移动步长和垂直移动步长相同。[0024]作为本发明的进一步改进:所述步骤1中的池化尺寸取方阵,即最大值池化窗口为kxko[0025]作为本发明的进一步改进:所述步骤S1中,若输入特征图的数量不为VPE数量的整数倍,则多余的输入特征图由若干VPE进行处理。[0026]作为本发明的进一步改进:所述步骤S6中,输入特征图每次取一个与kXk对应大小的池化窗口,且该窗口根据移动步长先水平移动,后垂直移动,移动顺序为,从左到右,从上到下。[0027]与现有技术相比,本发明的优点在于:[0028]1、本发明的多输入多输出矩阵平均值池化向量化实现方法,可以充分利用向量处理器多PE的结构特点,将不易向量化操作的多输入矩阵平均值池化的计算转换成易于向量化计算的过程。[0029]2、本发明的方法避免了向量处理器不同ro间的混洗、规约操作,有效的提高了多输入矩阵卷积的平均值池化计算效率,这些优点使得本发明的方法实现简单,操作方便,能够充分挖掘向量处理器的指令、数据、任务等各个层次的并行性,从而充分发挥多PE运算部件向量处理器所具有的高性能计算能力的优点。附图说明[0030]图1是向量处理器的一般结构示意图。[0031]图2是3X3平均值池化示意图。L〇〇32j图3是M个输入特征图M个输出特征图的平均值池化示意图。[0033]图4是本发明实例中的16个输入特征图进行池化窗口3X3的平均值池化示意图。[0034]图5是本发明方法的程示意图具体实施方式[0035]以下将多输入多输出矩阵平均值池化向量化实现方法结合说明书附图和具体实施例对本发明做进一步详细说明。[0036]如图5所示,本发明的多输入多输出矩阵平均值池化的向量化实现方法,流程为:[0037]S1:根据向量处理器中向量处理单元VPE的数量M,输入特征图的数量N,尺寸为nXn,平均值池化的移动步长为s,池化窗口k,确定向量处理器单核可以同时计算的输入特征图数量;[0038]S2:将M个输入特征图按照第三维进行排序;[0039]S3:步骤S2进行NM次,直至完成所有N张输入特征图的排序;[0040]S4:将步骤S3中排序好的输入特征图由DMA传输至向量处理器核内舰中;[0041]S5:向量加载AM中的第1行,依次与接下来的数据行进行累加,共计累加kXk次,并将该累加结果与lk2相乘,可以同时得出M个输入特征图对应位置池化窗口为kXk的取平均值池化结果;[_2]S6:根据水平移动步长s,顺移至下一个池化窗口,进行同步骤S5的计算,得出皿个输入特征图第2个kXk池化窗口的平均值池化结果;[0043]S7:重复步骤S5-S6直至完成整个M个输入特征图所有池化窗口的平均值池化操作。[0044]S8:重复步骤S6-S7NM次,最终完成N张输入特征图的平均值池化操作。[0045]在具体应用实例中,上述步骤S1中,一般输入特征图的数量N远大于向量处理单元VPE的数量M、且一般N为M的整数倍。[0046]在具体应用实例中,上述步骤S1中,输入特征图是一个三维矩阵,即高度、宽度、数量,这里一般取方阵,即高度和宽度相等。[0047]在具体应用实例中,上述步骤S1平均值池化的移动步长分为水平移动步长和垂直移动步长,一般取水平移动步长和垂直移动步长相同。[0048]所述步骤⑴池化尺寸一般取方阵,g卩最大值池化窗口为kxk。[0049]在具体应用实例中,上述步骤S1中,若输入特征图的数量不为VPE数量的整数倍,则多余的输入特征图由若千VPE进行处理。[0050]参见图2-图4所示,在一个具体应用实例中,取VPE的数量M为16,输入特征图数量N为16,输入特征图尺寸为6X6,池化窗口移动步长s为1,池化窗口尺寸k为3。将16个输入特征图在第三个维度进行排序,并将排序后的结果传输至核内存储空间AM中。向量加载AM中的第1行,使用乘加指令依次累加后续各行,累加3X3共计9次,最后将累加结果乘以19,同时完成16个输出特征图对应池化窗口的平均值池化操作。根据水平移动步长,池化窗口水平右移1位,重复步骤同时得出I6个输出特征图第二个对应池化窗口的平均值池化操作。直至完成所有16个输入特征图平均值池化窗口的计算。[0051]综上所述,通过本发明所实现的基于向量处理器的体系结构特点和输入特征图的数量和规模,确定最优的多输出特征图的实现方法,有效地提高了向量处理器的并行化操作,将不同的输入特征图交由不同的PE进行处理,PE之间完全没有关联操作,一般来说有多少个PE就可以同时计算多少个输入特征图,这些优点使得本发明的方法实现简单,操作方便,能够充分挖掘向量处理器的各个层次的并行性,从而充分发挥多PE运算部件向量处理器所具有的高性能计算能力的优点。[0052]以上仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,应视为本发明的保护范围。

权利要求:1.一种多输入多输出矩阵平均值池化的向量化实现方法,其特征在于,步骤为:S1:根据向量处理器中向量处理单元VPE的数量M,输入特征图的数量N,尺寸为nXn,平均值池化的移动步长为s,池化窗口k,确定向量处理器单核同时计算的输入特征图数量;S2:将M个输入特征图按照第三维进行排序;’S3:步骤S2进行NM次,直至完成所有N张输入特征图的排序;S4:将步骤S3中排序好的输入特征图由DMA传输至向量处理器核内舰中;S5:向量加载AM中的第1行,依次与接下来的数据行进行累加,共计累加kxk次,并将该累加结果与lk2相乘,同时得出M个输入特征图对应位置池化窗口为kXk的取平均值池化结果;S6:根据水平移动步长s,顺移至下一个池化窗口,进行同步骤S5的计算,得出M个输入特征图第2个kXk池化窗口的平均值池化结果;S7:重复步骤S5-S6直至完成整个M个输入特征图所有池化窗口的平均值池化操作;S8:重复步骤S6-S7NM次,最终完成N张输入特征图的平均值池化操作。2.根据权利要求1所述的多输入多输出矩阵平均值池化的向量化实现方法,其特征在于,所述步骤S1中,输入特征图的数量N远大于向量处理单元VPE的数量M、且N为M的整数倍。3.根据权利要求1所述的多输入多输出矩阵平均值池化的向量化实现方法,其特征在于,所述步骤S1中,输入特征图是一个三维矩阵,即高度、宽度、数量。4.根据权利要求3所述的多输入多输出矩阵平均值池化的向量化实现方法,其特征在于,所述步骤S1中的三维矩阵为方阵,即高度和宽度相等。5.根据权利要求1-4中任意一项所述的多输入多输出矩阵平均值池化的向量化实现方法,其特征在于,所述步骤S1中平均值池化的移动步长分为水平移动步长和垂直移动步长。6.根据权利要求5所述的多输入多输出矩阵平均值池化的向量化实现方法,其特征在于,所述步骤S1中取水平移动步长和垂直移动步长相同。7.根据权利要求1-4中任意一项所述的多输入多输出矩阵平均值池化的向量化实现方法,其特征在于,所述步骤1中的池化尺寸取方阵,即最大值池化窗口为kxk。8.根据权利要求1-4中任意一项所述的多输入多输出矩阵平均值池化的向量化实现方法,其特征在于,所述步骤S1中,若输入特征图的数量不为VPE数量的整数倍,则多余的输入特征图由若干VPE进行处理。9.根据权利要求1-4中任意一项所述的多输入多输出矩阵平均值池化的向量化实现方法,其特征在于,所述步骤S6中,输入特征图每次取一个与kxk对应大小的池化窗口,且该窗口根据移动步长先水平移动,后垂直移动,移动顺序为,从左到右,从上到下。

百度查询: 中国人民解放军国防科技大学 多输入多输出矩阵平均值池化向量化实现方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。