개요
기존 T2I에서 프롬프트를 통해 "특정 캐릭터의 일러스트" 이미지를 생성하려고 하는 경우.
일반적으로 프롬프트에서 목표 캐릭터의 특징을 나타내는 키워드를 포함하여 해당 캐릭터에 일러스트가 나올때까지 생성을 반복하는 과정이 필요하다.
하지만 이 방법에는 단점이 존재한다.
- 모델 학습에 포함되지 않은 것 같은 마이너한 캐릭터는 아무리 시도해도 비슷한 수준의 이미지만 생성된다.
- 목표 캐릭터가 유명 캐릭터일 경우라도 다른 캐릭터가 생성되는 경우가 있다.
- 목표 캐릭터 이미지를 생성하기 위해 나올 때까지 몇번이든 반복해야한다.
이러한 문제를 해결하기 위해 "기존 모델을 한 캐릭터가 나오도록 조정"하는 Fine-Tuning 필요성이 대두 되었고 "LoRA"가 나오게 되었다.
LoRA
LoRA(Low-Rank Adaptation)은 Stable Diffusion 모델의 성능을 향상 시키키기 위한 기법중 하나이다.
대규모 사전 학습된 모델을 효율적으로 Fine-Tuning하는 방법으로 전체 모델 가중치를 업데이트하는 대신, "작은 Rank의 가중치 변화"만을 추적한다.
이를 통해 몇가지 이점을 얻을 수 있다.
- 메모리 효율성 : LoRA는 전체 모델 가중치 대신 작은 랭크 가중치만 저장하므로 메모리 사용량이 적다.
- 계산 효율성 : fine-tuning 단계에서 전체 모델이 아닌 작은 랭크 가중치만 업데이트하면 되므로 계산 비용이 낮다.
- 유연성 : 다양한 작업에 대해 별도의 LoRA 가중치를 학습시켜 모델에 적용할 수 있다.
- 가역성 : 기존 모델 가중치를 수정하지 않고 LoRA 가중치만 제거하면 원래 모델로 돌아갈 수 있다.
Stable Diffusion에서 LoRA를 사용하는 목적은 두 가지 정도로 나눌 수 있다.
- 특정 도메인이나 스타일에 특화된 모델 Fine-Tuning
- 부적절한 콘텐츠 제거 등 모델 출력 제어
LEGO LoRA를 적용한 생성 예시
긍정 prompt : LEGO MiniFig, Jack Sparrow in the film of Pirates of the Caribbean, standing by a broken boat on beach <lora:lego_v2.0:0.8>, masterpiece, high detail, 8k, high detailed skin, 8k uhd, high quality
부정 prompt : ugly, disfigured, deformed, worst quality, low quality, logo, text, watermark, username, easynegative, ng_deepnegative_v1_75t, bad-hands-5, bad_artist
'AI > Computer Vision' 카테고리의 다른 글
[Computer Vision] Inpainting (0) | 2024.03.25 |
---|---|
[Computer Vision] DreamBooth (0) | 2024.03.11 |
[Computer Vision] IP-Adapter (0) | 2024.03.10 |
[Computer Vision] Control Net (0) | 2024.03.09 |
[Computer Vision] Image Segmentation (0) | 2024.03.09 |