Человек, глядя на комнату, без труда считывает не только предметы, но и то, как они расположены друг относительно друга: стол слева от табурета, лампа над столом и так далее. Для моделей глубокого обучения это до сих пор было сложной задачей — они видят объекты, но плохо улавливают взаимосвязи между ними. Исследователи Массачусетского технологического института (MIT) предложили способ это исправить.
Разбить сцену на части
Новый подход генерирует изображение сцены по текстовому описанию объектов и связей между ними — например, по фразе «деревянный стол слева от синего табурета». Вместо того чтобы обрабатывать всё описание целиком, модель сначала разбивает его на отдельные фрагменты, каждый из которых соответствует одной конкретной связи, и обучает для каждого фрагмента отдельное представление. Затем с помощью метода оптимизации эти представления собираются в единую картинку.
Большинство моделей глубокого обучения работают иначе: они воспринимают все связи в описании как единое целое и генерируют изображение за один проход. Это работает, пока описания похожи на те, что модель видела при обучении, но даёт сбой на нетипичных случаях — например, когда связей в тексте становится больше, чем модель привыкла обрабатывать. Разбивая сцену на более простые и мелкие модели, исследователи из MIT получили систему, которая лучше справляется с непривычными комбинациями и большим числом связей.
Для описания отдельных связей между объектами команда применила технику energy-based models («энергетические модели»): метод кодирует каждое относительное описание по отдельности, а затем объединяет их, восстанавливая полный набор объектов и связей между ними. Благодаря такому разбиению на короткие фрагменты система умеет пересобирать сцену по-новому и лучше адаптируется к описаниям, которых не видела раньше.
Работает и в обратную сторону
Интереснее всего то, что метод работает и наоборот: по готовому изображению он может подобрать текстовое описание, которое верно передаёт связи между элементами сцены. Кроме того, модель способна редактировать изображение — переставлять элементы сцены так, чтобы они соответствовали новому текстовому описанию.
При сравнении с другими моделями глубокого обучения на задаче «текст → изображение» новая система обошла все базовые варианты. Отдельно исследователи провели опрос среди людей: участникам показывали сгенерированные картинки и просили оценить, насколько они соответствуют описанию. В самых сложных случаях — когда в описании фигурировали три связи одновременно — около 91% участников признали результат новой модели более удачным.
Учёные также проверили, узнаёт ли система, что два разных по формулировке описания на самом деле изображают одну и ту же сцену — и модель успешно распознавала такую эквивалентность. При увеличении числа связей в описании с одной до двух, трёх и даже четырёх подход продолжал строить изображения, соответствующие исходному тексту, тогда как альтернативные методы в таких случаях начинали ошибаться.
Зачем это нужно
По словам авторов, алгоритм способен обучаться на меньшем количестве данных и при этом обобщать знания на более сложные сцены — а значит, применим там, где роботам нужно выполнять комплексные, многошаговые манипуляции с предметами. Исследователи считают, что их работа приближает системы к тому, чтобы учиться на окружении и взаимодействовать с ним так же, как это делает человек.
В дальнейшем команда планирует проверить, как модель справляется с более сложными реальными фотографиями — с зашумлённым фоном и объектами, которые частично перекрывают друг друга. Ещё одна цель — встроить модель в робототехнические системы, чтобы робот мог самостоятельно определять связи между предметами по видео и использовать эту информацию для манипуляций с реальными объектами.
Источник: MarkTechPost.