Computer Vision / Video Analytics

생성형 AI 연구 스포트라이트: 텍스트-이미지 모델 맞춤화하기

Reading Time: 7 minutes

시각적 생성형 AI는 텍스트 프롬프트에서 이미지를 생성하는 프로세스입니다. 이 기술은 웹 규모 데이터에 대해 사전 학습된 비전 언어 기반 모델을 기반으로 합니다. 이러한 파운데이션 모델은 멀티모달 표현을 제공함으로써 많은 애플리케이션에서 사용됩니다. 이미지 캡션 및 비디오 검색, 창의적인 3D 및 2D 이미지 합성, 로봇 조작 등이 그 예입니다. 이러한 모든 작업은 비전 언어 기반 모델의 ‘오픈 월드’ 기능의 이점을 활용하여 풍부하고 자유로운 형식의 텍스트와 시각적 범주의 ‘롱테일’을 사용할 수 있습니다.

이러한 강력한 기능을 갖춘 모델을 사용하면 새로운 과제가 생깁니다. 바로 이러한 모델을 사용자별 또는 맞춤화된 시각적 컨셉에 어떻게 사용할 것인가 하는 문제입니다. 이러한 모델이 방대한 데이터 세트에서 이미 학습한 내용을 바탕으로 이러한 사용자별 개념을 사전 지식과 결합하도록 어떻게 학습시킬 수 있을까요?

예를 들어, 장난감 브랜드의 크리에이티브 디렉터가 새로운 곰 인형 제품에 대한 광고 캠페인을 기획하면서 슈퍼히어로나 마법사 복장을 한 다양한 상황의 장난감을 보여주고자 한다고 가정해 보겠습니다. 또는 어린이가 가족 반려견의 재미있는 만화를 만들고 싶을 수도 있습니다. 또는 인테리어 디자이너가 오래된 가족용 소파를 사용하여 방을 디자인하고 싶을 수도 있습니다. 이러한 모든 개인화된 사용 사례에는 새로운 장면을 구성하고 특정 항목을 일반 구성 요소와 결합하는 작업이 포함됩니다.

이 문제를 해결하기 위해 몇 가지 알고리즘이 설계되었습니다. 이러한 개인화 알고리즘은 다음과 같은 품질, 사용성 및 효율성 목표를 충족해야 합니다:

  • 학습된 개념의 시각적 아이덴티티를 캡처하는 동시에 텍스트 프롬프트에 따라 변경합니다.
  • 학습한 여러 개념을 하나의 이미지에 결합할 수 있는 기능을 제공해야 합니다.
  • 개념당 적은 메모리 사용량으로 빠르게 처리합니다.
그림 1. 개인화된 이미지 생성을 위한 사용 사례의 예

텍스트 반전이란 무엇인가요?

이 섹션에서는 생성형 AI 개인화를 위한 기본 기술인 텍스트 반전을 통한 개인화의 핵심 아이디어를 살펴봅니다.

개념에 대한 몇 개의 학습 이미지가 주어지면, 파운데이션 모델이 풍부한 언어를 사용하여 구성적인 방식으로 이미지를 생성할 수 있도록 하는 방식으로 새로운 개념을 학습하는 것이 목표입니다. 이 개념은 훈련 과정에서 새로운 개념으로 볼 수 없었던 명사, 관계, 형용사와 결합될 수 있습니다. 동시에 개념은 수정되어 다른 개념과 결합되더라도 ‘본질적인’ 시각적 속성을 유지해야 합니다.

텍스트 반전이라는 접근 방식은 고정된 시각 언어 기반 모델의 단어 포함 공간에서 새로운 단어를 찾아 이러한 문제를 극복합니다(그림 2). 여기에는 새로운 임베딩 벡터를 자리 표시자 S_*로 표시된 새로운 “의사 단어(pseudo-word)”와 일치시키는 학습이 포함됩니다. 그런 다음 이 의사 단어는 다른 단어처럼 취급되어 생성형 모델을 위한 새로운 프롬프트를 구성하는 데 사용됩니다. 중요한 점은 이 과정에서 파운데이션 모델은 손대지 않고 풍부한 텍스트 이해와 일반화 기능을 그대로 유지한다는 점입니다.

