DALL·E: 텍스트만으로 생성하는 이미지
OpenAI는 자연어로 표현할 수 있는 다양한 개념을 텍스트 프롬프트를 사용해 이미지로 생성하는 DALL E라는 인공 신경망을 훈련했습니다.

일러스트레이션: Justin Jay Wang
DALL E는 GPT‑3(새 창에서 열기)의 120억 파라미터 버전으로, 텍스트-이미지 쌍의 데이터세트를 사용해 텍스트 설명으로 이미지를 생성하도록 훈련되었습니다. 우리는 DALL E가 동물과 사물의 의인화된 버전을 생성하고, 서로 관련성 없는 개념을 그럴 듯하게 결합하고, 텍스트를 렌더링하고, 기존 이미지를 변형하는 등 다양한 기능을 갖추고 있는 것을 확인했습니다.
참고: 4배 더 높은 해상도로 더욱 사실적이고 정확한 이미지를 생성하는 DALL E 2
GPT‑3는 다양한 텍스트 생성 작업을 수행하도록 대규모 인공 신경망에 지시하는 데 언어를 사용할 수 있다는 것을 보여주었습니다. Image GPT는 같은 유형의 인공 신경망을 고해상도 이미지를 생성하는 데도 사용할 수 있다는 것을 보여주었습니다. OpenAI는 이러한 기능을 확장하여 이제 언어를 통해 시각적 개념을 조작하는 것도 가능하다는 것을 보여드립니다.
DALL E는 GPT‑3와 마찬가지로 트랜스포머 언어 모델입니다. DALL E는 최대 1,280개의 토큰을 포함하는 단일 데이터 스트림으로 텍스트와 이미지를 둘 다 수신하며, 모든 토큰을 하나씩 차례로 생성하는 가능성을 최대화하여 훈련되었습니다. A
이 훈련 절차를 통해 DALL E는 이미지를 처음부터 생성할 뿐 아니라 기존 이미지에서 오른쪽 하단 모서리까지 이어지는 직사각형 부분을 텍스트 프롬프트와 일치하도록 재생성할 수도 있습니다.
OpenAI는 생성형 모델을 사용하는 작업이 중요하고도 광범위한 사회적 영향을 미칠 수 있다는 것을 알고 있습니다. 향후에는 DALL E와 같은 모델이 특정 작업 프로세스 및 직업에 미치는 경제적 영향, 모델 출력에 편향이 개입될 가능성, 이 기술로 인해 발생할 수 있는 더 장기적인 윤리적 과제 등과 같은 사회적 문제와 어떤 관련이 있는지 분석하려고 합니다.
객체의 여러 속성과 해당 속성이 표시되는 횟수를 수정하는 DALL E의 능력을 테스트합니다.
여러 객체와 해당 속성, 그리고 공간 관계를 동시에 제어하려면 새로운 과제에 봉착합니다. 예를 들어, ‘빨간 모자, 노란 장갑, 파란 셔츠, 초록 바지를 착용한 고슴도치’라는 문구를 생각해 보세요. 이 문구를 올바르게 해석하려면 DALL E는 이 동물이 착용한 각 의류 아이템을 올바르게 작성할 뿐만 아니라 각각의 연관관계, 즉 모자-빨강, 장갑-노랑, 셔츠-파랑, 바지-초록의 연관관계를 서로 뒤섞지 않고 형성해야 합니다. C
OpenAI는 상대 측위, 객체 스태킹, 여러 속성 제어 측면에서 DALL E의 능력을 테스트합니다.
DALL E는 객체 수가 적은 경우 속성과 위치에 대해 어느 정도의 제어 능력을 보여주지만 성공률은 프롬프트가 어떻게 구성되는지에 따라 달라질 수 있습니다. 객체가 더 많을수록 DALL E는 객체와 색상 사이의 연관관계를 혼동하는 경향이 커지고 성공률이 급격히 줄어듭니다. 또한 올바른 해석이 나오지 않는 경우가 많은, 의미론적으로 동등한 대체 프롬프트의 경우 DALL E가 프롬프트 재구성에 있어서 불안정한 것을 확인했습니다.
DALL E는 장면의 시점과 장면이 렌더링되는 3D 스타일에 대한 제어를 허용하는 것으로 확인되었습니다.
여기서 더 나아가, 유명 인물의 머리를 동일한 간격으로 여러 각도에서 반복적으로 그리는 DALL E의 능력을 테스트했고, 머리가 부드럽게 회전하는 애니메이션을 얻을 수 있었습니다.
DALL E는 ‘어안 렌즈 뷰’와 ‘구면 파노라마’ 같은 옵션처럼 장면에 특정 유형의 시각적 변형을 적용할 수 있는 것으로 보입니다. 여기에 힘입어, 반사를 생성하는 능력을 살펴봤습니다.
‘익스트림 클로즈업 뷰’ 및 ‘엑스레이’ 스타일의 샘플을 통해 OpenAI는 DALL E가 내부 구조를 횡단면 뷰로 렌더링하고 외부 구조를 확대 사진으로 렌더링하는 능력을 더 탐구했습니다.
텍스트를 이미지로 변환하는 작업은 비명시적입니다. 하나의 프롬프트가 무수히 많은 그럴 듯한 이미지로 만들어질 수 있으므로 이미지가 고유하게 결정되지 않는다는 뜻입니다. 예를 들어, ‘일출 때 카피바라가 들판에 앉아 있는 그림’이라는 프롬프트를 생각해 보세요. 그림자를 그리라는 디테일은 명시적으로 언급하지 않았지만 카피바라의 방향에 따라 그림자를 그려야 할 수도 있습니다. 비명시성을 해결하는 DALL E의 능력을 세 가지 사례로 살펴봤습니다. 첫째는 스타일, 배경, 시간을 변경하는 것이고 둘째는 다양한 상황에 있는 같은 객체를 그리는 것이고 셋째는 특정한 텍스트가 쓰여 있는 객체의 이미지를 생성하는 것이었습니다.
DALL E는 자연어를 통해 3D 렌더링 엔진의 일부 기능을 각기 다른 신뢰도로 이용할 수 있게 해줍니다. 독립적으로 소수 객체의 속성을 제어할 수 있고, 어느 정도까지는 객체의 수와 각 객체의 상대적 배치를 제어할 수 있습니다. 또한 장면이 렌더링되는 위치와 각도를 제어할 수 있으며, 각도와 조명 조건이 정확히 명시되었을 때 해당 조건을 준수하여 알고 있는 객체를 생성할 수 있습니다.
입력을 명확하고 완전히 상세하게 지정해야 하는 3D 렌더링 엔진과 달리, DALL E는 명확히 언급되지 않았더라도 프롬프트에서 이미지에 특정 디테일이 있어야 한다는 것이 암시되어 있으면 ‘간극을 메울’ 수 있는 경우가 많습니다.
다음으로, 앞서 언급한 기능을 패션 및 인테리어 디자인에 사용하는 사례를 알아봤습니다.
언어는 구성 측면의 특성이 있기 때문에 사람들은 각기 다른 개념을 함께 사용하여 실제 사물과 상상 속의 사물을 설명할 수 있습니다. OpenAI는 DALL E 역시 이질적인 아이디어를 결합하여 객체를 합성하는 능력이 있다는 것을 확인했습니다. 때로는 실제 세계에서는 존재할 가능성이 없는 객체도 합성할 수 있죠. 이 능력을 두 가지 상황에서 살펴봤습니다. 다양한 개념의 특징을 동물에 적용하는 것, 그리고 관련성 없는 개념에서 영감을 받아 제품을 디자인하는 것이었습니다.
위 섹션에서 실제 세계의 객체 이미지를 생성할 때 관련성 없는 개념을 결합하는 DALL E의 능력을 살펴봤습니다. 여기에서는 이 능력을 세 가지 종류의 그림을 사용해 예술의 맥락에서 살펴봅니다. 동물과 사물의 의인화된 버전, 동물 키메라, 이모지입니다.
GPT‑3에는 추가 훈련 없이도 프롬프트에 제시된 설명과 답변 생성 힌트만을 가지고 많은 작업을 수행하도록 지시할 수 있습니다. 예를 들어, ‘“a person walking his dog in the park”의 프랑스어 번역:’이라는 문구가 프롬프트로 제시되면 GPT‑3는 ‘un homme qui promène son chien dans le parc’라고 답합니다. 이 기능을 제로샷 추론이라고 합니다. DALL E가 이 능력을 시각 도메인까지 확장하며 올바르게 프롬프트를 제시한다면 다양한 종류의 이미지-이미지 변환 작업을 수행할 수 있다는 것이 확인되었습니다.
DALL E에게 이 능력이 있을 것이라고는 기대하지 않았고, 이 능력을 발현시키기 위해 인공 신경망이나 훈련 절차를 변경하지 않았습니다. 이 결과에 힘입어 OpenAI는 20세기에 널리 사용되었던 시각적 IQ 검사인 Raven 지능 검사(Progressive Matrices)를 가지고 테스트하여 DALL E가 유추에 적합한지 측정했습니다.
DALL E가 지리적 사실, 랜드마크, 지역에 대해 학습한 것이 확인되었습니다. 이러한 개념에 대한 DALL E의 지식은 어떤 부분에서는 놀라울 정도로 정확하고 어떤 부분에서는 결함이 있습니다.
공간에 따라 달라지는 개념에 대한 DALL E의 지식을 탐구하는 데서 더 나아가 시간에 따라 달라지는 개념에 대한 지식도 살펴봤습니다.
DALL E는 단순한 디코더 전용 트랜스포머로, 텍스트와 이미지를 1,280개의 토큰(텍스트의 경우 256개, 이미지의 경우 1,024개)을 포함하는 단일 스트림으로 수신하며, 그 모든 것을 자기회귀 방식으로 모델링합니다. 64개의 자체 어텐션 레이어 각각에서 어텐션 마스크는 각 이미지 토큰이 모든 텍스트 토큰을 처리하도록 합니다. DALL E는 텍스트 토큰에 표준 캐주얼 마스크를 사용하고, 이미지 토큰에는 레이어에 따라 행, 열 또는 나선형 어텐션 패턴의 희소 어텐션을 사용합니다. 아키텍처와 훈련 절차에 대한 자세한 내용은 논문(새 창에서 열기)에서 확인할 수 있습니다.
텍스트-이미지 합성은 텍스트 임베딩에 따라 달라지는 GAN을 사용한 Reed 등1의 선구적인 연구 이후 활발한 연구 분야가 되었습니다. 이 임베딩은 CLIP과 마찬가지로 대조 손실(contrastive loss)을 사용해 사전 훈련된 인코더를 통해 생성됩니다. StackGAN3과 StackGAN++4는 다중 스케일 GAN을 사용해 이미지 해상도를 높이고 시각적 충실도를 개선합니다. AttnGAN5은 텍스트와 이미지 기능 사이의 어텐션을 포함하며, 손실을 보조 객체에 매칭하는 대조적 텍스트-이미지 기능을 제안합니다. 오프라인으로 수행한 CLIP을 사용한 순위 재지정 작업과 비교하면 흥미롭습니다. 다른 연구에서는2, 6 및 7 이미지 품질을 개선하기 위해 훈련 중에 지도(supervision)의 소스를 추가로 포함합니다. 마지막으로, Nguyen 등8과 Cho 등9의 연구에서는 이미지 생성에서 사전 훈련된 멀티 모달 판별형 모델을 활용하는 샘플링 기반 전략을 탐구합니다.
VQVAE-2(새 창에서 열기)에서 사용된 기각 샘플링과 유사하게, OpenAI는 CLIP을 사용하여 모든 인터랙티브 시각 자료에서 각 프롬프트에 대해 512개의 샘플 중 상위 32개의 순위를 재지정합니다. 이 절차는 언어를 기반으로 한 검색16의 일종으로 볼 수도 있으며 샘플 품질에 큰 영향을 미칠 수 있습니다.
각주
- A
토큰은 별개의 어휘에서 나오는 기호입니다. 인간의 경우 26자 영어 알파벳에서 각 문자가 토큰입니다. DALL E의 어휘에는 텍스트 개념과 이미지 개념에 대한 토큰이 있습니다. 구체적으로, 각 이미지 프롬프트는 최대 256BPE의 인코딩된 토큰과 16,384개의 어휘를 사용해 제시되고, 이미지는 1,024개의 토큰과 8,192개의 어휘를 사용해 제시됩니다.
이미지는 훈련 중에 256x256의 해상도로 사전 처리됩니다. VQVAE와 마찬가지로 각 이미지는 별개의 VAE를 사용해 32x32 크기의 별도의 잠재 코드 그리드로 압축됩니다. VAE는 우리가 연속적 완화를 사용해 사전 훈련한 것입니다. 완화를 사용해 훈련하면 명시적 코드북, EMA 손실, 데드 코드 소생의 필요성이 없어지며 대량의 어휘까지 확장할 수 있다는 것을 확인했습니다.
- B
자세한 내용은 이후 섹션에 확인할 수 있습니다.
- 17
이 작업은 변수 바인딩이라고 하며 문헌에서 광범위하게 연구되었습니다.
참고 자료
- 1
Reed, S., Akata, Z., Yan, X., Logeswaran, L., Schiele, B., Lee, H. (2016). “Generative adversarial text to image synthesis(새 창에서 열기)”. In ICML 2016.
- 2
Reed, S., Akata, Z., Mohan, S., Tenka, S., Schiele, B., Lee, H. (2016). “Learning what and where to draw(새 창에서 열기)”. In NIPS 2016.
- 3
Zhang, H., Xu, T., Li, H., Zhang, S., Wang, X., Huang X., Metaxas, D. (2016). “StackGAN: Text to photo-realistic image synthesis with stacked generative adversarial networks(새 창에서 열기)”. In ICCY 2017.
- 4
Zhang, H., Xu, T., Li, H., Zhang, S., Wang, X., Huang, X., Metaxas, D. (2017). “StackGAN++: realistic image synthesis with stacked generative adversarial networks(새 창에서 열기)”. In IEEE TPAMI 2018.
- 5
Xu, T., Zhang, P., Huang, Q., Zhang, H., Gan, Z., Huang, X., He, X. (2017). “AttnGAN: Fine-grained text to image generation with attentional generative adversarial networks(새 창에서 열기).
- 6
Li, W., Zhang, P., Zhang, L., Huang, Q., He, X., Lyu, S., Gao, J. (2019). “Object-driven text-to-image synthesis via adversarial training(새 창에서 열기)”. In CVPR 2019.
- 7
Koh, J. Y., Baldridge, J., Lee, H., Yang, Y. (2020). “Text-to-image generation grounded by fine-grained user attention(새 창에서 열기)”. In WACV 2021.
- 8
Nguyen, A., Clune, J., Bengio, Y., Dosovitskiy, A., Yosinski, J. (2016). “Plug & play generative networks: conditional iterative generation of images in latent space(새 창에서 열기).
- 9
Cho, J., Lu, J., Schwen, D., Hajishirzi, H., Kembhavi, A. (2020). “X-LXMERT: Paint, caption, and answer questions with multi-modal transformers(새 창에서 열기)”. EMNLP 2020.
- 10
Kingma, Diederik P., Max Welling. “Auto-encoding variational bayes(새 창에서 열기).” arXiv preprint (2013).
- 11
Rezende, Danilo Jimenez, Shakir Mohamed, Daan Wierstra. “Stochastic backpropagation and approximate inference in deep generative models(새 창에서 열기).” arXiv preprint (2014).
- 12
Jang, E., Gu, S., Poole, B. (2016). “Categorical reparametrization with Gumbel-softmax(새 창에서 열기)”.
- 13
Maddison, C., Mnih, A., Teh, Y. W. (2016). “The Concrete distribution: a continuous relaxation of discrete random variables(새 창에서 열기)”.
- 14
van den Oord, A., Vinyals, O., Kavukcuoglu, K. (2017). “Neural discrete representation learning(새 창에서 열기)”.
- 15
Razavi, A., van der Oord, A., Vinyals, O. (2019). “Generating diverse high-fidelity images with VQ-VAE-2(새 창에서 열기)”.
- 16
Andreas, J., Klein, D., Levine, S. (2017). “Learning with Latent Language(새 창에서 열기)”.
- 17
- 18
- 19
Gayler, R. (1998). “Multiplicative binding, representation operators & analogy(새 창에서 열기)”.
- 20
Kanerva, P. (1997). “Fully distributed representations(새 창에서 열기)”.


