GAN (敵対性ネットワーク)について解説!製造現場での活用についても紹介!

GAN&画像処理
Ganzy
Ganzy

今回は、私たちのサイトの中核となる技術であるGANについて数式などは使わずわかりやすく解説していきたいと思います。非常におもしろい技術になっておりますのでぜひ見てください!

GAN の概要

GAN とは敵対性ネットワーク(Genera tive Adversarial Networks。以下、GAN)の略になっており、学習した画像からその特徴を用いて新たな画像を生成する技術になります。この技術によって非常にリアルな人の顔やアート作品など様々な画像の生成が行われております。またGANの技術を応用したAnoGANというモデルでは正常画像のみを用いて正常画像から逸脱している状態を異常として検出するような異常検知モデルなども提案されており、製造現場においても広く活用されている技術となっております。

想像に色彩を: AI アート ツール「GauGAN」で 50 万枚を超える画像が誕生! | NVIDIA
GauGAN を使って生み出された画像は、ベータ版の一般提供が NVIDIA AI Playground でわずか 1 か月前に開始されて以来、50 万枚を超えるまでになっています。
敵対的生成ネットワーク・GANを用いた異常検知とは?
今回は敵対的生成ネットワークGANの概要から、その特徴、GANの応用例について説明します。また、外観検査システムを導入することで効果的にGANを利用する事例について紹介し、品質管理や外観検査に対する効果を詳細に解説します。

GAN の学習方法

さて GAN ではどのように学習して画像を生成しているかについて紹介していきます

GAN の最大の特徴は敵対性という名前の通り2つのネットワークが競い合いながら精巧な画像を生成するように学習することが特徴になります。

まず学習画像としては生成したい画像を大量に用意をして学習を行います。学習画像の枚数は多ければ多いほど良いといわれており論文などで発表されているモデルは1万枚オーダーの場合が多いです。

つぎにでGANで使用されている2つのネットワークである「Generator」Discriminator]について紹介します。まず「Generator」とは画像生成の役割を担ってなっており、ある初期値に対して学習した結果を用いて画像生成を行います。つぎに「Discriminator」とは「Generator」によって生成された画像と学習で用いた画像を比較してどちらが本物の画像かを判別します。ここで「Generator」では 「Discriminator」 をだますような画像を生成するように学習し、「Discriminator」では画像を正しく判別できるように学習を行います。このように2つのネットワークが切磋琢磨しながらよりリアルな画像が生成されるように学習を行います。

さてGANの学習について犬の画像を例として説明すると、「Generator」では犬のような画像を生成を行い、「Discriminator」では「Generator」が生成した犬のような画像と本物の犬の画像を見比べてどちらが本物であるか判別を行います。そして判別の結果を受けGenereterではより本物の犬と似ている画像を、「Discriminator」ではより本物の犬の画像を判別ができるように学習を行うのです。この一連の流れにより「Generator」では最終的にリアルな犬の画像を生成できるようになります。

Ganzy
Ganzy

GANでは2つのネットワークを用いて切磋琢磨しながら精巧な画像を生成するところが最大の特徴になります!

GAN で実現できること

ここではGANでは、どのようなことができるのかについてまとめていきます。

①画像生成:学習した画像をもとに新たな画像を生成することができます。ただし学習画像に依存する傾向があるので、例えば学習画像が少数の場合は、学習画像がそのまま生成されることがもあるので注意が必要です。

②画像変換:CycleGanというGANの派生モデルを用いることで画像のモード変換を行うことが可能です。例えば現代アートをピカソの絵に変換するなど非常に面白い技術になってます

③異常検知:冒頭で説明したAnoGANというモデルを用いた手法になります・正常画像のみを用いて学習することが特徴で、正常画像しか収集できない製造現場では広く活用が期待されている技術になります。

Ganzy
Ganzy

GANの技術は画像生成だけでなく様々な分野で応用されてます!特にAnoGANという技術は汎用性が高いため自分の職場などで活用ができないか一度考えてみましょう!

実際に GAN で画像を生成してみた

ビル群の街並み画像を生成するモデルを作成したので最後に紹介します。

学習画像としてはネット上にころがっている様々なビル群の画像(800枚程度)を用いて学習を行いました。

学習初期段階ではぼんやりビル群の画像が出力されていることがわかりますが精巧な画像とは程遠い画像です。

次に学習の最終段階の出力画像を見てみると、ビル群が比較的精巧に再現されていることがわかります。このように学習を重ねることでより精巧な画像を生成できるようになります。

まとめ

  • GANは2つのネットワークを用いて学習を行う
  • 学習画像の特徴をもとに新たな画像を生成できる
  • 画像生成だけでなく、画像変換や異常検知などにも応用されている

GANなどのAIの正体について知りたい方は下記の記事をみてみてください!

コメント

タイトルとURLをコピーしました