S_에 대한 임베딩 벡터를 찾으려면 임베딩 공간에서 “S_의 사진”과 같은 프롬프트에 사용될 때 해당 개념에 대한 학습 이미지와 유사한 이미지를 생성하는 벡터를 검색하면 됩니다.

그림 2. 텍스트 반전은 새로운 특정 개념을 나타내는 새로운 임베딩 벡터를 찾는 것을 목표로 합니다. 이 벡터는 작은(3~5개 이미지) 세트에서 개념의 이미지를 다시 만들어서 찾습니다.

실험적 인사이트

텍스트-이미지 개인화는 다양한 애플리케이션을 가능하게 합니다. 그림 3은 학습된 의사 단어를 새로운 텍스트 프롬프트에 통합하여 새로운 장면을 구성한 것을 보여줍니다. 각 개념은 4개의 예시 이미지에서 학습된 후 새롭고 복잡한 텍스트 프롬프트에 사용됩니다. 고정형 텍스트-이미지 모델은 방대한 사전 지식을 새로운 개념과 결합하여 새로운 창작물을 만들어낼 수 있습니다.

놀랍게도 개념을 학습할 때의 훈련 목표는 본질적으로 시각적이지만, 학습된 의사 단어는 의미적 지식을 캡슐화합니다. 예를 들어, 그릇(맨 아래 줄)은 다른 물체를 포함할 수 있습니다.

그림 3. 텍스트 반전으로 학습한 새로운 개념의 예

또한 개인화를 통해 소규모의 선별된 데이터 세트를 사용하여 편향된 개념에 대해 덜 편향된 새로운 단어를 학습할 수 있습니다. 그런 다음 이 새로운 단어를 원래 단어 대신 사용하여 보다 포괄적인 단어를 생성할 수 있습니다(그림 4).

그림 4. 개인화는 덜 편향된 개념을 학습하는 데 사용될 수 있습니다. 기본 모델(왼쪽)의 ‘의사’라는 용어가 보다 포괄적인 용어(오른쪽)로 대체되었습니다.

경량 모델에서 더 나은 편집

앞서 설명한 텍스트 반전 방법은 경량 모델로, 단 1K 개의 파라미터로 개념을 인코딩합니다. 크기가 너무 작기 때문에 여러 개념을 결합하거나 개념을 텍스트로 엄격하게 제어해야 할 때 품질이 떨어질 수 있습니다.

DreamBooth에서 제시된 대체 모델: 피사체 중심 세대를 위한 텍스트-이미지 확산 모델 미세 조정은 이와 반대되는 접근 방식을 취합니다. 기가바이트 크기의 U-Net 아키텍처를 미세 조정하면 모든 개념에 대해 기가바이트의 스토리지가 필요하고 학습 속도가 느린 리소스 집약적인 모델이 생성됩니다. LoRA(낮은 순위 적응)를 드림부스와 결합하여 U-Net 가중치를 동결하고 더 작은 훈련 가능한 행렬을 특정 레이어에 주입함으로써 스토리지 공간을 줄일 수 있습니다.

우리는 작은 모델 크기를 유지하고 여러 학습된 개념을 하나의 이미지로 결합하는 것을 지원하면서 텍스트 프롬프트와 시각적 아이덴티티에 더 잘 부합하는 이미지를 생성하는 네트워크 아키텍처와 알고리즘을 설계하기 시작했습니다.

저희는 텍스트-이미지 개인화를 위한 키 로킹 1등급 편집에 설명된 대로 가벼운 1등급 모델 편집을 통해 이러한 모든 문제를 해결하는 방법을 제안했습니다. 이렇게 하면 4~7분 이내에 최소 100KB의 저장 공간으로 모델을 개인화하면서 더 나은 일반화를 달성할 수 있습니다.

