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

pip install deeplearning

こちらもどうぞ。http://monthly-hack.com

DCGAN

Deeplearningを使って画像を生成するDCGANを紹介します.
論文と合わせて, chainerで実装した例を読むと理解しやすいです.
Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks
(Alec Radfold, Luke Mets, Soumith Chintala, http://arxiv.org/pdf/1511.06434v2.pdf)
Chainerを使ってコンピュータにイラストを描かせる - Qiita
Chainerで顔イラストの自動生成 - Qiita

はじめに

こんにちは。大したことを書いていないのに, 毎日アクセスされていてびっくりです. アクセスされている間は, ちゃんと記事を書こうと思い, 年末に読んでいたDCGANを紹介します.
これはニューラルネットワークを使って画像生成するアルゴリズムで, デモを見る限り, うまく生成しているし, Word2vecのように画像の意味をベクトル化できているようです.
そもそもGANすら読んでいないので「'Adversarial'ってなんだ?」というところから始まり, Qiita上の実装コードやデモ, いろんな人の説明を読むまでを通して理解しました.

※注意

去年の4月からDeepLearningの勉強をし始めたので, わからないところ, 間違っている可能性があります.(もしよければ指摘してください)
その上, 英語も堪能ではないので, 誤解している可能性があります.
(もしよければ指摘してください)

Generative Adverasarial Networks

DCGANの説明に入る前に, 元となる手法であるGANを紹介します.GANは下図のように生成モデルGと識別モデルDが交互に学習をします. 例えて言うなら, 偽造犯Gと鑑定士Dのイタチごっこです. 変数や式を説明は以下のとおり.

  • G():生成モデル. zからG(z)=x の画像を生成.
  • D():識別モデル. xD(x)=yとして判定.xG()から生成されたと判定した時, y=1.
  • z: n次元の一様分布に従う変数.
  1. 鑑定士Dは本物の絵画xを見て, D(x)=y=0(正解)になるように学習.
  2. 鑑定士Dは偽物の絵画xを見て, D(x)=y=1(正解)になるように学習.
  3. 偽造犯Gは材料zから偽物の絵画G(z)=xを描き, D(x)=y=0(不正解)になるように学習.

以上を繰り返すことで, 偽造犯の腕がどんどん磨かれて, より本物っぽい絵画をかけるようになります.

https://qiita-image-store.s3.amazonaws.com/0/51673/0a8d13de-20c9-1e80-a74c-21d0b7fc2d61.png
(画像はこちらから拝借: Chainerで顔イラストの自動生成 - Qiita)
(GANの論文はこちら: http://arxiv.org/pdf/1406.2661v1.pdf)

DCGANができたこと

それっぽい画像の生成

これはベッドルームの画像を生成した例です.
ぱっと見ると, 本当のベッドルームみたい.
f:id:mutomasahiro1111:20160121154941p:plain
(論文中,図3)

Word2vecのようなベクトル演算

'メガネベクトル'や'笑顔ベクトル'など意味演算ができていました.
これがどこまでいけるのかを今度試します.
f:id:mutomasahiro1111:20160121154952p:plain:w500
f:id:mutomasahiro1111:20160121154959p:plain:w500

なんでこのようなベクトル演算ができたのかというと, 生成される画像はn次元空間のzのパラメータで決まるところに注目するとわかります. このn次元空間上で異なる2つの画像を作る点, またはそれらの画像の平均z1, z2の差がベクトルになるわけです.
f:id:mutomasahiro1111:20160121232014p:plain:w200f:id:mutomasahiro1111:20160121231938p:plain:w200

その他

特定のフィルターと物体

生成モデルの特定のフィルターが特定の物体を描画している.

教師なし学習での特徴量抽出器

識別モデルのフィルターが画像分類の特徴量抽出機と教師なし学習

などなどがありますが, また時間があるときに書きます. それにしてもすごい.

ぜひアニメ画像のデモを御覧ください.
qiita.com
qiita.com