text 설명 만으로 정확히 원하는 대상을 얻어내기 어렵다.
⇒ Personalization : 큰 모델을 우리가 원하는 대상에 관한 사진 일부로 미세조정하여 피사체에 대한 새로운 이미지를 텍스트로부터 정확하게 생성하는 방법.
우리가 원하는 대상 이미지 3~5개를 새로 학습시켜 해당 대상을 표현하는새로운 단어 $S_*$ 를 임베딩 공간에서 찾는다.
즉 text embedding model에 vocabulary를 하나 추가($S_$)해 해당 단어에 맞는 임베딩 벡터 $v_$ 를 새롭게 학습한다.
결과
[https://textual-inversion.github.io/]
reference인 유니콘 이미지를 새로운 S* 단어로 여긴다.
$S_*$ 는 꼭 객체일 필요는 없고, 새로운 스타일이 될 수도 있다.
3~5 장의 이미지만으로도 미세 조정이 가능하다.
사전학습된 text to image LDM 모델의 U-net을 직접 fine-tuning하는 기법이다.
학습시키고자 하는 새로운 이미지와 함께 해당 이미지의 class를 정해줘야 한다.
그리고 class 앞에 새로운 이미지를 표현할 수 있는 새로운 식별자를 설정한다.
사전학습에 사용되지 않았을 법한 1개의 단어 혹은 3글자 정도의 임의의 문자를 사용한다.
e.g. [홍길동의] [강아지] , [서울] [강아지], [피카소] [강아지]
새로운 손실함수에 따라 파인튜닝
Fine-tuning의 문제점
언어 드리프트(drift) : 대상과 동일한 클래스의 이미지를 생성하는 방법을 천천히 잊어버린다.
e.g. 새로운 강아지 사진으로 파인튜닝하면 원래 강아지 클래스에 대해 갖고 있던 생성 분포를 잊어버릴 수 있다.
다양성 부족 : 포즈, 각도 등 새로운 학습 이미지에 과적합되어 다양한 생성이 어려워진다.
결과
10~15개의 대상 이미지를 사용하여 학습할 수 있다.
자연어 처리 모델의 파인튜닝 기법인 LoRA를 활용
text encoder 또는 U-net의 Cross Attention Layer에 적용하여 파인튜닝한다.
[https://www.researchgate.net/figure/Decomposition-of-the-low-rank-matrix-A-R-m-n_fig2_268514880, https://www.researchgate.net/figure/Decomposition-of-the-low-rank-matrix-A-R-m-n_fig2_268514880]