Video tokenizer인 MAGVIT의 개선 버전
[Github]
[arXiv](Current version v1)
이 논문 리뷰를 쓰던 도중 직전에 올라온 따끈따끈하고 나보다 더 쉽게 설명해 놓은 논문 리뷰를 찾았다.
내가 봐도 설명을 매우 잘해놓았으니 내 논문 리뷰는 그냥 정리 정도로만 참고해도 될 듯.
Understanding MagVIT2: Language Model Beats Diffusion: Tokenizer is key to visual generation
Abstract
LLM을 시각적 생성에 효과적으로 적용하기 위한 video tokenizer인 MAGVIT-v2 제안
Introduction
LLM이 시각적 생성에 확산 모델에 뒤처지는 것은 좋은 visual tokenizer가 없기 때문이다.
MAGVIT-v2는 VQ-VAE(VQGAN) framework 내에서 MAGVIT를 기반으로 구축되었으며,
- Lookup-free quantization
- Joint image-video tokenization을 위한 간단한 architecture 수정
이 새로 추가되었다.
이미지, 비디오에 대한 압축 품질, 생성 품질을 크게 향상함.
Method
Look-up free quantizer
VQ-VAE의 일반적인 오해는 재구성 품질의 향상과 생성 품질의 향상이 동일하다는 것이다.
다음 그림을 보면 vocabulary를 확장할 때 재구성이 향상되지만 매우 큰 vocabulary에서 생성 품질이 떨어진다.
더 큰 코드북을 훈련하기 위한 간단한 트릭은 코드북의 임베딩 차원을 줄이는 것이다.
Lookup-Free Quantization (LFQ)
코드북의 임베딩 차원을 0으로 줄인다. 인코더 출력에서 가장 가까운 코드북 항목을 검색할 필요가 없으므로 lookup-free quantization(LFQ) 이라고 부른다.
2의 제곱수인 코드북 항목 K에 대해 주어진 feature vector z ∈ Rlog2K의 양자화 표현 q(z)와 코드북 인덱스는 다음과 같다.
예를 들어, z = [2, -0.1, -1, 0.9, 3] 이면
q(z) = [1, -1, -1, 1, 1]이고
인덱스는 [1, 0, 0, 1, 1] → 11001 → 25이다.
코드북 훈련 중 entropy penalty를 추가한다.
첫 번째 term은 개별 양자화 사례에 대한 entropy를 최소화, 두 번째 term은 각 코드북 인덱스가 균일하게 사용되도록 전체 entropy를 최대화한다. (이 논문의 Categorization with Entropy-based Clustering 부분 참고)
Visual tokenizer model improvement
Joint image-video tokenization
(a) 경험적으로 spatial transformer보다 3D CNN이 더 좋다고 한다.
(b) K 프레임을 3D CNN으로 처리하고 causal transformer로 처리.
(c) 3D CNN은 특정 프레임의 전후 프레임이 같이 처리되지만 causal 3D CNN은 이전의 프레임만 처리한다. 예를 들어 커널 크기가 (k,h,w)인 causal 3D CNN의 경우 현재 프레임은 이전의 k-1 프레임에만 의존한다.
Causal 3D CNN에서 첫 번째 프레임은 항상 다른 프레임에 독립적이므로 단일 이미지를 처리할 수 있으며 가장 성능이 좋았다고 한다.
Architecture modifications
추가적인 변경 사항.
- 인코더의 다운샘플링 방법을 pooling에서 strided convolution으로 변경, 시간적 다운샘플링을 마지막 블록으로 연기
- 디코더의 업샘플링을 depth-to-space 연산으로 변경, 각 해상도에서 적응형 그룹 정규화 추가
- VQGAN 판별기의 다운샘플링 계층에서 3D blur pooling 사용
Token factorization for efficient prediction
예를 들어 218의 코드북 대신 29의 연결된 두 코드북을 사용할 수 있다.