[논문리뷰] Autoregressive Image Generation using Residual Quantization
이 논문은 Unifying Generative and Dense Retrieval for Sequential Recommendation (논문 리뷰는 여기!) 를 이해하는 데 참고한 reference 논문입니다. 따라서, 본 페이지는 해당 논문을 이해할 수 있는 수준을 목표로 작성되었음을 참고 부탁드립니다. 😊
1. 기본 정보
- 논문 제목: Autoregressive Image Generation using Residual Quantization
- 학회/저널: CVPR 2022
- 링크: Autoregressive Image Generation using Residual Quantization (arXiv)
- 핵심 키워드: Autoregressive Model, Residual Quantization, VAE, Transformer, High-Resolution Image Generation
2. 핵심 요약
연구 배경과 목적
- 문제: 고해상도 이미지 생성을 위해 Autoregressive (AR) 모델은 기존에 이미지 데이터를 작은 조각(=코드)으로 나누어 처리하지만, 코드 길이가 길어지면 계산량이 급격히 증가합니다. 이를 해결하기 위해 코드 길이를 줄이면 화질 저하 문제가 발생합니다.
- 목적: 기존 AR 모델보다 적은 계산량으로 고해상도 이미지를 더 빠르고 높은 품질로 생성하는 것을 목표로 합니다.
사용한 방법론
- 모델 구성:
- Residual-Quantized VAE (RQ-VAE): 잔여 정보를 반복적으로 압축하여 이미지의 특징 맵을 더 정확하게 표현.
- RQ-Transformer: RQ-VAE의 코드를 학습하여 코드를 기반으로 이미지를 예측.
- 데이터셋: ImageNet, LSUN (Cat, Bedroom, Church), FFHQ, CC-3M.
- 기술:
- Residual Quantization (RQ): 기존의 Vector Quantization (VQ) 방식을 개선하여 더 적은 코드로 고화질 이미지 생성 가능.
- Adversarial Training 및 Perceptual Loss를 추가하여 이미지 품질 개선.
주요 결과
- 성과:
- 기존 VQ-GAN, BigGAN, ImageBART 등과 비교하여 ImageNet, LSUN, FFHQ 등 다양한 데이터셋에서 더 낮은 FID (Frechet Inception Distance)와 높은 IS (Inception Score)를 기록.
- 특히, FID 기준으로 LSUN과 ImageNet에서 기존 모델보다 최대 4.45까지 낮은 점수를 달성.
- 샘플링 속도에서 기존 AR 모델 대비 최대 7.3배 빠름.
- 주요 발견:
- RQ-VAE는 기존 VQ-VAE보다 코드를 더 짧게 생성하면서도 재구성된 이미지의 품질을 유지.
- RQ-Transformer는 잔여 정보를 활용해 점진적으로 (Coarse-to-Fine) 이미지 품질을 개선.
한계점 및 향후 연구
- 한계점:
- 작은 데이터셋(예: FFHQ)에서는 AR 모델이 과적합되어 StyleGAN2 등 기존 모델보다 성능이 낮음.
- 대규모 텍스트-이미지 생성을 위한 파라미터 최적화와 데이터 확장이 필요.
- AR 모델은 현재 단방향(Unidirectional) 컨텍스트만 학습 가능하여 양방향(Bidirectional) 컨텍스트를 활용하지 못함.
- 향후 연구 방향:
- AR 모델의 정규화 기법 연구를 통해 소규모 데이터셋에서도 안정적인 학습.
- 파라미터 확장과 대규모 데이터 학습으로 텍스트-이미지 생성 성능 향상.
- 양방향 컨텍스트를 포함한 AR 모델 확장을 통한 이미지 편집 기능 강화.
<AR Model>
AR(Autoregressive) 모델이란?
- 데이터를 순차적으로 생성. 이전 데이터를 기반으로 다음 값을 예측하는 방식으로 작동하는 모델
- AR 모델의 이미지 생성 방식 : 이미지를 순서가 있는 시퀀스 데이터로 변환. 이전에 생성된 픽셀(블록)의 정보를 바탕으로 현재 위치의 색상(값)을 예측
AR 모델의 한계
- 계산 비용 문제 : 모든 픽셀을 순서대로 생성해야 하므로, 고해상도 이미지를 생성할 때 계산 시간이 오래 걸립니다.
- 장거리 의존성 : 먼 거리의 픽셀 간 관계를 잘 이해하지 못할 수 있습니다
* Exposure Bias란?
AR 모델은 이전에 생성된 데이터를 기반으로 다음 데이터를 예측하는 방식으로 데이터를 순차적으로 생성합니다. 훈련 과정에서는 항상 정답 데이터만 보고 학습하지만, 테스트에서는 모델이 자신이 생성한 데이터를 보며 예측해야 합니다. 이 차이 때문에 테스트 시 누적된 오류가 발생할 수 있으며, 한 번의 오류가 다음 예측에 영향을 주어, 결과적으로 품질이 급격히 떨어지는 문제
<벡터 양자화>
벡터 양자화란?
- 벡터 양자화는 이미지를 작은 블록(혹은 벡터)으로 쪼갠 뒤, 각 블록을 미리 정해진 코드북(codebook)의 코드로 변환하는 과정입니다.
- 양자화를 마친 이미지는 픽셀 데이터 대신 코드로만 이루어진 시퀀스가 됩니다.
<코드북>
코드북(Codebook)이란?
- 코드북은 벡터 양자화(Vector Quantization, VQ)에서 미리 정해진 고정된 코드들의 집합입니다.
- 예를 들어, (123,45,67)이라는 벡터를 코드 1로, (89,100,200)을 코드 2로 표현할 수 있습니다.
코드북의 역할
- 데이터를 대표하는 코드 제공 : 코드북 안에는 미리 정의된 코드(숫자)가 들어 있습니다. 각 코드는 특정 패턴이나 값을 대표합니다. 데이터를 코드북에 있는 코드들 중 하나로 변환하면, 데이터를 압축할 수 있습니다.
- 양자화(Quantization) 과정에서 기준 역할 : 데이터가 코드북에 있는 코드 중 가장 가까운 코드로 변환됩니다.
1.1. AR 모델과 벡터 양자화(Vector Quantization, VQ)
- 이미지를 이산적인 코드들의 시퀀스로 표현하는 핵심 기술
- 이미지의 특징 맵을 VQ를 통해 양자화하고, 이를 순서(예: 래스터 스캔 방식)로 재배열한 뒤, AR 모델이 해당 시퀀스를 예측하도록 훈련
- AR 모델은 픽셀 단위로 이미지를 예측하지 않고도 고해상도 이미지를 생성할 수 있다.
1.2. 시퀀스 길이 단축의 중요성
- AR 모델에서 코드 시퀀스의 길이를 줄이는 것이 중요하다.
- 이유: 시퀀스가 짧아지면, 이전 위치의 코드를 기반으로 다음 코드를 예측하는 AR 모델의 계산 비용이 크게 줄어든다.
- 기존 연구에서는 시퀀스 길이를 줄이는 데 한계가 있다.
- 문제: rate-distortion trade-off (양자화된 특징 맵의 해상도를 줄이면서 재구성된 이미지 품질을 유지하려면 코드북 크기를 기하급수적으로 증가시켜야 한다. 하지만, 큰 코드북은 모델 파라미터를 증가시키고 코드북 붕괴 문제를 야기해 VQ-VAE 훈련을 불안정하게 만든다.)
1.3. 새로운 프레임워크: RQ-VAE와 RQ-Transformer
- 이를 해결하기 위해 두 단계의 프레임워크를 제안한다:
- Residual-Quantized VAE (RQ-VAE) : 고정된 크기의 코드북을 사용해 이미지의 특징 맵을 정밀하게 근사하고, 이를 스택된 이산적인 코드 맵으로 표현한다. (예: 256×256 이미지를 8×8 해상도의 특징 맵으로 표현 가능.)
- RQ-Transformer : RQ-VAE로부터 생성된 양자화된 특징 벡터를 학습하고 다음 위치의 코드를 예측하도록 한다. RQ-VAE의 정밀한 근사를 통해 AR 모델의 계산 비용을 효율적으로 줄이고, 입력 간의 장거리 상호작용을 쉽게 학습할 수 있다.
2.2 VQs in Other Applications
- Composite quantizations이란 : 주어진 코드북 크기(codebook size) 내에서 데이터를 정확히 표현하기 위해, 벡터를 여러 코드들의 조합으로 표현하는 방식
- 다양한 양자화 방식
- Product Quantization (PQ) : 벡터를 코드북에 있는 선형적으로 독립적인 벡터들의 합으로 근사함. 주로 최근접 이웃 탐색(nearest neighbor search)에 사용됨
- Additive Quantization (AQ) : PQ를 일반화한 방식으로, 코드북에 있는 의존적인 벡터(dependent vectors)를 사용. 하지만, 이러한 코드를 찾는 것은 NP-hard task 임 (NP-hard : 계산적으로 매우 어려움)
- Residual Quantization (RQ) : 스택 양자화(stacked quantization)로도 불리며, 벡터와 잔여 값(residual)을 반복적으로 양자화 함. 벡터를 여러 코드로 이루어진 스택(stack of codes)으로 표현. 주로 신경망 압축(neural network compression)에 사용됨.
- AR 모델에서의 RQ-VAE : AR 모델에서 RQ-VAE는 이미지의 feature map을 양자화하기 위해 RQ를 채택합니다. 기존 연구와의 차이점은 RQ-VAE는 모든 양자화 단계에서 single shared codebook을 사용한다는 점 입니다.
* 참고
- 일반적인 RQ에서 코드북
- 데이터를 여러번 반복적으로 양자화하여 표현합니다. (첫 번째 단계에서 벡터를 양자화한 뒤 잔여 값을 계산합니다. 두번째 단계에서 이 잔여값을 양자화하고 또 잔여값을 계산합니다. 이 과정을 반복합니다.) 이 때 각 양자화 단계마다 다른 코드북을 사용합니다.
- RQ-VAE에서 코드북
- 모든 양자화 단계에서 하나의 코드북을 공유합니다. 이전 단계와 동일한 코드북을 사용하지만, 각 단계에서는 다른 코드를 선택하여 잔여 값을 표현합니다.
- 이렇게 모든 단계에서 단일 코드북을 사용하면 효율성, 일관성, 단순화 효과가 있습니다.
- 효율성 : 각 단계마다 새로운 코드북을 학습하지 않아도 되므로, 모델 복잡도를 줄이고 계산 비용을 낮춤. 코드북 저장 공간도 절약됨
- 일관성 : 동일한 코드북을 사용하면 모델이 데이터를 더 일관성있게 처리할 수 있음
- 단순화 : 코드북이 하나면 모델 구조가 더 단순해지고 학습이 안정적으로 됨
RQ-Transformer가 Exposure Bias를 해결하는 방법
- RQ-Transformer는 훈련 과정에서 테스트 환경을 미리 반영하여, exposure bias 문제를 완화합니다. 이를 위해, 훈련 중에도 모델이 생성한 데이터를 사용하는 방법(예: teacher forcing 완화 또는 샘플링)을 사용합니다. 결과적으로 훈련 과정과 테스트 과정의 차이를 줄여, 모델이 테스트 시에도 안정적으로 동작할 수 있게 합니다.
3. Methods
- 이미지 데이터의 AR modeling을 위한 two-stage framework with RQ-VAE + RQ-Transformer 방법을 소개합니다. RQ-VAE는 코드북을 이용해서 이미지를 stacked map of D discrete code로 나타내고, RQ-Transformer는 next D codes를 autoregressively predict합니다.
- RQ-Transformer가 AR model 학습 과정에서 exposure-bias를 해결하는 방법을 소개합니다.
Generative Retrieval
장점
- 효율성이 높음
- 추천 결과가 다양함
단점
- 추천 성능이 낮음
- Cold-Start Item 생성에서 한계를 보임
Dense Retrieval
장점
단점
- 저장, 학습, 추론 비용이 큼
========================
Dense Retrieval과 Generative Retrieval 방법론 각각의 단점을 극복하고 강점을 결합한 하이브리드 방법론인 LIGER를 제시합니다.
LIGER의 목표는 Generative Retrieval 방법의 성능을 개선하여 Cold-Start Item 생성 능력을 강화하고 Dense Retrieval과의 성능 차이를 좁히는 것입니다
이를 위해 Generative Retrieval 방법의 순차적 모델 훈련 단계에 텍스트 표현을 통합했습니다.
1. 입력 데이터 처리
- Semantic ID와 텍스트 속성을 결합한 입력 임베딩 생성
2. 학습 과정
코사인 유사도 손실과 Semantic ID 예측 손실을 통합하여 학습
3. 추론 과정
빔 서치로 생성된 후보에 Cold-Start Item을 추가하고, 최종적으로 가장 적합한 아이템을 선택.
결과
- 성능 향상 : Generative Retrieval과 Dense Retrieval의 성능 격차를 효과적으로 줄이며, Cold-Start Item 추천 성능 개선.