판별모델 (Discriminative Model)
판별모델은 주어진 데이터가 특정 클래스에 속할 확률을 예측하는 모델이다. 이 모델은 주로 데이터 사이의 경계를 학습하고, 새로운 데이터가 들어왔을 때 이 데이터가 어느 클래스에 속하는지 예측한다. 예를 들어, 로지스틱 회귀분석이 대표적인 판별모델이다. 이 모델은 특정 데이터가 클래스 A에 속할 확률을 계산하고, 그 확률이 가장 높은 클래스를 예측하고
핵심 개념: 조건부 확률 P(y∣x)P(y|x)를 직접적으로 학습하여 데이터 사이의 경계를 예측한다.데이터의 분류 경계
객체분류, 객체 검출, 이상치 탐지
생성모델 (Generative Model)
반면, 생성모델은 데이터 자체의 분포를 학습하여 새로운 데이터를 생성할 수 있는 모델입니다. 생성모델은 주어진 데이터를 통해 데이터가 어떻게 생겼는지 그 분포를 파악하고, 이를 바탕으로 새로운 데이터를 만들어낼 수 있다. 대표적으로는 가우시안 분포가 있다. 예를 들어, 얼굴 사진을 학습한 생성모델은 새로운 얼굴 사진을 생성할 수 있다. 정량적 평가가 어렵고, 저차원이 더 잘 학습되어야 한다는 한계를 지닌다. 이미지의 품질 개선, 맥락에 맞게 이미지 빈 공간 자동 완성
핵심 개념: 확률 모델을 사용하여 데이터의 분포 P(x)P(x) 또는 P(x,y)P(x, y)를 추정하고 학습한다.
데이터 생성, 신호 품질 개선, 이미지 인페이팅
2. MLE(최대 가능도 추정)을 중심으로 본 생성모델
생성모델에서 **최대 가능도 추정(MLE, Maximum Likelihood Estimation)**은 중요한 역할을 한다. MLE는 주어진 데이터가 가장 잘 설명되는 확률 분포를 찾는 방법이다. 생성모델은 이 MLE를 통해 데이터의 분포를 학습하고, 새로운 데이터를 생성할 때 이 분포를 기반으로 한다.
쿨백=라이블러 발산 최소화를 통해 두 분포 사이의 거리를 최소화 시킨다. 로그 가능도 최대화
- 예시: 어떤 데이터셋이 주어졌을 때, 생성모델은 이 데이터를 가장 잘 설명할 수 있는 확률 분포를 찾아내고, 그 분포에 따라 새로운 샘플을 생성한다.
3. 생성모델의 활용 사례
생성모델은 다양한 분야에서 활용되고 있다.
저화질의 화질을 개선하고, 오래된 사진을 복구, 가상 옷피팅, 오디오 기반 비디오 합성. AI더빙
이미지 생성: GANs(Generative Adversarial Networks)를 이용해 새로운 이미지를 생성합니다. 예를 들어, 가상의 인물 사진, 풍경 이미지 등을 만들어낼 수 있다
텍스트 생성: GPT와 같은 언어 모델은 새로운 문장이나 이야기를 생성하는 데 사용된다.\
음악 생성: 음악 데이터셋을 학습한 생성모델은 새로운 음악을 작곡할 수 있다.
4. 생성모델에서 활용되는 확률 모델들과 다양한 평가 지표
생성모델에서는 다양한 확률 모델과 평가 지표가 활용됩니다.
확률 모델
- Gaussian Mixture Model (GMM): 데이터의 분포를 여러 개의 가우시안 분포의 합으로 모델링합니다.
- Variational Autoencoder (VAE): 데이터의 잠재적 표현을 학습하고, 이를 바탕으로 데이터를 생성하는 모델입니다.
- GANs: 두 개의 모델이 서로 경쟁하며 데이터를 생성하고, 생성된 데이터의 품질을 높이는 모델입니다.
평가 지표
- Log-Likelihood: 생성된 데이터가 실제 데이터와 얼마나 유사한지를 평가합니다.
- Inception Score: 생성된 이미지의 다양성과 품질을 동시에 평가합니다.
- Fréchet Inception Distance (FID): 생성된 이미지와 실제 이미지 간의 통계적 유사성을 평가합니다.
5. Autoencoder와 Variational Inference, Vector Quantization 이해
Autoencoder
Autoencoder는 입력 데이터를 압축된 잠재 공간으로 변환한 후, 다시 원래의 데이터로 복원하는 모델입니다. 이 과정에서 데이터의 중요한 특징을 학습하게 됩니다.
Variational Inference
Variational Inference는 복잡한 분포를 간단한 분포로 근사하여, 확률 모델의 파라미터를 추정하는 방법입니다. VAE는 이 방법을 사용해 데이터의 잠재적 구조를 학습합니다.
Vector Quantization
Vector Quantization은 데이터를 여러 개의 작은 구간으로 나누어, 각 구간에 속한 데이터를 대표하는 벡터로 압축하는 방법입니다. 이를 통해 데이터의 복잡성을 줄이고, 효율적으로 표현할 수 있습니다.
6. GANs 및 조건부 GANs에 대한 이론과 실습
**GANs (Generative Adversarial Networks)**은 두 개의 신경망, 즉 생성자(Generator)와 판별자(Discriminator)가 경쟁하면서 학습하는 모델입니다. 생성자는 가짜 데이터를 만들어내고, 판별자는 이 데이터가 진짜인지 가짜인지 구분하려고 합니다. 이 과정에서 생성자는 점점 더 진짜 같은 데이터를 만들어낼 수 있게 됩니다.
**조건부 GANs (Conditional GANs)**은 생성자에게 특정 조건(예: 특정 카테고리의 이미지)을 주어, 조건에 맞는 데이터를 생성할 수 있도록 합니다.
7. Diffusion Model 이해와 Personalization 기술
Diffusion Model은 데이터의 노이즈를 점차적으로 제거하면서 새로운 데이터를 생성하는 방식입니다. 이는 데이터의 생성 과정을 역으로 추적하는 방식으로 작동합니다.
Personalization 기술은 사용자의 개인적인 취향이나 요구에 맞춰 생성된 데이터를 조정하는 기술입니다. 이를 통해 각 사용자에게 맞춤형 데이터를 제공할 수 있습니다.