ディープラーニングが生んだGAN(敵対的生成ネットワーク)の強みと活用事例

  • このエントリーをはてなブックマークに追加

AI(人工知能)の発展によって、これまでは想像もつかなかったエンターテイメントや、最新技術によるイノベーションの到来が始まっています。AIの運用方法にはさまざまなアプローチがありますが、中でも注目を集めているのが「GAN(敵対的生成ネットワーク)」の活用です。

GANの実現によってAIの精度は向上し、非常にクリエイティブな作業をコンピューターが独自に行えるようになりました。今回は、そんなGANの仕組みや実際に行われている活用方法について紹介します。

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

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

GANは「Generative Adversarial Network」の略称で、1つの目的に対して2つのネットワークを生成し、AIを活用するというアプローチです。

GANの概要

AI研究の歴史は長く、もとを辿ればコンピューターが誕生して間もないときから、すでに人工知能研究は進められていました。しかし、2010年代以降はディープラーニングの登場により、急速に人工知能の発展も進み、さまざまなアプローチで活用が進んでいます。

GANもそんな比較的新しい人工知能活用の取り組みの一種で、こちらは2014年に誕生した人工知能の活用方法です。2つのネットワークを同じ目標に従って競わせ、精度の高いアウトプットを実現するというユニークなアプローチは、現在のディープラーニング活用においてポピュラーな手法の一つとなっています。

応用可能な分野

GANは非常に幅広い分野で活躍しているため、さまざまな業界におけるAI活用を実現してきました。モノクロ写真への着色や、書きかけの絵を高いクオリティで仕上げたり、実在しない人物の写真を作り上げたりと、創造性の高い分野での活躍が期待されています。

現在は画像処理などのビジュアル部門での活躍が顕著なGANですが、研究とコンピューターの学習が進めば、自然言語処理や音声対応など、ビジュアルではない分野の活躍にも貢献してくれるでしょう。

GAN(敵対的生成ネットワーク)の仕組み

GAN(敵対的生成ネットワーク)の仕組み

GANは、2つのネットワークを用いた運用方法ですが、ここで活躍するのが「ニューラルネットワーク」です。

ニューラルネットワークは、ディープラーニング(深層学習)運用の根幹を成す技術の一つです。人間の神経回路を模した構造を持ち、複数の層を通じてデータをインプットすることで、データの深い理解を促すシステムです。

通常、ニューラルネットワークは1つのAIにつき1つの運用ですが、これを2つにして学習を進めるのが、GANの最大の特徴です。GANのネットワークをもう少し具体的に説明すると、生成ネットワーク(Generator)と識別ネットワーク(Discriminator)という、2つのネットワークに分けられます。

まず、生成ネットワークが与えられたデータに基づいて、本物のデータに近いと判断された生成物をアウトプットします。そして、識別ネットワークは生成ネットワークから提供されたデータを本物のデータと比較し、その精度を評価します。生成ネットワークは識別ネットワークを欺くことが目的なので、より精度の高いデータを目指して生成を繰り返します。

一方、識別ネットワークは生成ネットワークから提示されるデータの嘘を見抜くことが目的なので、より本物のデータと生成物の判別基準を強化し、抜け穴を小さくしていきます。

これら2つのネットワークが別個に強化されていくことで、結果的には非常に優れた精度のアウトプットが行われるということです。2つのネットワークには人間が介入する余地はなく、ゴールを設定してデータを読み込ませるだけで、半自動的にデータの生成を続けてくれます。

人間が指導せずとも一人でに精度を高めていく様子は、まさに未来の技術そのものと言えるでしょう。

GANと教師なし学習の違い

GANと教師なし学習の違い

GANが話題に上がると、紹介されることが多いのが「教師なし学習」についてです。これら2つは別個のものとして扱われることもありますが、厳密に言えばGANは教師なし学習を実現するアプローチの一つと言えます。

そのため、両者には違いがあると言うよりも、「教師なし学習を活用するGANという技術」といったように解釈する方が適切です。

教師なし学習の仕組み

そもそも、「教師なし学習」というのは、あらかじめ人間がコンピューターに対して答えを提示しなくとも、一人でに特徴を把握し、自律的に判断ができる学習アプローチのことを指します。ディープラーニングが重要視されているのは、教師なし学習のように高度な学習方法を実現したためです。

従来のコンピューターは、プログラミングによってあらかじめ人間がコンピューターにどんなアプローチで、どのような答えを出すかを定義づけておかなければなりませんでした。しかし、教師なし学習は、目的だけをコンピューターに伝え、データを与えるだけで適切な解を導けるようにしました。教師なし学習の実現によって、また一つ人工知能は人間の知性に近づいたと言えるでしょう。

教師あり学習と教師なし学習の違い

教師なし学習とは対照的に、「教師あり学習」という言葉も存在します。教師あり学習は、ディープラーニング以前の人工知能研究において主流とされてきたアプローチで、従来のコンピューティングの名残が強く残っている方法でもあります。

