입력한 프롬프트를 바탕으로 이미지를 만드는 AI인 스테이블 디퓨전(Stable Diffusion)은 일반 공개 이후 전세계에서 주목받고 있으며 다양한 툴과 응용 방법이 발표되고 있다. 이런 스테이블 디퓨전으로 이미지를 생성할 때 설정 항목에는 이미지 생성으로 얼마나 프롬프트를 따를지 결정하는 CFG(classifier-free guidance) 스케일이라는 값이 있다.
AI로 이미지와 음성 등을 생성할 때 단순히 라벨 첨부 데이터를 입력해 학습시킬 뿐 아니라 샘플링을 할 때 별도 분류 모델(classifier)을 준비해 이에 의지해 진짜 같은 이미지로 유도하는 기술(Classifier guidance)이 있다. 이 방법을 개선하는 별도 분류 모델을 준비하는 게 아니라 확산 모델과 분류 모델을 동시에 학습시키는 방법이 CFG다.
CFG를 도입해 확산 모델에서의 샘플 다양성을 줄이는 한편 품질을 향상시키는 게 가능하다고 한다. CFG를 발표한 구글 연구자가 공개한 이미지를 보면 CFG를 이용해 생성한 이미지는 구도와 객체가 모두 비슷하지만 품질이 높다는 걸 알 수 있다.
CFG는 스테이블 디퓨전 주요 매개 변수 중 하나이기도 하다. CFG 스케일이 클수록 프롬프트와 img2img로 입력한 이미지를 따라 새로운 이미지를 생성할 수 있지만 이미지가 무너질 가능성이 높아진다. 한편 CFG 스케일이 작으면 작을수록 프롬프트나 입력 이미지로부터는 멀어질 가능성이 있지만 품질은 향상된다는 구조다.
AI 개발 기업인 메타피직(Metaphysic)은 모델을 훈련시킨 LAION 데이터세트는 신뢰도가 있는 짧고 단순한 img2img 지시에서도 효과적인 결과를 가져오는 만큼 종종 CFG 스케일을 늘릴 필요가 없다고 밝혔다. 하지만 스테이블 디퓨전이 사전에 훈련하지 않은 걸 생성하게 하려거나 AI에 대해 일관된 생성이 곤란하거나 여러 명이나 개념을 결합하고 싶다면 CFG 스케일 또는 노이즈 제거 강도를 올릴 필요가 있다고 한다.
스테이블 디퓨전이 img2img를 이용한 이미지 생성에서 싫어하는 것 중 하나는 옷 색상을 바꾸는 것이다. 물론 CFG 스케일이 너무 크면 품질이 떨어지고 순간마다 완전히 다른 이미지가 생성된다. 확실히 옷 색깔을 바꾼다는 지시는 충실하게 지키지만 다른 부분이 크게 손상될 수 있다는 것이다. 메타피직은 이런 문제를 개선하는 방법으로 조금이라도 최종적으로 생성하고 싶은 것에 가까운 소재를 이용하라고 제안하고 있다. 관련 내용은 이곳에서 확인할 수 있다.