【技术实现步骤摘要】
矩阵乘法计算方法和装置
本专利技术属于计算机
,更具体地讲,涉及一种矩阵乘法计算方法和装置。
技术介绍
矩阵,是数学中一个重要的基本概念,一个M×N的矩阵是一个由M行N列元素排列成的矩形阵列。目前,在图形处理器(GPU)进行图像处理时、在手写识别中进行输入轨迹分析时、和/或在语音识别中进行输入音频分析时,矩阵乘法是其进行数据计算中非常重要的操作之一。常见的矩阵乘法的计算方式主要有以下两种:(一)通用矩阵乘法(GEMM)。如图1所示,在通用矩阵乘法中如果计算相乘结果矩阵C中第m行第n列的元素的元素值,则需要计算矩阵A的第m行的行向量与矩阵B的第n列的列向量的内积。以图1中的通用矩阵乘法为例,计算矩阵C中第1行第1列的元素的元素值,需要计算矩阵A第1行的行向量和矩阵B第1列的列向量的内积,即(0.6,0.4,0.5)·(0.3,1.1,0.0)=0.6×0.3+0.4×1.1+0.5×0.0=0.62≈0.6,相乘结果矩阵C中的其余元素的计算类似。采用通用矩阵乘法的计算方式,如果需要进行浮点矩阵(float矩阵)相乘,则需要硬件设备支持float类型数据的乘法运算,但在支持整型类型(int8类型)数据计算的设备上该通用矩阵乘法无法完成float矩阵乘法。此外,通用矩阵乘法中采用的float类型数据的乘法运算,在计算设备中进行处理比较耗时,并且会占用较大的内存。(二)量化矩阵乘法。谷歌在tensorflow中实现了一种量化和反量化方法,其通过在训练过程中估计出用 ...
【技术保护点】
1.一种矩阵乘法计算方法,其特征在于,包括:/n根据输入被乘数矩阵和输入乘数矩阵,确定第一乘法矩阵和第二乘法矩阵;/n根据所确定的第一乘法矩阵和第二乘法矩阵,确定待还原矩阵;/n根据所确定的待还原矩阵,确定矩阵还原约束值;/n根据所确定的矩阵还原约束值和待还原矩阵,确定输入被乘数矩阵和输入乘数矩阵的相乘结果。/n
【技术特征摘要】
1.一种矩阵乘法计算方法,其特征在于,包括:
根据输入被乘数矩阵和输入乘数矩阵,确定第一乘法矩阵和第二乘法矩阵;
根据所确定的第一乘法矩阵和第二乘法矩阵,确定待还原矩阵;
根据所确定的待还原矩阵,确定矩阵还原约束值;
根据所确定的矩阵还原约束值和待还原矩阵,确定输入被乘数矩阵和输入乘数矩阵的相乘结果。
2.根据权利要求1所述的矩阵乘法计算方法,其特征在于,根据输入被乘数矩阵和输入乘数矩阵,确定第一乘法矩阵和第二乘法矩阵的步骤包括:
基于乘法矩阵值域的正数区间和负数区间,对输入被乘数矩阵和输入乘数矩阵中的每个元素进行量化,获得第一乘法矩阵和第二乘法矩阵,
其中,乘法矩阵值域的正数区间的数值范围与负数区间的数值范围不对称。
3.根据权利要求1所述的矩阵乘法计算方法,其特征在于,根据所确定的待还原矩阵,确定矩阵还原约束值的步骤包括:
确定所述待还原矩阵中的预设参考值所在的位置;
根据所述预设参考值所在的位置,分别从输入被乘数矩阵和输入乘数矩阵提取与所述位置对应的行向量和列向量;
利用所提取的行向量和列向量来确定矩阵还原约束值。
4.根据权利要求3所述的矩阵乘法计算方法,其特征在于,所述矩阵还原约束值包括约束最大值和约束最小值,所述预设参考值包括元素最大值和元素最小值,
其中,通过以下方式确定所述约束最大值:
确定所述待还原矩阵中的元素最大值所在的第一位置,
从输入被乘数矩阵中提取与第一位置所在的行号对应的第一行向量,
从输入乘数矩阵中提取与第一位置所在的列号对应的第一列向量,
将所提取的第一行向量与第一列向量相乘,获得所述约束最大值,
和/或,通过以下方式确定所述约束最小值:
确定所述待还原矩阵中的元素最小值所在的第二位置,
从输入被乘数矩阵中提取与第二位置所在的行号对应的第二行向量,
从输入乘数矩阵中提取与第二位置所在的列号对应的第二列向量,
将所提取的第二行向量与第二列向量相乘,获得所述约束最小值。
5.根据权利要求1所述的矩阵乘法计算方法,其特征在于,根据所确定的矩阵还原约束值和待还原矩阵,确定输入被乘数矩阵和输入乘数矩阵的相乘结果的步骤包括:
根据待还原矩阵中的预设参考值所在的位置,确定矩阵还原约束值在还原矩阵中的位置;
根据所述矩阵还原约束值对所述待还原矩阵中除所述预设参考值所在的位置之外的其他元素进行还原,获得还原矩阵,将所述还原矩阵确定为输入被乘数矩阵和输入乘数矩阵的相乘结果。
6.根据权利要求5所述的矩阵乘法计算方法,其特征在于,所述矩阵还原约束值在所述还原矩阵中的位置与所述预设参考值在所述待还原矩阵中的位置相同。
7.根据权利要求6所述的矩阵乘法计算方法,其特征在于,所述矩阵还原约束值包括约束最大值和约束最小值,所述预设参考值包括元素最大值和元素最小值,
其中,根据所述矩阵还原约束值对所述待还原矩阵中除所述预设参考值所在的位置之外的其他元素进行还原,获得还原矩阵的步骤包括:
将所述约束最大值确定为还原矩阵的还原元素最大值,并将所述元素最大值在待还原矩阵中的位置确定为所述约束最大值在还原矩阵中的位置;
将所述约束最小值确定为还原矩阵的还原元素最小值,并将所述元素最小值在待还原矩阵中的位置确定为所述约束最小值在还原矩阵中的位置;
根据还原元素最大值、还原元素最小值、约束最大值和约束最小值,对所述其他元素进行还原,获得还原矩阵。
8.根据权利要求7所述的矩阵乘法计算方法,其特征在于,通过以下方式对所述待还原矩阵中的任一其他元素进行还原:
如果所述任一其他元素的元素值为正数,则计算所述任一其他元素的元素值与还原元素最大值的乘积,并计算所述乘积与元素最大值的比值,将所述比值确定为所述任一其他元素还原后的元素值;
如果所述任一其他元素的元素值为负数,则计算所述任一其他元素的元素值与还原元素最小值的乘积,并计算所述乘积与元素最小值的比值,将所述比值确定为所述任一其他元素还原后的元素值;
如果所述任一其他元素的元素值为零,则所述任一其他元素还原后的元素值仍为零。
9.根据权利要求1所述的矩阵乘法计算方法,其特征在于,输入被乘数矩阵和输入乘数矩阵包括浮点矩阵,第一乘法矩阵和第二乘法矩阵包括整型矩阵。
10.一种矩阵乘法计算装置,其特征在于,包括:
量化模块,根据输入被乘数...
【专利技术属性】
技术研发人员:党博超,王皓,
申请(专利权)人:三星中国半导体有限公司,三星电子株式会社,
类型:发明
国别省市:陕西;61
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。