GANが、現実的な画像を生成し、データを強化し、ヘルスケア、ゲームなどのイノベーションを推進することで、AIにどのような革命をもたらすかを発見してください。
生成的敵対ネットワーク(GAN)は、 人工知能(AI)分野における高度なフレームワークであり、 学習データに類似した新たなデータインスタンスを生成するよう設計されている。 2014年にイアン・グッドフェローらによる画期的な論文で提唱されたGANは、 二つの異なるニューラルネットワーク間の競争という独自の原理で動作する。 このアーキテクチャは現代の生成AIの礎となり、 写真のようにリアルな画像の生成、動画の品質向上、 複雑な機械学習タスク向けの多様な訓練データセットの合成を可能にしている。
GANの中核メカニズムは、ゼロサムゲームにおいて同時に訓練される二つのモデルから成り、偽造者と探偵の比喩で説明されることが多い。
訓練過程において、生成器は判別器が正しい分類を行う確率を最小化する一方、判別器はその確率を最大化する。この敵対的ループは、システムがナッシュ均衡状態に達するまで継続する。この状態では、生成器が生成するデータが極めて現実的となり、判別器が現実世界の例と区別できなくなる。
GANは学術理論の域を超え、様々な産業分野、特にコンピュータビジョンにおいて実用的な問題解決を実現している。
両者とも生成技術ではあるものの、GANと Stable Diffusionなどで用いられる拡散モデルを 区別することが重要である。
GANの強力な活用例として、YOLO26などの物体検出モデルを訓練するための合成データセット生成が挙げられます。特定の欠陥や物体に関する実世界の画像が不足している場合、GANは数千ものラベル付きバリエーションを生成できます。その後、Ultralytics を使用してこれらのデータセットを管理し、モデルを訓練することが可能です。
以下の例は、YOLO26モデルをデータセットで訓練するために読み込む方法を示しています。このデータセットには、性能向上のためにGANで生成された合成画像をシームレスに含めることが可能です:
from ultralytics import YOLO
# Load the YOLO26 model (Latest stable Ultralytics model)
model = YOLO("yolo26n.pt")
# Train the model on a dataset configuration file
# The dataset path defined in 'coco8.yaml' can contain both real and GAN-generated images
results = model.train(data="coco8.yaml", epochs=5, imgsz=640)
# Verify the model performance on validation data
metrics = model.val()
GANの能力にもかかわらず、その訓練には慎重なハイパーパラメータ調整が必要である。判別器が学習しすぎて生成器に意味のあるフィードバックを提供しない場合、勾配消失問題などの課題が発生する可能性がある。さらに、GANがディープフェイクを生成する能力を高めるにつれ、業界はAI倫理と detect 手法の開発にますます注力している。