web-dev-qa-db-ja.com

Pyro対Pymc?これらの確率的プログラミングフレームワークの違いは何ですか?

Clojureをベースにした 『Anglican』を使っていたのですが、私には良くないと思います。悪い文書と助けを見つけるには小さすぎるコミュニティ。また、私はまだSchemeベースの言語に慣れていません。ですから、言語をPythonベースのものに変更したいと思います。

PyroかPyMCかもしれませんが、私はそれらの両方について全く知りません。

  • 2つのフレームワークの違いは何ですか?
  • それらは同じ問題に使用できますか?
  • 比較して光る例はありますか?
16
MinKi Jo

から ここ

Pyroは、変分推論に焦点を当てた深い確率的プログラミング言語であり、構成可能な推論アルゴリズムをサポートしています。 Pyroは、(PyTorchを使用して)より動的で、(再帰を可能にする)ユニバーサルであることを目指しています。

Pyroはディープニューラルネットを採用しており、現在は変分推論に焦点を当てています。 Pyroは(PyMCやEdwardとは異なり)マルコフ連鎖モンテカルロをまだ実行していません。

Pyroはpytorchで構築されていますが、PyMC3はtheanoで構築されています。 PyTorchの動的プログラミングを取得すると、最近、Theanoが1年後に 維持 にならないことが発表されました。ただし、PyMCには優れたドキュメントと すばらしい リソースがあることがわかりました。別の代替案はTensorflowの上に構築されたEdwardで、pyro atmよりも成熟していて機能が豊富です。 Edwardの作者は、PyMC3よりも高速だと主張しています。
私が決定したことは、あなたが探している機能、ドキュメント、プログラミングスタイルに要約されると思います。

11
Littleone