隐马尔可夫模型的并行前后向算法

时间:2012-02-26 16:12:56

标签: math parallel-processing hidden-markov-models

作为一个侧面项目,我想为我的NVidia显卡实现一个隐马尔可夫模型,这样我就可以让它快速执行并使用许多内核。

我在看前向后向算法,并想知道我能在这里做什么并行?例如,如果你看一下算法的前向部分,可以将矩阵乘法划分为并行完成,但依赖于前一步骤的算法的迭代部分能否以任何方式并行化?是否有某种数学技巧可以在这里应用?

谢谢,

MJ

http://en.wikipedia.org/wiki/Forward%E2%80%93backward_algorithm#Example

2 个答案:

答案 0 :(得分:2)

您的评估是正确的 - 您可以并行化矩阵乘法(即跨州),但不能并行化递归步骤。我刚刚发了一篇关于我与HMM和GPU合作的博客文章。在这里查看:

http://sgmustadio.wordpress.com/2012/02/27/hidden-markov-models-in-cuda-gpu/

答案 1 :(得分:1)

如果您仍在使用此项目,可能需要查看HMMlibparredHMMlib

sgmustadio指出你不能并行化递归步骤是正确的,但似乎这些作者提出了一种聪明的方法来将Forward和Viterbi算法减少到一系列矩阵乘法和减少。

相关问题