タグ

ブックマーク / studylog.hateblo.jp (5)

  • 今年(2016)参考にさせてもらったChainerの論文実装、サンプルコード集 - studylog/北の雲

    去年書いたサンプルコード集の2016年版です。 個人的な興味範囲のみ集めているので網羅的では無いとは思います。 基的に上の方が新しいコードです。 QRNN(Quasi-Recurrent Neural Networks) 論文ではchainerを使って実験しており、普通のLSTMはもちろんcuDNNを使ったLSTMよりも高速らしい。 一番下にchainer実装コードが埋め込まれている。 New neural network building block allows faster and more accurate text understanding [1611.01576] Quasi-Recurrent Neural Networks Softmaxなどに要している時間を除き純粋にRNN部だけで比較すると相当速くなっているのがわかる。 このように実験でchainerが使われている研

    今年(2016)参考にさせてもらったChainerの論文実装、サンプルコード集 - studylog/北の雲
  • シンプルなRNN - MGUとSGU(DSGU) - studylog/北の雲

    ようやく北海道も雪が解けて街中を自転車で走り回れるようになりました。あと二週間ぐらいで桜も咲きます。 [1604.02910] Deep Gate Recurrent Neural Network [1603.09420] Minimal Gated Unit for Recurrent Neural Networks という二つのRNN関連の論文をGoogle翻訳で斜め読みしました。 RNNの代表格はLSTMで、二番手によりシンプルなGRUがつけていますが、上記で提案された手法はさらに構造をシンプルにする事で可視化などで結果の解釈を容易にしたり学習速度の向上を狙ってるという感じみたいです。 MGUはGRUをさらにMinimalにしてパラメータを減らしたものです。 (上記論文より 上がGRU、下が提案手法) パラメータが少ないぶん学習速度が速い。 精度はIMDBではMGUが上、Mnistは

    シンプルなRNN - MGUとSGU(DSGU) - studylog/北の雲
  • 可変長データのミニバッチをchainerのwhereでやる - studylog/北の雲

    以前にもちょこっと書いたのだけど、自然言語はたいてい次元(単語数、文字数など)が合わない。 データA 1 2 データB 1 2 3 こんな感じで次元が合っていないデータをミニバッチで学習したい。 末尾をEOSで埋めてミニバッチ 可変長のミニバッチの時に末尾をEOSで埋めてそのまま学習するとまずいのでwhereを使うといいらしい。以前から挑戦していたのだけれどもなかなかうまくいかず、先日ようやく中の人にtwitterで教えてもらって出来ました。 まず末尾を0や-1など特殊なもので埋めて次元を固定する。仮に0をEOSに該当するIDだとしたらこのように埋められる。これでAもBも4次元で揃った。 データA 1 2 0 0 データB 1 2 3 0 転置(numpyの.T)したらそのまま入力に使える形式になってくれる。 A B 1 1 2 2 0 3 0 0 実際のコードだとこう。 a = nump

    可変長データのミニバッチをchainerのwhereでやる - studylog/北の雲
  • 低火力ディープラーニングのための環境(自作ハード編) - studylog/北の雲

    昨日こんなプレスリリースが話題になっていました。 www.sakura.ad.jp 高火力ですって。強そう。 ちょっと前にはこんなのも話題に。 ディープラーニング専用GPUサーバファーム「紅莉栖(くりす)」を構築|ニュース|広報情報|株式会社ドワンゴ 現時点で世界最高性能となるMaxwell世代のCUDAコアを搭載したGPUサーバー100台程度で構成 凄い。強そう。 こういう記事を読んだ後に自分の足下で動いている機械をまじまじと眺めてみると、あまりの低火力に恥ずかしさすら覚えます。ワットチェッカーで測ってみると500Wにも満たないそうで、安物電子レンジレベル。まさに低火力。 低火力ディープラーニングのための自作ハード 企業や研究室にTitan4枚指し環境が整っているような人にとってはおもちゃみたいな環境かもしれませんが、私が使っている環境を晒しつつ、個人の趣味レベルで(プチ)ディープラーニ

    低火力ディープラーニングのための環境(自作ハード編) - studylog/北の雲
  • chainerのサンプルコードを集めてみた(チュートリアルも追加) - studylog/北の雲

    (2016.1.21追記)最近あまりメンテナンスしてないので1.5以上のバージョンを使ってる人には役に立たなくなったかもしれません。 (2015.12.15追記)当初はサンプルコードにリンクを貼っただけの記事でしたがチュートリアル等も含めたものに加筆中。また古くなった情報は順次削除・更新してます。 バージョンごとの互換性など こっちに移しました。1.5以上を強くお勧めします。 chainerのバージョンごとの違い(2016年1月19日現在) - studylog/北の雲 1.0 1.1 1.2 黎明期バージョン 1.3 1.4 CuPy導入 1.5 1.6 色々とパワーアップした現世代 概要・チュートリアル 概要を掴むのに適したスライド 1.5以上から始めるならこちら。 Chainerチュートリアル -v1.5向け- ViEW2015 内容は重複していますが1.4以前のバージョン時代のチュ

    chainerのサンプルコードを集めてみた(チュートリアルも追加) - studylog/北の雲
  • 1