WoolyFlux Alpha

세부 정보

모델 설명

이것은 https://civitai.com/articles/6792에서 진행된 연구의 연장선으로, 제가 자체 데이터셋과 접근법을 사용하여 수행한 것입니다.

저는 플럭스 캡셔닝의 업데이트된 가이드를 작성 중이며, 이번 작업은 보다 정교한 트레이닝 방법을 다루는 부분에 해당합니다.

하지만 현재로서는 관심 있는 분들을 위해 제가 향하고 있는 방향과 얻고 있는 결과에 대해 간략히 설명드리겠습니다.

우선, 데이터셋 중 어떤 부분이 가장 중요한지에 대한 오해가 있습니다. 많은 사람들이 캡션 없이 트레이닝하거나 짧은 트리거만 사용하는 것이 가장 효과적인 방법이며, 이를 개선하는 유일한 방법은 고화질 이미지를 더 많이 쌓는 것이라고 주장합니다.

그러나 실제로 제가 발견한 바에 따르면, 이는 오히려 반복 사용 시 과적합을 더욱 유발합니다.

이 아이디어는 몇 달 전, SDXL 시절 워아나킨이 저에게 자신의 연구 결과를 설명해주면서 시작되었습니다. 그는 여러 차례 시도를 통해, 과적합의 주요 원인이 이미지가 너무 유사하다는 것이 아니라, 심지어 서로 매우 다른 이미지라도 동일하거나 유사한 캡션을 가진 이미지가 하나라도 존재할 때 더 직접적이고 눈에 띄는 영향을 준다는 것을 발견했습니다.

그 이후로 저는 SDXL을 사용해 다양한 접근법을 실험해왔으며, SDXL이 SD1.5에 비해 트레이닝이 훨씬 어렵지만, 결과는 크게 향상되었고 기존 모델에 이미 존재하는 데이터와 훨씬 더 잘 맞아떨어진다는 것을 확인했습니다.

간단히 말해, 고전적인 의미의 반복을 사용하는 대신, 캡션 드롭아웃이나 캡션 셔플링을 완전히 랜덤하게 적용하는 대신, 챗GPT와 같은 도구를 활용해 각 이미지에 대해 더 많은 캡션 변형을 생성하고, 이 새로운 캡션 변형과 이미지를 쌍으로 연결하는 것입니다.

이미지의 복사본 중 일부는 캡션을 전혀 포함하지 않도록 하고, 일부는 트리거 단어만 포함하도록, 일부는 태그로 캡션을 달고, 또 일부는 자연어 설명으로 캡션을 달도록 설정합니다.

이 경우, 이 실험은 더 나아가 한 단계를 더 진행했습니다.

만약 데이터셋을 단지 20개의 고유한 이미지로 제한하고, 각 이미지당 캡션을 3개가 아니라 약 30개로 생성한다면 어떤 결과가 나올까요?

그리고 여기까지 왔습니다. 20에포크 이후, 가장 프롬프트에 잘 부합하고 스타일을 가장 잘 유지한 결과를 테스트해본 결과, 에포크 7과 16의 조합이 최고의 결과를 낳았습니다.

하지만 여기에는 약간의 주의사항이 있습니다. 결과는 유망했지만, 이 실험은 아직 끝나지 않았으며, 저는 CIVITAI의 온라인 트레이너를 사용해 이 실험을 진행해왔습니다. 따라서 저는 로컬에서도 트레이닝이 가능하지만, 연구를 좀 더 통제된 환경에서 계속하기 위해, 이 자원을 소규모의 일회성 버즈 교환을 전제로 초기 접근권으로 제공하고자 했습니다. 목표를 달성하면 연구를 계속할 수 있도록 말이죠. 하지만 실제로 제가 그러한 옵션을 주어지지 않은 것 같습니다.

다음 단계는 데이터셋을 확장하여 더 많은 주제를 포함하는 것입니다. 예를 들어, 총 20개에서 40개의 이미지로 늘려, 더 많은 사람, 동물, 물체를 포함하도록 할 계획입니다.

이 모델로 만든 이미지

이미지를 찾을 수 없습니다.