「悪者」と「警察官」がAIに絵の才能を与えます。
皆さん。こんにちは
今日も張り切っていきましょう。
〜今日の内容・参考文献〜
画像を生成するとは?「生成モデル」について
そもそも画像を生成するというのはどういうことなのでしょうか?
冷静に考えてみれば
「よし、画像を生成しよう!!」と思っても
その画像が何なのか認識できていないと作れないですよね・・・。
「犬」を知っていないと「犬」の画像は書けない。
「猫」を知っていないと「猫」の画像は当然作れませんよね。
機械の場合も同じです。
「画像を生成するためにまず画像を認識する」
この作業からスタートします
では「画像を認識する」とはどういうことなのか。
それは・・
画像を分類してラベル=名前をつけてあげることです。
猫の画像を生成したいのであれば・・
1「猫」の教師データを使い、まずは「この画像は「猫」」だと認識してもらいます。
2 教師データから「猫」の画像をとりあえず作ってもらう
3 自身が作った画像を「猫」と認識することができれば
「猫」の画像を生成することができるようになった。
という流れがあります。
自分で作った画像を正しく認識できる=その画像を作れるようになった
ということになりますね。
このように教師データ(元の画像)から学習し、似たデータ(画像)を生成して
新たなデータを作るモデルを「生成モデル」と言います。
それではGANの生成モデルを説明します。
悪者と警察官の関係??GANの基本的な考え方。
GAN非常に注目を集めている手法で近年では多くの論文が発表されています。
GNAの基本的な考え方はかなりシンプルかつ面白い例えで説明できます。
それが「悪者と警察官」の関係です。
偽物を作って一儲けしたい悪者は偽物のブランド品を作り売りに出そうとします。
下手な偽物は警察官によって見破られてしまいますが・・
このようなループをすることで最終的には完璧な偽物となるでしょう。
つまりGANは・・
悪者と警察官の関係を使うことで画像生成の精度をあげているのです。
GANの「悪者」と「警察官」これらにはしっかりと名前があって
生成器G(Generator)と識別器D(Discriminator)と呼びます 。
具体的なGANの画像生成の流れとしては・・
1生成器Gがノイズ(つまりランダムな画像)を生成する。
2識別器Dが生成されたデータと教師データを比べて識別する。
3生成データと教師データの誤差から学習(バックプロパゲーション)して
より教師データに似た画像を生成器Gが作る。
難しい表現をしていますが、本質は警察官と悪人の関係ですよ!!
ニューラルネットワークの二刀流!?DCGANを少々。
今までGANについてお話ししてきました。
次は2つのニューラルネットワークを使う「二刀流」を紹介します。それは
DCGAN(Deep Convolutional Generative Adversarial Networks)です。
これは畳み込み層にCNNを使い、画像認識にGANを使うすごいやつです。
CNNを導入したことにより画像の認識精度が高まり、より複雑で高度な画像を作ること
が可能になりました。
またDCGANでは「画像の演算」ができます。
例えば
「服を着た男性」-「裸の男性」+「裸の女性」=「服を着た女性」
という感じです。
みなさん理解できましたか?絵にして見ましょう笑
CNNここで登場するのですね笑
最初本を読んでた時「ここで来るんか!!」と驚きました笑
もっとCNNを勉強したい方は最後に他のブログを貼っておくぜひ読んで見てください。
DCGANはかなり簡単な説明になってしまいました。ごめんなさい
自分の学習がかなり進んだらまたDCGANについてより詳しく書ければなと思います。
参考文献・サイト
はじめてのディープラーニング -Pythonで学ぶニューラルネットワークとバックプロパゲーション- (Machine Learning)
- 作者: 我妻幸長
- 出版社/メーカー: SBクリエイティブ
- 発売日: 2018/08/28
- メディア: 単行本
- この商品を含むブログを見る
CNNについてもっと知りたい方へ。