人工知能に与えるデータに正解・不正解のタグづけを行うことで、人間が意図するような学習プロセスを辿り、効率良く自律性を獲得することができます。ただ、教師あり学習ではAIのポテンシャルを十分に発揮できない上、学習に多大な時間を要することから、そのパフォーマンスには限界もあります。

教師あり学習の場合、判断の決め手となる特徴量は人間のさじ加減に委ねられてしまうため、人間を超えた判断能力をAIにもたらすには時間がかかります。また、データの読み込みには人間が手作業で正解・不正解のタグづけを行う必要があるため、必要以上に時間をかける必要があります。

その点、教師なし学習はデータをそのままAIに読み込ませるだけで学習は進められるため、大幅な効率化が望めます。また、人には判別のつかない特徴をAIが独自に導き出し、オリジナルのアルゴリズムで判断を下せるようになるので、人間よりも高い精度で物事を判断できるようにもなるのです。

GANの得意分野・不得意分野

GANの得意分野・不得意分野

優れた自律性と創造性を備えるGANですが、得意分野においては光るものがある一方、GANに任せるよりも、他の方法で取り組んだ方が良いと言える分野もあります。GANの得意分野と不得意分野を確認しておきましょう。

得意分野

GANが得意とする分野は、例えばデータの生成や増幅といった作業を得意としています。書きかけの絵を完成させたり、一枚絵から想像を膨らませて、より精度の高い写実的なイラストへと書き直したりなど、まるで人間が仕上げているかのようなクリエイティブを発揮してくれます。

これまで、人工知能はあくまでもコンピューターであるため、創造的な取り組みには向いていないとされてきました。しかし、GANをうまく活用することで、ときには人間以上の創造性を持ってタスクをこなすことも可能です。

実用的な使い方としては、低品質な画像や映像をGANに読み込ませることで、まるでフルHDで撮影し直したかのように品質を向上させるツールのようなものが挙げられます。

不得意な分野

一方、GANが不得意とする分野は、生成物の正確性を担保するものが存在しないという点です。

例えば、映像の解像度向上にGANを用いたAIツールを導入しているとします。映画やドラマにおいても、不鮮明な監視カメラの映像を、特殊な技術で高解像度にするシーンが散見されますが、GANの場合は必ずしも高解像度になった画像がオリジナルの画像とイコールになるとは限りません。

GANが行うのは、あくまでも与えられたデータから「正確性が高い」と考えられる創造物の生成です。人の顔が不鮮明な写真をGANで正確にわかるようになっても、その顔が本当に正しい顔なのかどうかということは誰にもわかりません。

また、モノクロ写真のフルカラー化においても同じことが言えます。100年以上前の白黒写真を鮮明なフルカラーに仕上げる技術はよく話題になりますが、本当にその色が正しいかどうかは、現場にいた人にしかわかりません。

GANはあくまでも与えられたデータから、答えになるだろうアウトプットを独自に生成しているに過ぎません。

GANの情報が間違っていたとしても、その責任を問うことができない点には注意しましょう。

GANの種類

GANの種類

GANにはいくつかのバリエーションがあり、それぞれのアプローチでできることは異なります。ここでは、代表的なGANの種類を紹介しておきます。

CycleGAN

CycleGANは、2つの画像の要素を入れ替え、新しい画像を生成できるというものです。りんごの画像にみかんの画像データを加え、みかん色のりんごへと書き換えたり、栗毛の馬をシマウマ模様にして、まるでシマウマが競馬場で走っているような画像へ書き換えたりなど、豊かな写真を生成することができます。

DCGAN

DCGANは、畳み込みニューラルネットワーク(CNN)を活用し、優れた画像生成を可能にする技術です。通常のGANよりも深いレベルでの学習を実現したことで、実在しない空間の生成などを、あたかも本物のように仕上げることができます。

StyleGAN

StyleGANは、学習したデータを参照しながら、実際には存在しない絵画や人物を生成できるアプローチです。あまりにも精巧に人物の写真や絵画などを仕上げられるため、写真の信憑性を疑わせるほどのポテンシャルを秘めています。

これらはGANから派生したテクノロジーの一種で、他にもさまざまなGANが世界で研究されています。今後も用途に合わせたGANが出現し、高いオリジナリティを発揮してくれるでしょう。

GANにより実現できること

GANにより実現できること

これらの技術を活用することで、GANを使って多くのアクティビティをこなせるようになるでしょう。エンターテイメントはもちろんのこと、ビジネス用途としても運用の幅は広く、今後の活躍から目が離せないところです。

高い精度の着色

前述のように、GANを使えば白黒写真の着色を、非常に高いレベルで行うことができます。ただ色をベタ塗りするだけではなく、陰影やコントラストも高いレベルで再現するため、フルカラーで当時の様子を捉えたかのように錯覚するほどです。

写真以外にも、GANはお手製のイラストにも着色を行えます。どれだけ汚く絵を書いても、それが何を意味しているのかを独自に解釈し、求められているであろう答えを推測しながら美しく仕上げてくれます。

