深层转导式非负矩阵分解并行算法
非负矩阵分解( Non-negaTIve Matrix FactorizaTIon,NMF)能保存语音信号的非负特征,是用于语音分离的重要方法,但该方法存在数据运算复杂、计算量太大的问题,需要研究能减少计算时间的并行计算方法。针对语音分离预训练及分离过程的计算问题,文中提出深层转导式非负矩阵分解并行算法,综合考虑迭代更新过程的数据关联性,设计了一种任务间和任务内多级并行算法。该并行算法在任务级将分解训练语音得到对应基矩阵的过程作为两个独立的任务进行并行计算;在任务内部进程级把矩阵按行列划分,主进程把矩阵块分发到从进程,从进程接收当前矩阵块汘计算结果矩阵子抉,然后将当前进程矩阵块发送到下一进程,实现笫二个矩阵中毎一个矩阵块在所有进程的遍历,并计算结釆矩阵对应子块的乘积,最后由主进程收集从进程数据块;在线程级子矩阵乘法运算的过程中,采取生成多线程,通过共享内存交换数据计算子矩阵块的加速策略。该算法为首个实现深层转导式非负矩阵分解的并行算法。在天河二号平台上的测试结果表明,在分离多说话人混合语音信号时,相比串行程序,所提出的并行算法能在不改变分离效果的前提下,使得预训练过程中使用64个进程的加速比为18,分离过程使用64个进程的对应加速比为24。相较于串行及MP模型分离,混合模型分离时间大大缩短,从而证明了设计的并行算法可有效提高语音分离的效率。
用户评论