人工知能による画像認識/生成アルゴリズムとして浸透しつつある「GAN」とは | SiTest (サイテスト) ブログ

メニューボタン閉じるボタン

人工知能による画像認識/生成アルゴリズムとして浸透しつつある「GAN」とは

こんにちは、プロダクト開発チーム エンジニアの森永です。

先日の記事「カラーパレットも人工知能で!ディープラーニングによる配色ツール Colormind」で人工知能によるカラーパレット生成ツール「Colormind」を紹介し、その中で画像認識アルゴリズムとして「Generative Adversarial Networks (GAN)」が使われていることを紹介いたしましたが、今回はその「GAN」がどのようなアルゴリズムか、また GAN がどのように応用されているかを紹介いたします。

GAN とは

GAN (Generative Adversarial Nets) は2014年に当時モントリオール大学の Ian J. Goodfellow 氏(現在 Goodfellow 氏は Google で研究を続けておられます)をはじめとする研究グループによって提唱されたモデルで、 G(Generator:生成者) と D(Discriminator:鑑別者) の2つのニューラルネットワークによって学習していき、画像認識/生成を行うことを目的とするものです。

GAN の処理の流れは以下のようになっています。

(1) 学習モデル(ニューラルネットワーク) G と D、分布 p を用意する
(2) G はランダムデータ z から p(z) を生成する
(3) D は G の生成したデータ G(z) がランダムデータから生成されたもの (p(z)) か正しいデータ (p(x)) かを判別し、学習する
(4) G は D が見分けを付けられないように学習する
(5) 以下(2)〜(4)を繰り返し、学習を進めていく

この学習方法について、論文内では下記の価値観数で表される「2人のプレイヤーの minimax game」と表現されています。

GAN 関数

また、同論文内では G が偽札を作る人、 D が偽札を見破る人と例えています。

GAN イメージ

数式についての詳細な説明は割愛いたしますが、詳しく知りたい方は論文の3〜4章、または日本語で詳しく説明されているサイトもありますのでそちらをご参照下さい。

※論文は GAN のサイト右側「Download」から読むことができます。

GAN で出来ることと実例

先にも書いたように GAN については画像認識や画像生成などでの応用が期待されています。元の論文内でも5章で実際の画像生成例が紹介されています。

GAN 画像生成例

GAN 画像生成例 (出典: GAN 論文より)

また、この GAN を元に、さらに学習を深層化する等で改良した DCGAN をはじめとしてさまざまな改良アルゴリズムが研究、開発されています。これまでに発表されている GAN のまとめ「The GAN Zoo」というサイトもあり、研究が活発であることがよくわかります。

最近ではクマの身体をパンダのような模様に変換するサンプルが Goodfellow 氏 の Twitter で紹介されていました。

余談ですが、先日某所で開催された AI に関するトークセッションを聴きに行きましたが、そこでも画像認識/生成の方法として説明されていた手順が GAN そのものでした。それだけ研究、開発の現場では GAN が一般的となりつつあることがうかがえます。

Goodfellow 氏自身、現在 Google で活動されていますので、今後も人工知能による画像認識、生成のアルゴリズムとしてこれからも広がっていくと思われる GAN には注目です。