用語集

生成逆数ネットワーク(GAN)

リアルな画像を生成し、データを強化し、ヘルスケアやゲームなどのイノベーションを推進することで、GANがどのようにAIに革命をもたらすかをご覧ください。

Ultralytics HUB で
を使ってYOLO モデルをシンプルにトレーニングする。

さらに詳しく

Generative Adversarial Networks(GAN)は、2014年にIan Goodfellowらによって初めて紹介された、機械学習(ML)フレームワークの強力なクラスである。GANはGenerative AI(生成的AI)の分野に属し、与えられた学習データセットに似た新しいデータを生成することに焦点を当てている。GANの中核となる考え方は、ジェネレーターとディスリミネーターという2つのニューラルネットワーク(NN)が競争的なゲームに参加することである。この敵対的なプロセスは、画像、音楽、テキストなどの非常に現実的な合成出力を生成するようにシステムを駆動する。

GANSの仕組み

GANアーキテクチャは、同時に学習される2つの主要コンポーネントで構成される:

  • ジェネレーター:このネットワークは、ランダムノイズ(多くの場合、ガウス分布からサンプリングされた乱数のベクトル)を入力として受け取り、それを実際のデータ分布を模倣したデータに変換しようとする。例えば、学習データセットの画像に似た猫の合成画像を生成する。その目的は、実際のデータと見分けがつかない出力を生成し、効果的に識別器を欺くことである。
  • 識別器:このネットワークは2値分類器として機能する。本物のデータサンプル(実際のデータセットから)と偽のデータサンプル(ジェネレーターによって作成された)の両方を受け取る。そのタスクは、各入力サンプルが本物か偽物かを判断することである。これは標準的な教師あり学習技術によって学習され、本物のサンプルと生成されたサンプルを正しく分類することを目指す。

敵対的なトレーニング・プロセス

GANのトレーニングは、ジェネレーターとディシミネーターが共に競争し、改善するダイナミックなプロセスである:

  1. ジェネレーターは合成データのバッチを生成する。
  2. 識別器は、実データとジェネレータの合成データの両方を含むバッチで学習され、それらの区別を学習する。バックプロパゲーションは、分類精度に基づいて重みを更新するために使用される。
  3. ジェネレーターは、識別器の出力に基づいて学習される。その目的は、識別器が誤って本物として分類したデータを生成することである。勾配は(一時的に固定された)識別器を通ってジェネレータの重みを更新するために戻る。

このサイクルは続き、理想的には、ジェネレーターがサンプルを本物か偽物かランダムに推測(50%の精度)することしかできないほど現実的なデータを生成する平衡に至る。この時点で、ジェネレーターはトレーニングセットの基本的なデータ分布を近似することを学習した。

主な用途

GANは様々な領域で大きな進歩を可能にしてきた:

  • 画像生成:人間の顔 NVIDIA Research社のStyleGAN)、動物、存在しない物体など、写実的な画像を作成する。これはアート、デザイン、エンターテイメントに応用できるが、ディープフェイクに関する倫理的な懸念も生じる。
  • 合成データの増強:実際のデータセットを補完するために、現実的な合成データを生成すること。これは、医療画像解析のように、実データが乏しかったり、プライバシーの制約があったりする分野で特に有用である。例えば、GANは、物体検出や セグメンテーションなどのタスクに使用される診断コンピュータビジョン(CV)モデルのロバスト性を向上させるために、稀な状態を示す合成X線画像を作成することができる。この拡張により、以下のようなモデルのトレーニングを強化することができる。 Ultralytics YOLO11.
  • 画像から画像への変換:画像をあるドメインから別のドメインに変換する(例えば、スケッチを写真に変換したり、風景の季節を変えたり、神経スタイルの転送を実行したりする)。
  • 超解像:低画質画像の解像度を高める。
  • テキストから画像への合成:テキスト記述に基づいて画像を生成する(拡散モデルのような新しいアーキテクチャに追い越されることが多いが)。

GANSと他のモデルの比較

GANを他のタイプのモデルと区別することは重要だ:

  • 識別モデル:ほとんどの標準的な分類・回帰モデル(画像分類や標準的な物体検出に使われるような)は識別的である。これらのモデルは、異なるクラスを分離する決定境界を学習したり、入力特徴に基づいて値を予測したりする。これとは対照的に、GANは生成的であり、データ自体の基礎となる確率分布を学習して新しいサンプルを作成する。
  • 拡散モデル: 拡散モデルは、最近注目されている生成モデルのもうひとつの強力なクラスであり、画像生成においてしばしば最先端の結果を達成している。拡散モデルは、データに徐々にノイズを加え、このプロセスを逆転させるように学習することで機能する。GANよりも忠実度の高い画像を生成し、安定した学習が可能な場合もあるが、推論時に計算量が多くなる可能性がある。

課題と前進

GANのトレーニングは、次のような問題により、なかなか難しい:

研究者たちは、安定性を向上させるためのワッサーシュタインGAN(WGAN)や、特定の属性(例えば、特定の桁の画像を生成する)を条件としてデータを生成できる条件付きGAN(cGAN)など、これらの課題に対処するために数多くのGANの亜種を開発してきた。フレームワーク PyTorchTensorFlowなどのフレームワークは、GANの実装と学習を容易にするツールやライブラリを提供しています。

すべて読む