InstructPix2Pix와 함께 Stable Diffusion 명령어 튜닝

Hugging Face는 InstructPix2Pix 훈련 전략을 적용하여 Stable Diffusion을 명령어 튜닝함으로써 만화화 및 빗물 제거와 같은 특정 이미지 변환 및 저수준 처리 작업을 수행할 수 있음을 보여주었습니다. 이 접근 방식은 모델이 일반 목적 사전 학습 모델보다 입력 이미지를 보다 충실하게 수정하도록 정확한 자연어 명령을 따르게 합니다.

이미지 편집을 위한 명령어 튜닝

명령어 튜닝은 자연어 프롬프트를 기반으로 작업을 해결하도록 모델을 교육하는 감독 학습 방법입니다. 원래는 언어 모델(예: FLAN)을 위해 개발되었지만, Hugging Face는 InstructPix2Pix 프레임워크를 사용하여 이 철학을 Stable Diffusion에 적용했습니다.

사전 학습된 InstructPix2Pix 모델은 일반 편집 지시를 따를 수 있지만, 특정 변환에서는 종종 어려움을 겪습니다. 이를 해결하기 위해 연구자들은 특수 작업을 위한 쌍으로 된 데이터셋을 활용하여 명령어 기반 데이터셋을 만들었으며, 이를 통해 모델이 명령과 시각적 변환 사이의 구체적인 매핑을 학습하도록 했습니다.

데이터셋 준비 및 방법론

모델을 훈련시키기 위해 Hugging Face는 입력 이미지와 목표 출력 및 해당 자연어 명령을 짝지어 특수 데이터셋을 만들었습니다.

만화화 데이터셋

모델에게 이미지를 "만화화"하도록 가르치기 위해 팀은 3단계 파이프라인을 구현했습니다:

  1. Instruction Generation: ChatGPT를 사용하여 "Cartoonize the image" 명령에 대한 50개의 동의어 문장을 생성했습니다.
  2. Label Generation: 사전 학습된 Whitebox CartoonGAN 모델을 사용해 Imagenette 데이터셋의 5,000개 샘플을 처리하여 목표 만화화 이미지를 만들었습니다.
  3. Exemplar Creation: 이러한 구성 요소들을 원본 이미지, 명령, 그리고 만화화된 출력으로 구성된 예시로 결합했습니다.

저수준 이미지 처리 데이터셋

FLAN의 다중 작업 접근 방식을 따라 팀은 여러 저수준 작업을 포함하는 단일 데이터셋을 구성했습니다. 이는 모델이 일반적으로 개별 데이터셋에서 독립적으로 훈련되는 전통적인 이미지 처리와 다릅니다.

작업 프롬프트 데이터셋 샘플 수
디블러링 "흐릿한 이미지를 디블러링하세요" REDS 1,200
빗물 제거 "이미지에서 빗물을 제거하세요" Rain13k 686
노이즈 제거 "노이즈가 있는 이미지를 노이즈 제거하세요" SIDD 8
저조도 향상 "저조도 이미지를 향상시키세요" LOL 23

훈련 실험 및 결과

훈련은 두 가지 주요 시작점을 사용하여 진행되었습니다: 기존 InstructPix2Pix 체크포인트에서 파인튜닝하는 방법과 InstructPix2Pix 방법론을 사용해 Stable Diffusion v1-5 체크포인트에서 파인튜닝하는 방법입니다. 연구자들은 InstructPix2Pix 체크포인트에서 시작하면 더 빠른 적응과 높은 생성 품질을 얻을 수 있음을 발견했습니다.

성능 분석

  • 만화화: 명령어 튜닝된 모델은 사전 학습된 InstructPix2Pix 모델에 비해 CartoonGAN 모델의 출력과 더 충실하게 일치했습니다.
  • 빗물 제거: 모델은 실제 이미지와 매우 근접한 설득력 있는 결과를 생성했습니다.
  • 실패: 모델은 저조도 이미지 향상 및 디블러링에서 어려움을 겪었으며, 이는 연구자들이 해당 작업에 대한 훈련 예시가 충분하지 않다고 판단한 결과입니다.
  • 일반화: 모델은 훈련 중 충분히 보지 못한 ImageNette 클래스에 대해 기대한 출력을 생성하지 못했으며, 이는 대규모 데이터셋이 필요함을 시사합니다.

제한 사항 및 향후 방향

진전에도 불구하고, 연구자들은 현실적인 이미지 편집 응용을 위해 몇 가지 중요한 과제를 확인했습니다:

  • 해상도: 시스템은 크고 고해상도 원본 이미지와 작업할 수 있도록 확장되어야 합니다.
  • 환각: 확산 모델은 때때로 명령을 "창조"하거나 재해석하여 이미지 공간을 전문가 수준 편집에 부적합한 방식으로 변경합니다.

커뮤니티를 위한 열린 질문

  • 데이터셋 규모를 확대하면(예: 원래 InstructPix2Pix에서 사용된 30,000개 이상의 샘플로 이동) 품질에 어떤 영향을 미칩니까?
  • 작업 혼합을 늘리거나 훈련 기간을 연장하면 보지 못한 작업이나 결합된 명령(예: "이미지를 디블러링하고 노이즈를 제거하세요")에 대한 일반화가 향상됩니까?
  • 데이터셋 생성 시가 아니라 훈련 중에 동의어 명령을 사용하면 성능이 향상될까요?
  • ControlNet 훈련 설정이 이러한 특정 이미지-이미지 작업에 더 나은 결과를 제공할 수 있을까요?

SUMMARY: Hugging Face는 InstructPix2Pix를 확장하여 Stable Diffusion이 다중 작업 명령어 튜닝 접근 방식을 통해 특정 이미지 변환 및 저수준 처리 명령을 따르도록 교육하는 방안을 탐구합니다.

TITLE: InstructPix2Pix와 함께 Stable Diffusion 명령어 튜닝

Sources