23.06.15
DEVOTEE를 활성화 시키면
지금 작성한 커뮤니티 글에 대해 1개의 댓글을 달아줍니다.
버튼을 누르면 글 수정 시 ChatGPT가 작성한 댓글이 수정됩니다.
| 컨텐츠 유형 | 제목 | 저장일 | 삭제 |
|---|
본인인증 로그인에 실패하였습니다.
회원이 아니시거나 본인인증 등록이
완료되지 않은 사용자입니다.
안녕하세요. 저희는 SKT AI FELLOWSHIP 4기에서 Language-Image Multi-Modal AI 기술 연구를 맡고 있는 Team KEANU입니다!
아마, 해당 글이 저희의 마지막 글이 될 것 같습니다. (최종 발표 리뷰 게시물 말구요.)
마지막 글인 만큼, 정성을 담아 작성해 보겠습니다!
앞서 Textual Inversion이라는 기술을 소개 해드렸습니다.
Textual Inversion은 치명적인 단점을 갖고 있습니다. 바로 Context를 유지 할 수 없다는 점이죠.
만약, 내가 원하는 '백설공주' 라는 이미지를 Textual Inversion으로 만들어서 동화책을 만든다고 가정 해 봅시다.
첫 번째 장에서 나오는 백설공주와 그 뒤의 3~4 번째 장에서 등장하는 백설공주의 사진은 동일할까요?
DreamBooth는 Context를 잘 유지하면서 계속 이미지를 생성 할 수 있습니다. 자, 그럼 Textual Inversion의 단점을 해결한 DreamBooth를 만나러 가 봅시다!
에이닷으로 캐릭터를 생성해보고, 해당 캐릭터를 사용하여 다른 Prompt를 입력 했을 때에도 해당 캐릭터가 잘 나오는지 확인해 봤습니다.
위의 캐릭터는 저희가 에이닷으로 만든 모델입니다. 해당 캐릭터를 가지고 다른 상황의 Prompt에서도 Context를 잘 유지하는 지 테스트 해봤습니다.
어떤가요? 잘 나오는 모습을 볼 수 있습니다! 다른 캐릭터도 할 수 있냐구요? 물론이죠!
테스트 해 볼게요!
어떤가요? 잘 나오는 것을 알 수 있습니다! 그럼 이제 논문 내용을 같이 보러가죠!
대형 텍스트-이미지 모델은 AI의 발전에 있어서 놀라운 도약을 달성하여 주어진 텍스트-프롬프트에서 고품질 및 다양한 이미지 합성을 가능하게 했습니다.
그러나 이러한 모델은 주어진 참조 세트에서 피사체의 모양을 모방하고 다른 맥락에서 피사체의 새로운 표현을 합성하는 능력이 부족합니다.
해당 연구에서, 저자들은 텍스트-이미지 Diffusion 모델의 '개인화'를 위한 새로운 접근 방식을 제시합니다. (사용자가 원하는 요구에 부합하도록)
따라서, 몇 개의 이미지만 입력으로 주어진다면 사전 훈련된 Text-to-Image 모델을 Fine-tuning하여 고유한 index를 해당 피사체와 묶는 방법을 학습합니다.
피사체가 모델의 output 영역에 포함 된다면 고유한 index를 사용하여 다른 장면에서 해당 피사체의 완전히 새로운 사실적인 이미지를 합성 할 수 있습니다.
새로운 자체 클래스 별 정보 보존 loss와 함께 모델에 내장되어 있는 의미론적인 보존을 활용함으로써, 해당 기술은 참조 이미지에 나타나지 않는 다양한 장면, 자세, 보기 및 조명 조건에서 피사체를 합성 할 수 있습니다.
만약, 글을 읽어주시는 독자 분들이 동화책의 주인공이 되어 보는 것은 어떨까요? 😊
내가 백설공주와 결혼한 왕자라면? 내가 마녀라면? 왕비의 명령을 받아 백설공주를 죽이러 가는 사냥꾼이라면?
이러한 가상 장면을 렌더링 하는 것은 특정한 주제(객체나 동물 등)의 인스턴스를 새로운 맥락에서 합성하여 자연스럽게 장면과 매끄럽게 혼합해야 하는 어려운 작업입니다.
최근 개발된 대규모 텍스트-이미지 모델은 자연어로 작성된 텍스트 프롬프트를 기반으로 고품질 및 다양한 이미지 합성를 가능하게 함으로써, AI의 진화에 놀라운 도약을 보여주었습니다.
이러한 모델들의 주요 장점 중 하나를 꼽으라면, 많은 이미지-캡션 pair 세트에서 학습된 강력한 의미 Dictionary입니다.
예를 들어, 이미지에서 다른 포즈와 문맥으로 나타날 수 있는 개의 다양한 사례와 "개"라는 단어를 결합 하는 것을 학습합니다.
이러한 모델의 합성 기능은 전례가 없지만, 주어진 참조 세트에서 피사체의 모양을 모방하고 다른 맥락에서 동일한 피사체의 새로운 표현을 합성하는 능력이 부족합니다.
주된 이유는 출력 영역의 표현성이 제한적이기 때문이죠. 객체에 대한 가장 상세한 텍스트 설명도 다른 외관을 가진 인스턴스를 생성할 수 있습니다.
그리고, 텍스트 임베딩이 Language-Vision 교집합 공간에 있는 모델 또한 주어진 피사체의 모양을 정확하게 재구성할 수 없고 이미지 내용의 변형만 생성합니다.(아래 그림)
그림[2] : 특정한 시계 사진이 주어진 경우 핵심적인 시각적 특징에 대한 높은 유동성을 유지하면서 다른 맥락에서 이미지를 생성하는 것은 어려운 일입니다. IMAGEN 모델은 시계 모양에 대한 자세한 설명이 포함된 텍스트 프롬프트를 수십 번 입력으로 넣어 주더라도 (정글에서 시계 면의 오른쪽 부분에 노란색 숫자 3이 있는 복고풍 노란색 알람 시계) 주요한 시각적 특징을 재구성 할 수 없습니다. 또한 텍스트 임베딩이 언어-비전 공유 영역에 있는 DALLE:2 모델도 주어진 주체의 모양을 재구성하거나 컨텍스트를 수정할 수 없습니다. 대조적으로, 저자들의 접근 방식은 높은 유동성과 새로운 맥락에서도 시계 사진을 합성할 수 있었습니다.
따라서 해당 연구에서는 텍스트-이미지 확산 모델의 "개인화"를 위한 새로운 접근 방식을 제시합니다.
저자들의 목표는 모델의 언어-비전 사전을 확장하여 사용자가 생성하고자 하는 특정 주제와 새로운 단어를 결합 하려는 것입니다.
만약, 새롭게 만들어진 사전이 모델에 포함된다면 이러한 단어를 사용하여 다양한 장면에서 맥락화된 대상의 새로운 사실적 이미지를 합성하는 동시에 주요 식별 특징을 보존할 수 있습니다.
마치, "Magic Photo Booth"와 유사하죠. ( 해당 논문의 제목이 여기서 유래되었습니다 )
피사체의 이미지 몇 개를 촬영하면 Booth는 간단하고 직관적인 텍스트 프롬프트에 따라 다양한 조건과 장면에서 피사체의 사진을 생성합니다.
보다 구체적으로 말씀 드리면, 피사체의 이미지(3-5)가 몇 개 주어지는 경우 저자들의 목표는 피사체를 모델의 출력 영역에 이식하여 고유한 식별자로 합성할 수 있도록 하는 것입니다.
이 작업을 위해서 저자들은 주어진 주제를 희귀 토큰 식별자로 표현하고 텍스트에서 저해상도 이미지를 생성한 후 이어서 Super Resolution Diffusion 모델을 적용하는 두 단계로 작동하는 사전 훈련된 확산 기반 텍스트 대 이미지 프레임 워크를 Fine-tuning하는 기술을 제안합니다.
먼저 고유한 식별자를 포함하는 입력 이미지와 텍스트 프롬프트에 이어 피사체의 클래스 이름( ex : "A [X] dog") 을 사용하여 저해상도 text-to-image 모델을 fine-tuning합니다.
Overfitting 및 Language Drift를 방지하기 위해 클래스 이름(ex : 개)를 특정 인스턴스와 연결하는 모델은 모델에 포함된 클래스에 대한 의미론적인 Dictionary 보존을 활용하고, 저자들의 주제와 동일한 클래스의 다양한 인스턴스를 생성하도록 장려하는 자체적이고 클래스별 사전 보존 LOSS를 제안합니다.
Language Drift란?
특정 클래스의 명사가 포함된 텍스트를 파인튜닝 할 때, 클래스의 다른 인스턴스를 점차 망각하는 현상을 말합니다.
두 번째 단계에서는 입력된 이미지의 저해상도 및 고해상도 버전을 쌍으로 사용하여 SuperResolution 구성요소를 fine-tuning합니다.
이를 통해 모델은 대상의 작은 세부 사항에 대해 높은 일관성을 유지 할 수 있었다고 하네요! 👍
[그림3] : 저자들의 방법은 특정 주에와 해당 클래스의 이름의 몇 개의 이미지를 입력으로 취하고, 주제를 참조하는 고유한 식별자를 인코딩하는 fine-tuned / personalized 텍스트-이미지 모델을 return합니다. 그런 다음 인퍼런스 시에 고유한 식별자를 다른 문장에 이식하여 다른 맥락에서 주제를 합성 할 수 있었습니다.
저자들은 입력 이미지 설정에 어떠한 제한을 두지 않았으며, 대상의 이미지는 다양한 컨텍스트를 가질 수 있었다고 합니다.
출력의 변형으로는 피사체가 있는 장소의 변경, 색상, 종, 모양 등의 피사체 자제의 속성을 변경 할 수 있었고 피사체의 자세,재료 및 기타 의미론적인 수정 또한 가능했습니다.
저자들은 이러한 모델의 강력한 능력을 고려할 때 이러한 수정의 폭이 매우 크다는 것을 알았다고 하네요.
그림3을 보면서 얘기를 해봅시다.
첫 번째 단계에서는 대상이 되는 인스턴스를 모델의 출력 도메인으로 넣고, 그 대상을 고유한 식별자로 바인딩 하는 작업입니다.
이때 적은 수의 이미지 만으로 Fine-tuning하기 때문에 Overfitting이 발생할 확률이 높습니다. 따라서 이를 방지 하기 위해 저자들은 Autogenous Class-Specific Prior Preservation Loss를 제안합니다.
또한 Detail한 부분의 정보를 강화하기 위해 모델의 초고해상도 구성 요소 또한 Fine-tuning 해야 한다는 것을 발견했다고 합니다.
그러나, 만약 SR요소들이 저자들의 주제 인스턴스를 naive한 방식으로 생성하도록 Fine-tuning할 수 있다면 필요 없습니다.
따라서, detail을 잘 보존하기 위해 이러한 SR 모듈을 훈련하고 테스트 할 수 있는 방법을 제시하여 recontextualization에서 엄청난 성능을 보여주었습니다.
[ 그림4 ] : 피사체의 이미지가 3-5개 주어지면 텍스트 대 이미지 확산을 두 단계로 fine-tuning합니다. (a) 텍스트 프롬프트와 pair를 이루는 입력 이미지로 저해상도에서 모델을 fine-tuning합니다. 고유한 식별자와 피사체가 속한 클래스의 이름을 포함하여, 병렬로 모델이 클래스에 대해 가지고 있는 의미론적 사전 보존 손실을 활용하고 텍스트 프롬프트에서 클래스 이름을 사용하여 피사체의 클래스에 속하는 다양한 인스턴스를 생성하도록 장려하는 클래스별 사전 보존 손실을 적용합니다. (b) 입력 이미지 세트에서 가져온 저해상도 및 고해상도 이미지 pair로서 SR요소를 fine-tuning하여 피사체의 높은 정밀도에서 작은 detail 까지 유지 할 수 있습니다.
저자들은 주관성을 최소로 하기 위해 이미지에 " [식별자] [클래스 noun] " 의 형태로 간단한 Label를 사용했습니다.
이런 방식을 사용하는 이유는, 클래스 명사 없이 식별자만 사용하여 훈련을 진행 한 경우에 속도가 매우 느려지고 성능 또한 떨어졌다고 합니다.
식별자를 지정 해 주는 것도 매우 중요한 일입니다. 저자들은 "unique", "special" 등의 기존 단어를 사용하면 의미를 재정의 해야 하기 때문에 훈련이 느려졌습니다. 임의의 문자 조합 식별자(e.g. "xxy5syt00")를 사용한 경우에도 문제가 발생했다고 하네요.
어휘에서 상대적으로 Rare Token을 찾습니다. 그 다음, Rare Token들을 Text Embedding으로 Inversion 해주는 과정을 거칩니다.
Tokenizer를 g라고 하고, 텍스트를 V라고 하면 g(V)에서 g(v)를 얻은 다음 반전해 얻은 텍스트 v 를 식별자로 사용합니다.
Overfitting과 Language Drift는 Text-to-image few-shot Fine-tuning 방법에서 고질적인 문제입니다.
따라서 저자들은 두 문제에 대응할 수 있도록 Autogenous Class-specific Prior-preserving loss를 제안합니다.
해당 방법은 모델을 유지하기 위해 자체적으로 생성된 샘플로 모델을 Supervise 합니다.
[그림4]의 왼쪽부분에 해당합니다.
우선, Frozen 되어 사전학습 된 Diffusion model에서 랜덤한 initial Noise를 사용하고, 컨디셔닝 벡터 Cpr := f(”a [클래스 명사]”)를 이용해 데이터 Xpr을 얻게되는데, 이를 수식으로 표현하면
형태가 됩니다.
이를 이용하여 새롭게 LOSS를 표현하면,
가 됩니다.
여기서 λ는 Prior-preservation Term의 상대적인 가중치를 제어하는 역할이며, 1의 값으로 ~200epoch에서 좋은 결과를 얻기에 충분하다는 것을 발견했다고 합니다.
저 해상도 모델은 시각적인 의미를 담당하고, SR 모델은 주로 이미지의 detail한 부분들을 담당한다고 합니다. (당연 한 거겠죠?)
이때. 이미지 생성을 할 때 detail을 위하여 augmentation의 노이즈 증가 수준을 1/100으로 줄였다고 합니다.
현실적인 상호 작용을 잘 보여주고 있습니다!
미술적인 감각 또한 잘 이해하고 있구요
감정 또한 표현 할 수 있습니다!
정면을 바라보는 사진으로만 학습을 해도 텍스트를 이용하여 View Points들을 변경 할 수 있습니다!
옷을 입고 있지 않은 강아지의 사진으로 옷이나 악세사리를 착용한 사진을 합성할 수 있습니다!
색상 변환은 물론, 다른 종으로도 표현이 가능해요 👍
저희도 해당 기술을 이용해서 에이닷에 넣을 예정이랍니다 😊😊
Ruiz, Nataniel, et al. "Dreambooth: Fine tuning text-to-image diffusion models for subject-driven generation." arXiv preprint arXiv:2208.12242 (2022).
DEVOTEE를 활성화 시키면
지금 작성한 댓글에 AI가 댓글을 달아줍니다.