ここ最近ではAI(人工知能)の画像生成の幅は大きく広がりましたよね。例えば、写真のシマウマの模様を別のものにしてみたり、存在しない写真を一から作り出すことも簡単にできるようになっています。
実はこの画像生成技術の進歩にはGAN(敵対的生成ネットワーク)という手法が関係しているのです。(ただし、実際に使われているGAN(敵対的生成ネットワーク)はオリジナルのものではなく、それを応用した技術が主流となっています。)
そこで今回はこのGAN(敵対的生成ネットワーク)の基本から画像生成がどのようになされているのか。また、このGAN(敵対的生成ネットワーク)という手法にどのような課題点、もしくは利用する際に気を付けるべき点があるのかをみなさんにわかりやすくお話していきましょう。
さらに、最後にはこのGAN(敵対的生成ネットワーク)が今後どのように利用されていき、私たちの生活にどのような影響を与えていくのかをお伝えしていきます。
GAN(敵対的生成ネットワーク)とは
まずは簡単にGAN(敵対的生成ネットワーク)という手法について説明していきましょう。
こちらはAI(人工知能)の研究者であるイアン・J・グッドフェロー氏によって考案されたニューラルネットワーク(人間の神経細胞のネットワークを模したもの)のモデルであり、正確にはGAN「Generative adversarial network」と呼ばれています。
仕組みとしては以下の2つの異なるニューラルネットワークを繋ぎ、それらが敵対することで精巧な画像生成を行うというもの。
- 画像を生成する「Generator」
- 画像を判別する「Discriminator」
お分かりのように構図としては偽物を作る偽造犯と、それを取り締まる警察官がイタチごっこを繰り広げ、最後は偽造犯が勝利を収めるというシステムになっています。現実では起こってほしくないことですが、このGAN(敵対的生成ネットワーク)という手法を用いれば人間でなく、機械が精巧な画像生成を行えるようになるです。
それでは、このGAN(敵対的生成ネットワーク)によって、どのようなことができるようになったのかを以下で説明して行きます。
GANによって、できるようになったこと
このGAN(敵対的生成ネットワーク)という手法が生まれたことで以下のようなことができるようになりました。
- データからさまざまな画像を生成
- 元の画像を加工することもできる
- 文字から画像を生成することもできる
- 教師あり学習がしやすくなった
以上のようにGANによって画像生成の幅は大きく広がっており、創作やビジネスなどの面で活用が期待されているのです。なお、このGAN(敵対的生成ネットワーク)はそれだけでなく、AI(人工知能)の学習にも活用されています。
しかし、その際には必要な対象のデータをどのように用意するのかが問題となってくるのです。
そのため、その難病を見分けるようなAI(人工知能)を製作しようとしても、データの関係でつまずくことがあり得ました。
したがって、現在ではこのGAN(敵対的生成ネットワーク)という手法でAI(人工知能)開発は加速しています。教師あり学習と教師無し学習というタイプの異なる学習方法が協力して、新しい製品やサービスなどが生まれていくと考えると、このGAN(敵対的生成ネットワーク)は非常に革新的であるといえるでしょう。
次の章ではそんな革新的な手法であるGAN(敵対的生成ネットワーク)の画像生成の仕組みについて説明していきます。
GANはどのように画像生成を行うのか
これまで説明したようにGAN(敵対的生成ネットワーク)は画像を生成する「Generator」と画像を判別する「Discriminator」を繋ぎ、それらが競い合うことで精度の高い画像生成を可能としています。こちらの基本的な仕組みは「1:GAN(敵対的生成ネットワーク)とは」の通りです。
ですがそもそもどうやって画像生成を行っているのか疑問ですよね。実はこの画像生成を行う仕組みにはGeneratorが主体的な役割を果たしているのです。
ここではこのGAN(敵対的生成ネットワーク)がどのように画像生成を行うのかを、その根幹であるGeneratorの仕組みで説明していきましょう。
GAN(敵対的生成ネットワーク)のGeneratorは以下のようなものです。
- ニューラルネットワークである
- 行っているのは逆畳み込み処理
ちなみにこの畳み込み処理は画像を判別するDiscriminatorで用いられており、これで偽物か本物なのかを見分けています。一方でGeneratorの逆畳み込み処理では上の説明の逆、数値から画像を作り出していくのです。
そうしていくとただの数値であったものから画像が生成できるようになります。もちろん、このGeneratorは最初から特徴を理解していないのでちゃんとした画像生成はできません。そのため、しっかりと生成できるまで学習を重ねていく必要があります。
これがGAN(敵対的生成ネットワーク)という手法における画像生成の根幹であるGeneratorの仕組みです。
それにしても学習を重ねることで乱数などから画像が生成できるというのはすごいですよね。しかも幅広い対象で画像生成ができるのは今後の将来性にも期待できます。
ただし、このGAN(敵対的生成ネットワーク)は決して欠点のない手法ではありません。したがって、以下ではGANの課題点についてお伝えしていきましょう。
GANの課題点
非常に革新的な手法であるGAN(敵対的生成ネットワーク)ですが、以下の欠点もあります。
- 勾配消失などの問題
- ノイズ選定の問題
これらがGAN(敵対的生成ネットワーク)の抱える課題点です。やはり革新的な手法といっても今だ発展途上であることは間違いないでしょう。
ですが上手く使えば有用な手法なのは間違いないです。以下ではこれまでの内容を踏まえてGAN(敵対的生成ネットワーク)を使うに当たって、気を付けるべき点を説明していきます。
GANを使うに当たって、気を付けるべき
これまでの説明でGAN(敵対的生成ネットワーク)に興味が出てきたのなら、ぜひみなさんの手で実装してみてください。ただし、その際には以下の点に注意しましょう。
- 生成された画像に偏りがないか
- 正解のデータに近い画像が生まれているのか
これらは上でも説明した勾配消失などの問題が発生した際に起こる典型的なものです。
例えば、0〜9の数字の画像を生成するはずだったのに、なぜか3と7しか生成されていないようにみえる。また、生成した画像の中に明らかに正解と程遠い画像がある。これらのような場合が当てはまるでしょう。
そして、もしこれらが起こっているのなら適切な対応を取りましょう。こちらに関しては具体的な方法については割愛しますが、その中には別のアプローチや応用したGAN(敵対的生成ネットワーク)を使う方法もあ。
もちろん、それらを理解することは容易ではありませんが、少しずつ勉強しながら取り組んでみてください。そうすればみなさんもGAN(敵対的生成ネットワーク)を上手く理解し、活用できるようになれるでしょう。
これまでGAN(敵対的生成ネットワーク)に関する以下の点を説明してきました。
- GAN(敵対的生成ネットワーク)は画像を生成する「Generator」と画像を判別する「Discriminator」で構成される
- さまざまな画像生成ができるようになり多くの分野で活用が期待されている
- 画像はGeneratorが逆畳み込み処理を行って生成している
- 解決されていない勾配消失などの問題がある
- 生成された画像はよく確認して問題があれば適切に対処する必要がある
しかしながら、このGAN(敵対的生成ネットワーク)という手法は画像生成だけでなく、動画の作成やセンサーとしても使われようとしています。
中でも前者に関しては「DeepFake」と呼ばれるものが有名です。こちらはGAN(敵対的生成ネットワーク)を使って動画の加工を行うものであり、リアルタイムの動画でも本人の顔を別人に変えられるもの。
最近ではオバマ前大統領がめちゃくちゃなことをいっている動画などが注目を浴びました。こちらに関しては悪用される危険性がある一方で、コロナウイルスの影響で動画撮影ができない現状を解決する方法として実用化している企業も出てきています。
あくまでもこれは動画作成におけるGAN(敵対的生成ネットワーク)の一例ですが、今後よりAI(人工知能)が普及していく限り、間違いなく画像以外の分野でも活躍していくでしょう。そうなれば将来は私たちが目にするものやサービスには、GAN(敵対的生成ネットワーク)が当たり前の存在として利用されているかもしれません。
したがって、このGAN(敵対的生成ネットワーク)という手法によって今よりも明るい未来が生まれることを願い、これからどう進歩していくのかをみなさんも注目していきたいですよね。