본문 바로가기

컴린이 일기장/Today I Learned

[TIL] 0819 BAGAN 논문 정리

반응형

[주절주절]

CVML

Imbalanced한 데이터셋, 특히나 minor class의 개수까지 적을 경우 classification과 같은 문제를 해결하기가 어렵다. 이 때 minor class 데이터를 GAN을 통해 augmentation하는 것이 참여하게 된 프로젝트의 목표이다. 👩🏻‍💻

교수님께서 BAGAN이라는 논문을 제시해주셨고 이 모델을 토대로 이것저것 붙였다 뗐다, 변형해보라고 방향성을 일단 잡아주셨다. 다른 모델을 써도 되고, 심지어 GAN을 쓰지 않아도 되지만 이런 태스크에 대해서는 아는게 없기 때문에 BAGAN부터 차근차근 시작해보려한다. : >

 

[Today I Learned]

# BAGAN 논문 정리

p.3 - 4) BAGAN

- GAN과 오토인코더 모두 채택> 두 모델의 장점 모두 이용
ㄴ GAN) high-quality 이미지 생성
ㄴ AE) 좋은 솔루션으로의 빠른 수렴

- GAN이 좋은 솔루션에 가까워지고, mode collapse에 빠지게 하지 않기 위해 AE의 파라미터를 이용해 GAN 초기화
+ 인코더 E의 구조 = Discrminator D의 첫번째 레이어, 디코더 △의 구조 = G의 구조
ㄴ 인코더) 이미지(data) → latent vector , 디코더) latent vector → 이미지

ㄴ G는 latent vector을 이미지로. 이 때, latent vector는 class-conditional함. D는 이미지에서 latent vector 추출. 이 벡터를 바탕으로 fake인지 혹은 어떤 class에 속하는 real 이미지인지 판단. (> 마지막딴 softmax)

- 학습과정

① AE training
ㄴ Train 데이터셋 전체 이용해 학습. Class 정보 X.

②  GAN initialization
ㄴ AE와 달리 G와 D에게는 Class 정보도 주어짐.
ㄴ G는 디코더 △의 웨이트로, D의 첫번째 레이어는 인코더 E의 웨이트로 초기화.

ㄴ Class-conditional latent vector generator. Class 정보를 인풋으로 그 class에 해당하는 random vector Z 뱉음.

③ Adversarial training
ㄴ Batch 전체 이미지 중, 1/(n+1) 개의 이미지는 가짜. (이 때 n은 class 개수) > Balancing
ㄴ D > Sparse categorical cross-entropy loss function

 

[질문 노트]

Q. Conditional GAN은 어떤 식으로 작동? → 논문 찾아보기

 

 

반응형