読者です 読者をやめる 読者になる 読者になる

FIT2016の企画 「ここから始める情報処理 ~画像、音声、テキスト、検索、学習、一気にまとめてチュートリアル~」 のスライドまとめ

Facebookにて、山崎俊彦氏がまとめていらっしゃったので、こちらにもメモ的に残しておこうということ。

WaveNetの各種実装:TensorFlow, Chainer, and Keras

  • TensorFlow実装

github.com

  • 番外編:WaveNetによる音声生成の高速化実装(学習ではない)

Fast Wavenet: An efficient Wavenet generation implementation
github.com
どれくらい高速か、というと論文の通りにナイーブに実装すると、層の数Lに対して2^Lに比例するオーダーだったのが、Lの1次に比例するオーダーになるそうだ(下図参照)。
f:id:tam5917:20160925115303p:plain

現在、もっとも開発が盛んなのはTensorFlow実装のリポジトリだろうか。生成の高速化実装も取り込まれた。充実感がある。
これらが実際に使い物になるかどうかはまた別の問題である。

『リーマン多様体の等長埋め込み論小史, あるいは外史』

http://www.math.tsukuba.ac.jp/~tasaki/yuzawa/2004/agaoka2004.pdf

KaluzaとKleinの論文の翻訳が見つかった

個人的に興味あるので。
ci.nii.ac.jp

ci.nii.ac.jp

MGUとかSGUといったLSTMの派生版をTensorFlowで実装したので、まとめておく

それぞれは以下の通り:

これらは基本的にLSTMの構造を簡略化して、LSTMブロック内のパラメータ(重み行列)の数を減らしている。例えばMGUはLSTMの約半分のパラメタ数になっている。こうすることで可視化や解析がしやすくなったり、学習時間やデコードの時間が減らせるので嬉しいらしい。今回の実装自体はTensorFlowのGRUCellを少しいじるだけであり、簡単である。ちなみに上記論文で比較対象に挙がっているGRU (Gated Recurrent Unit) はパラメタ数的にLSTMの約3/4になっている。

LSTMの各構成要素(ゲートとか)のうち、どれが一番性能が効くのか、ということをきちんと調べた論文は以下。
An Empirical Exploration of Recurrent Network Architectures
この論文によれば、性能を一番左右するのはForget gateだそうで、またForget gateのbiasは1.0にすると良いらしい。TensorFlowにおけるLSTM実装は既にそうなっている。上記各ネットワークアーキテクチャにおいて、簡略化されても残るのはForget gateの機能だったりする。

これら以外にも構造を簡略化した論文はあるのかしら?きっとあるだろうから、色々と勉強したいものである。

LSTM autoencoder導入による事前学習の効果の検証 by Tensorflow

下記の論文において、動画像系列のためのLSTMを用いた教師なし学習が提案されている:
Nitish Srivastava, Elman Mansimov, Ruslan Salakhutdinov, "Unsupervised Learning of Video Representations using LSTMs," Proceedings of The 32nd International Conference on Machine Learning, pp. 843–852, 2015.

Tensorflow実装は以下の記事で紹介した。
qiita.com

これを使ってどれくらい効果があるのかを試してみた結果が以下である。
f:id:tam5917:20160816211243p:plain
ただし学習データ・テストデータは手元にあった適当な時系列データである。グラフより、学習誤差が減少し、事前学習導入の効果が確認された。

『The Absolute Differential Calculus』by Tulio Levi-Civita

archive.org