国立天文台ニュースをより深める天文学ガイド

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

GANのAI方法を示す想像図です。GeminiのAIで生成されました。(Credit: NAOJ)

敵対的生成ネットワーク(GAN[ガン];Generative Adversarial Network)は、本物そっくりの画像、つまり本物の画像に存在する特徴をうまく捉えた偽物の画像を作る機械学習の方法です。ここでは、GANについて解説します。

一般に、機械学習モデル(AI)は、入力データから何かを出力する関数とみなすことができます。画像を扱う機械学習モデルとして簡単なものは、画像の判別や分類を行うモデルです。例えば、与えられた画像を見て、その画像に写っているものが犬かどうかを判別するモデルであれば、入力データは「画像」であり、出力データは「犬かどうか(yes / no)」になります。

GANは、画像を生成する仕組みを持った機械学習の方法の一つで、例えば犬の画像を作り出すことができます。GANの中では、実際に画像を生成する役割を担うのは後で説明するGenerator(ジェネレーター)です。犬の画像を生成する場合、GANではランダムノイズ(数値がランダムに並んだデータ)から出発し、計算によって最終的に画像が作られます。イメージとしては、最初はQRコードのような白黒のピクセルがランダムに並んだような状態から出発し、最終的に「犬の画像」が出力されると考えてください。(本文で紹介されたGANの場合は、ランダムノイズから出発して、最終的に宇宙のどこかの方向を観測したときの画像が出力されると思っていただければよいでしょう。)

次に、GANはどのように欲しい画像を作るのかについて、「犬の画像」を作るモデルを例にとって説明します。

GANの最大の特徴は、2つの機械学習モデルを同時に使う点にあります。その2つとは、画像を作る役割を持つGenerator(ジェネレーター)と、画像を見分ける役割を持つDiscriminator(ディスクリミネーター)です。解説のため、以下ではGeneratorを「犬の画像を作る人」、Discriminatorを「画像を判定する人」と表現します。

「画像を作る人」は、先ほど述べたランダムノイズの画像を入力として受け取り、それを少しずつ変形しながら「本物らしい犬の画像」を作ろうとします。しかし、学習の初期段階では、生成される画像はとても不自然で、犬には見えないものです。

一方、「画像を判定する人」は、入力された画像が本物の犬の画像なのか、偽物の犬の画像なのかを判定します。本物の画像(例えば図鑑から取ってきた犬の画像)と、「画像を作る人」が作った偽物の犬の画像の両方を入力として受け取り、「これは本物か、それとも偽物か」を判断します。

GANの学習では、「画像を作る人」と「画像を判定する人」を交互に訓練します。まず「画像を判定する人」は、本物と偽物をより正確に見分けられるように学習します。次に「画像を作る人」は、「画像を判定する人に本物だと思わせる」ように画像の作り方を改良します。つまり「画像を作る人」は、「画像を判定する人」の判断結果を手がかりにして、自分の出力を少しずつ修正していくのです。

このような、作る側と見抜く側の競争を何度も繰り返すことで、「画像を判定する人」は本物の画像に共通する特徴をうまく捉えられるようになります。その結果、「画像を作る人」は人間が見ても本物と区別がつかないほど自然な画像を作れるようになるのです。そして、ユーザーは最終的には、訓練を終えた「画像を作る人」のモデルを用いて、犬の画像を欲しいだけ大量に作ることができるようになるわけです。

本文でも登場したように、観測が限られる天文学のデータ解析などでも、GANは重要な役割を果たしています。

公開日:2026年2月12日

一覧を見る

このページをシェアする