Scaling up GANs for Text-to-Image Synthesis

곽태욱·2023년 3월 14일
0

논문 번역

목록 보기
1/4

https://ar5iv.labs.arxiv.org/html/2303.05511

Text-to-Image 생성을 위해 GAN 성능 향상시키기

Abstract

이미지 생성 및 합성 분야 기술이 괄목할 만하게 성장했다. 하지만 지난 수 년간 GAN은 이미지 생성 분야에서 들러리였다. GAN의 일종인 StyleGAN은 다른 모델의 보조 역할 정도만 수행해왔고, DALL·E 2에서 보듯 autoregressive 모델과 diffusion 모델이 짱이었다. 이런 현상에 있어 우리는 의문이 들었는데, GAN이 정말 찐따 모델인가? 혹시 힘숨찐 모델 아니야? GAN도 대규모 데이터셋을 활용할 수 있을까? 그렇다고 StyleGAN의 capacity를 단순히 늘리기만 하면 모델이 정신을 못차린다(불안정해진다). 우리는 이번에 StyleGAN을 뛰어넘는 GigaGAN을 소개한다. 하남자 StyleGAN와는 다르게 상남자 GigaGAN은 512x512 이미지를 0.13초만에 생성하고, 3.66초만에 화질을 16M pixels로 높일 수 있다. 그리고 GigaGAN은 latent interpolation, style mixing, vector 산술 연산 등 latent 공간 상의 여러 연산도 지원한다.

Introduction

지금까지 많은 이미지 생성 모델이 나왔다. DALL·E 2, Imagen, Parti, Stable Diffusion이 이미지 생성의 새로운 시대를 열었다. 얘네들은 autoregressive 또는 diffusion 모델 기반인데 둘 다 추론할 때 반복적인 연산이 필요하다. 반복적인 연산은 양날의 검인데, 목적 함수가 간단해 안정적인 학습이 가능하지만 추론 시 많은 자원이 소비된다는 점이다.

이런 관점에서 보면 GAN은 single forward pass 방식이라 추론에 드는 비용이 적어 좋을 거 같지만, 이미지 해상도 높이기(scaling)에서 약한 모습을 보이고 학습 과정 또한 불안정하다. GAN 모델은 이미지 분류에 뛰어나지만 해상도 높이기는 어려워한다. 그 결과 대규모 모델 및 데이터, 자원이 모두 diffusion 또는 auto-regressive 모델로 몰리고 있다. 우리는 이번에 GAN이 정말로 성장 가능성이 없는지, 아님 대규모 데이터셋과 파라미터를 설정하면 GAN이 이미지 해상도 높이기 작업에서 날라다닐 수 있을지 알아보려고 한다.

우리는 우선 StyleGAN을 살펴봤는데 단순히 backbone 해상도를 높이면 학습이 심히 불안정해진다. 그래서 모델 capacity를 높이면서 안정화하기 위해 filter bank를 유지하고, sample에 특화된 linear combination을 적용했다. 그리고 convolution 계층과 함께, 이미지엔 기존 diffusion 모델에서 쓰였던 self attention을 쓰고 텍스트-이미지엔 cross attention을 썼다.

나아가 우리는 multi-scale 학습을 다시 제안한다. 이게 텍스트-이미지 변환을 자연스럽게 해주고 결과물의 저화질 부분을 개선해준다. multi-scale 학습은 GAN 기반 generator가 저화질 블록에서 더 효율적으로 학습할 수 있게 도와준다. 이러면 더 안정적이고 확장 가능한 모델을 만들면서 대규모 데이터셋도 활용할 수 있게 된다.

또한 multi-stage 방식도 사용하는데 이 모델은 처음에 64x64 이미지를 생성한 후 512x512 크기로 해상도를 높인다. 텍스트에서 이미지를 생성하고 해상도를 높이는 과정은 모듈화되어 있기 때문에 융통성이 있고 다른 모델과 쉽게 같이 사용할 수 있다. 그래서 우리 upsampler가 마음에 들면 기존 diffusion upsampler를 버리고 우리 꺼를 대신 사용할 수도 있다. DALL·E 2와 같은 diffusion 모델이 어떤 이미지로 학습을 진행했던 간에 우리 upsampler는 해당 이미지를 보지 않고도 해상도를 증가시킬 수 있다.

우리 GigaGAN은 GAN 기반 모델도 문장을 이미지로 변환할 수 있다는 것을 보여준다. 512x512 이미지를 0.13초만에 아주 빠르게 생성할 수 있고 4096x4096 이미지는 3.7초만에 생성할 수 있다. 우리 GAN 기반 upsampler는 기존 모델이 주로 생성하는 128x128 이미지의 해상도를 높이는데 사용할 수 있다. 우리 upsampler에 128x128 이미지와 이미지의 설명을 입력으로 주면 1K 이미지를 얻을 수 있고, 이 출력 이미지를 다시 upsampler에 넣으면 4K 이미지를 얻을 수 있다. 별다른 지식 없이도 단순히 우리 upsampler에 해상도 낮은 이미지와 이미지에 대한 설명을 넣으면 해상도가 알아서 뻥튀기된다.

우리 모델 파라미터는 10억개라 기존 GAN 모델보단 몇 배 크지만, Imagen (3.0B), DALL·E 2 (5.5B), Parti (20B) 모델에 비해선 파라미터 수가 적다. 그렇다고 해서 GigaGAN이 성능 면에서 꿀리진 않는다. 모델이 뚱뚱하다고(모델 파라미터 개수가 많다고) 좋은 건 아니었다. GigaGAN은 COCO2014
데이터셋에 대해 zero-shot FID가 9.09였고, 이는 다른 모델에 비해 좋은 수치였다.

우리 모델은 3가지 장점이 있다. 1. 512x512 이미지를 0.13초만에 생성할 수 있고, 2. 4K 이미지 합성에 3.66초 걸리고, 3. latent vector 공간을 활용해 이미지를 생성할 때 style mixing, prompt interpolation, prompt mixing 연산을 할 수 있다는 점이다.

정리하면 우리 모델은 최초의 GAN 기반 10억개 파라미터를 가진 모델이고, 인터넷에 있는 몇 십억개의 이미지를 성공적으로 학습했다. GAN은 여전히 좋은 선택지이며 텍스트->이미지 생성(t2i)과 해상도 개선에서 좋은 성능을 보일 수 있다. GAN과 Diffusion 싸움수준 ㄹㅇ실화냐? 진짜 세계관최강자들의 싸움이다.. 그 찐따같던 GAN이 맞나? 진짜 GAN은 전설이다. 진짜 옛날 2014년부터 GAN 봐왔는데 왕 같은 존재인 StyleGAN에서부터 세계최강 전설적인 영웅인 GigaGAN까지 보면 진짜 내가 다 감격스럽고, t2i부터 이미지 해상도 개선까지 가슴울리는 결과들이 뇌리에 스치면서 가슴이 웅장해진다..

profile
이유와 방법을 알려주는 메모장 겸 블로그. 블로그 내용에 대한 토의나 질문은 언제나 환영합니다.

0개의 댓글