[논문 리뷰] Conditional Image Generation with PixelCNN Decoders
이 논문은 Gated PixelCNN과 Conditional PixelCNN을 도입하여 라벨이나 임베딩으로 조건화된 이미지를 모델링하고 생성하며, PixelRNN보다 빠른 학습으로 최첨단 가능도에 도달하고 조건부 이미지 합성 및 오토인코더 디코딩을 가능하게 한다.
This work explores conditional image generation with a new image density model based on the PixelCNN architecture. The model can be conditioned on any vector, including descriptive labels or tags, or latent embeddings created by other networks. When conditioned on class labels from the ImageNet database, the model is able to generate diverse, realistic scenes representing distinct animals, objects, landscapes and structures. When conditioned on an embedding produced by a convolutional network given a single image of an unseen face, it generates a variety of new portraits of the same person with different facial expressions, poses and lighting conditions. We also show that conditional PixelCNN can serve as a powerful decoder in an image autoencoder. Additionally, the gated convolutional layers in the proposed model improve the log-likelihood of PixelCNN to match the state-of-the-art performance of PixelRNN on ImageNet, with greatly reduced computational cost.
연구 동기 및 목표
- denoising, inpainting, and conditional generation of diverse scenes를 위한 조건부 이미지 모델링 동기 부여.
- PixelCNN을 게이팅 변형으로 업그레이드하고 수용영역의 맹점을 다루어 더 빠르고 효과적인 자기회귀 이미지 모델 개발.
- 클래스 라벨과 임베딩에 조건을 부여하여 여러 데이터셋에서 다양하고 현실적인 샘플을 생성하도록 Demonstrate.
- Conditional PixelCNN을 오토인코더의 이미지 디코더로 사용하여 고수준 표현을 학습하는 Explore.
제안 방법
- 표준 활성화 함수를 대체하는 게이팅 메커니즘을 갖춘 Gated PixelCNN 도입.
- 수용영역의 맹점을 제거하기 위해 수평 및 수직의 두 개의 컨볼루션 스택을 결합.
- 계층 활성화에 Conditioning 벡터를 주입(필요 시 공간 맵도)하여 p(x|h)를 모델링하는 Conditional PixelCNN 개발.
- 디코더를 Conditional PixelCNN으로 바꾸고 엔드 투 엔드로 학습하여 PixelCNN 오토인코더를 형식화.
실험 결과
연구 질문
- RQ1게이티드(게이트) 자기회귀 CNN이 PixelRNN의 성능과 비교되면서 학습 시간은 감소하는가?
- RQ2클래스 라벨이나 임베딩으로 PixelCNN을 조건화하면 다양한 작업에서 샘플의 다양성과 품질이 향상되는가?
- RQ3Conditional PixelCNN이 오토인코더의 디코더로써 서로 다른 잠재 표현을 학습하는 데 효과적인가?
- RQ4조건화가 CIFAR-10 및 ImageNet 규모의 데이터셋에서 로그 가능도와 시각적 다양성에 어떤 영향을 미치는가?
주요 결과
| 모델 | NLL 테스트(트레이닝) |
|---|---|
| Uniform Distribution: [ 30 ] | 8.00 |
| Multivariate Gaussian: [ 30 ] | 4.70 |
| NICE: [ 4 ] | 4.48 |
| Deep Diffusion: [ 24 ] | 4.20 |
| DRAW: [ 9 ] | 4.13 |
| Deep GMMs: [ 31 , 29 ] | 4.00 |
| Conv DRAW: [ 8 ] | 3.58 (3.57) |
| RIDE: [ 26 , 30 ] | 3.47 |
| PixelCNN: [ 30 ] | 3.14 (3.08) |
| PixelRNN: [ 30 ] | 3.00 (2.93) |
| Gated PixelCNN | 3.03 (2.90) |
| Conv Draw: [ 8 ] | 4.40 (4.35) |
| PixelRNN: [ 30 ] | 3.86 (3.83) |
| Gated PixelCNN : | 3.83 (3.77) |
| Conv Draw: [ 8 ] | 4.10 (4.04) |
| PixelRNN: [ 30 ] | 3.63 (3.57) |
| Gated PixelCNN : | 3.57 (3.48) |
- Gated PixelCNN은 CIFAR-10 및 ImageNet에서 PixelRNN과 비슷한 로그 가능도를 달성하면서 훈련 시간의 절반도 채 사용하지 않는다.
- 클래스 조건 샘플링은 8개 클래스를 대상으로 포즈와 배경의 변화를 포함한 명확하고 다양한 샘플을 생성한다.
- 초상 임베딩(conditioned sampling)은 같은 사람의 얼굴에 대해 다양한 표정, 포즈, 조명을 가진 새로운 얼굴을 생성하며 임베딩 공간의 보간은 매끄러운 전이를 만든다.
- PixelCNN 오토인코더 재구성은 확률적 PixelCNN 디코더를 사용할 때 인코더가 더 높은 수준의 구조를 포착함을 시사하는 질적 차이를 보인다.
- ImageNet 변형에서 Gated PixelCNN은 32x32 및 64x64 설정에서 음의 로그 가능도에서 PixelRNN보다 앞서며 최첨단에 근접하면서도 효율적이다.
- 두 개의 스택(수평 및 수직) 아키텍처는 수용영역의 맹점을 제거하여 픽셀 의존성 모델링을 향상시킨다.
더 나은 연구,지금 바로 시작하세요
연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.