최근에는 멀티모달 학습이 주목을 받고 있는데, 특히 텍스트-이미지 합성과 이미지-텍스트 대조 학습이라는 두 가지 방향에서 더욱 주목을 받고 있습니다. OpenAI에서 출시한 텍스트 이미지 모델 DALL・E 및 DALL-E 2, NVIDIA의 GauGAN 및 GauGAN2와 같은 일부 AI 모델은 창의적인 이미지 생성 및 편집에 적용되어 광범위한 대중의 관심을 끌었습니다.
이에 뒤처지지 않기 위해 Google은 5월 말 자체 텍스트-이미지 모델 Imagen을 출시했는데, 이는 캡션 조건부 이미지 생성의 경계를 더욱 확장하는 것으로 보입니다.
장면에 대한 설명만 주어지면 Imagen은 장면이 현실 세계에서 의미가 있는지 여부에 관계없이 고품질, 고해상도 이미지를 생성합니다. 다음 그림은 Imagen 텍스트 생성 이미지의 여러 예를 보여주며, 이미지 아래에 해당 자막이 표시됩니다.
이렇게 생성된 인상적인 이미지는 다음 사항을 알고 싶게 만듭니다. Imagen은 어떻게 작동합니까?
최근 개발자 강사인 Ryan O'Connor는 AssemblyAI 블로그에 "Imagen의 실제 작동 원리"라는 긴 기사를 작성하여 Imagen의 작동 원리를 자세히 설명하고 Imagen의 개요를 제공하며 고급 구성 요소와 연결을 분석 및 이해했습니다. 사이.
이 부분에서 저자는 Imagen의 전반적인 아키텍처를 보여주고 다른 작동 원리에 대한 높은 수준의 설명을 제공한 다음 Imagen의 각 구성 요소를 차례로 더 철저하게 분석합니다. 다음 애니메이션은 Imagen의 워크플로우를 보여줍니다.
먼저 텍스트 인코더에 자막을 입력하세요. 이 인코더는 텍스트 자막을 텍스트의 의미 정보를 캡슐화하는 숫자 표현으로 변환합니다. Imagen의 텍스트 인코더는 Transformer 인코더로, self-attention 방법을 사용하여 텍스트 인코딩이 자막의 단어가 서로 어떻게 관련되어 있는지 이해하도록 보장합니다.
Imagen이 개별 단어 간의 연관성이 아닌 개별 단어에만 초점을 맞추면 자막의 개별 요소를 포착할 수 있는 고품질 이미지를 얻을 수 있지만 이러한 이미지의 설명은 자막 의미를 적절하게 반영할 수 없습니다. 아래 예와 같이 단어 간의 연관을 고려하지 않으면 전혀 다른 생성효과가 발생하게 됩니다.
텍스트 인코더가 Imagen의 자막 입력에 대한 유용한 표현을 생성하는 동안 이 표현을 사용하여 이미지를 생성하는 방법, 즉 이미지 생성기를 고안해야 합니다. 이를 위해 Imagen은 여러 작업에 대한 SOTA 성능 덕분에 최근 몇 년간 인기를 얻은 생성 모델인 확산 모델을 사용합니다.
확산 모델은 훈련을 달성하기 위해 잡음을 추가하여 훈련 데이터를 손상시킨 다음, 이 잡음 과정을 역전시켜 데이터를 복구하는 방법을 학습합니다. 입력 이미지가 주어지면 확산 모델은 일련의 시간 단계에 걸쳐 가우스 노이즈로 이미지를 반복적으로 손상시켜 결국 가우스 노이즈 또는 TV 정적 상태를 남깁니다. 다음 그림은 확산 모델의 반복적인 노이즈 프로세스를 보여줍니다.
그런 다음 확산 모델은 거꾸로 작동하여 각 단계에서 노이즈를 분리하고 제거하는 방법을 학습하여 방금 발생한 파괴 프로세스에 대응합니다. 훈련이 완료되면 모델을 두 개로 나눌 수 있습니다. 이를 통해 아래와 같이 무작위로 샘플링된 가우스 노이즈로 시작하고 확산 모델을 사용하여 점차적으로 노이즈를 제거하여 이미지를 생성할 수 있습니다.
요약하자면, 훈련된 확산 모델은 가우스 노이즈로 시작한 다음 훈련 이미지와 유사한 이미지를 반복적으로 생성합니다. 이미지의 실제 출력을 제어할 수 없다는 것은 명백합니다. 가우스 노이즈를 모델에 공급하면 훈련 데이터 세트에 속하는 것처럼 보이는 임의의 이미지가 출력됩니다.
그러나 Imagen에 입력된 자막의 의미 정보를 캡슐화하는 이미지를 만드는 것이 목표이므로 확산 과정에 자막을 통합하는 방법이 필요합니다. 어떻게 해야 하나요?
위에서 언급했듯이 텍스트 인코더는 실제로 일련의 벡터인 대표적인 자막 인코딩을 생성합니다. 이 인코딩된 정보를 확산 모델에 주입하기 위해 이러한 벡터는 함께 집계되고 확산 모델은 그에 따라 조정됩니다. 이 벡터를 조정함으로써 확산 모델은 노이즈 제거 프로세스를 조정하여 자막과 잘 일치하는 이미지를 생성하는 방법을 학습합니다. 프로세스 시각화는 다음과 같습니다.
이미지 생성기 또는 기본 모델은 작은 64x64 이미지를 출력하므로 이 모델을 최종 1024x1024 버전으로 업샘플링하기 위해 초해상도 모델을 사용하여 이미지 크기를 지능적으로 조정합니다. .
초해상도 모델의 경우 Imagen은 확산 모델을 다시 사용합니다. 전체 프로세스는 자막 인코딩에만 기초하여 조정된다는 점과 더 작은 이미지가 업샘플링된다는 점을 제외하면 기본적으로 기본 모델과 동일합니다. 전체 프로세스를 시각화하면 다음과 같습니다.
이 초해상도 모델의 출력은 실제로 최종 출력이 아니라 중간 크기의 이미지입니다. 이 이미지를 최종 1024x1024 해상도로 확대하려면 또 다른 초해상도 모델이 사용됩니다. 두 가지 초해상도 아키텍처는 거의 동일하므로 다시 설명하지 않습니다. 두 번째 초해상도 모델의 출력은 Imagen의 최종 출력입니다.
Imagen이 DALL-E 2보다 나은 이유를 정확하게 대답하는 것은 어렵습니다. 그러나 성능 격차의 상당 부분은 자막과 큐의 차이에서 비롯됩니다. DALL-E 2는 대조 대상을 사용하여 텍스트 인코딩이 이미지(기본적으로 CLIP)와 얼마나 밀접하게 관련되어 있는지 확인합니다. 텍스트 및 이미지 인코더는 유사한 자막-이미지 쌍의 코사인 유사성이 최대화되는 반면, 유사하지 않은 자막-이미지 쌍의 코사인 유사성은 최소화되도록 매개변수를 조정합니다.
성능 격차의 상당 부분은 Imagen의 텍스트 인코더가 DALL-E 2의 텍스트 인코더보다 훨씬 크고 더 많은 데이터에 대해 교육을 받았다는 사실에서 비롯됩니다. 이 가설에 대한 증거로 텍스트 인코더가 확장될 때 Imagen의 성능을 조사할 수 있습니다. Imagen의 성능에 대한 파레토 곡선은 다음과 같습니다.
텍스트 인코더 업스케일링 효과는 놀라울 정도로 높은 반면, U-Net 업스케일링 효과는 놀라울 정도로 낮습니다. 이 결과는 상대적으로 단순한 확산 모델이 강력한 인코딩을 조건으로 하는 한 고품질 결과를 생성할 수 있음을 보여줍니다.
T5 텍스트 인코더가 CLIP 텍스트 인코더보다 훨씬 크고 자연어 훈련 데이터가 이미지-캡션 쌍보다 필연적으로 풍부하다는 사실을 고려하면 성능 격차의 대부분은 이러한 차이에 기인할 가능성이 높습니다.
또한 저자는 다음을 포함하여 Imagen의 몇 가지 핵심 사항을 나열합니다.
위 내용은 확산 + 초해상도 모델의 강력한 조합, Google 이미지 생성기의 기술 Imagen의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!