GAN이란 무엇인가요?
생성형 대립 신경망(GAN)은 딥 러닝 아키텍처입니다. 해당 훈련 데이터 세트에서 더 확실한 새 데이터를 생성하기 위해 두 신경망을 서로 경쟁하도록 훈련시킵니다. 예를 들어, 기존 이미지 데이터베이스에서 새 이미지를 생성하거나 노래 데이터베이스에서 원본 음악을 생성할 수 있습니다. GAN은 서로 다른 두 신경망을 훈련하고 경쟁시키기 때문에 대립적이라고 불립니다. 한 신경망은 입력 데이터 샘플을 가져와 최대한 많이 수정하여 새 데이터를 생성합니다. 다른 한 신경망은 생성된 데이터 출력이 원래 데이터 세트에 속하는지 여부를 예측합니다. 즉, 예측하는 신경망은 생성된 데이터가 가짜인지 진짜인지 판단합니다. 시스템은 예측하는 신경망이 더 이상 가짜와 원본을 구분할 수 없을 때까지 더 새롭고 개선된 버전의 가짜 데이터 값을 생성합니다.
생성적 대립 신경망의 사용 사례로는 어떤 것이 있나요?
GAN 아키텍처는 다양한 산업에 걸쳐 여러 분야에서 응용됩니다. 다음은 몇 가지 예입니다.
이미지 생성
생성적 대립 신경망은 텍스트 기반 프롬프트를 사용하거나 기존 이미지를 수정하는 방식으로 사실적인 이미지를 생성합니다. 비디오 게임 및 디지털 엔터테인먼트에서 사실적이고 몰입도 높은 시각적 경험을 만드는 데 도움이 될 수 있습니다.
또한 GAN은 저해상도 이미지를 고해상도로 변환하거나 흑백 이미지를 컬러로 변환하는 등의 이미지 편집에도 사용될 수 있습니다. 애니메이션과 비디오에서 사실적인 얼굴, 캐릭터, 동물을 만들 수도 있습니다.
다른 모델을 위한 훈련 데이터 생성
기계 학습(ML)에서 데이터 증강은 기존 데이터로 데이터세트의 수정된 복사본을 생성하여 훈련 세트를 인위적으로 증가시키는 것입니다.
데이터 증강에 생성형 모델을 사용하여 실제 데이터의 모든 속성을 포함하는 합성 데이터를 만들 수 있습니다. 예를 들어 사기 거래 데이터를 생성한 다음 이 데이터를 사용하여 다른 사기 탐지 ML 시스템을 훈련할 수 있습니다. 이 데이터를 사용하여 의심스러운 거래와 진짜 거래를 정확하게 구분하는 방법을 시스템에 가르칠 수 있습니다.
누락된 정보 완성
때로는 생성형 모델을 통해 데이터 세트의 일부 누락된 정보를 정확하게 추측하고 완성할 수 있습니다.
예를 들어 지표면 데이터와 지하 구조물 간의 상관 관계를 이해하여 지하 표면(지하)의 이미지를 생성하도록 GAN을 훈련할 수 있습니다. 생성형 모델은 알려진 지하 이미지를 연구함으로써 지열 매핑이나 탄소 포집 및 저장과 같은 에너지 응용 분야의 지형 지도를 사용하여 새로운 이미지를 만들 수 있습니다.
2D 데이터에서 3D 모델 생성
GAN은 2D 사진 또는 스캔한 이미지에서 3D 모델을 생성할 수 있습니다. 예를 들어 의료 분야에서 GAN은 X-선과 기타 신체 스캔을 결합하여 수술 계획 및 시뮬레이션을 위한 사실적인 장기 이미지를 생성합니다.
생성적 대립 신경망은 어떻게 작동하나요?
생성적 대립 신경망 시스템은 생성자 신경망과 판별자 신경망이라는 2개의 심층 신경망으로 구성됩니다. 두 신경망은 대립 게임에서 훈련됩니다. 한 신경망은 새로운 데이터를 생성하려고 시도하고 다른 하나는 결과가 가짜 데이터인지 실제 데이터인지 예측하려고 시도합니다.
기술적으로 GAN은 다음과 같이 작동합니다. 전체 컴퓨팅 프로세스의 기초를 형성하는 것은 복잡한 수학 방정식이지만 간단한 개요는 다음과 같습니다.
- 생성자 신경망은 훈련 세트를 분석하고 데이터 속성을 식별합니다.
- 판별자 신경망도 초기 훈련 데이터를 분석하고 속성을 독립적으로 구별합니다.
- 생성자는 특정 속성에 노이즈(또는 임의 변경)를 추가하여 일부 데이터 속성을 수정합니다.
- 생성자는 수정된 데이터를 판별자에게 전달합니다.
- 판별자는 생성된 출력이 원본 데이터 세트에 속할 확률을 계산합니다.
- 판별자는 다음 주기에서 노이즈 벡터 무작위화를 줄이기 위한 몇 가지 지침을 생성자에 제공합니다.
생성자는 판별자의 실수 확률을 최대화하려고 시도하지만 판별자는 오류 확률을 최소화하려고 합니다. 반복 훈련에서 생성자와 판별자는 모두 진화하여 평형 상태에 도달할 때까지 계속 대립합니다. 평형 상태에서는 판별자가 더 이상 합성된 데이터를 인식하지 못합니다. 훈련 프로세스는 이 시점에서 끝납니다.
GAN 훈련 예
위의 내용을 이미지-이미지 변환의 GAN 모델의 예를 들어 설명해 보겠습니다.
입력 이미지는 사람의 얼굴이고 GAN으로 이것을 수정하려고 한다고 가정해 보겠습니다. 예를 들어 눈 또는 귀의 모양이 속성이 될 수 있습니다. 생성자는 선글라스를 추가하여 실제 이미지를 변경합니다. 판별자는 이미지 세트를 받습니다. 일부 이미지는 선글라스를 착용한 실제 사람의 이미지이고, 다른 이미지는 선글라스를 포함하도록 수정된 생성된 이미지입니다.
판별자가 가짜와 진짜를 구별할 수 있는 경우 생성자는 파라미터를 업데이트하여 더 나은 가짜 이미지를 생성합니다. 생성자가 판별자를 속이는 이미지를 생성하면 판별자는 해당 파라미터를 업데이트합니다. 두 신경망은 평형 상태에 도달할 때까지 경쟁을 통해 개선됩니다.
생성적 대립 신경망에는 어떤 유형이 있나요?
사용된 수학 공식과 생성자와 판별자의 상호 작용 방식에 따라 다양한 유형의 GAN 모델이 있습니다.
다음은 일반적으로 사용되는 몇 가지 모델입니다. 그러나 전체 목록은 아닙니다. StyleGAN, CycleGAN, DiscoGAN 등 다양한 유형의 문제를 해결하는 다른 GAN 유형도 많이 있습니다.
바닐라 GAN
판별자 신경망의 피드백을 거의 또는 전혀 받지 않고 데이터 변형을 생성하는 기본 GAN 모델입니다. 바닐라 GAN은 일반적으로 대부분의 실제 사용 사례에서 개선이 필요합니다.
조건부 GAN
조건부 GAN(cGaN)은 조건부라는 개념을 도입하여 표적화된 데이터 생성을 가능하게 합니다. 생성자와 판별자는 일반적으로 클래스 레이블 또는 다른 형태의 조건 형성 데이터로 추가 정보를 받습니다.
예를 들어 이미지를 생성하는 경우 이미지 내용을 설명하는 레이블이 조건이 될 수 있습니다. 조건 형성을 통해 생성자는 특정 조건을 충족하는 데이터를 생성할 수 있습니다.
심층 컨벌루션 GAN
심층 컨볼루션 GAN(DCGAN)은 이미지 처리에서 컨볼루션 신경망(CNN)의 기능을 인식하여 CNN 아키텍처를 GAN에 통합합니다.
DCGAN에서 생성자는 전치 컨볼루션을 사용하여 데이터 분포를 확대하고 판별자는 컨볼루션 계층을 사용하여 데이터를 분류합니다. 또한 DCGAN은 훈련의 안정성을 높이기 위해 아키텍처 지침을 도입합니다.
초고해상도 GAN
초고해상도 GAN(SRGAN)은 저해상도 이미지를 고해상도로 상향하는 데 중점을 둡니다. 목표는 이미지 품질과 세부 사항을 유지하면서 이미지를 더 높은 해상도로 상향하는 것입니다.
라플라시안 피라미드 GAN(LAPGAN)은 문제를 단계로 분류하여 고해상도 이미지를 생성하는 과제를 해결합니다. 여러 생성자와 판별자가 서로 다른 축척 또는 해상도의 이미지로 작업하는 계층적 접근 방식을 사용합니다. 프로세스는 진행형 GAN 단계에서 품질이 개선되는 저해상도 이미지를 생성하는 것에서 시작됩니다.
AWS는 생성적 대립 신경망 요구 사항을 어떻게 지원하나요?
Amazon Web Services(AWS)는 GAN 요구 사항을 지원하는 다수의 서비스를 제공합니다.
Amazon SageMaker는 데이터를 준비하고 기계 학습 모델을 구축, 훈련 및 배포하는 데 사용할 수 있는 완전관리형 서비스입니다. 기계 학습 모델은 다양한 시나리오에서 사용될 수 있는데, SageMaker는 완전관리형 인프라, 도구 및 워크플로와 함께 제공됩니다. 모든 애플리케이션에 대한 GAN 개발 및 훈련을 가속화하는 다양한 기능이 포함되어 있습니다.
Amazon Bedrock은 완전관리형 서비스입니다. 이 서비스를 사용하면 Amazon 및 주요 인공 지능(AI) 스타트업의 파운데이션 모델(FM) 또는 훈련된 심층 신경망에 액세스할 수 있습니다. 이러한 FM은 API를 통해 사용할 수 있으므로 다양한 옵션 중에서 선택하여 요구 사항에 가장 적합한 모델을 찾을 수 있습니다. 자체 GAN 애플리케이션에서 이러한 모델을 사용할 수 있습니다. Amazon Bedrock을 사용하면 확장 가능하고 안정적이며 안전한 생성형 AI 애플리케이션을 더 빠르게 개발하고 배포할 수 있습니다. 인프라를 관리할 필요도 없습니다.
AWS DeepComposer를 사용하면 창의적인 방법으로 ML을 시작할 수 있습니다. ML 기술 수준을 넓힐 수 있도록 설계된 연주용 키보드와 최신 ML 기술을 직접 사용해 볼 수 있습니다. ML이나 음악에 대해 가지고 있는 배경 지식과 무관하게 GAN을 시작할 수 있습니다. 또한 GAN 모델을 훈련하고 최적화하여 독창적인 음악을 만들 수 있습니다.
지금 계정을 생성하여 AWS에서 생성적 대립 신경망을 시작하세요.