Почему одна и та же внешность разваливается после captioning
Привет. Если после автоподписей LoRA вдруг перестаёт держать одно и то же лицо, проблема чаще всего не в генерации как таковой. Ломается логика обучения: датасет показывает модели одного человека, а captions описывают его каждый раз немного иначе.
Привет. Если после автоподписей LoRA вдруг перестаёт держать одно и то же лицо, проблема чаще всего не в генерации как таковой. Ломается логика обучения: датасет показывает модели одного человека, а captions описывают его каждый раз немного иначе. В результате сеть учит не одну идентику, а несколько конкурирующих версий внешности. Ниже разберём, где возникает этот конфликт, почему длинные подписи вредят стабильности, как отделить базовые черты от управляемых деталей и по какому чек-листу перепроверить датасет перед новой тренировкой.

Содержание статьи:
- Где ломается связка датасет + captions
- Почему captions начинают переописывать лицо
- Что оставлять в caption, а что убирать
- Какие кадры и повторы усиливают проблему
- Чек-лист перед новой тренировкой
- FAQ по стабильности внешности
Где ломается связка датасет + captions
Запрос «внешность разваливается lora» почти всегда описывает одну и ту же ситуацию: фотографии в датасете ещё держат персонажа, а после captioning модель начинает выдавать то другой разрез глаз, то новый нос, то плавающую форму лица. Причина проста: для обучения LoRA картинка и подпись работают как единая пара. Фотография даёт визуальный сигнал, а текст подсказывает, что именно сеть должна считать частью персонажа, а что — сменяемым контекстом.
На практике это особенно заметно в workflow, где подписи генерируются автоматически. Поэтому инструменты вроде Florence для LoRA и captioning удобно использовать как стартовую заготовку, но опасно воспринимать как финальную истину о кадре. Автоматика честно старается описать всё, что видит: выражение лица, освещение, угол камеры, аксессуары, предметы рядом, текстуру волос, настроение сцены. Для общей разметки это полезно. Для identity LoRA это нередко уже лишний слой шума.
Проблема усиливается, когда сама цель обучения не зафиксирована заранее. Одни собирают LoRA именно на лицо и общую идентику. Другие хотят унести в модель ещё и образ: тип макияжа, подачу, любимые ракурсы, силуэт, свет. Оба сценария рабочие, но captions для них нужны разные. Когда эти режимы смешиваются в одном датасете, сеть получает взаимоисключающие сигналы.
Здесь важно отделить проблему обучения от проблемы генерации. Иногда лицо распадается уже на этапе использования модели в разных графах и пайплайнах. Если хотите сравнить эти два класса ошибок, посмотрите и материал о том, почему одна и та же внешность может расходиться в разных workflow. Но если ухудшение началось именно после добавления подписей, начинать проверку стоит с датасета и текста к нему.
Промежуточный вывод: captioning — это не декоративное дополнение к обучению. Это вторая часть обучающего сигнала. Когда текст спорит с изображением или описывает стабильные черты непоследовательно, проблема идентики lora появляется очень быстро.
Почему captions начинают переописывать лицо
Самая частая ошибка — делать подписи слишком подробными. На первый взгляд кажется логичным, что чем точнее описание, тем лучше результат. Для предметных датасетов это иногда работает. Для человека такой подход часто переучивает LoRA на набор случайных деталей. Один caption пишет про длинные светлые волосы и мягкий макияж. Другой добавляет миндалевидные глаза и острые скулы. Третий внезапно фиксирует тёплый тон кожи, прядь на одну сторону и конкретное настроение. Четвёртый уже называет другой оттенок волос, потому что свет в кадре изменился. Формально каждый текст правдоподобен. Вместе они дробят одну идентичность на несколько вариантов.

