티스토리 뷰

반응형

https://arxiv.org/abs/2102.12092

 

제로 샷

모델이 훈련 중에 본적 없는 새로운 클래스나 작업에 대해 예측한다.

 

데이터 부족 문제를 해결한다 : 제한되거나 없는 데이터를 예측할 수 있다.

유연한 활용 : 다양한 task에 적용할 수 있고, 다양한 시나리오에 유연하게 대응할 수 있다.

 

엄청난 양의 말뭉치를 활용해서 비슷한 곳에 매핑하게 된다.

 

한 두개라도 있다면 Few shot이라고 한다.

 

 Text to image generation - 텍스트를 바탕으로 컴퓨터가 이미지를 생성하는 기술이다.

 

GAN을 쓴 모델이 나왔을 때부터 성능이 좋아졌다.

DALL E2 

 

선행연구

object location - 이미자 들어왔을 때 오브젝트가 어디에 있는지에 대해서 학습한다.

오브젝트의 어떤 특징이나 위치가 어떻게 가지는지에 대한 걸 학습한다.

mouse traces - 색깔에 맞춰서 선이 그려져 있다.

마우스에 해당 텍스트에 해당하는 부분이라는 걸 이미지에 대한 discription을 가져다 넣으면 텍스트를 사용해서 이미지를 만들어내기 위한 연구들

 

energy -based framework

ms coco 데이터셋을 사용해서, 다양한 종류의 머신러닝

에너지라는 개념을 사용하는데, 각 부분에 대해서 어느 부분이 중요하고, 덜 중요하다는 걸 판단해서 만들어낸다.

Pretrained cross-modal masked language model

이미지에 대한 캡션을 함께 학습을 하고, 출력한다.

 

기존 text to image generation 모델들의 한계

-물체 왜곡

-실재할 수 없는 물체 위치

- 배경과 잘 어우러지지 못하는 물체

 

large-scale generative model - chat gpt 같은 모델

autoregressive transformer - 일반적인 트랜스포머 모델

 

한번에 트랜스포머에 넣어서 학습한다.

 

120억개 파라미터를 가진 autoregressive transformer 모델을 2억 5천만의 이미지-텍스트 쌍에 대해 학습한다.

자연어로 통제 가능한 이미지 생성 모델이다. 

이미지 쌍에 넣어서 학습

ms coco data 셋에서 zero shot에 대해 높은 점수를 받았다.

 

해상도가 높아질수록 메모리 문제가 발생한다.

likelihood는 이미지의 구조 보다 디테일을 학습하려 한다.

노이즈가 끼는 문제가 있다.

 

stage 1

Discrete VAE를 학습해 256*256 이미지를 32*32 그리드의 이미지 토큰으로 압축

각각의 이미지 토큰은 8192가지 값을 가질 수 있다고 가정

transformer가 처리하는 context 크기를 192배 압축하고, visual quality는 유지

 

털의 질감이나 글씨와 같은 디테일은 손실되거나 왜곡된다.

하지만 이미지의 특성은 여전히 알아 볼 수 있다.

8192의 큰 vocabulary size를 사용해 정보의 손실을 최소화 했다.

 

왜 이렇게 많이 줄이는가?

transformer 의 dot-product 과정 때문에 연산량이 너무 많다.

discrete vae를 사용해 이미지를 줄이고 정보 벡터를 크게 가져가 transformer에 적합한 형태로 만든다.

 

stage 2

256개의 BPE-encoding 텍스트 토큰과 32*32=1024 이미지 토큰을 concat하여 transformer에 입력하여 텍스트와 이미지 토큰에 대한 결합 확률 분포를 학습한다.

 

이미지 x와 캡션 y, 인코딩된 RGB 이미지에 대한 토크 x의 결합 확률 분포(교집합)에 대한 evidence lower bound를 최대화한다.

 

lower bound는

베이지안 방법에서 likelihood를 사전확률로 곱해서 사후 확률을 구한다.

text와 이미지가 같이 발생해야 하므로 텍스트와 이미지 캡션이 가까워지기 위한 확률을 학습한다.

 

stage 2는 stage 1에서 생성된 이미지를 정교화한다.

텍스트가 중요한 역할을 하며, 텍스트를 참조해 디테일이 이미지에 잘 반영되도록 한다.

