Перейти к содержимому
autopilot
AI. ПРАКТИКА.
ПОНЯТНЫЙ КОНТЕКСТ.
Оставить заявку ↗

Почему LoRA меняет цвет волос и глаз

Почему обученная LoRA меняет цвет волос и глаз: как проверить датасет, подписи, силу применения и сравнить сохранённые эпохи.

Короткий ответ. Если LoRA неожиданно меняет цвет волос и глаз, проверьте три вещи: одинаковы ли эти признаки на обучающих снимках, что написано в captions и с какой силой LoRA подключена при генерации. Модель может усвоить повторяющиеся черты как часть персонажа и воспроизводить их даже тогда, когда prompt просит другой цвет. Универсального переключателя нет: отделить черты можно через более разнообразный датасет, точные подписи и сравнительный тест нескольких сохранённых эпох. [AI Toolkit: обучение LoRA]

Как возникает нежелательная связь

LoRA обучается на примерах «картинка плюс текст» и изменяет поведение базовой модели относительно этих примеров. Если во всех кадрах персонаж с тёмными волосами и карими глазами, сеть может связать эти признаки с триггером персонажа. Когда пользователь просит блондина или другой цвет глаз, LoRA конкурирует с текстовым запросом. Чем выше вес адаптера и чем однообразнее исходники, тем заметнее может быть эффект. Это практическая гипотеза, которую следует проверять на своей модели и наборе, а не считать гарантированным законом. [Hugging Face: LoRA]

Сама базовая модель тоже имеет предпочтения. Поэтому сравнивайте одинаковый seed, prompt и разрешение с LoRA и без неё. Если цвет меняется уже без LoRA, причина не в обученном адаптере.

Проверьте датасет и подписи

  1. Составьте таблицу кадров и отметьте реальный цвет волос и глаз на каждом. Удалите изображения с ошибочной обработкой цвета.
  2. Откройте соответствующие .txt-файлы и сравните слова с содержимым изображения.
  3. Проверьте, не скопирован ли одинаковый caption на кадры с разными вариантами внешности.
  4. Посмотрите, где trainer добавляет триггер: в AI Toolkit он может автоматически подставляться в captions.
  5. Сохраните контрольные prompt для проверки вариаций и сравнивайте версии LoRA на одном наборе.

Если волосы действительно должны быть постоянной частью образа, их воспроизведение не обязательно ошибка. Но когда нужна возможность менять оттенок, в обучении должны быть понятные примеры этой вариативности или стратегия captioning, которая различает меняющийся признак. Несколько случайных перекрашенных фото плохого качества могут ухудшить идентичность больше, чем помочь. [AI Toolkit: датасет и captions]

Что попробовать при генерации

Проверка Что она покажет
Снизить вес LoRA Можно ли ослабить навязанный цвет без потери лица
Изменить только цвет в prompt Реагирует ли модель на нужное слово
Взять ранний checkpoint Не усилился ли эффект к концу обучения
Отключить другие LoRA Не вмешивается ли второй адаптер

Не меняйте вес LoRA, seed, sampler и базовую модель за один запуск. Контрольная пара нужна, чтобы видеть причинную связь. Если цвет меняется вместе с формой лица, вероятно, проблема шире одного слова в captions: датасет может плохо отделять идентичность от стиля.

Когда нужно переобучить LoRA

Если запрос на другой цвет стабильно игнорируется при умеренном весе и нескольких prompt, пересмотрите набор. Уберите явные ошибки captioning, добавьте качественные варианты нужного признака и проверьте баланс ракурсов, света и качества фото. Не выбирайте количество шагов только по одному удачному кадру: тестируйте серию одинаковых prompt на разных сохранениях. Документация trainer определяет формат подписей и работу триггера, поэтому любые изменения делайте под конкретный инструмент. [Kohya sd-scripts]

Короткие ответы

Нужно ли писать цвет глаз в каждом caption?

Нет универсального правила. Если признак меняется, точная подпись помогает его различать. Если он постоянен, сначала решите, хотите ли вы закрепить его в образе или управлять им текстом.

Поможет ли отрицательный prompt?

Иногда он влияет на результат, но не исправляет ошибочные данные обучения. Проверьте датасет и вес LoRA прежде чем усложнять prompt.

По этой теме

Все материалы ↗