본문 바로가기
취미

[멀티모달] 달리2(DALL-E2) 이해하기

by climb_JJIYO 2024. 2. 15.
반응형

"멀티모달 학습"는 두 종류 이상의 데이터 사이를 변환하도록 생성 모델을 학습하는 방식으로, 최근 이 분야에서 주목을 받은 모델 중 하나인 OpenAI의 DALL-E2에 대해 살펴보겠습니다. DALL-E2는 텍스트를 입력으로 받아 이미지를 생성하는 혁신적인 모델로, 이러한 멀티모달 기술의 한 예시입니다.

1. DALL-E2

멀티모달 학습(multimodal learning)에서는 두 종류 이상의 데이터 사이를 변환하도록 생성 모델을 학습합니다.

텍스트 투 이미지 생성을 위한 멀티모달 모델의 종류에는 Open AI의 DALL-E2, 구글 브레인의 Imagen, Stability AI, CompVis, Runway의 스테이블 디퓨전(stable diffusion), 딥마인드의 플라밍고 가 있습니다. 여기서는 첫번째로 오픈AI에서 텍스트 투 이미지 생성용으로 만든 DALL-E2에 대한 내용을 다루겠습니다. DALL-E의 첫번째 버전은 2021년 2월에 출시되어 생성형 멀티모달 모델에 새로운 관심을 불어일으켰습니다. 두번째 버전인 DALL-E2는 2022년 4월에 출시되었습니다.

 

2. DALL-E2 구조

DALL-E2의 구조는 입력 프롬프트, 텍스트 인코더, 텍스트 임베딩, 프라이어, 이미지 임베딩, 디코더로 구성되어 있습니다. 먼저 텍스트가 텍스트 인코더를 통과하여 임베딩 벡터가 만들어 집니다. 이 벡터는 프라이어에 의해 변환되어 이미지 임베딩 벡터가 됩니다. 마지막으로 이미지 임베딩 벡터가 원본 텍스트와 함께 디코더에 전달되어 이미지를 생성합니다.

 

DALL-E2의 구조

 

텍스트 인코더

텍스트 인코더의 목적은 텍스트 프롬프트를 임베딩 벡터로 변환하는 것입니다. 이 임베딩 벡터는 잠재 공간 내에서 텍스트 프롬프트의 개념적 의미를 나타냅니다. DALL-E2에서는 텍스트 인코더를 처음부터 훈련하지 않고 오픈AI에서 만든 CLIP이라는 기존 모델을 사용했다고 합니다. 때문에 텍스트 인코더를 이해하려면 먼저 CLIP을 이해해야합니다.

 

CLIP

 CLIP은 2021년2월 오픈AI의 논문에서 공개되었습니다. 논문에서는 CLIP을 "자연어 감독으로부터 시각적 개념을 효율적으로 학습하는 신경망"이라고 설명합니다.

CLIP은 대조학습(contrastive learning)이라는 기술을 사용하여 이미지와 텍스트 설명을 매칭합니다. 인터넷에서 수집한 4억개의 텍스트-이미지 쌍으로 구성된 데이터셋으로 훈련되었습니다. 이미지와 가능성 있는 텍스트 설명 목록이 주어지면 모델의 임무는 이미지와 실제로 일치하는 설명을 찾습니다.

대조학습의 핵심 아이디어는 텍스트를 텍스트 임베딩으로 변환하는 텍스트 인코더와 이미지를 이미지 임베딩으로 변환하는 이미지 인코더의 두 가지 신경망을 학습합니다. 그런 다음 텍스트-이미지 쌍의 배치가 주어지면 코사인 유사도를 사용하여 모든 텍스트 및 이미지 임베딩 조합을 비교해서 일치하는 텍스트-이미지 쌍 간의 점수를 최대화하고 잘못된 텍스트-이미지 쌍 간의 점수를 최소화하도록 신경망을 훈련시킵니다.      

CLIP은 생성 모델이 아니기 때문에 이미지나 텍스트를 생성할 수는 없습니다.

 

프라이어

다음은 텍스트 임베딩을 CLIP 이미지 임베딩으로 변환하는 것입니다. DALL-E2는 프라이어 모델을 훈련할 때 자기회귀모델, 확산모델 두가지 다른 방법을 시도하였고 그 결과 확산모델이 성능이 우수하고 계산 효율이 더 높다고 판단했습니다.  

DALL-E2에서는 확산 과정으로 훈련된 디코더 전용 트랜스포머를 프라이어로 사용했습니다. 

훈련하는 동안 CLIP의 텍스트와 이미지 임베딩 쌍은 단일 벡터로 연결됩니다. 그리고 이미지 임베딩과 랜덤한 잡음이 구별되지 않을 때까지 1,000번 이상의 타임 스텝에 걸쳐 잡음을 추가합니다. 그 다음 이전 타임 스템의 잡음이 추가되기 전 이미지 임베딩을 예측하도록 확산 프라이머를 훈련합니다. 

프라이어는 텍스트 임베딩을 참조할 수 있으므로 이 정보로 예측에 조건을 부여하여 랜덤한 잡음을 CLIP 이미지 임베딩으로 점진적으로 변환할 수 있습니다.  

 

디코더

DALL-E2의 마지막 부분입니다. 이 모델은 텍스트 프롬프트와 프라이어가 출력한 이미지 임베딩을 기반으로 최종 이미지를 생성합니다. 디코더에서는 업샘플링을 사용하여 고차원 이미지를 처리하려고 앞단에 대규모 모델을 구축할 필요를 없게 합니다. 즉, 업샘플러를 적용하는 마지막 단계까지 작은 이미지로 작업할 수 있습니다. 이를 통해 모델 파라미터를 절약하고 훈련 과정을 더 효율적으로 유지할 수 있습니다.

 

결론적으로, DALL-E2는 텍스트를 입력으로 받아 이미지를 생성하는 혁신적인 모델로, 멀티모달 학습 분야에서의 주목할 만한 성과를 이루어냈습니다. 이 모델을 통해 텍스트와 이미지 간의 의미적 관계를 깊이 이해하고, 이를 바탕으로 다양한 형태의 이미지를 생성할 수 있습니다. OpenAI 공식 웹사이트(https://openai.com/dall-e-2)를 통해 DALL-E2로 생성된 더 많은 이미지 예시를 확인할 수 있므며, 놀라운 창의성과 다양성을 경험할 수 있습니다. 멀티모달 학습 분야에서 더 많은 발전과 혁신이 기대됩니다.

반응형