이미지를 개선하고 텍스트 설명에 맞도로 조정하는 과정이다.

 

텍스트에 잘 맞도록 이미지를 개선한다.

 

2.1 stage one : learning the visual codebook

 

이미지의 작은 부분들을 대표하는 벡터의 집합(vusual codebook)을 학습

 이미지를 효율적으로 압축하고 구조화하여 저장

 

32*32, text : 8192 -> ELB optimize 하기 까다롭다.

 

이산확률분포이기 때문에 Gradient 최대화하기 위해 reparametrize 하기 어렵다.

DALL-E에서는 gumbel-softmax relaxation을 사용해 대체한다.

T=0일수록 덜 relax하다

 

안정적인 학습을 위한 3가지

1. relaxation temperature와 step size에 대한 annealing schedule

D vae의 단점을 완화하기 위해 사용

annealing(학습하는 동안 점차 특정 파라미터의 값(temperature)를 줄여나가는 과정)을 통해

모델이 생성하는 relaxation ELB

 

2. 인코더의 마지막과 디코터의 시작점에 1*1 conv사용

3. 인코더와 디코더 resblock에서 나가는 activation에 작은 상수를 곱한다.

 

2.2 stage two : learning the prior

prior를 학습해서, 텍스트 설명과 어떤 특징이 관련되어 있는지 모델이 이해할 수 있도록 한다.

텍스트 설명에 기반해 이미지의 구조와 내용을 어떻게 구성할지 학습한다.

 

텍스트 설명을 바탕으로 대략적인 이미지 구조를 생성(연산을 위해 학습하기에 알맞게 변환)

디테일이 부족할 수 있다.

input = text-image

lowwercased caption 후 16384개 단어 사전을 사용해 BPE-encode한다. 최대 256 토큰

image는 32*32 토큰으로 인코딩한다. 이때 단어 사전수는 8192

image 토큰은 dVAE encoder logits로부터 argmax sampling을 통해 얻는다.

text image 토큰을 concat하여 하나의 데이터 스트림으로 모델에 입력한다.

 

텍스트에 더 잘 반영되도록 이미지를 더 살린다.

 

2.3 Date collection

MS -COCO의 확장본으로 330만장의 text-image pair를 사용(파라미터 12억개)

파라미터를 120억개로 늘리기 위해 JFT-300M dataset과 비슷한 스케일의 데이터셋을 구축했다

 

2.4, 2.5

GPU 관련 내용과 powerSGD를 사용해 비용을 최소화했다.

 

2.6 sample generation

학습된 모델을 사용해 새로운 텍스트 설명에 기반한 이미지를 생성

생성한 결과물을 pretrained contrastive model을 사용하여 rerank한다.

 

이미지 캡션에 대한 결과물이 주어졌을때 contrastive model은 이미지가 캡션과 얼마나 잘 매칭되는지 점수를 매긴다.

 

experimentent

 

가우시안 블러 등을 사용해서 모델이 시각적으로 정보를 전달할 수 있는 low frequency 특성을 학습하도록 했다.

high frequency는 부족한 게 아닌가 하는 의견이 좀 있었다.

 

모델에 대한 human evaluation 결과

가장 현실적인 이미지를 고를 떄 DALL-E는 90%로 선택된다.

캡션과 매칭되는 이미지를 고를 때 93.3%정도로 선택된다.

 

아보카도 모양의 의자, 다양한 transformation 가능

 

 

Conclusion

1.Autoregressive transformer를 기반으로 text-to-image generation 하는 접근법 제안

2.transformer에 텍스트와 이미지를 인식시키기 위해 dVAE 사용

3. zero-shot에서도 좋은 성능의 이미지를 생성했다.

 

모델이 실제 데이터를 얼마나 재현했는지에 대한 척도로 loss function을 사용

모델의 복잡성을 제한한다.

데이터의 과적합을 ELB 같은 경우에는 모델이 얼마나 잘 균형을 잡아주는 역할

 

후방확률 분포를 추정하려고 하는데, evidence bound의 도움을 받는다.

하한을 높여가면서 학습을 하게 되면, 그게 loss fuction을 낮춰가는 것과 똑같다는 개념이다.

 

 

 

 

 

 

반응형