본문 바로가기

논문 리뷰/Diffusion Model

What the DAAM: Interpreting Stable Diffusion Using Cross Attention

DAAM 코드 리뷰, DAAM 써보기


단어가 생성된 이미지에 미친 영향을 hitmap으로 표시

 

arXiv

Github

 

 

 

Abstract

Stable diffusion에 대한 text-image 속성 분석.

 

 

 

Introduction

모델에서 cross attention map을 결합하여 각 단어에 대한 2차원 속성 map을 생성한다. 이것을 Diffusion Attentive Attribution Maps(DAAM) 라고 함.

 

  • DAAM을 semantic segment와 비교
  • 프롬프트의 구문 공간에서의 관계가 이미지의 픽셀 공간에서의 관계와 어떻게 관련되는지를 특성화
  • DAAM의 렌즈를 통해 의미론적 현상, 특히 생성 품질에 영향을 미치는 현상을 연구하여 구문적 발견을 추가로 조사

 

 

예를 들어, '기린과 얼룩말'은 기린이나 얼룩말을 생성하지만 둘 다 생성하지는 못한다. 또, 서술형 형용사는 개체를 넘어 이미지 전반에 과도하게 관여한다.

 

 

 

Approach

Preliminaries

LDM

(기호 통일용)

 

본 논문에서는 Stable diffusion 2.0 모델 사용.

 

Diffusion Attentive Attribution Maps

U-Net 다운샘플링 계층은 lt를 입력으로 받고 일련의 벡터 {hi,t}i=1K (i는 다운샘플 횟수)를 출력한다. 업샘플링은 반대로 {hi,t}i=K-10 .

텍스트 임베딩을 조건화하기 위한 multi-head cross attention.

밑으로는 Ft(i)↓ 및 Ft(i)↑로 표기.


Spatiotemporal aggregation

Ft(i)↓[x,y,l,k]는 k번째 단어를 i번째 다운샘플링 블록과 l번째 head에 대한 중간 좌표 (x,y)에 연결하고 [0,1]로 정규화된다.

 

 

컨볼루션의 특성으로 인해 해당 좌표의 주변 사각형 영역에 매핑되고 각 단어는 각 영역에 관련된다.

각 다운샘플, 업샘플 계층의 다양한 크기의 hitmap을 bicubic 보간으로 이미지의 원래 크기로 통일한 다음 head, layer, timestep에 걸쳐 합계한다.

 

임계값을 넘는 픽셀만 표시되도록 함.

 

위 방법을 DAAM라고 한다.

 

 

 

Analysis

이 파트에 대해서는 따로 글을 쓰던가 해야겠음.

좀 길고 기술을 소개하는 취지랑 별로 맞지 않아서... 프롬프트 특집으로 하던가... 안 할 수도?