1. Generative model
Generative model은 데이터를 학습하고 새로운 데이터를 생성하는 모델이다.
1.1. 학습 과정
데이터 제공
여러 종류의 데이터를 모델에 제공하며 모델은 각 데이터의 특징과 분포를 학습한다. 예를 들어 고양이, 개, 새 이미지 데이터를 제공하면 모델은 각 데이터의 특성과 패턴을 학습한다.
분포 학습
학습 과정에서는 데이터 간의 비율과 특성을 파악하며, 이를 통해 데이터 전체의 분포를 이해한다. 예를 들어, 학습 데이터의 분포가 고양이 30%, 개 50%, 새 20%로 구성되어 있다고 가정할 수 있다.
1.2. 생성 과정
생성 과정에서는 학습된 분포를 기반으로 특정 주제의 데이터를 생성한다.
예를 들어, 개 이미지를 생성하고 싶다면 모델은 학습된 분포 중 개의 특징을 학습한 영역을 참고하여 데이터를 샘플링한다. 이렇게 생성된 데이터는 학습 데이터와 유사한 특성을 가지지만 학습 데이터와 동일하지 않은 새로운 데이터이다.
2. GAN(Generative adversarial network)
GAN은 Generator와 Discriminator라는 두 모델이 서로 경쟁하는 구조를 가진다. 여기에서 "적대적인(adversarial)"이라는 이름은 이 두 모델이 상반된 목표를 추구하면서 서로를 이기기 위해 학습한다는 점에서 붙여졌다.
2.1. 2-player game: Generator vs Discriminator
- Generator: fake image를 생성하여 판별자가 이를 real image로 인식하게 만드는 역할이다.
- Discriminator: real image와 fake image를 구분하는 역할
min-max game
GAN의 학습 과정은 min-max game으로 표현한다. GAN의 Minmax objective function(목적 함수)는 다음과 같다.
2.2. Real image의 분포에 가까워지는 fake image 분포
GAN의 목표는 Generator가 만든 fake image 분포가 real image 분포에 가까워지도록 학습하는 것이다.
이상적인 상태에서는 Discriminator가 생성된 fake image와 real image를 구분하지 못하게 된다. 이때 D(x)=0.5 즉, discriminator가 진짜와 가짜를 동등한 확률로 인식하게 된다. 이는 생성된 fake image 분포가 real image 분포와 매우 가까워진다는 것이다.
2.3. Experimental Results
GAN이 만들어낸 초기 결과는 종종 모호하고 해상도가 낮은 이미지로 나타난다. 이는 모든 데이터를 포함하려다 보니 디테일이 손실되고, Discriminator를 속이기 위해 평균적인 특징을 가지는 데이터를 생성하는 경향이 있기 때문이다.
2.4. Weak point of GAN
Saddle Point(안장점) 문제
Saddle point는 함수의 일부 방향에서는 극소점처럼 보이고, 다른 방향에서는 극대적처럼 보이는 지점이다. GAN 학습에서 Gradient Descent이 제대로 작동하지 않게 만들어 학습을 불안정하게 만든다.
- Discriminator가 너무 강할 경우: Generator는 더 이상 개선할 방향을 찾지 못하고 학습이 정체된다.
- Generator가 너무 강할 경우: Discriminator는 fake image를 구분하지 못한다.
즉, 이러한 이유로 GAN 학습은 unstable하다.
2.5. Generator of DCGAN
DCGAN(Deep Convolutional GAN)은 CNN(Convolutional Neural Network)을 기반으로 한 생성자 구조를 도입했다. 이는 GAN의 weak point를 개선해준다.
2.6. Use the average z for each category
GAN의 latent space(잠재 공간)에서 z는 임의의 노이즈 vector로, 가 이를 입력으로 받아 이미지를 생성한다.
특징에 관한 z vector의 평균을 사용하여 이미지를 조작할 수 있다.
- 안경을 쓴 남자의 z1 벡터에서 안경을 안 쓴 남자의 z2 벡터를 뺀다.
- 결과로 나온 차이를 안경을 안 쓴 여자의 z3 벡터에 더한다.
- 결과 z4 =z3+(z1−z2)를 Generator에 입력하면 안경을 쓴 여자의 이미지가 생성된다.
2.7. Walking in the latent space
GAN의 latent space에서 천천히 이동하면 이미지도 부드럽게 변화해야 한다.
- 부드러운 변화: 잘 학습된 GAN은 이미지 간의 특징 변화가 연속적으로 나타난다.
- Sharp Transition: 갑작스러운 변화는 Overfitting의 신호로 기존 데이터를 단순히 복제했음을 의미한다.
GAN이 학습하고자 하는 것은 입력 데이터의 분포이다. Generator는 이 분포를 샘플링하여 가짜 데이터를 생성하고, 그 과정에서 입력 데이터의 특징을 모델링하려고 한다. 이로 인해, 학습된 GAN은 입력 데이터와 유사한 새로운 데이터를 생성할 수 있다.
'학부 수업 내용 정리 > 인공지능심화' 카테고리의 다른 글
#19 CNN Architecture (2) (0) | 2024.11.26 |
---|---|
#18 CNN Architecture (1) (0) | 2024.11.26 |
#17 Convolutional Neural Network (2) (0) | 2024.11.26 |
#16 Convolutional Neural Network (1) (0) | 2024.11.25 |
#15 Neural Network (4) (0) | 2024.11.25 |