DALL·E: 텍스트로 이미지 생성하기
OpenAI는 자연어 설명을 통해 독창적인 이미지를 생성할 수 있는 신경망인 DALL·E를 발표했습니다. 120억 개의 파라미터를 가진 transformer 아키텍처를 활용하여, DALL·E는 복잡한 장면을 합성하고, 서로 관련 없는 개념을 결합하며, zero-shot 시각적 추론을 수행할 수 있습니다.
아키텍처 및 기술적 접근 방식
DALL·E는 텍스트와 이미지를 단일 데이터 스트림으로 처리하는 decoder-only transformer 언어 모델입니다. 이 모델은 maximum likelihood를 사용하여 토큰을 autoregressively 생성하도록 학습됩니다.
토큰화 및 데이터 스트림
- Input/Output Stream: 모델은 시퀀스당 총 1,280개의 토큰을 처리하며, 이는 텍스트 프롬프트용 256개 토큰과 이미지용 1,024개 토큰으로 구성됩니다.
- Vocabularies: 텍스트는 16,384개의 어휘 크기를 가진 BPE-encoded 토큰으로 표현됩니다. 이미지는 사전 학습된 discrete VAE를 사용하여 32x32 격자 형태의 discrete latent codes로 압축되며, 결과적으로 8,192개의 어휘 크기를 갖게 됩니다.
- Attention Mechanism: 모델은 64개의 self-attention 레이어를 특징으로 합니다. 이미지 토큰은 모든 텍스트 토큰을 참조할 수 있는 반면, 텍스트 토큰은 표준 causal mask를 사용합니다. 이미지 토큰은 레이어에 따라 sparse attention 패턴(row, column, 또는 convolutional)을 사용합니다.
이미지 생성 및 정교화
DALL·E는 처음부터 이미지를 생성하거나, 텍스트 프롬프트와의 일관성을 유지하기 위해 기존 이미지의 직사각형 영역(우측 하단 모서리까지 확장)을 재생성할 수 있습니다. 데모에서 출력 품질을 개선하기 위해, OpenAI는 512개의 생성된 샘플 중 상위 32개를 오프라인에서 CLIP을 사용하여 rerank했습니다.
핵심 능력
DALL·E는 언어를 통해 시각적 개념을 조작할 수 있는 다양한 능력을 보여줍니다.
구성적 제어 및 속성
- Attribute Modification: 모델은 객체의 속성을 수정하거나 장면 내 객체의 출현 횟수를 변경할 수 있습니다.
- Multiple Objects: DALL·E는 여러 객체, 그들의 속성, 그리고 공간적 관계(예: "a hedgehog wearing a red hat, yellow gloves, blue shirt, and green pants")를 관리할 수 있습니다. 그러나 객체가 더 많이 도입될수록 성능이 저하되며, 캡션이 재구성될 때 모델이 취약해질 수 있습니다.
관점 및 구조
- Viewpoint Control: DALL·E는 장면의 관점과 3D 렌더링 스타일을 제어할 수 있으며, 여기에는 동일한 간격의 각도로 인물을 그려 회전하는 머리의 부드러운 애니메이션을 생성하는 능력이 포함됩니다.
- Optical Distortions: 모델은 "fisheye lens view" 및 "spherical panorama"와 같은 효과를 적용할 수 있습니다.
- Internal and External Detail: 모델은 단면도를 통해 내부 구조를 렌더링하거나, 매크로 사진 및 "x-ray" 스타일을 통해 외부 구조를 렌더링할 수 있습니다.
문맥적 추론
모호한 사양을 요구하는 3D 렌더링 엔진과 달리, DALL·E는 불충분하게 설명된 캡션의 "빈칸을 채울" 수 있습니다. 예를 들어, 캡션이 일출 때 들판에 있는 카피바라를 설명한다면, 그림자가 명시적으로 언급되지 않더라도 그림자의 필요성을 추론할 수 있습니다.
고급 추론 및 지식
Zero-Shot Visual Reasoning
DALL·E는 zero-shot 추론을 위한 창발적 능력을 보여주며, 이를 통해 특정 작업에 대한 별도의 학습 없이도 image-to-image translation 작업을 수행할 수 있습니다. 이 능력은 학습 과정에서 명시적으로 권장되지 않았습니다.
World Knowledge
- Geographic Knowledge: 모델은 랜드마크와 동네에 대한 사실을 정보를 학습했지만, 그 정확도는 다양합니다.
- Temporal Knowledge: DALL·E는 시간에 따라 변하는 개념을을 표현할 수 있습니다.
Conceptual Synthesis
- Anthropomorphism: 모델은 동물과 사물을 의인화된 버전으로 만들 수 있습니다.
- Concept Combination: DALL·E는 서로 다른 아이디어를 결합하여 객체를 합성할 수 있습니다. 예를 들어, 관련 없는 개념을 기반으로 제품을 디자인하는 것과 같습니다(예: an armchair in the shape of an avocado).