GAN(敵対的生成ネットワーク)について説明します!

皆さん、「AI」という単語を耳にすることが最近増えてきたのではないかと思います。しかし、その仕組みについて知りたいと感じても、「私には難しそう...」と敬遠してしまっている方も多いのではないでしょうか?

ここでは、AIのネットワークであるGANについて、説明していきたいと思います!

GANとは

GANとは、Generative Adversarial Network(敵対的生成ネットワーク)と呼ばれるAIの一種です。

Generator(生成ネットワーク)とDiscriminator(識別ネットワーク)の2つのネットワークから構成されており、互いに競い合わせることで精度を高めていきます。

例えるならば、「偽物を作り出す悪人(Generator)」と「本物かどうか見破る鑑定士(Discriminator)」のような役割をネットワーク内に組み込み、競争させるような形で学習させます。(そのため「敵対的」と言われます)

一番の特徴は、教師なしで学習が可能に成ることです。従来の深層学習(ディープラーニング)では、データのラベリングが必須でしたが、GANではその必要がなくなります。

GANで何が出来るのか

GANの研究は今の進んでおり、様々な場面で使われています。実際GANを使って何が出来るのかの一例をご紹介します。

1. 高品質の画像を作る

GANを使うことで、品質の低い画像から高品質の画像を作ることが出来ます。ピンボケした写真や昔の写真の解像度を上げるなどといった活用法があります。

また、複数の顔の画像を取り入れることで、実際には存在しない人の画像を作ることも出来ます。

2. 文章から画像を起こす

絵の特徴を書いた文章から画像を生成することが出来ます。音声による画像の修正というように、様々な場面での活用が期待されています。

3. 画像を別の画像に仕上げる

1つの画像から雰囲気の異なる別の画像を作ることが出来ます。ただの風景の画像からイラスト風の画像に変換したり、印象派の作品のようなテイストの画像に変換したりすることが出来ます。

4. 動画を別の動画に仕上げる

近年フェイクニュース等で話題になっている技術です。ある人の動画に物の人の顔を載せたり、別人の2人の動きをシンクロさせたりすることが出来ます

GANの種類

GANは画期的な技術ですが、オリジナルGANは動作が不安定になりやすいといった欠点があります。そのためそれらを解決するために様々な種類のGANが開発されています。

pix2pix

2つのペアの画像から画像同士の関係を学習することで、1枚の画像からその関係を補完した画像を生成することが出来ます。


論文:https://arxiv.org/pdf/1611.07004.pdf

CycleGAN

2組の画像を使い、一方の画像から他方の画像を生成し、他方の画像から一方の画像に戻した時に(サイクルした時に)精度が高くなるように学習させます。画像から画像への変換をすることが出来ます。


論文:https://arxiv.org/pdf/1703.10593.pdf

DCGAN

GANにCNN(畳み込みニューラルネットワーク)という技術を導入したものです。GANにに比べて高解像度であり、学習も安定化されました。シンプルな画像を生成することが出来ます。


論文:https://arxiv.org/pdf/1511.06434.pdf

PGGAN

GANは従来高品質な画像の出力は困難でしたが、PGGANは段階的に学習するような学習の過程にすることで、高解像度な画像を生成することが出来ます。


論文:https://arxiv.org/abs/1710.10196

BigGAN

PGGAN同様、BigGANも高解像度の画像を生成することが出来ます。

論文:https://arxiv.org/abs/1809.11096

StyleGAN

PGGANでの手法を採用することで、本物と区別がつかないような画像を生成することが出来ます。


論文:https://arxiv.org/abs/1812.04948

AGE-cGAN

年齢別で高品質な顔画像を生成できる技術です。自身の顔の画像を若返らせたり、老いさせたりすることが出来ます。

論文:https://arxiv.org/pdf/1702.01983.pdf

CGAN

GANと異なり、Generatorの入力に条件ベクトルを加えることができ、狙った画像を生成することが出来ます。

論文:https://arxiv.org/abs/1411.1784

StackGAN

文章から画像を生成することが出来ます。文章から画像を生成するネットワークと生成された画像を高精度にするネットワークの2つのGANで構成されています。


論文:https://arxiv.org/pdf/1612.03242.pdf

AttnGAN

StackGAN同様、AttnGANも文章から画像を生成することが出来ます。

論文:https://arxiv.org/abs/1711.10485

弊社のサンプル

弊社では、GANの一種であるpix2pixを用いて、人の画像から顔の輪郭を捉えた線画を生成することに成功しています。