이 아이디어는 매우 직관적입니다. 곰 인형을 예로 들면, 사전 학습된 모델은 이미 슈퍼 히어로 복장을 한 일반 곰 인형의 이미지를 생성하는 방법을 알고 있을 수 있습니다. 이 경우 먼저 일반 곰 인형의 이미지를 생성하고 일부 모델 구성 요소의 활성화를 ‘락(locked)’으로 유지한 다음 특정 개인화된 곰 인형으로 이미지를 다시 생성하면 됩니다. 물론 핵심은 어떤 컴포넌트를 로킹하느냐입니다.

저희의 주요 인사이트는 확산 모델에서 교차 관심 모듈의 핵심 경로(K 행렬)가 관심도 맵의 레이아웃을 제어한다는 것입니다. 실제로 기존 기법에서는 해당 구성요소를 과도하게 적용하는 경향이 있어 새로운 단어에 대한 주의가 개념 자체의 시각적 범위를 벗어나 누출되는 것을 관찰했습니다.

이러한 관찰을 바탕으로 개인화된 개념(테디베어)의 키가 상위 카테고리(인형 또는 일반 장난감)의 키에 고정되는 키 잠금 메커니즘(그림 5)을 제안했습니다. 모델을 가볍고 빠르게 훈련하기 위해 이러한 구성 요소를 텍스트-이미지 확산 모델에 직접 통합했습니다. 또한 학습된 개념의 고려 강도를 조절하고 추론 시 여러 개념을 결합하는 게이팅 메커니즘을 추가했습니다. 저희는 이러한 접근 방식을 Perfusion(개인화된 확산)이라고 부릅니다.

그림 5. Perfusion 아키텍처: 프롬프트가 교차 주의 모듈(보라색 블록으로 표시)에 공급되고 이 모듈이 주의 지도를 생성하여 가치 경로를 변조하는 방식
그림 6. 네 가지 개인화 방법에 대한 모든 개인화된 컨셉에 필요한 추가 메모리: 드림부스, LoRA, Perfusion및 텍스트 반전. 원 크기는 개념별 메모리 요구 사항의 함수입니다.

실험적 인사이트

이 섹션에서는 Perfusion의 속성을 살펴볼 수 있는 일련의 예제를 소개합니다.

그림 7은 두 개의 새로운 개념을 하나의 이미지로 결합하여 고품질의 개인화된 이미지를 생성한 예시입니다. 왼쪽의 이미지는 모델에 새로운 개인화 개념인 테디와 티팟을 가르치는 데 사용됩니다. 실제로는 구체적인 설명이 필요하지 않으며 장난감과 같은 더 넓은 개념을 사용할 수도 있습니다. 오른쪽 이미지에서는 이러한 개념이 “주전자를 타고 항해하는 곰인형*”과 같이 놀라운 방식으로 결합되어 있습니다.

그림 7. 고품질의 개인화된 생성 이미지 예시

그림 8은 Perfusion에서 키 로킹(Key-locking)을 사용하여 생성된 이미지와 텍스트 프롬프트의 유사성을 살펴보는 효과를 보여줍니다. 키 잠금을 사용하여 생성된 이미지(위쪽 줄)는 키 로킹을 사용하지 않은 이미지(아래쪽 줄)보다 프롬프트와 훨씬 더 잘 일치하지만, 훈련 이미지의 자세 및 모양과 유사성은 다소 낮습니다. 키 훈련은 드림부스나 LoRA와 비슷하지만 저장 공간이 덜 필요합니다.

그림 8. 키 로킹으로 생성된 이미지(위쪽)가 키 로킹 없이 생성된 이미지(아래쪽)보다 프롬프트와 더 잘 일치합니다

그림 9는 Perfusion을 통해 제작자가 단일 런타임 파라미터를 사용하여 생성 중에 시각적 충실도와 텍스트와의 유사성 간의 균형을 제어할 수 있는 방법을 보여줍니다. 왼쪽은 단일 런타임 파라미터가 조정된 훈련된 단일 모델의 정량적 결과입니다. 재학습 없이 생성 시 이 파라미터를 조정하여 다양한 결과(파란색 선으로 표시)를 얻을 수 있습니다. 오른쪽 이미지는 이 파라미터가 생성된 이미지에 미치는 영향을 보여줍니다.

