■人工知能

人工知能の作り方【GAN-敵対的生成ネットワークとは】

■人工知能

 こんにちは黒部です。
人工知能の作り方として、今話題のアルゴリズムであるGAN(敵対的生ネットワーク)について現役機械設計エンジニアの僕がかいつまんで解説します。

本記事の目標とレベル

目標 :GANの概要を理解する
レベル:★☆☆☆☆

人工知能の作り方【GAN-敵対的生成ネットワークとは】

まずは以下の動画を見てください。

これは京都大学発の人工知能ベンチャー「データグリッド」が、GANという技術を用いて自動生成した架空のアイドルです。

出典:株式会社データグリッド HP:https://datagrid.co.jp/news0.html

さらにこちらはNVIDIAのpg-GANが生成した実在しないセレブ達です。

出典:NVIDIA https://github.com/tkarras/progressive_growing_of_gans

GANとはGenerative Adversarial Networkの略称で、今まで人工知能の能力として認知されていた「データ予測」「分類」だけでなく、存在しないデータの「生成」を行った革新的な技術です。

従来コンピュータが持たないとされてきた創造能力に最も近く、多くの産業分野で注目を集めている技術です。

GANが偽物を生成する仕組みはこうです。

偽物の顔を生成する人工知能(生成器)と、セレブの顔を大量に学習した人工知能(識別器)の二つを用意します。

生成器ははじめ、顔ともいえない適当な画像データを生成し、識別器に偽物と見破られます。

偽物と見破られたら、生成器はその画像にランダムなノイズデータを加えます。

そうすると先ほどと少し違う画像データが出来上がります。そしてまた識別器にセレブの顔でない偽物だと見破られます。

これを繰り返していくと、次第に生成器はセレブの顔ではない画像を学習していくので、学習量が増えていくにしたがって逆にセレブの顔らしい画像を生成できるようになります。

そうして最後には巧妙な偽物のセレブの顔画像を生成できるようになり、識別器はその偽物を見破れなくなります。

この人工知能同士の競い合いがGANの基本的アルゴリズムで、存在しないデータを生成できるようになる仕組みです。

GANでできること

GANのアルゴリズムを用いることであらゆるデータ生成が可能になります。

先程の架空の人物画像を生成することの他に、例えばデータ属性の演算といって、複数の画像の足し引きで新たなデータを生成することができます。

「ハットを被った男性」から「ハット無しの男性」を引いて「ハット無しの女性」を足したら「ハットを被った女性」になる、なんていう少しややこしいですが面白い処理ができます。

さらには自然言語処理アルゴリズムと組み合わせることで、文章データから画像を生成することができます。例えば馬の色や模様を文章で指定するとそれにそった画像を生成することが可能です。

このように、GANによって人工知能の可能性が大幅に広がりました。

人工知能について詳しく知ることで、将来の仕事の変革を予測することができるようになりますので、AI開発者でなくとも概論だけでも知っておくといいと思います。