본문 바로가기
인공지능/신경망

생성망(Generative Model)

by 베니스스토리 2023. 7. 22.

생성망(Generative Model)은 인공지능 분야에서 사용되는 모델 중 하나로, 데이터를 생성하는 데에 사용되는 모델입니다. 생성망은 주어진 입력 데이터로부터 유사한 새로운 데이터를 생성하거나 원하는 특성을 가진 데이터를 생성하는 데 사용됩니다. 

 

생성망은 확률적 모델로, 주어진 데이터를 분석하여 해당 데이터의 확률 분포를 학습합니다. 그리고 학습된 분포를 기반으로 새로운 데이터를 생성합니다. 이러한 특성 때문에 생성망은 주로 샘플링, 이미지 생성, 음악 생성, 자연어 생성 등에 사용됩니다.

 

대표적으로 생성망으로는 다음과 같은 두 가지 종류가 있습니다.

 

1. Variational Autoencoder(VAE)

Variational Autoencoder(VAE)는 생성망의 한 유형으로, 주어진 데이터의 잠재 표현을 학습하는 확률적 모델입니다. VAE는 주로 데이터를 저 차원의 잠재 공간으로 압축하고, 이를 통해 새로운 데이터를 생성하는 데 사용됩니다.

출처 : VAE 설명 (Variational autoencoder란? VAE ELBO 증명) - 유니의 공부 (tistory.com)

 

VAE는 크게 두 가지 네트워크로 구성됩니다.

 

인코더(Encoder)

인코더는 입력 데이터를 받아서 저차원의 잠재 공간의 확률 분포를 모델링합니다. 주어진 데이터를 통해 잠재 공간의 평균과 분산을 계산하고, 이를 확률 분포로 표현합니다. 이때, 분포는 보통 정규 분포를 사용합니다.

 

디코더(Decoder)

디코더는 잠재 공간에서 샘플링한 데이터를 입력으로 받아 원본 데이터를 재구성합니다. 잠재 공간의 샘플링된 데이터를 디코더를 통해 원본 데이터로 복원하는 과정을 통해 생성된 데이터를 얻을 수 있습니다.

 

VAE는 데이터를 잠재 공간으로 인코딩하고, 이 공간에서 샘플링을 통해 데이터를 생성하는 데 사용되기 때문에, 잠재 공간에 데이터를 압축하는 효과를 가지고 있습니다. 이런 특성으로 인해 데이터의 차원 축소, 노이즈 제거, 데이터 생성 등에 활용할 수 있습니다.

 

VAE의 학습은 주어진 입력 데이터와 재구성된 데이터 간의 차이를 최소화하는 방향으로 진행됩니다. 또한, VAE는 훈련 데이터에만 국한되지 않고, 잠재 공간에서 연속적으로 변화하는 특성을 갖기 때문에 잠재 공간 내에서 보간을 통해 새로운 데이터를 생성하는 데 사용할 수 있습니다.

 

2. Generative Adversarial Network(GAN)

Generative Adversarial Network(GAN)은 생성망(Generative Model)의 한 유형으로, 주로 이미지 생성과 같은 고품질의 데이터 생성에 사용되는 모델입니다. GAN은 두개의 신경망인 생성자(Generator)와 판별자(Discriminator)가 서로 경쟁하면서 학습하는 방식으로 동작합니다.

출처 : IT 용어사전

 

GAN의 구성은 다음과 같습니다.

 

생성자(Generator)

생성자는 주어진 잠재 공간에서 가짜 데이터를 생성하는 역할을 합니다. 초기에는 무작위 한 잠재 벡터를 입력으로 받고, 학습이 진행됨에 따라 이를 통해 실제와 유사한 데이터를 생성하도록 학습합니다. 생성자의 목표는 판별자를 속이는 것으로, 생성된 데이터가 실제 데이터처럼 보이도록 하는 것입니다.

 

판별자(Discriminator)

판별자는 생성자가 생성한 가짜 데이터와 실제 데이터를 구분하는 역할을 합니다. 판별자는 이진 분류기로서, 주어진 데이터가 실제 데이터인지 혹은 생성자가 생성한 가짜 데이터인지 판별합니다. 판별자의 목표는 실제 데이터와 생성자가 생성한 데이터를 정확하게 분류하는 것입니다.

 

GAN은 이 두 신경망이 서로 경쟁하면서 학습합니다. 생성자는 더 실제와 유사한 데이터를 생성하도록 노력하고, 판별자는 더 정확하게 가짜와 진짜를 구분하도록 노력합니다. 이 경쟁적인 학습 과정은 Nash 균형을 찾는 것과 같이 두 신경망이 서로의 능력을 최대한 발전시키는 방향으로 진행됩니다.

 

초기에는 생성자가 무작위한 데이터를 생성하고 판별자는 무작위로 가짜와 진짜를 구분하기 때문에 학습이 불안정할 수 있습니다. 하지만 점차적으로 생성자는 실제 데이터와 유사한 데이터를 생성하며 판별자를 속이는 데 성공하게 됩니다.

 

GAN은 이미지 생성과 같은 고해상도 데이터 생성에서 뛰어난 성능을 보이며, 또한 이미지 스타일 변환, 이미지 편집, 이미지 감소 및 강화, 캐릭터 생성 등 다양한 분야에 활용되고 있습니다. GAN은 답러닝 기술의 중요한 발전 중 하나로, 인공지능 연구와 응용 분야에서 많은 관심과 활용이 이루어지고 있습니다.

 

'인공지능 > 신경망' 카테고리의 다른 글

지식 기반 신경 네트워크  (0) 2023.07.24
신경망에서의 CHAOS/FRACTAL 원칙/ART  (0) 2023.07.23
역전파(Backpropagation)  (0) 2023.07.21
트랜스포머(Transformer)  (0) 2023.07.20
전이학습(Transfer Learning)  (0) 2023.07.19