Monthly Hacker's Blog

プログラミングや機械学習の記事を中心に書きます。

chainerでVQ-VAEを実装した

  • できること
  • はじめに
  • VQ-VAEとは
  • ネットワーク構造
  • chainer v3でfunctionおよびlinkを自作する(WIP)
  • CVTK-Corpusを使ってVQ-VAE(speaker-unconditional)
  • パラメータ調整
  • 最後に

できること

この記事では、次のことができるようになります。

  • CVTK-Corpusを使ってVQ-VAE(speaker-unconditional)
  • chainer v3でfunctionおよびlinkを自作する(WIP)
続きを読む

レシピの材料名の表記ゆれに対処する

tl;dr

  • 日本語における自然言語処理では表記ゆれが大きな問題である。
  • word2vecを使えば辞書や正解ラベルに頼らない(作らない)で済む。
  • 文章ではなくてもdoc2vecを使うと安定する。

はじめに

こんにちは、さかぱ(@zacapa_23) です。8ヶ月前に修論が終わり、今は社畜です。

今日、cookpadさんのブログを見て、「あっ!修論でやったやつに似てる!」と思い、「こんなやり方もあるんですよ。」と気持ちが高まったので書きます。
techlife.cookpad.com

表記ゆれは日本語での自然言語処理では大きな課題で、様々な論文で「表記ゆれのせいでうまくいかなかった。」という文言が散見されます。
2015年には日本語解析システム 雪だるま - 雪だるまプロジェクトで、地道に辞書を作成しているようで、開発理念の最後の1文からも表記ゆれ問題の深刻さが伺えますね。

一つ一つの技術を積み重ねていかない限り、高度な自然言語処理は実現しない。自然言語処理は総合芸術のようなもので、モデルのパラメータを一ついじるだけで問題が解決するような世界では決してない。

辞書レベル、単語レベルから地味で泥臭い積み重ねを行い、及びそれを蓄積していくことで初めて次の技術の突破口になる。いくら個別の技術を個別に研究していても、自然言語処理の全体像はいつまでも明らかになってくれない。しっかりとした土台を造り、基礎を固めていかなくてはならず、それを実現していない状態で最上階から見える景観の議論をやっていても不毛ではないのか。

学会発表の考察で、「形態素解析の解析誤り」とか「表記ゆれ」とかいう文言はもう聞きたくない。

日本語解析システム 雪だるま - 雪だるまプロジェクト, 開発理念より引用

続きを読む

dockerでディープラーニング(chainer)環境を整える

  • できること
  • 経緯
  • dockerを使ったほうが良いケース
  • インストール
  • 一般的な環境構築
    • FROM
    • RUN
  • 機械学習に特化した環境構築
    • ARG
    • USER
  • ビルドする
  • イメージを使う
  • エイリアスを登録
  • nohupなどバックグラウンドで計算を回し続けたいとき(2017/10/22追記)
  • 最後に

できること

この記事では、次のことができるようになります。

  • dockerを使ったディープラーニング(chainer)環境構築
続きを読む

NNablaのImage Augmentationを試してみた

  • NNablaのimage augmentationの特徴
  • augmentation一覧
    • Random Crop
    • Random Flip
    • Random Shift
    • Image Augmentation
  • 最後に

NNablaがリリースされて1ヶ月以上経ちました。研究室の先輩が開発のコアメンバーということもあり、リリース直後から注目していたのですが、しばらくpython2系のみ対応ということで手を出せずにいました。

先日、件の先輩に「3系に対応したのでぜひ使ってくれ、image augmentationがイチオシだ」と教えていただいたので、早速試してみました。

github.com

続きを読む

chainerのtrainer機能を使ってDiscoGANを実装した

  • できること
  • はじめに
  • DiscoGANとは
  • CelebAデータセットのダウンロード
  • updaterの書き換え
  • extensionの追加
  • 前処理の追加
  • 結果

できること

この記事では、次のことができるようになります。

  • CelebAデータセットをダウンロードする
  • updaterを書き換える
  • make_extensionでextensionを追加する
  • 画像の前処理を追加する
  • chainerのtrainerを使ってCelebAでDiscoGAN
続きを読む