Автоматические caption-модели особенно склонны к такому переописанию. Они созданы для того, чтобы извлечь из изображения максимум семантики. Но identity LoRA не всегда нужно знать максимум. Ей нужно знать главное и знать это одинаково во всём наборе. Когда captions ломают лицо, почти всегда видно одну из трёх картин:
- одни и те же черты названы разными словами в разных файлах;
- в часть подписей попали постоянные признаки, а в часть — нет;
- в подписи уехало слишком много второстепенных деталей, и сеть начала связывать человека с фоном, светом или ракурсом.
Ниже — удобная логика разделения признаков для identity LoRA.
| Тип признака | Обычно стоит считать базой персонажа | Обычно можно выносить в caption | Часто лучше убрать при разнобое |
| Лицо | общая форма, посадка глаз, характерные черты | крупность плана | случайные эпитеты про «идеальные» черты и оценочные слова |
| Волосы | если это постоянная часть образа и во всём датасете она одна | укладка, если вы хотите управлять ею при генерации | плавающие оттенки из-за света |
| Глаза | стабильный цвет и форма, если цель — жёсткая идентика | направление взгляда | слова, которые меняются от кадра к кадру |
| Одежда | только если тренируете цельный образ | да, это удобный управляемый слой | случайные бренды, мелкие украшения, лишние детали |
| Фон и окружение | редко | можно, если фон важен для сцены | всё, что не нужно тащить в идентику |
В практических наборах чаще всего лучше работают короткие подписи одинакового формата. Не роман-описание кадра, а единый шаблон на одну-две строки. Эта мысль хорошо подтверждается и полевым опытом: длинный caption кажется «умнее», но фактически повышает шанс того, что сеть привяжет персонажа к случайным токенам.
Главное правило: самый опасный вариант — не короткие captions и не длинные captions сами по себе, а непоследовательные captions. Когда один файл описывает базовую внешность, второй — только позу, третий — фон, а четвёртый смешивает всё сразу, модель перестаёт понимать, где у персонажа ядро, а где сменяемая оболочка.
Что оставлять в caption, а что убирать
Рабочий подход начинается не с генератора подписей, а с решения: что именно вы обучаете. Если нужна чистая identity LoRA, подпись должна помогать отделять человека от сцены. В этом случае обычно полезно оставлять триггер-слово, тип кадра, позу, действие, одежду, общий план и, при необходимости, нейтральную информацию о свете. А вот признаки, которые должны сохраняться сами как база персонажа, лучше либо не трогать вообще, либо описывать одинаково во всём датасете.
Из практики особенно часто ломают результат две группы токенов. Первая — изменчивые детали лица: то цвет глаз, то оттенок волос, то форма губ в описательном стиле, который каждый раз другой. Вторая — мусорный контекст: украшения, предметы на фоне, названия локаций, случайные объекты, которые в половине датасета вообще не повторяются.
Полезно держать такую схему принятия решений:
- если признак должен жить почти в каждой генерации, считайте его частью базы;
- если признак должен меняться по промпту, переносите его в captions;
- если признак не нужен для управления результатом, не давайте ему лишний вес.
Например, для identity LoRA caption формата «триггер, портрет, взгляд в камеру, белая футболка, естественный свет» обычно полезнее, чем длинное литературное описание с уточнением тона кожи, текстуры волос, выражения губ, деталей макияжа и окружения. А вот когда вы обучаете не просто человека, а законченный визуальный образ, можно осознанно зафиксировать и часть стабильной стилизации — но тогда делайте это везде одинаково.
Отдельная ловушка — смешивать ручные и автоматические подписи при отсутствии редакторской проверки. Автоматика пишет один стиль, человек дописывает другой, и внутри датасета начинается разнобой по словарю. Именно так и рождается ситуация, которую ищут по запросу «captions ломают лицо». Кажется, что файлов стало «умнее», а на деле часть тегов стала конкурировать друг с другом.
Поэтому рабочая практика простая: сначала прогоняете кадры через автоматический captioning, потом вручную приводите подписи к одной схеме. Короткая редактура на старте экономит заметно больше времени, чем переобучение модели после неудачного прогона.
Какие кадры и повторы усиливают проблему
Подписи редко ломают LoRA в одиночку. Почти всегда им помогает сам датасет. Если в наборе много почти одинаковых кадров, сеть начинает переучиваться на мелкие отличия между ними. Если кадры слишком разные по качеству, крупности, свету и обработке, captions пытаются компенсировать этот хаос всё более подробным текстом. Поэтому проверку надо вести сразу в двух направлениях.
Во-первых, смотрите на повторы. Серии с почти одинаковым ракурсом и выражением лица создают ложное ощущение объёма, но фактически дублируют один и тот же пример. В практических кейсах нередко лучше оставить 25–30 сильных изображений, чем держать 40–50 файлов, где половина отличается только поворотом головы на пару градусов. Если хотите отдельно пройтись по отбору исходников, полезно посмотреть материал о том, какие кадры вредят обучению LoRA.
Во-вторых, следите за распределением планов. В рабочей практике часто встречается стартовый баланс: около 20 кадров с акцентом на лицо, около 10 по пояс и около 10 в полный рост. Это не догма, а понятная отправная точка, которая помогает модели увидеть и лицо, и пластику образа. Подробно тему объёма датасета мы уже разбирали в статье сколько фото нужно для первой LoRA.
В-третьих, проверяйте обрезку и масштаб. Когда часть файлов слишком близко к лицу, а часть слишком далека, автоматика начинает добирать различия словами. Отсюда лишние уточнения в captions и новая путаница. И наконец, держите единый визуальный уровень: если в одном наборе смешаны резкие студийные кадры, мягкие бытовые фото и пережатые изображения, сеть получает очень шумный портрет идентичности.
Промежуточный вывод: captions усиливают уже существующие перекосы датасета. Чем чище набор изображений, тем легче сделать короткие и точные подписи.
Чек-лист перед новой тренировкой
Если внешность уже поплыла, не меняйте всё сразу. Намного полезнее пройтись по короткому чек-листу и понять, где именно датасет спорит с текстом.
- Шаг 1. Сформулируйте цель обучения: чистая идентика или идентика плюс образ.
- Шаг 2. Выберите одно триггер-слово и поставьте его в единый шаблон captions.
- Шаг 3. Сократите подписи до одного формата. Для большинства identity-сценариев достаточно одной-двух строк.
- Шаг 4. Проверьте, не описываются ли постоянные черты лица разными словами в разных файлах.
- Шаг 5. Уберите случайные фоновые детали, аксессуары и редкие предметы, если они не нужны в генерации.
- Шаг 6. Удалите почти одинаковые кадры и слабые изображения, даже если их жалко.
- Шаг 7. Отдельно просмотрите первые 15–20 captions вручную. На этом этапе всплывает большая часть системных ошибок.
- Шаг 8. После правки перезапустите короткий тестовый прогон и сравните результат на одном и том же промпте.
От редакции добавим ещё одно наблюдение. Когда после captioning хочется срочно крутить learning rate, steps, repeats и rank одновременно, чаще всего это только запутывает диагностику. Если до подписей лицо держалось лучше, в первую очередь проверяйте текстовый слой. И только потом переходите к параметрам обучения.
FAQ по стабильности внешности
Нужно ли полностью доверять Florence при подготовке captions?
Нет. Такие модели отлично ускоряют старт, но их лучше рассматривать как черновик. Они умеют увидеть больше деталей, чем обычно нужно для identity LoRA. Финальную редактуру стоит делать вручную по единому шаблону.
Нужно ли писать в captions цвет волос и глаз?
Если вы тренируете жёсткую идентику и эти черты должны сохраняться как часть персонажа, куда важнее не разбрасывать их непоследовательно. Либо описывайте их одинаково во всём наборе, либо не вытаскивайте их в управляемый слой вообще. Самый неудачный вариант — когда в половине файлов эти признаки есть, а в половине исчезают или меняются по формулировке.
Почему после сокращения captions модель иногда становится лучше почти сразу?
Потому что сеть перестаёт спорить сама с собой. Когда подписи короткие, однотипные и не забирают на себя лишние признаки, модель легче отделяет лицо от контекста и возвращает более стабильную внешность.
Вывод
Если одна и та же внешность разваливается после captioning, почти всегда проблема находится не в одном «плохом токене», а в конфликте между тем, что показывают кадры, и тем, что о них говорят подписи. Автоматические captions полезны как быстрый старт, но итоговый результат решает редактура: единая логика, короткий формат, аккуратное разделение базы персонажа и сменяемых деталей. В связке датасет + captions побеждает не самый длинный текст, а самый последовательный.
Именно поэтому перед новой тренировкой лучше потратить время на выравнивание набора, чем надеяться, что следующая LoRA сама угадает правильную идентику из противоречивых описаний.