xiangze's sparse blog

機械学習、ベイズ統計、コンピュータビジョンと関連する数学について

Edwardで一部の変数だけ確率変数にして変分推測する仕組み

VAEやGANなどに組み込まれたニューラルネットでは重み行列やバイアスは確率変数としては定義されていません*1が、
Edwardでは使って確率変数とそうでない変数を同時に推測(学習)させることが可能です。
それはどのようにして実装されているのでしょうか。

続きを読む

Veriflowについて

github.com

ネタです。
一応動きます。

Input,Reg,Wireと演算でグラフを作り、Session内のrunメソッドのfeed_dictでInputに(tensorflowのplaceholderにするよう)に値を渡します。
Sessionを抜けると回路モジュール(modtest.sv)とテストモジュール(test.sv)が作成されます。test.svにはrunで書いたInputへの値の設定が反映されます。
そしてverilatorかiverilogがインストールされている場合には実行され、Outputの値が出力されます。

現状1モジュールにのみ対応。計算グラフは木である必要があります。また名前に反してvector,行列の四則演算には対応していません。。。

本家の本気

XLA (Accelerated Linear Algebra) is a domain-specific compiler for linear algebra that optimizes TensorFlow computations.

BayesFlowについて

kerasのようにTensorflowの中にEdwardを取り込むという話もありましたが、BayesFlowという名前でtf.contribの中に取り込まれています。
https://www.tensorflow.org/api_docs/python/tf/contrib/bayesflow

今の所klpq(csiszar_divergence内のkl_forward), hmc, metropolis_hastings などがEdward由来のものらしいですが、そうでない物もあり興味深いです。が使用例はまだほとんどないようです。

続きを読む

Edwardを試してみた(3)敵対的生成ネットワーク(GAN)

Edward2.0が発表され、criticismが廃止されたり、インターフェースが変わったりと大きな変化があるようですが、ここでは引き続きEdwardの例を実行してみます。

続きを読む

Ubuntu でtensorflow-gpuを使えるようにするのにはまった→解決

表題のようにUbuntu16.04 でtensorflow-gpuを使おうとしてハマったのでその解決に至るまでの記録です。
個々の問題はググって出てきた情報を実施することで解決できるものです。
ここではそれをどんな順序で試行錯誤し実行していったかの流れを記します。

続きを読む

ホクソエムとその周辺分布

HOXO-M Advent Calendar 2017 - Qiitaの10日目です。

qiitaにpoemタグがあるのを知りました

今や著名なデータサイエンティスト界隈の中核として知られる組織ホクソエムですが、その実態は明らかではない。と去年くらいまでは思っていたのですが、執筆やtidyverseの普及など実際活動が明確になってきていて驚きます。

hoxo-m.com

続きを読む