Yolo 비전 선전
선전
지금 참여하기
용어집

생성적 적대 신경망 (GAN)

GAN이 현실적인 이미지를 생성하고, 데이터를 향상시키며, 의료, 게임 등에서 혁신을 주도함으로써 AI를 어떻게 혁신하는지 알아보세요.

생성적 적대적 네트워크(GAN)는 인공지능(AI)을 사용하여 인공 지능(AI)의 정교한 프레임워크로 원본 데이터 세트와 유사한 새로운 데이터 인스턴스를 생성하는 데 사용됩니다. 이안 굿펠로우와 연구원들이 2014년에 발표한 중요한 논문에서 중요한 2014년 논문에서 소개된 GAN은 독특한 전제하에 작동합니다. 서로 다른 두 개의 신경망을 경쟁하는 게임입니다. 이 적대적인 프로세스를 통해 시스템은 매우 사실적인 합성 콘텐츠를 제작할 수 있습니다. 사실적인 이미지와 예술부터 오디오와 3D 모델에 이르기까지 매우 사실적인 합성 콘텐츠를 생성할 수 있어 현대의 초석이 됩니다.

GAN의 작동 방식

GAN의 아키텍처는 두 가지 주요 구성 요소인 생성기와 판별자. 이 두 네트워크는 제로섬 게임에서 동시에 훈련되며, 한 에이전트의 이득이 다른 에이전트의 이득이 다른 에이전트의 손실이 되는 제로섬 게임에서 동시에 학습됩니다.

  1. 생성기: 이 네트워크는 "위조자" 역할을 합니다. 무작위 노이즈를 입력으로 받아 얼굴 이미지와 같은 진짜처럼 보이는 데이터를 생성하려고 시도합니다. 이 네트워크의 목표는 충분히 그럴듯한 합성 데이터를 생성하는 것입니다. 판별기.
  2. 디스커네이터: 이 네트워크는 "탐정" 역할을 합니다. 이 네트워크는 학습 데이터에서 실제 샘플과 훈련 데이터에서 실제 샘플을 수신하고 생성기. 이 네트워크의 목표는 입력을 진짜인지 가짜인지 정확하게 classify 것입니다.

훈련 과정에서 생성자는 판별자를 속이는 방법을 배워 실력을 향상시키고, 판별자 는 진짜와 가짜를 구별하는 데 더 능숙해집니다. 이상적으로 이 루프는 시스템이 내쉬 균형에 도달할 때까지 계속됩니다. 내쉬 평형에 도달할 때까지 계속됩니다. 생성된 데이터가 실제 데이터와 구별할 수 없게 되고, 판별기가 50%의 신뢰도로 추측합니다.

실제 애플리케이션

GAN은 이론적 연구를 넘어 다양한 산업에 걸쳐 실용적이고 영향력 있는 애플리케이션으로 발전했습니다.

  • 컴퓨터 비전을 위한 데이터 증강: 데이터가 부족한 시나리오에서 GAN은 다양한 훈련 예제를 생성할 수 있습니다. 훈련 예제를 생성할 수 있습니다. 예를 들어 의료 분야의 AI, GAN은 합성 의료 이미지를 생성하여 이미지를 생성하여 환자의 개인정보를 침해하지 않고 진단 모델을 학습시킵니다. 마찬가지로, GAN은 희귀한 물체 감지 모델을 개선하는 데도 도움이 됩니다. 시나리오를 생성하여 물체 감지 모델을 개선하는 데 도움을 줍니다. 자율주행 차량의 사고와 같은 에지 케이스에 대비할 수 있습니다.
  • 초고해상도 및 이미지 복원: GAN은 저해상도 미디어를 업스케일링하는 데 널리 사용됩니다. NVIDIA DLSS와 같은 기술은 GAN과 유사한 개념을 사용하여 개념을 사용하여 비디오 게임을 더 높은 해상도로 렌더링합니다. 사진의 경우 초고해상도 GAN은 오래되고 입자가 거친 사진을 선명한 고품질 이미지로 복원할 수 있습니다.
  • 스타일 전송 및 아트: 도구는 한 이미지의 예술적 스타일을 다른 이미지로 전송할 수 있습니다(예: 사진을 사진을 반 고흐의 그림처럼 보이게 만들기). 이러한 창의적인 기능은 많은 딥페이크와 가상 인플루언서의 딥페이크와 가상 인플루언서의 엔진이기도 합니다.

GAN과 확산 모델 비교

둘 다 생성 기술이지만, GAN을 다음과 구별하는 것이 중요합니다. 확산 모델 (예 안정적 확산을 지원하는 것과 같은).

  • GAN: 생성기를 통해 한 번의 패스(또는 몇 단계)로 데이터를 생성합니다. 일반적으로 추론 속도가 빠르지만 다음과 같은 불안정성 문제로 인해 모드 붕괴, 제너레이터가 가 제한된 종류의 출력을 생성하는 모드 붕괴와 같은 불안정한 문제로 인해 훈련이 어려울 수 있습니다.
  • 확산 모델: 무작위 신호에서 노이즈를 반복적으로 제거하여 데이터를 생성합니다. 이 모델은 종종 더 높은 품질의 다양한 결과를 생성하고 훈련 중에 더 안정적이지만, 일반적으로 단일 이미지를 생성하는 데 더 많은 단일 이미지를 생성하는 데 더 많은 연산 능력과 시간이 필요합니다.

PyTorch 생성기 정의하기

다음과 같은 라이브러리는 ultralytics 를 사용하여 탐지와 같은 차별적 작업에 집중할 수 있습니다. YOLO11를 통해 GAN 생성기의 구조를 이해하면 도움이 됩니다. 아래는 간단한 PyTorch 생성기의 예 잠재 노이즈 벡터에서 데이터를 생성하도록 설계되었습니다.

import torch
import torch.nn as nn


class SimpleGenerator(nn.Module):
    """A basic GAN Generator that upsamples a noise vector into an image."""

    def __init__(self, latent_dim=100, img_shape=(1, 28, 28)):
        super().__init__()
        self.img_shape = img_shape
        self.model = nn.Sequential(
            nn.Linear(latent_dim, 128),
            nn.LeakyReLU(0.2, inplace=True),
            nn.Linear(128, int(torch.prod(torch.tensor(img_shape)))),
            nn.Tanh(),  # Normalizes output to [-1, 1] range
        )

    def forward(self, z):
        img = self.model(z)
        return img.view(img.size(0), *self.img_shape)


# Example: Create a generator and produce a dummy image from random noise
generator = SimpleGenerator()
random_noise = torch.randn(1, 100)  # Batch of 1, 100-dim noise vector
generated_img = generator(random_noise)
print(f"Generated image shape: {generated_img.shape}")

머신 러닝의 중요성

GAN의 출현은 레이블을 지정해야 하는 레이블이 지정된 데이터가 필요한 지도 학습에서 모델이 데이터의 기본 구조를 이해하는 비지도 기능으로 전환되었습니다. 경쟁이 치열한 환경에서 경쟁 환경에서 효과적인 역전파 GAN을 통해 연구자들은 복잡한 분포를 모델링할 수 있습니다. 현실을 합성하는 이러한 능력은 AI 윤리, 특히 AI 윤리에 대한 논의, 특히 오늘날 딥 러닝 분야에서 가장 많이 논의되는 주제 중 하나가 된 오늘날 딥 러닝에서 가장 많이 논의되는 주제 중 하나가 되었습니다.

Ultralytics 커뮤니티 가입

AI의 미래에 동참하세요. 글로벌 혁신가들과 연결하고, 협력하고, 성장하세요.

지금 참여하기