【技术实现步骤摘要】
转置的稀疏矩阵乘以稠密矩阵用于神经网络训练
本公开涉及矩阵运算,并且更具体地涉及转置的稀疏矩阵乘以稠密矩阵用于神经网络训练。
技术介绍
机器学习中的训练和推理操作通常涉及对大矩阵的乘法运算。一些矩阵是稀疏的并且可以以压缩格式存储,以相对于未压缩的存储格式显著降低总体存储器利用率。但是,访问压缩的稀疏矩阵中的数据元素会引入额外的计算工作,从而降低整体系统性能和效率。因此,需要解决与现有技术相关的这些问题和/或其他问题。附图说明图1A示出了根据一个实施例的神经网络的框图。图1B示出了根据一个实施例的用于确定乘积矩阵中的位置的方法的流程图。图1C示出了根据一个实施例的用于计算和存储稀疏参数更新矩阵的方法的流程图。图1D示出了根据一个实施例的用于计算稀疏参数更新矩阵的方法的流程图。图1E示出了根据一个实施例的示例性稀疏矩阵和相关编码向量。图1F示出了根据一个实施例的指示乘积矩阵中的项累积位置的编码向量。图2A示出了根据一个实施例的用于初始化稀疏矩阵编码函数的示例性代码块 ...
【技术保护点】
1.一种计算机实现的方法,包括:/n使得至少部分地基于稀疏矩阵索引图对稀疏矩阵和稠密矩阵的元素执行一个或更多个乘法运算,所述稀疏矩阵索引图标识要对其执行所述一个或更多个乘法运算的元素;以及/n使得根据所述稀疏矩阵索引图,将所述一个或更多个乘法运算的结果累加到一个或更多个相应的存储位置中。/n
【技术特征摘要】
20181114 US 16/191,2011.一种计算机实现的方法,包括:
使得至少部分地基于稀疏矩阵索引图对稀疏矩阵和稠密矩阵的元素执行一个或更多个乘法运算,所述稀疏矩阵索引图标识要对其执行所述一个或更多个乘法运算的元素;以及
使得根据所述稀疏矩阵索引图,将所述一个或更多个乘法运算的结果累加到一个或更多个相应的存储位置中。
2.如权利要求1所述的计算机实现的方法,其中所述稀疏矩阵索引图包括用于所述稀疏矩阵的列或行的转置索引,以及所述存储位置是至少部分地使用所述转置索引而确定的。
3.如权利要求1所述的计算机实现的方法,其中所述结果包括乘积矩阵的元素,所述乘积矩阵等于所述稀疏矩阵的转置版本与所述稠密矩阵的乘积。
4.如权利要求1所述的计算机实现的方法,进一步包括:
由神经网络将参数矩阵应用到所述稀疏矩阵以产生输出;
根据损失函数处理所述输出以产生所述稠密矩阵,其中所述稠密矩阵减少所述输出和真值输出之间的差异;以及
读取所述稀疏矩阵的非零值以计算所述结果。
5.如权利要求4所述的计算机实现的方法,进一步包括通过组合所述参数矩阵和所述学习率与所述乘积矩阵的乘积来更新所述参数矩阵。
6.如权利要求5所述的计算机实现的方法,其中从所述参数矩阵中减去所述乘积。
7.如权利要求4所述的计算机实现的方法,其中所述损失函数包括距离函数的总和。
8.如权利要求4所述的计算机实现的方法,其中所述输出和所述真值输出之间的差异由校正函数计算。
9.如权利要求4所述的计算机实现的方法,其中所述神经网络包括输入层和输出层,以及所述输入层接收所述参数矩阵和所述稀疏矩阵,所述输出层生成所述输出。
10.如权利要求1所述的计算机实现的方法,其中所述稀疏矩阵索引图包括第二向量,所述第二向量指示包含至少一个非零值的所述稀疏矩阵中的列的索引。
11.如权利要求10所述的计算机实现的方法,进一步包括基于所述第二向量访问所述存储位置,以使用所述乘积矩阵更新神经网络的参数。
12.如权利要求1所述的计算机实现的方法,其中避免矩阵转置操作以累积所述结果。
13.如权利要求1所述的计算机实现的方法,其中所述结果包括乘积矩阵的元素,以及所述稀疏矩阵索引图包括指示所述乘积矩阵中的元素的第一向量。
14.如权利要求1所述的计算机实现的方法,其中所述结果包括乘积矩阵的元素,以及所述乘积矩阵的压缩格式只包括非零值。
15.如权利要求1所述的计算机实现的方法,其中所述结果中的每个乘积项从所述稀疏矩阵索引图中的数据向量的不同条目计算得到,并且每个存储位置由所述稀疏矩阵索引图内的列中的相应条目标识为非零列向量。
16.一种系统,包括:
并行处理单元,配置成:
至少部分地基于稀疏矩阵索引图对稀疏矩阵和稠密矩阵的元素执行乘法运算,所述稀疏矩阵索引图标识要对其执行一个...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。