最終更新日:
GAN(敵対的生成ネットワーク)とは|構造や種類、活用事例をわかりやすく解説
近年注目を集めているGAN(敵対的生成ネットワーク)は、Generative Adversarial Networkの略語で、AIアルゴリズムの一種です。
本記事では、GANや生成モデルとは何か、そしてGANを活用してできることやGANを学習する方法など、GANについて概括的に解説していきます。
1. GANとは
GANとは、用意されたデータから特徴を学習し、擬似的なデータを生成することができる生成モデルです。GANは、Goodfellowらによって2014年に発表されました。
図1は、実際にGANが生成した画像を示しています。黄色の枠で囲われたのが事前に用意された訓練データであり、そのほかがGANの生成した偽物の画像たちです。こういった擬似的なデータを作り出すことを「生成」と言い、それを実現するモデルのことを「生成モデル」と呼びます。
図1. GAN の生成する画像
(引用元: http://papers.nips.cc/paper/5423-generative-adversarial-nets.pdf)
2. 生成モデルとは
確率の考え方を用いた機械学習のモデルは、大きくは「識別モデル」と「生成モデル」の2つに分類されます。例えば、画像分類のタスクをニューラルネットで行う場合、入力画像とクラスの対応関係を学習させます。このときに、ニューラルネットは、与えられた入力画像に対して「どのくらいの確率でクラスAに当てはまるか?」という値を返します。このように、識別の部分のみに確率の考え方が導入されたモデルのことを「識別モデル」と呼びます。
これに対して「生成モデル」では、入力画像も確率変数として扱います。すなわち、「ある確率分布から生成された入力画像に対して、それがどのくらいの確率でクラスAに当てはまるか?」ということを考えます。このときに、入力画像が従う確率分布をうまく求めることができれば、その確率分布を用いて擬似的に入力画像に相当する画像を生成することができるというわけです。
図2. 生成モデルと識別モデル
3. GANの構造とGANの学習
GANの具体的な構造について見ていきます(図3)。GANはGeneratorとDiscriminatorという2 つのブロックで構成されています。いずれのブロックもニューラルネットワークが用いられているため、誤差逆伝播法による学習が可能です。
A. Generator
Generator部分は「何らかの数値を(基本は乱数)を入力として受け取り、その数値に基づいて新しいデータを出力」します。図2の生成モデルでいうところの「確率分布」→「入力」がGeneratorの部分に対応します。
一般に、入力として受け取る数値には、正規分布などの確率分布に従う乱数が用いられます。
B. Discriminator
Discriminator部分は「入力されたデータがGeneratorの生成した偽物か、あるいは訓練データとして用意された本物か」を判別します。図2の生成モデルでいうところの「識別」が、このDiscriminatorに対応します。
Generator部分とDiscriminator部分の関係を図3に示します。図3の「クラス」は、「本物か、偽物か」の2クラスです。
図3. 生成モデルと識別モデル
C. GANの学習
GANの学習では、Generatorは「Discriminatorを騙せるような精巧な偽物を作ることができる」ように、Discriminatorは「用意された本物とGeneratorが作り出した偽物を区別できる」ように学習していきます。GeneratorとDiscriminatorの関係が敵対的であることから、Generative Adversarial Network「敵対的生成ネットワーク」という名がつけられました。GeneratorとDiscriminatorはそれぞれの目的に従って交互に最適化されます。最終的に、Generatorが生成する偽物が、本物と区別できないようなデータになっていればGANの学習は成功といえます。
4. GANの活用方法
2014年にGoodfellowらがGANを発表して以来、世界中の様々な研究者がGANの派生系を考案しました。そのGANの派生系は、数百以上あると言われています。 GANの派生系ができることの例を以下に示します。
画質の高い画像を生成する
低画質の画像を入力として受け取り、その画像を高画質にした画像を出力することができます。
テキストから画像を生成する
テキストを入力として受け取り、そのテキストに基づく画像を生成することができます。この技術は、脚本からアニメーションを制作する場面など、さまざまな場面への活用が期待されています。
画像をスタイル変換する
簡単な線画を入力として受け取り、その線画をアニメーション作家が描いた絵のように変換し出力することができます。
画像とテキストを合成する
画像とテキストを入力として受け取り、それらを合成して新たな画像を生成し出力することができます。
この他にも、
- 動画生成
- 画像の欠損補完
- 画像のモザイク除去
- 音声生成
- 異常検知
- 2D画像の3D化
5. GANの発展と種類
GANは、先述したとおり、Goodfellowらを始めとする研究者たちが2つのニューラルネットワークを競い合わせながら学習させるという方法を2014年に論文で発表したことがはじまりです。
この新しい学習方法が提案されて以降、GANは多くの研究者の研究対象となりました。GANの派生系は、前述した通り、数百以上あると言われております。
2015年には、畳み込み層を取り入れた 「DCGAN(Deep Convolutional GAN)」が発表され、これまでの生成モデルよりも鮮明で、リアリティのある画像を生成ができるようになりました。
2017年には、「CycleGAN」が発表されました。CycleGANは、画像のスタイルを相互変換することができるモデルです。例えば、馬の画像をシマウマの画像へ変換することと、シマウマの画像を馬の画像に変換することを、1つのモデルで実現できます。
図4. CycleGAN による画像変換
(参考文献[2]より引用)
2018年には、「StyleGAN」が発表されました。StyleGANは、高解像度かつ高品質な画像を生成できるモデルです。図5の画像は、すべて存在しない人物の顔写真であり、StyleGANによって生み出されたものです。
StyleGANとは|近年最も注目を集める画像生成モデル
図5:StyleGAN による生成画像
(参考文献[3]より引用)
6. GANの活用事例
GANを実際に活用されている企業やサービスは多数あります。ここからは、GANの活用事例を2つ紹介します。
アクションゲーム「パックマン」
大手GPUメーカーのNVIDIAは2020年、ナムコの生誕40周年を記念して、GANを使ってパックマンを完全再現したことを発表しました。この完全再現には、GameGANと命名された技術が使われました。
NVIDIA GameGAN: Celebrating 40 Years of PAC-MAN with Game-Changing AI
NVIDIAのGameGANは、基本となるゲームエンジンなしで、完全に機能するパックマンを生成することができます。GameGANは、学習を通して動かない背景と動くキャラクターを区別することができます。ゲームの完全再現に成功すると、背景を他のものに差し替えて新たなゲームステージを生成することも可能です。この技術を使えば、今後コーディングすることなく新規ゲームステージを生成することが可能となるため、ゲーム業界で大きなニュースとなりました。
Mad Street Den のファッション AI
Mad Street Den Incが開発するAI「Vue,ai」は、AIを活用した小売業向けの総合ソリューションプラットフォームです。Mad Street Den Incは、2013年創業のAI開発企業であり、米国の他にインドやイギリスにも拠点をもっています。「Vue,ai」では、ファッションモデルに洋服やアクセサリーを試着させた画像を生成できます。
GANは、大きな可能性を秘めた生成モデルであり、今後もさまざまな分野での活用が期待されています。
7. GAN関連講座のご案内
本記事では、GANの概要を解説しました。スキルアップAIのディープラーニング講座では、具体的なGANの定式化やTensorFlowを用いた学習などを学ぶことができます。
また、GAN(敵対的生成ネットワーク)講座を開講中です。この講座では、様々なGANの派生形について体系的に学ぶことができます。StyleGANを題材とした最新の技術動向からビジネスへの応用方法までをハンズオンを通して学ぶため、「どのGANを使えば良いか分からない」という問題を解決することが可能です。講座の一部を視聴できる無料トライアルもございますので、是非ご検討ください。
スキルアップAIでは、毎週水曜日に実践的AI勉強会「スキルアップAIキャンプ」を開催しています。勉強会では、様々な実践的テーマを取り上げ、データ分析・AI開発の実務力アップにつながるヒントをご提供します。講師が参加者の皆さんからの質問や悩みに答えるコーナーもあります。
興味がある方はぜひ参加してみてください!
8. 参考文献
- [1] I. Goodfellow et al., “Generative adversarial nets,” in Proc. Int. Conf. Neural Inf. Process. Syst., 2014, pp. 2672–2680.
- [2] Jun-Yan Zhu et al. “Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks”
- [3] T. Karras et al. “A Style Based Generator Architecture for Generative Adversarial Networks” CVPR 2019 final version
【監修】スキルアップAI 取締役CTO 小縣信也
AI指導実績は国内トップクラス。「太陽光発電発電量予測および異常検知」など、多数のAI開発案件を手掛けている。日本ディープラーニング協会主催2018E資格試験 優秀賞受賞、2019#1E資格試験優秀賞受賞。著書「徹底攻略ディープラーニングE資格エンジニア問題集」(インプレス)。
配信を希望される方はこちら
また、SNSでも様々なコンテンツをお届けしています。興味を持った方は是非チェックしてください♪
公開日: