TL;DR
Robust-R1 — метод обучения мультимодальных LLM, который учит модель явно анализировать искажения в изображениях (размытие, шум, артефакты сжатия) перед ответом. Модель сначала определяет тип и интенсивность искажения, затем оценивает как это влияет на визуальный контент, и только потом восстанавливает исходный смысл и даёт ответ. Цепочка рассуждений структурирована через специальные токены: → → → .
Обычные LLM с визуальными возможностями резко теряют точность на искажённых изображениях — дают неверные ответы или пропускают детали. Существующие методы улучшения устойчивости работают неявно — усиливают визуальный энкодер через adversarial training, но не дают модели понимания что именно искажено и как это компенсировать. Результат — чёрный ящик без интерпретируемости.
Robust-R1 решает через трёхступенчатое обучение: (1) Supervised Fine-Tuning на 11K примеров с размеченными цепочками рассуждений об искажениях, (2) Reinforcement Learning для точного выравнивания параметров искажений через reward-функции, (3) динамическое масштабирование длины рассуждений — сильные искажения требуют длинных цепочек, слабые — коротких, экономя токены.
Схема метода
Обучение модели (требует инфраструктуры):
ШАГ 1: Supervised Fine-Tuning
→ Обучение на 11K примеров: искажённое изображение + структурированная цепочка рассуждений
ШАГ 2: RL для точности параметров
→ Reward функция r_deg: штраф за неверный тип искажения, награда за точную интенсивность
→ Модель выравнивает восприятие с реальными параметрами
ШАГ 3: RL для оптимальной длины
→ Reward функция r_len: баланс между полнотой рассуждений и эффективностью
→ Слабые искажения → короткие цепочки, сильные → развёрнутые
Результат — обученная модель генерирует:
тип_искажения(интенсивность), тип_искажения(интенсивность)
описание влияния на визуальное восприятие
цепочка рассуждений об исходном содержании
итоговый вывод
финальный ответ
Пример применения
⚠️ Важно: Полноценный Robust-R1 требует fine-tuning модели — недоступно в обычных чатах. Ниже — адаптация принципа для ручного использования в ChatGPT/Claude с визуальными возможностями.
Задача: Определить что изображено на фото с камеры наблюдения низкого качества — для страховой компании нужно понять, действительно ли на парковке был повреждён бампер автомобиля конкретной марки.
Промпт:
Приложено изображение с камеры наблюдения. Перед ответом на вопрос выполни анализ качества:
1. ИСКАЖЕНИЯ: Определи какие искажения присутствуют (размытие, шум, компрессия, низкое освещение, артефакты) и их примерную интенсивность (слабая/средняя/сильная).
2. ВЛИЯНИЕ: Опиши как эти искажения влияют на распознавание ключевых деталей для моего вопроса.
3. ИСХОДНОЕ СОДЕРЖАНИЕ: Основываясь на видимых признаках, реконструируй что можно сказать об исходной сцене до искажений.
4. ВЫВОД: Дай ответ с указанием уровня уверенности.
Вопрос: Какой марки автомобиль виден на переднем плане и есть ли видимые повреждения бампера?
Результат:
Модель выдаст структурированный анализ по шагам: перечислит обнаруженные искажения (например, "сильная компрессия JPEG — артефакты блоками 8×8, среднее motion blur — смаз по горизонтали"), объяснит влияние ("блочные артефакты затрудняют чтение шильдика, смаз размывает контуры повреждений"), попытается реконструировать детали ("по форме решётки радиатора и пропорциям — вероятно Toyota Camry, в области бампера видны нарушения симметрии контура"), и даст вывод с оговорками ("марка — Toyota Camry, уверенность 70%; повреждение бампера — вероятно есть, но качество изображения не позволяет утверждать категорично").
Почему это работает
Слабость LLM: Мультимодальные модели обучены на качественных изображениях — их визуальный энкодер извлекает признаки, предполагая чистый сигнал. Когда изображение искажено (шум, размытие, артефакты), энкодер выдаёт зашумлённые признаки, но текстовая часть модели об этом не знает. Она рассуждает так, будто видит чёткую картинку, и делает уверенные выводы на основе ненадёжных данных. Результат — галлюцинации, пропущенные детали, неверные идентификации.
Сильная сторона LLM: Модели отлично справляются со структурированными рассуждениями — если дать им явную последовательность шагов, они следуют ей дисциплинированно. Они также хорошо работают с метапознанием — могут анализировать собственную неуверенность и оговаривать ограничения.
Как метод использует это: Robust-R1 обучает модель сначала диагностировать качество визуального ввода, затем рассуждать с учётом этой диагностики. Структурированная цепочка ( → → → ) принуждает модель явно артикулировать: "Я вижу размытие интенсивности 0.47 и шум 0.5 → это затрудняет распознавание мелких деталей → но по крупным формам можно сделать вывод X с оговоркой Y". Модель переключается из режима "уверенно ответить" в режим "диагностировать→компенсировать→ответить с оговорками".
Рычаги управления (для fine-tuned модели):
- Интенсивность искажений в обучающих данных → увеличь долю сильных искажений для большей устойчивости, но модель может стать избыточно осторожной на чистых изображениях
- Длина цепочки рассуждений → короткие цепочки экономят токены, длинные дают больше деталей; в Robust-R1 это динамически регулируется reward-функцией
- Специальные токены (
,) → можно добавить другие этапы анализа (например,для явной оценки уверенности) - Типы искажений → модель обучена на 16 типов по четырём стадиям обработки изображений; можно дообучить на специфичных для домена искажениях (медицинские снимки, спутниковые фото)
Шаблон промпта
⚠️ Ограничение: Полноценный Robust-R1 — это fine-tuned модель. Шаблон ниже — адаптация принципа для ручного использования в обычных чатах с визуальными возможностями (ChatGPT-4V, Claude 3).
Приложено изображение. Перед ответом выполни пошаговый анализ качества:
**ШАГ 1 — ИСКАЖЕНИЯ:**
Определи присутствующие искажения и их интенсивность:
- Размытие (motion blur, lens blur, defocus)
- Шум (gaussian, speckle, salt-and-pepper)
- Компрессия (JPEG артефакты, блочность)
- Условия съёмки (низкое освещение, пересвет, туман)
- Другие (водяные знаки, граффити, смещение, искажения линз)
Укажи интенсивность: слабая / средняя / сильная
**ШАГ 2 — ВЛИЯНИЕ:**
Опиши как эти искажения влияют на распознавание элементов, важных для вопроса.
**ШАГ 3 — ИСХОДНОЕ СОДЕРЖАНИЕ:**
Основываясь на видимых признаках, реконструируй что можно утверждать об исходной сцене.
**ШАГ 4 — ВЫВОД:**
Дай ответ с явным указанием уровня уверенности и оговорок из-за качества изображения.
---
Вопрос: {твой_вопрос_об_изображении}
Что подставлять:
- {твой_вопрос_об_изображении} — конкретный вопрос о визуальном содержании
Пример: "Какая модель смартфона на фото?", "Есть ли на вывеске название компании?", "Сколько человек в толпе?"
🚀 Быстрый старт — вставь в чат с визуальными возможностями:
Вот промпт-техника для анализа изображений с учётом их качества. Адаптируй под мою задачу: {опиши что нужно извлечь из изображения и какие проблемы с качеством ожидаешь}.
Задавай вопросы, чтобы уточнить формулировку.
[вставить шаблон выше]
LLM спросит: (1) какие конкретно детали важны для твоей задачи, (2) ожидаешь ли ты специфические искажения (например, фото с дрона → motion blur, скриншот → компрессия), (3) нужна ли количественная оценка уверенности в процентах. Она возьмёт структуру анализа из шаблона и настроит формулировки под контекст.
Ограничения
⚠️ Требует fine-tuning: Полноценный Robust-R1 — это специально обученная модель. Ручная адаптация принципа в чатах работает слабее, так как базовые модели (ChatGPT/Claude) не обучены явно распознавать параметры искажений.
⚠️ Визуальный энкодер не меняется: Промпт-техника не улучшает извлечение признаков из искажённого изображения — только добавляет слой рефлексии над уже извлечёнными (возможно, неточными) признаками. В оригинальном Robust-R1 модель обучена через RL выравнивать восприятие искажений.
⚠️ Не работает на сильно повреждённых изображениях: Если ключевые детали физически неразличимы (например, лицо полностью в motion blur, текст нечитаем из-за компрессии), никакая цепочка рассуждений не восстановит информацию. Метод эффективен на средних искажениях, где признаки частично видны.
⚠️ Избыточность для чистых изображений: Четырёхступенчатый анализ тратит токены впустую, если изображение высокого качества. В оригинальном Robust-R1 это решается динамическим масштабированием (reward-функция _r_len_), недоступным в промпт-режиме.
⚠️ Субъективность оценки искажений: Без обучения модель может неточно определять типы и интенсивности искажений (например, перепутать motion blur с lens blur, недооценить JPEG-артефакты). Robust-R1 решает это через reward-функцию _r_deg_ с точным выравниванием параметров.
Ресурсы
Robust-R1: Degradation-Aware Reasoning for Robust Visual Understanding | Jiaqi Tang, Jianmin Chen, Wei Wei, Xiaogang Xu, Runtao Liu, Xiangyu Wu, Qipeng Xie, Jiafei Wu, Lei Zhang, Qifeng Chen | Hong Kong University of Science and Technology, Northwestern Polytechnical University, Chinese University of Hong Kong, Nanjing University of Science and Technology, University of Hong Kong
Code: github.com/jqtangust/Robust-R1
Dataset: huggingface.co/datasets/Jiaqi-hkust/Robust-R1
Model: huggingface.co/Jiaqi-hkust/Robust-R1
Demo: huggingface.co/spaces/Jiaqi-hkust/Robust-R1
Связанные концепции из исследования: - R-Bench — бенчмарк для оценки устойчивости MLLM к реальным визуальным искажениям - Adversarial training — обучение на искажённых данных для повышения устойчивости (TeCoA, Sim-CLIP, Robust CLIP) - Group Relative Preference Optimization (GRPO) — метод RL для выравнивания через групповое сравнение кандидатов - Four-stage degradation model — симуляция искажений по этапам: Acquisition → Transmission → Environment → Postprocessing (16 типов искажений)
