にっき

技術的な話題はないです

2016-01-01から1年間の記事一覧

rustup を Vim から呼び出すプラグインを作りました

タイトルの通りです。 少し前に rustup のメジャーアップデートがアナウンスされたばかりですがそれとは関係ないです。 Vim のタブライン上に使用中の Rust のツールチェインを表示するように設定を弄っているときに思いつき、この手のプラグインが見つから…

Rust 製の汎用機械学習ライブラリ rusty-machine

本記事は Rust Advent Calendar 2016 10日目の記事です。 Rust Advent Calendar 2016 へ多くの方にご参加いただき、(一応)主催者としては嬉しい限りです。 遅くなってしまいましたが、この場を借りてお礼を申し上げます。 今回は Rust 製の汎用機械学習ラ…

Rust のコマンドラインオプション解析色々

本エントリは Rust その2 Advent Calendar 2016 - Qiita の 10 日目の記事です。 本記事では、Rust を使って CLI アプリケーションを作成してきた過程で得られた知見のひとつとして、コマンドラインオプション解析に用いる crate を簡単にまとめたいと思いま…

近況

衝動的に Rust で色々作ったので、宣伝がてら忘れないようにまとめておく。 正直 Rust 関係ない気もするが気にしない。 あと全体的にドキュメントが貧弱なので他の人に使ってもらうためにはもう少し頑張らないといけない気がする。 ghqrs github.com Git の…

深層カルマンフィルタ (5)

前回は状態空間モデルにおける変分下限を導出した。 この関数をパラメータ について微分可能にするために必要な認識モデル への制約を考えることが今回の目標である。 いよいよ深層学習っぽい話になると期待している。

深層カルマンフィルタ (4)

…さて、ここからが本題。 同じ著者による新しい論文がアップロードされていたので、こちらも適宜参照しながら読み進めていく。 [1609.09869] Structured Inference Networks for Nonlinear State Space Models

深層カルマンフィルタ (3)

今回は変分自己符号化器 (VAE) における確率勾配変分ベイズ (SGVB) の説明。 なお、SGVB 自体の説明は本家の論文、および以下のものを参考にしたのでそちらも参照されたい。 正直、下の資料さえあれば今回の内容は飛ばしても良い気もするが、一応まとめてお…

深層カルマンフィルタ (2)

昨日の続き。 と言いつつ、昨日の内容についてはおろかその他もろもろの理解が不十分だったことに気づいたため、そのあたりを復習しつつ読み進めてる。 そのため、本題に入る前に大幅に脱線するので注意されたい(自然消滅しないよう頑張ります)。

深層カルマンフィルタ (1)

文献: [1511.05121] Deep Kalman Filters の感想 + 学習メモ。 流し読みしてみた感じそこまで難しいことはしてなさそうだったので、RNN の勉強がてら読んでみてる。 参考文献 深層カルマンフィルタ関連 Deep Kalman Filters (Krishnan, Shalit and Sontag, 2…

セミマルコフ決定過程の勉強メモ (2)

前回の続き。 といっても書く気が失せつつあるので一気に準マルコフ決定過程の説明にはいる。 準マルコフ決定過程 準マルコフ決定過程 (semi-Markov decision process; SMDP) とは、簡単に言えば自己遷移における滞在時間 (sojourn time) を考慮したマルコフ…

セミマルコフ決定過程の勉強メモ

ここ数ヶ月ぐらい調子が悪い状態が続いていてろくに文章も書けないでいたのだが、急に元気が出てきたので冷めないうちにメモ。 早く回復しないかなぁ… はじめに マルコフ過程 (Markov process) および マルコフ連鎖 (Markov chain) は基本的な確率過程の一つ…

Rust 製の ghq クローンを作った

少し前からちまちまと作っていたのですが,とりあえず使えそうになったので公開しておきます. github.com もともと Bash on Windows (BoW) で ghq をインストールしようとして失敗したのがきっかけで作り始めたのですが,本家のリリースページのバイナリを…

Rust でメソッドのオーバーロード

Rust でメソッドのオーバーロードをしたい場合,オーバロード対象のメソッドを持つ Trait を用意し,各型ごとに実装を記述する. mod hoge { pub struct Hoge; // 引数の型を引数 pub trait Foo<T> { fn foo(&self, foo: T); } // 引数の型ごとに実装を記述 imp</t>…

Gurobi の Rust API を作ってた

少し前から手をつけていたのですが,Rust から Gurobi を呼び出したいなぁと(少し)思っていたので作ってみました. https://crates.io/crates/gurobi 基本的な API の使用は C++ 版のものを参考にしましたが,言語的な制約から多少異なったものになってい…

C++11で Rust の channelを実装してみる

とあるツールを作る際に非同期処理を実装したくなったのだが, その際に Rust にある channel があると便利そうだなぁと思ったので実装してみた. 概要 実装は この記事 を参考にした. ただし,Golang 版では双方向通信が可能になっているのに対し,移植版…