본문 바로가기
AI · 인공지능/이미지 생성 AI

「Stable Diffusion」에서「CFG(classifier-free guidance)」란 도대체 무엇인가?

by 두우우부 2022. 11. 6.
반응형

 

입력한 프롬프트를 바탕으로 이미지를 생성하는 AI 'Stable Diffusion'은 일반 공개 이후 전 세계 사람들로부터 주목을 받고 있으며 다양한 과 응용 방법도 발표되고 있습니다. 그런 Stable Diffusion으로 이미지를 생성할 때의 설정 항목에, 「이미지 생성 시 얼마나 프롬프트를 따르는가」를 결정하는 「CFG(classifier-free guidance) 스케일」이라는 값이 있습니다.

CLASSIFIER-FREE DIFFUSION GUIDANCE.pdf

CLASSIFIER-FREE DIFFUSION GUIDANCE.pdf
3.60MB

The Road to Realistic Full-Body Deepfakes - Metaphysic.ai

 

The Road to Realistic Full-Body Deepfakes - Metaphysic.ai

It's nearly five years since the advent of deepfakes released into the public realm the ability to alter people's facial identities; at first, in recorded video, and now even as a streaming implementation, with DeepFaceLive.

metaphysic.ai

 

AI로 이미지와 음성을 생성할 때, 단순히 라벨 데이터를 입력해 학습시킬 뿐 아니라, 샘플링 시에 별도 분류 모델(classifier)을 준비해, 이것에 의지해 진짜 같은 이미지 생성을 유도하는 「Classifier guidance」라는 기술이 있습니다. 이 방법을 개선하고 별도 분류 모델을 준비하는 것이 아니라 확산 모델과 분류 모델을 동시에 학습시키는 방법이 CFG(classifier-free guidance)입니다.

CFG를 도입함으로써, 확산 모델에서의 샘플의 다양성을 감소시키는 한편, 품질을 향상하는 것이 가능합니다. CFG를 발표한 Google의 연구자가 공개한 다음 이미지는 왼쪽이 'CFG를 사용하지 않고 생성한 이미지', 오른쪽이 'CFG를 사용하여 생성한 이미지'입니다. CFG를 사용하여 생성된 이미지는 구도와 객체가 모두 비슷하지만 품질이 높다는 것을 알 수 있습니다.


CFG는 Stable Diffusion의 주요 매개 변수 중 하나이기도합니다. CFG 스케일이 클수록 프롬프트와 img2img로 입력한 이미지를 따라 새로운 이미지를 생성할 수 있지만 이미지가 무너질 가능성이 높아집니다. 한편, CFG 스케일이 작으면 작을수록 프롬프트나 입력 화상으로부터 멀어질 가능성이 있지만, 품질은 향상되는 구조로 되어 있습니다.


AI 개발 기업인 Metaphysic은 "모델을 훈련시킨 LAION 데이터 세트는 신뢰성 있는 짧고 단순한 img2img 지시에서도 효과적인 결과를 가져오므로 종종 CFG 스케일을 늘릴 필요가 없다."라고 말하고 있습니다. 그러나 Stable Diffusion이 사전에 훈련하지 않은 것을 생성하고 싶거나, AI에 대해 일관된 생성이 곤란하거나, 여러 사람이나 개념을 결합하고 싶은 경우에는 CFG 스케일 또는 노이즈 제거 강도를 올릴 필요가 있다는 것입니다.

Stable Diffusion이 img2img를 사용한 이미지 생성 시 어려워하는 부분이 「옷의 색을 바꾸는 것」이라고 합니다. 아래는 Metaphysic이 Stable Diffusion을 사용하여 빨간 드레스를 입은 여성의 사진을 img2img로 입력하고, 그것을 바탕으로 "A woman in a blue evening dress(파란 이브닝드레스를 입은 여성)"라는 프롬프트를 따라 이미지를 생성하려는 화면입니다. CFG 스케일은 일반적인 추천치(7~11 정도)보다 약간 높은 「13.5」로 설정해, 금지 워드에 「red(빨강)」를 넣고 있는데도, 여성의 이브닝드레스는 붉은 채로 되어 있습니다.

 


또, Metaphysic가 「퍼포머가 입고 있는 옷의 색을 감색으로부터 적색으로 변경해, 얼굴을 셀마 헤이엑으로 한다」라고 하는 처리를 Stable Diffusion으로 시도해 봤습니다.

좌측이 「CFG:12, 노이즈 제거:0.46」라고 하는 표준적인 파라미터로 생성한 것으로, 우측이 「CFG:28, 노이즈 제거:0.94」라고 하는 거의 최대치에 가까운 파라미터로 생성한 것. 좌하의 테두리에 비치고 있는 것이 입력 데이터가 되는 여성 퍼포머의 움직임입니다. 좌측과 우측에서는 질감도 포즈도 분명히 다르고, 좌측이 이미지로서의 정밀도가 훨씬 높은 것을 알 수 있습니다만, 드레스의 색만은 우측이 프롬프트에 따른 것이 되고 있습니다.


좌측은 거의 퍼포머와 같은 움직임이 되고 있습니다만, 우측은 퍼포머와 완전히 다른 포즈를 취하는 경우도 있습니다.


CFG 스케일이 너무 크면 품질이 떨어지고 순간마다 완전히 다른 이미지가 생성됩니다. 확실히 「드레스의 색을 적색으로 변경한다」라고 하는 지시는 충실하게 지키고 있습니다만, 그 이외의 부분이 크게 손상되고 있습니다.


Metaphysic은 이러한 문제를 개선하는 방법으로서, 조금이라도 최종적으로 생성하고 싶은 것에 가까운 소재를 사용하는 것을 제안하고 있습니다.

반응형