GAN은 진짜 처음 해본다.
kaggle을 둘러보다가 부담스럽지 않게 할 수 있는걸 발견했다.
input 이미지를 모네 그림처럼 바꿔주는 task이다.
dataset이 400MB 미만으로 딱히 크지 않고, kaggle 웹에서 지원해주는 정도의 환경에서도 얼마든지 학습할 수 있다.
근데 이따 올릴 코드 15에폭까지 돌리기 전에 자꾸 끊기긴 한다.
코드를 다 돌리고 inference output 만든거 옆에 깔끔하게 정리되어 나온다.
여기서 leader board는 MiFID 기준인데, 원래 FID score에서 training시의 memorization효과를 같이 고려한 수식이다.
현재 진행중이 challenge인데, google cloud TPU 홍보를 위한것인지 순위권에 들면 상금이 아니라 4주간의 TPU 사용권을 준다고 한다.
www.kaggle.com/c/gan-getting-started/overview
코드를 직접 짠건 아니고 여기 있는걸 돌려봤다.
www.kaggle.com/polo5cn/unit-creates-monet-paintings
위 코드는 다시 github.com/eriklindernoren/PyTorch-GAN#unit 를 참고하였다. 이 페이지에는 다양한 GAN이 구현되어있으니 참고하기에 좋을 것 같다. 최근 모델까지 업뎃되지는 않은 것 같다.
이 코드는 UNIT(Unsupervised Image-to-Image Translation)이라는 모델을 사용하였는데, 이는 2017 NIPS에 소개된 논문이다.
대충 보니까 Generator는 VAE로 구성되어있는데, 두장의 이미지가 있으면 둘이 shared domain을 공유할수 있음을 가정한다. 그래서 인코더에서 feature를 뽑아 latent variable z로 보내고, 이를 각각의 generator에 넣어 fake image를 생성한다.
그리고 discriminator에서 true/false를 판단한다.
shared block을 가지고 있어서 encoder 초반부와 generator 초반부에서는 파라미터를 G1-G2, E1-E2 이렇게 각각 공유한다. residual block 하나를 공유한다고 보면 된다.
몇 에폭정도 돌리면 결과는 아래와 같다.
음 언젠가 이어쓰도록 하자
'AIML 분야 > Generative Model과 GAN' 카테고리의 다른 글
GAN 이것저것 대충 읽기 (0) | 2021.09.14 |
---|---|
[휘리릭 논문 읽기] CVPR 2021 Best Paper: GIRAFFE (3) | 2021.08.17 |
StyleGAN v2보다 좋은 transformer 기반 GAN이 나왔음 (0) | 2021.08.05 |
GAN Cocktail: 학습된 GAN 모델을 합친다고? (0) | 2021.07.02 |
[논문리뷰] Transformer + GAN에 관한 논문 리뷰 (1) | 2021.06.15 |
댓글