그림 9. 추론 시점에 시각적 텍스트 유사도 제어하기

그림 10은 Perfusion을 기본 방법과 비교한 것입니다. Perfusion은 훈련 이미지의 특징에 영향을 받지 않고 뛰어난 즉각적인 일치도를 달성합니다.

그림 10. CustomDiffusion와 기준 방법 비교

개인화 가속화

텍스트 반전 및 Perfusion과 같은 대부분의 개인화 방법은 모델에 새로운 개념을 가르치는 데 몇 분이 걸릴 수 있습니다. 이는 취미로 하는 작업에는 충분히 빠를 수 있지만, 대규모로 또는 즉석에서 개인화를 활성화하는 더 빠르고 효율적인 방법이 있습니다.

새로운 개념의 학습 프로세스 속도를 높이는 한 가지 방법은 인코더를 사전 학습하는 것입니다. 인코더는 긴 개인화 훈련 프로세스의 대략적인 결과를 예측하도록 훈련된 신경망입니다. 예를 들어, 모델에 고양이를 나타내는 새로운 단어를 가르치고 싶다면 고양이 이미지를 하나 이상 입력으로 받아 새로운 단어에 대한 숫자 표현을 출력하는 새로운 모델을 훈련시킬 수 있습니다. 그런 다음 이 표현을 텍스트-이미지 변환 모델에 입력하여 고양이의 새로운 사진을 생성할 수 있습니다.

저희는 2단계 접근 방식을 취하는 인코더-포-튜닝(E4T) 방법을 제안했습니다. 첫 번째 단계에서는 개념을 설명하는 새로운 단어와 해당 개념의 클래스에 대한 가중치 오프셋 세트를 예측하는 방법을 학습합니다. 이러한 오프셋을 통해 개, 고양이 또는 얼굴과 같은 해당 클래스의 새로운 개체를 개인화하는 방법을 더 쉽게 학습할 수 있습니다. 이러한 오프셋은 과적합을 피하기 위해 작게 유지(정규화)됩니다.

두 번째 단계에서는 전체 모델 가중치(가중치 오프셋 포함)를 미세 조정하여 컨셉의 단일 이미지를 더 잘 재구성합니다. 여전히 약간의 조정이 필요하지만, 첫 번째 단계를 통해 콘셉트에 매우 근접하게 시작할 수 있습니다. 결과적으로 새로운 콘셉트를 훈련하는 데 걸리는 시간은 몇 분이 아니라 단 몇 초에 불과한 5단계에 불과합니다.

결론

개인화 생성의 최근 발전으로 이제 놀랍도록 새로운 맥락에서 특정 개인화 아이템의 고품질 이미지를 만들 수 있습니다. 이 게시물에서는 개인화의 기본 개념과 개인화된 텍스트-이미지 모델을 개선하기 위한 두 가지 접근 방식에 대해 설명했습니다.

첫 번째 접근 방식은 키 로킹을 사용하여 학습 이미지의 시각적 모양과 텍스트 프롬프트 의미의 유사성을 개선하는 것입니다. 두 번째 접근 방식은 인코더를 사용하여 더 적은 수의 이미지로 개인화 속도를 100배 높입니다. 이 두 가지 기술을 결합하면 매우 빠르게 학습할 수 있는 고품질의 가벼운 모델을 만들 수 있습니다.

이러한 기술에는 여전히 한계가 있습니다. 학습된 모델이 항상 개념의 정체성을 완전히 보존하는 것은 아니며 일반적인 개념이 아닌 텍스트 프롬프트를 사용하여 편집하기가 더 어려울 수 있습니다. 향후 연구에서는 이러한 한계를 지속적으로 개선해 나갈 예정입니다.

상업용 애플리케이션에서 이러한 접근 방식을 사용하는 데 관심이 있으신가요? 연구 라이선스 요청 양식을 작성해 주세요.

관련 리소스

Discuss (0)

Tags