探索生成对抗网络(GANs)如何创建逼真的合成数据。学习如何使用GAN增强数据集训练Ultralytics YOLO26,以应用于视觉AI。
生成对抗网络 (GANs) 是人工智能 (AI)领域内的一个复杂框架,旨在生成与您的训练数据相似的新数据实例。GANs 由 Ian Goodfellow 及其同事在 2014 年的一篇开创性论文中提出,遵循两个不同神经网络之间独特的竞争原理。这种架构已成为现代生成式 AI的基石,使得创建逼真图像、视频增强以及为复杂机器学习任务合成多样化训练数据集成为可能。
GAN 的核心机制涉及两个模型在一个零和博弈中同时训练,通常用“造假者与侦探”的类比来描述。
在训练过程中,生成器最小化判别器做出正确分类的概率,而判别器最大化相同的概率。这种对抗性循环持续进行,直到系统达到纳什均衡,即生成器生成的数据非常逼真,以至于判别器无法再将其与真实世界的示例区分开来。
GANs 已超越学术理论,解决了各行各业的实际问题,特别是在计算机视觉领域。
虽然两者都是生成技术,但区分GANs和扩散模型(如Stable Diffusion中使用的模型)非常重要。
GANs 的一个强大用例是生成合成数据集,用于训练像YOLO26这样的目标检测模型。如果您缺乏特定缺陷或物体的足够真实世界图像,GAN 可以生成数千种带标签的变体。然后,您可以使用Ultralytics Platform管理这些数据集并训练您的模型。
以下示例演示了如何加载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()
尽管它们功能强大,训练 GANs 需要仔细的超参数调优。如果判别器学习过快,无法向生成器提供有意义的反馈,可能会出现像梯度消失这样的问题。此外,随着 GANs 越来越擅长创建深度伪造,业界越来越关注AI 伦理并开发检测 AI 生成内容的方法。

开启您的机器学习未来之旅