以下のサイト。
github.com
コードは最近の深層学習系パッケージなら入っているからいいとして、論文のまとめはありがたい。
このリストの作者は、以下のCV系深層学習の論文関連情報のサイトもメンテしている;
github.com
以下のサイト。
github.com
コードは最近の深層学習系パッケージなら入っているからいいとして、論文のまとめはありがたい。
このリストの作者は、以下のCV系深層学習の論文関連情報のサイトもメンテしている;
github.com
以下のリポジトリ。
github.com
既実装は以下:
使ってみる価値はあるかも。時間の節約。
要するにLSTMの内部でバッチ正規化を行うということ。
論文と実装は以下の通り。
本実装は以下の先行実装に依拠しており、ここに感謝する次第である。
前者はTensorFlow実装、後者はTheano実装であるが、前者は後者を参考にして実装された。本実装はさらに前者の実装に対して自分用に手を加えたということである。なおTensorFlow 0.10でのみ動作確認をしている。
本実装ではBN_LSTMCellクラスが定義されている。使い方の注意点は、BN_LSTMCellのインスタンスを作成する際、引数に'is_training'を取るということである。これはバッチ正規化に関して、学習時と評価時で振る舞いを変えるためのものである。より具体的に言うと、学習時には各ミニバッチについて統計量(平均と分散)を計算してバッチ正規化を行う必要があるのだが、評価時の各ミニバッチに対しては改めて統計量を計算する必要はなく、学習データ全体から求められる確定した統計量に基づいてバッチ正規化を行うのである。
今後はGRUやSGU, MGUなどにrecurrent batch normalizationを実装する予定である。
Project RNN Enhancement、ということらしい:
github.com
作者はSeq2Seqへの応用を念頭に置いているらしいが。
Fast Wavenet: An efficient Wavenet generation implementation
github.com
どれくらい高速か、というと論文の通りにナイーブに実装すると、層の数Lに対して2^Lに比例するオーダーだったのが、Lの1次に比例するオーダーになるそうだ(下図参照)。
現在、もっとも開発が盛んなのはTensorFlow実装のリポジトリだろうか。生成の高速化実装も取り込まれた。充実感がある。
これらが実際に使い物になるかどうかはまた別の問題である。