일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- remixmatch paper
- adamatch paper
- Meta Pseudo Labels
- CGAN
- Entropy Minimization
- Pseudo Label
- dann paper
- 딥러닝손실함수
- mocov3
- WGAN
- dcgan
- ConMatch
- shrinkmatch paper
- GAN
- tent paper
- Pix2Pix
- cifar100-c
- BYOL
- mme paper
- 최린컴퓨터구조
- 컴퓨터구조
- UnderstandingDeepLearning
- CoMatch
- SSL
- simclrv2
- shrinkmatch
- conjugate pseudo label paper
- semi supervised learnin 가정
- CycleGAN
- 백준 알고리즘
- Today
- Total
Hello Computer Vision
비전공생의 CGAN(Conditional Generative Adversarial Nets, 2014) 논문 리뷰 본문
지난번 DCGAN에 이어서 이번에는 cGAN이다.
DCGAN도 그렇고 기존의 vanila GAN도 그렇고 데이터셋을 학습한 후 다른 조건 없이 분포르 학습한 후
이미지를 생성했다면은 이 cGAN은 정답라벨을 줘서 원하는 이미지를 어느 정도 만들 수 있다는 효과가 있다.
논문에서는 MNIST 데이터셋과 해당 라벨을 훈련시켜 원하는 숫자를 나올 수 있다고 한다.
추가로 단순히 이미지만 다루는 것이 아닌 자연어 처리에서 나오는 corpora 같은 용어들도 나오는데 아마 이 논문부터
시작해 DALE 나 GPT처럼 자연어처리와 CV를 결합해 이미지를 어느 정도 제어할 수 있지 않을까 생각한다.
1. Introduction
기존 GAN에 대한 장점을 말해준다.
Marcov chain 을 사용하지 않는 점과(이 부분은 GAN논문에서도 처음부터 끝까지 언급한다), 단순히 역전파만을 이용해
이미지를 만들어 낼 수 있다는 점, SOTA(state of the art)의 log-likelihood estimate를 produce 할 수 있다는 점에 주목한다.
그렇지만 지난 control하지 않았다는 점을 지적하면서 MNIST데이터셋에 라벨을 one-hot encoding해주어 조건을 주고
실험을 해보았다고 한다.
2. Related Work
기존 모델들의 단점으로는 많은 이미지들이 가지고 있는 카테고리들을 수용하는 능력이 부족하다.(이 부분은 많은 카테고리가 있음에도 컨트롤 할 수 없다 라고 이해하였다.)
두번째 단점으로는 input 과 output 과의 관계가 one-to-one mapping을 수행한다고 말한다. 실제로는 one-to-many mapping 이라고 한다. (예를 들어 한 남자의 이미지를 보여주었을 때 단순 '남자'라고 mapping 하는 것이 아닌 '세련된', '도시적인', '차가운' 등등 여러가지 mapping할 수 있다고 말하는 듯 하다)
첫번째 단점에 대한 해결책으로는 추가적인 정보를 이용한다고 한다. 예시로는 NLP corpora를 활용해 추가정보를 줄 수 있다고 한다.
두번째 단점에 대한 해결책으로는 conditional probailistic generative model을 사용하는 것이라고 한다.
이 부분을 읽으면서 든 생각은 DCGAN에서 나온 vector arithmetic 같은 효과를 기대하는 것이 아닐까 생각을 했다.(물론 DCGAN(2016)논문에서야 이미지 내에서도 벡터 산수화가 된다는 것을 밝혀냈다.)
3. Conditional Adversarial Nets
기존 GAN과 구조를 비교해보면 generator 부분과 discriminator 부분에 조건(label)을 준 것을 확인할 수 있다.
단순히 label이 아닌 데이터로도 추가도움이 가능하다고 논문에서 말한다. 이를 수식화 해보면다면
$$min_G max_G V(D, G) = E_{x~p_x(data)} [log D(x | y) ] + E_z~p_z(z) [log(1-D(G(z | y)))]$$
로 나타낼 수 있다. 기존 수식과 비교했을 때 y 라벨값이 들어가는 조건부 수식이 되었음을 알 수 있다.
4. Result
MNIST훈련을 할 때는 one-hot vector를 활용하여 훈련을 시켜주었다고 하며 ReLU와 마지막 층에는 sigmoid를 사용하였다.
그리고 학습률은 0.1부터 시작하여 0.000001 까지 exponentially 하게 감소시키며 weight decay는(가중치 감쇠)는
1.00004값을 주었다고 한다. 드롭아웃 또한 사용하였고 momentum 파라미터 또한 사용하였다고 한다.
결과적으로 이러한 결과를 비교해보았을 때
GAN에서는 무작위의 이미지들이었다면 조건을 추가함으로써 조금 더 정교한 이미지 생성이 될 수 있다고 한다.
이후의 내용은 ImageNet 데이터셋과 YFCC100M corpora 를 활용하여 훈련시켰다고 하는데 (훈련과정은 나오지 않지만 아마 label을 주는 방식으로 훈련을 시키지 않았을까 생각을 한다)
love, people, posing, girl, young같은 조건을 주어 이미지를 만들면 실제로 엄마가 아기를 들고 있는 이미지를 생성하는 등
꽤나 좋은 성능을 보여주기도 한다.
왼쪽 text는 user tags+ annotations 이며 오른쪽 text는 Generated tags 이다.
정리
GAN에서 많이 벗어나지 않은 모델이지만 자연어모델과 결합할 수 있다는 가능성을 보여준 논문 같다.
text to image 모델은 한번도 다루어본 적이 없는데 이 논문에 대한 결과를 보고 충분히 재밌을 것 같다는
생각이 들었다.
틀린 점 있다면 언제든 지적해주시면 감사하겠습니다.
'Generative' 카테고리의 다른 글
비전공생의 LSGAN(Least Squares Generative Adversarial Networks, 2017) 논문 리뷰 (0) | 2022.11.02 |
---|---|
비전공생의 CGAN(Conditional Generative Adversarial Network, 2014)코드 구현 (0) | 2022.11.02 |
비전공생의 DCGAN(Deep Convolutional Generative Adversarial Networks, 2016) 논문 리뷰 (0) | 2022.10.28 |
비전공생의 GAN(Generative Adversarial Nets, 2014) 코드 구현 (0) | 2022.10.26 |
비전공생의 GAN(Generative Adversarial Nets, 2014) 논문 리뷰 (0) | 2022.10.26 |