基于稀疏矩阵快速语音识别方法和装置的制造方法

文档序号:8283466阅读:674来源:国知局
基于稀疏矩阵快速语音识别方法和装置的制造方法
【技术领域】
[0001] 本申请涉及自然语言处理领域,特别是涉及一种基于稀疏矩阵快速语音识别方法 和装置。
【背景技术】
[0002] 深度神经网络(Deep Neural Networks,DNN)已经广泛应用在语音识别系统中,由 此带来了语音识别率的提高。现有技术中典型的深度神经网络如图1所示,其中包含:一个 输入层(I「I n),2个隐藏层,一个输出层(O1-O2)tj
[0003] 深度神经网络在进行语音识别系统模型训练和识别时,语音数据帧被分成短时语 音数据帧,语音数据帧经过信号处理之后形成一系列语音特征向量,输入到DNN的输入层, 经过神经网络的各个隐藏层,最后进入输出层,形成识别器可用的概率值。
[0004] 当前语音识别系统中所采用的深度神经网络一般为5-10层,每层结点数为1000 到10000,这意味着网络矩阵A t相当庞大,由此带来巨大的计算压力。
[0005] 现有技术中米用 CSR (Compressed Sparse Row)或者 BSR (Block Compressed Sparse Row)方式存储稀疏矩阵以减小深度神经网络的计算量。
[0006] CSR存储方式是稀疏矩阵中最常用的存储方式,是一种通用的存储模式。该存储模 式只记录稀疏矩阵中的非零元素,用三个数组分别存储稀疏矩阵中的非零元素 values,每 个非零元对应的列下标columns和每行非零元的起始位置rowlndex。CSR存储方式如图2 所示。
[0007] BSR(Block Compressed Sparse Row)存储方式仅记录稀疏矩阵中的非零块的位 置及其对应的非零块的值。如图3所示,L、M、N、P和Q是矩阵D中的非零元素块。
[0008] CSR存储是将稀疏矩阵中的绝大部分矩阵元素置零,一方面可以节约存储空间,同 时可以极大减小计算总量。然而,CSR稀疏矩阵本身的存储数据都需要索取相应的空间和 时间,基于CSR的存储模式会带来额外的存储开销,同时由于CSR完全打乱了矩阵的空间结 构,无法利用CPU的矩阵运算指令,也难以在CPU中进行并行计算,因此对CSR稀疏矩阵的 矩阵元素进行置零处理,并不会提高稀疏矩阵的计算效率。
[0009] BSR存储是按照子矩阵结构存储,因而可以利用CPU的特殊指令和并行计算,t匕 CSR在实际中更有效率。目前稀疏矩阵的稀疏化方法一般采用基于元素值或二阶特性的方 法进行稀疏矩阵的剪裁,使不重要的矩阵元素归零,该方法并不能保证非零元素分布的规 整性和集中性,因而很难通过BSR存储方式提高稀疏矩阵的运算效率。

【发明内容】

[0010] 本申请提供一种基于稀疏矩阵快速语音识别方法和装置,以解决现有技术中稀疏 矩阵运算效率低的问题。
[0011] 为了解决上述问题,本申请公开了一种基于稀疏矩阵快速语音识别方法,包括:获 取深度神经网络的稀疏矩阵;
[0012] 对所述稀疏矩阵的行下标和列下标进行编码,得到编码数组;
[0013] 使用遗传算法对编码数组按照行或列进行编码数据元素的随机转换,得到多个转 换后的编码数组,其中,所述遗传算法包括:选择算子、交叉算子和变异算子;
[0014] 使用选择算子选择满足一定标准的多个转换后的编码数组;
[0015] 使用交叉算子处理满足一定标准的转换后的编码数组,得到多个交叉后的编码数 组;
[0016] 使用变异算子处理所述多个交叉后的编码数组,得到多个变异后的编码数组;
[0017] 使用评价函数计算转换后的编码数组对应的稀疏矩阵和多个变异后的转换后的 编码数组对应的稀疏矩阵的评价函数值;
[0018] 从排序后的评价函数值筛选出至少两个评价函数值;
[0019] 将至少两个评价函数值对应的编码数组重复进行以上操作,直至找到一个收敛评 价函数值;
[0020] 使用收敛评价函数值对应的稀疏矩阵进行语音识别。
[0021] 优选地,所述评价函数的函数公式为:
[0022] F = C+ Σ ^2i,其中,C为全零块个数,匕为非零块中的非零值的个数,F为评价函 数值,Σ为表示求和。
[0023] 优选地,所述深度神经网络包括:输入层、隐藏层、置换层和输出层。
[0024] 为了解决上述问题,本申请还公开了一种基于稀疏矩阵快速语音识别装置,包括: 获取模块,用于获取深度神经网络的稀疏矩阵;
[0025] 编码模块,对所述稀疏矩阵的行下标和列下标进行编码,得到编码数组;
[0026] 转换模块,用于使用遗传算法对编码数组按照行或列进行编码数据元素的随机转 换,得到转换后的编码数组,其中,所述遗传算法包括:选择算子、交叉算子和变异算子;
[0027] 选择模块,用于使用选择算子选择满足一定标准的多个转换后的编码数组;
[0028] 交叉模块,用于使用交叉算子处理满足一定标准的转换后的编码数组,得到多个 交叉后的编码数组;
[0029] 变异模块,用于使用变异算子处理所述多个交叉后的编码数组,得到多个变异后 的编码数组;
[0030] 计算模块,用于使用评价函数计算转换后的编码数组对应的稀疏矩阵和多个变异 后的转换后的编码数组对应的稀疏矩阵的评价函数值;
[0031] 筛选模块,用于从排序后的评价函数值筛选出至少两个评价函数值;
[0032] 迭代模块,用于将至少两个评价函数值对应的编码数组重复进行以上操作,直至 找到一个收敛评价函数值;
[0033] 输出模块,用于使用收敛评价函数值对应的稀疏矩阵进行语音识别。
[0034] 优选地,所述评价函数的函数公式为:
[0035] F = C+ Σ ^2i,其中,C为非零块中非零值的个数,匕为非零块中的非零值的个数, F为评价函数值,Σ为表示求和。
[0036] 优选地,所述深
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1