Традиционная конференция по нейросетевым технологиям NeurIPS 2023 в Новом Орлеане стала площадкой для демонстрации прикладных решений, которые устраняют фундаментальные пробелы в работе современных ИИ-моделей. В своем репортаже с четвертой постерной сессии Янник Кильхер (Yannic Kilcher) пообщался с авторами проектов, работающих над такими проблемами, как галлюцинации контекста в видео, неспособность ChatGPT читать перевернутый текст и избыточная сложность дообучения моделей под тысячи разных задач.
🎥 Сегментация действий: борьба с «горчицей в кофе» 0:52
Одной из первых обсуждаемых тем стала временная сегментация действий (temporal action segmentation). Суть задачи заключается в том, чтобы классифицировать каждый кадр необработанного видео (например, процесса приготовления завтрака) и определить границы конкретных действий: «взял кружку», «налил кофе», «добавил сахар».
Как отмечает один из исследователей, существующие модели часто страдают от ошибок вне контекста (out of context errors) . Например, нейросеть может ошибочно классифицировать движение руки как «добавление горчицы» в процессе приготовления кофе только из-за визуального сходства объектов, хотя это действие логически невозможно в данном контексте .
Для решения этой проблемы команда предложила четырехэтапный подход:
- Алгоритм индукции грамматики (DK): автоматически извлекает правила последовательности действий из обучающего датасета .
- Эффективный парсер (BP): находит оптимальные последовательности действий, которые соответствуют предсказаниям нейросети, но не нарушают логику процесса .
- Грамматика на базе PCFG: используется вероятностная контекстно-свободная грамматика, включающая «И-правила» (фиксированный порядок, например, нельзя налить кофе, не взяв чашку) и «ИЛИ-правила» (свободный порядок, например, сахар можно добавить до или после молока) .
По словам авторов, такая система позволяет эффективно удалять «галлюцинаторные» действия из итогового отчета, опираясь на глобальную структуру задачи, а не только на локальные визуальные признаки кадра .
🧠 Генерация против дискриминации: тест-тайм адаптация 8:54
Другая группа исследователей представила проект, объединяющий сильные стороны дискриминативных моделей (классификаторов, таких как ResNet или CLIP) и генеративных моделей (например, Stable Diffusion).
Основная идея строится на том, что классификаторы отлично работают на тренировочных данных, но часто полагаются на «короткие пути» (shortcuts) и плохо обобщают информацию . Генеративные модели, напротив, лучше понимают общую структуру данных, но проигрывают в точности классификации на стандартных тестах (например, ImageNet).
Предложенный метод адаптации во время инференса (test-time adaptation) работает следующим образом:
- Изображение подается на классификатор, который выдает мягкие вероятности классов .
- Эти вероятности (вместо жесткого One-Hot вектора) передаются в предобученную модель диффузии в качестве условия .
- Если классификатор ошибся (например, назвал гуся собакой), модель диффузии не сможет качественно восстановить изображение из шума, что приведет к высокому значению функции потерь .
- Градиент этой потери пробрасывается обратно, заставляя классификатор изменить предсказание на то, которое позволит генератору «узнать» объект и успешно его восстановить .
Исследователи утверждают, что такой подход позволяет улучшить точность лучших моделей CLIP на несколько процентных пунктов без переобучения, просто адаптируясь к конкретному входящему примеру .
🙃 Эквивариантность: почему ChatGPT не любит перевернутый текст? 27:08
Янник Кильхер обсудил с авторами проблему «геометрической слепоты» современных языковых и мультимодальных моделей. Известно, что даже GPT-4 часто не справляется с распознаванием перевернутого или сильно повернутого текста на изображениях . Аналогичные проблемы наблюдаются у модели Segment Anything (SAM) от Meta: при повороте изображения точность сегментации резко падает .
Вместо дорогостоящего дообучения гигантских моделей на всех возможных поворотах (data augmentation), авторы предложили использовать «Канонизатор» (Canonicalizer):
- Это крошечная нейросеть (добавляет всего 0,3% параметров), которая обучается трансформировать входные данные так, чтобы они стали удобными для основной модели .
- Если на входе перевернутый текст, Канонизатор учится переворачивать его обратно в «нормальное» состояние перед передачей в GPT-4 или CLIP .
- Обучение происходит без прямой разметки, на основе неявной обратной связи от большой замороженной модели .
Интересно замечание одного из авторов о человеческом восприятии: когда мы видим перевернутую машину, мы мысленно «поворачиваем» её образ . Канонизатор делает то же самое, в отличие от классических эквивариантных архитектур, которые пытаются использовать вращающиеся фильтры внутри самой сети .
🧩 Масштабируемые адаптеры: тысячи задач в одной модели 33:17
Специалист из Microsoft (участвующий в дискуссии анонимно в контексте одного из своих проектов) представил метод эффективного управления множеством задач с помощью адаптеров (например, LoRA). Проблема в том, что если у вас десятки тысяч задач, обучать и хранить отдельный адаптер для каждой (даже если он весит несколько мегабайт) становится невозможно .
Решение — многоголовочные адаптеры (multi-head adapters):
- Вместо одного адаптера на задачу создается базис из нескольких универсальных адаптеров.
- Каждый адаптер «разрезается» на части (чанки) .
- Для каждой конкретной задачи модель подбирает оптимальную линейную комбинацию этих частей .
Это позволяет плавно регулировать баланс между точностью и количеством параметров. При увеличении числа «чанков» точность растет, но возрастают и вычислительные затраты . Модель способна масштабироваться до 10 000+ задач, что критически важно для крупных корпоративных систем .
🧼 DataFix: очистка данных в духе GAN 46:21
Завершающим интересным проектом стала система DataFix, предназначенная для обнаружения и исправления сдвигов в данных (feature shift). Это актуально для медицины: например, если данные из больницы А качественные, а в больнице Б барахлит датчик или нарушен стандарт записи BMI (индекса массы тела), это может испортить общее исследование .
Метод работает итеративно:
- Обучается бинарный классификатор (случайный лес), пытающийся отличить «эталонные» данные от «подозрительных» .
- Если классификатор легко находит отличия, исследователи смотрят на важность признаков (feature importance). Те признаки, по которым классификатор «узнает» плохие данные, помечаются как испорченные .
- Испорченные признаки удаляются, и цикл повторяется до тех пор, пока классификатор не перестает отличать один набор данных от другого (достигает точности случайного угадывания) .
- Для исправления данных используются «предложения» (proposals) из эталонного набора, которые подставляются в испорченные ячейки так, чтобы дискриминатор перестал видеть разницу .
По словам авторов, этот метод, основанный на простых случайных лесах, показал результаты лучше, чем сложные дифференцируемые системы и методы оптимального транспорта .