반응형
Index
Generative Adversarial Network (GAN)
- Generative : 새로운 데이터를 생성해낸다. VAE는 기존의 input과 유사한 데이터를 생성했다면 GAN른 기존에 없는 새로운 데이터를 생성해낸다.
- Adversarial : Generator 와 Discriminator가 서로 경쟁적으로 G는 D를 속이기위한 데이터를 생성, D는 G의 fake 데이터를 골라내기위해 학습
- 즉 GAN은 이름 그대로 적대적인 생성 신경망으로 G와D가 적대적이면서도 서로를 보완해가며 새로운 질좋은 데이터를 만들어 내는, 대표적인 비지도학습이다.
- G는 생성한 fake sample이 real data에서 나온 척해서 D가 잘못판단할 확률을 maximize 하도록 학습한다.
- D는 Generator가 생성한 데이터를 fake(0)로 제대로 판단할 확률을 높이는 방향으로 학습한다.
- G와 D가 학습할때는 반대쪽을 fix시켜두고 반복적으로 학습한다. (G학습때는 D를 fix)
- 학습이 끝나면 D는 버린다. (D는 온전히 G의 학습을 위해서만 필요한 객체다)
- Noise vector 'z'는 대게 ~N(0,1) 혹은 U(-1,1)를 따른다고 가정한다.
Objective function
- D는 1,2번 term을 모두 maximize하려고 하고, G는 2번 term을 minimize하려고 한다. (1번은 관심없다)
- 이러한 2-Player minmax problem 에서는 Nash equilibrium이 solution 으로, 결국 generated distribution 과 real distribution이 동일할 때가 global optimum이 된다.
Training GAN (Backpropagation)
- Train D : G의 parameter θ(g)는 fix해두고 gradient ascent를 진행 (왼쪽아래)
- Train G : D의 parameter θ(d)는 fix해두고 gradient descent를 진행 (오른쪽아래) ①,②번 방식 모두 사용 가능하지만, 학습초기에는 D대비 G의 성능이 워낙 떨어지기 때문에 D(G(z))값이 0에 가깝고, 때문에 초기 학습을 빠르게 하기 위해서는 보통 ②방식이 주로 선호된다.
- D학습 보다는 G학습이 오래 걸리고 어렵다. 그렇기 때문에 보통 1batch당 (D를 k번 학습 + G를 1번학습) 이런식으로 세트로 진행한다. *이 때 k는 하이퍼 파라이터
GAN 의 Pros & Cons
- Pros: 비지도 학습, Generate High quality images (VAE는 원본대비 low qual), BackPropagation 으로 학습이 가능
- Cons: ① Non-convergence, ②Mode collapes, ③Diminished gradient 문제가 있다. P(G(z)) 즉, 만들어진 G(z)의 분포를 알수 없다. G-D 한쪽이 너무 빨리 학습되는 불균형을 막으려면 parameter를 컨트롤 해가며 babysitting 해줘야함. 명확한 metric이 없다. 주요 3가지 단점에 대해서만 부연 설명을 해보면
- Non-Convergence : G 와 D 는 independently update 한다. 따라서 각각이 좋아지는 방향이 상대에겐 안좋은 방향일 수 있고 oscilate하게 된다면 Global optimum (Nash equilibrium)에 도달하지 못할수도 있다
- Diminished gradient : D가 too powerful하면 D(G(z))가 거의 0에 가까워 G학습이 잘 안된다. (반대의 경우도 마찬가지로 Gradient값이 너무 작아 업데이트가 잘 안됨)
- Mode collapse : D를 작 속일 수 있는 fake data 유형을 찾으면 G는 Diversity를 잃고 local optima에 쉽게 빠진다.
반응형
'Study > DL' 카테고리의 다른 글
GAN - 2편 (DCGAN, cGAN) (1) | 2023.07.02 |
---|---|
Variational Auto Encoder (VAE) (0) | 2023.07.01 |
Auto Encoder (0) | 2023.07.01 |
Attention Mechanism (0) | 2023.07.01 |
RNN - 2편 (LSTM) (0) | 2023.07.01 |
댓글