1

サイド プロジェクトとして、NVidia グラフィックス カードに隠れマルコフ モデルを実装して、多くのコアを使用してすばやく実行できるようにしたいと考えています。

私は Forward-Backward アルゴリズムを見ていますが、ここで並列化できるものは何だろうと思っていました。たとえば、アルゴリズムの前方部分を見ると、行列の乗算を分割して並列に実行できますが、前のステップに依存するアルゴリズムの反復部分を何らかの方法で並列化できますか? ここで適用できる数学的なトリックはありますか?

ありがとう、

mj

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

4

2 に答える 2

2

あなたの評価は正しいです-行列の乗算を(つまり、状態全体で)並列化できますが、再帰的なステップを並列化することはできません。HMM と GPU を使用した作業についてブログ投稿を作成しました。ここでチェックしてください:

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

于 2012-03-02T01:14:12.900 に答える
1

このプロジェクトにまだ取り組んでいる場合は、HMMlibparredHMMlibを調べてみてください。

sgmustadio が再帰ステップを並列化できないことを指摘するのは正しいことですが、これらの作成者は、Forward アルゴリズムと Viterbi アルゴリズムを一連の行列の乗算と削減に還元する巧妙な方法を思いついたようです。

于 2013-06-18T13:51:16.867 に答える