GAN(Generative Adversarial Networks:敵対的生成ネットワーク)とは

GAN(Generative Adversarial Networks:敵対的生成ネットワーク)は、学習データに正解を与えない状態で学習させる「教師なし学習」の一種です。大半のAIが分類や回帰を役割とするのに対して、GANは生成機能を持っています。

GANは2014年にイアン・グッドフェロー氏によって確立された手法で、近年最­­も注目されているディープラーニング(深層学習)と言っても過言ではありません。ニューラルネットワークの大家ヤン・ルカン氏も、「機械学習においてこの10年間で最も興味深いアイデア」と評しています。

*教師なし学習について詳しく知りたい方は、↓の参考記事をご参照ください。

仕組みと特徴

GANは”Generator”と”Discriminator”の2つの要素で構成されており、この2つの要素の関係は、偽札の製造者と鑑定者の関係にたとえられます。

Generatorはオリジナルを模倣した偽物を生成し、Discriminatorはその偽物をオリジナルと比較することで真贋を見破ろうと試みます。見破られた場合、Generatorはさらに精巧な偽物を生成し、Discriminatorを欺くことを目指します。このように、2つのネットワークを互いに競わせるようにして精度を高めていく。これが敵対的と称される所以です。

GANは「この10年間で最も興味深いアイデア」と評されるほどに革新的でありながら、その独特の構造故にメリットとデメリットが極端であるといった脆い面も持ち合わせています。そのため、GANの応用例では多くの場合、オリジナルのGANに改良を加えた派生の手法が用いられています。

メリット・デメリット

メリット

GANでは、以前より画像生成アルゴリズムとして用いられてきたVAE(変分オートエンコーダ)という技術よりも高画質の画像を生成することができます。

また、他の技術との親和性が高く、例えば自然言語処理の定番手法とも言えるword2vecと組み合わせると、「首輪をつけた猫-猫+犬→首輪をつけた犬」というように画像のラベルを用いて演算することができるようになります。

この例では、「首輪をつけた猫の画像」と「首輪をつけていない猫の画像」と「首輪をつけていない犬の画像」から「首輪をつけた犬の画像」が生成されます。サンプルの特徴を持ったデータを生成するという観点から、ディープラーニングのデータ不足を補う技術としても注目されています。

デメリット

GANの学習成果は主観的にしか評価することができません。つまり、GANによって生成された画像の精度は、それを人間が見て主観的に「本物らしい」と思う程度でしか評価できず、その類似度を正確に数値化することができないのです。このことは、異なるGANの間で性能を比較することを難しくしています。

GANは学習の不安定さというデメリットも抱えています。GANの学習では、しばしば入力された画像と極めて類似した画像ばかりを生成してしまう状態、通称「モード崩壊」に陥ることがあります。

また、DiscriminatorとGeneratorのどちらかが性能的に大きく優位に立ってしまうと学習が失敗するという弱点もあります。Generatorが優位になった場合、Discriminatorを簡単に欺くことができるようになり、低い生成クオリティのまま学習を終えてしまうのです。逆にDiscriminatorが優位になった場合は、GeneratorがDiscriminatorを欺く画像を生成できず、その段階で学習が止まってしまいます。

GANの応用例

GANの高い性能は画像生成のみにとどまらず、動画を生成する際にも発揮されています。近年では「ディープフェイク」と称される、人が写っている動画に別人の顔を違和感なく合成する技術が話題となり、また悪用例も多いことから物議を醸しています。ただ、現在では悪用が目立つGANも、ひとたび良い方向に用いられればよりよい社会を支える技術になるでしょう。その一つとして現在注目を集めているのが、「シンセティックデータ」です。

*シンセティックデータについて詳しく知りたい方は、↓の参考記事をご参照ください。