イラストレーターや漫画家がアシスタントに背景やキャラクターの着色を行わせるというのは伝統的な職場風景ですが、GANが普及すれば、アシスタントがわりにAIを導入するケースも増えてくるでしょう。GANはオリジナルの作者やイラストの雰囲気をディープラーニングで学ぶことが可能なので、質の高い描画も可能です。

優れた合成写真・映像の作成

GANによる合成写真の作成レベルは、もはや人間のそれを超えるクオリティにまで到達しています。これまで、合成写真を作成する場合はPhotoshopなどの編集ソフトを扱える必要があり、高い技術を要する専門的なスキルを要してきました。

しかし、GANの場合、写真を読み込ませて指示を送るだけで目当ての画像を生成できるため、特別なスキルは必要ありません。また、この合成能力は映像にも使えるため、映像プロダクションの世界にも多大な影響を与えると推測されます。

出演予定の俳優が怪我をした場合など、彼らを後撮りで撮影することにより、丁寧にオリジナルの映像へ組み込むといった編集も容易に行えるでしょう。合成作業もわずかな時間で行えるため、従来のように何日もかけて丁寧に仕上げるという必要もなくなるはずです。

実在しない人物の画像生成

GANの登場によって、実際には存在しない人物の画像や、3DCGの生成も容易に行えるようになりました。映画やゲームの世界には多くのキャラクターが登場しますが、GANによって登場人物をランダムに、あるいはリクエストに合わせて生成できるようになれば、安価な人件費で作品を制作することも可能になるでしょう。

一方、実在しない人物の写真を何枚でも作れるようになったことで、写真を不用意に信用できない時代になったとも言えます。写実性の高いフィクションが手軽に実現することで、新しい倫理についての議論も深まることが予想されます。

合成音声の作成

基本的には画像や映像の生成に強いGANですが、本来はどんなデータにも対応できるクリエイティブを発揮する技術です。十分な量のデータが集まれば、好きなように音声を生成し、アフレコやナレーションに応用できるよう人もなるでしょう。

近い将来、GANで生成したキャラクターに、GANで生成したボイスを当てはめて、映画の中で活躍するケースも現れるかもしれません。

GANの活用事例

GANの活用事例

最後に、実際のGANの活用事例についても目を向けてみましょう。

事例①:富士通による金融向けの説明生成

富士通が試験的に開発しているのが、金融サービス向けの説明文章の自動生成です。GANを用いて融資拒否の説明文章をただ作成するだけでなく、ユーザーにとってわかりやすく、納得のいく文章生成を目指したプロジェクトです。

条件設定やこれまでの融資拒否のデータを読み込ませることで、さまざまな理由に最適化された、多様な説明文章の作成に成功しました。納得感のある文章を生成できることで、必要以上の問い合わせを避け、カスタマーサポート対応の業務効率化につながることが期待されます。

参考:富士通「敵対的生成ネットワークを用いた,ユーザーに分かりやすい融資拒否の説明の生成」

事例②:NVIDIAのGameGAN

GPU開発が盛んなNVIDIAでは、往年の名作「パックマン」を独自のシステム「GameGAN」を用いて再現し、ゲームエンジンを構築せずに自動生成することに成功しました。通常、ゲーム開発にはその媒体となるゲームエンジンが必要になりますが、NVIDIAでは独自にGANを活用し、パックマンのゲームを読み込ませることで実現しました。

一本のゲームを丸ごとAIで開発できた例は他になく、大きなAI活用の進歩を表すニュースとして話題になりました。

参考:NVIDIA「誕生 40 周年を迎えるパックマンを、NVIDIA の研究者たちが AI で再現」

事例③:軽量に画像生成を行える三菱電機のAI

GANの運用は魅力的な可能性をもたらしてくれますが、ネックとなっているのが運用に伴う負荷の大きさです。GANは革新的な技術なだけに、まだまだ運用負荷は大きく、生半可なコンピューターでは満足なパフォーマンスを発揮できません。

このような事態を解消するため、三菱電機が新たに開発したのが演算量を最大90%減少できるGANです。データ生成に寄与しない隠れ層を間引くことで生成ネットワークのモデル構造を軽量化し、画像生成に必要な演算量とメモリ量を約10分の1に削減することに成功しました。

参考:Monoist「演算量を90%減、エッジで画像生成・認識できるAIを三菱電機が開発」

まとめ

GANは写真や映像、テキストや音声に至るまで、あらゆるアウトプットのクリエイティブな自動生成を実現する、未来のAI活用を担う技術です。それぞれのパフォーマンスに合わせて現在もさまざまなバリエーションが生み出されており、より高度なAI活用を後押ししてくれています。

そして、実践的な運用も想定し、GANの軽量化を実現する技術開発も進んでいます。

当社の「M:CPP」では、少しでもGANの運用負担を軽くするため、ハイエンドなGPUをクラウド経由で活用できるサービスを展開しています。既存の運用環境では負荷が大きいという場合でも、M:CPPでは最大で運用負担を半分程度にまで抑えることができます。

MCPP

さらなるGPU活用を検討している場合にはお気軽にご相談ください。

  • このエントリーをはてなブックマークに追加