Учим нейросети рассуждать о том, что они видят
Ребёнок, который никогда не видел розового слона, всё равно может его описать, в отличие от компьютера. Способность обобщать информацию и рассказывать о том, чего не наблюдал раньше, даётся машинам очень нелегко. Системы Deep Learning работают только со статистическими закономерностями. Но что, если попробовать обучить их с помощью абстрактного или символического программирования? В этой статье мы расскажем об исследовании учёных из MIT об объединении статистического и символического ИИ.
Люди способны сравнивать отношения между объектами и по-разному интерпретировать их свойства. Рассмотрим первый пример, показанный на рисунке ниже.
Представьте, что человек совсем не знает цветов. Ему дают изображения с красными и зелёными кубиками, а также соответствующими вопросами и ответами. Он может легко определить разницу во внешнем виде объектов (в данном случае отличить цвет) и правильно сопоставить их с нужными словами (красный и зелёный). Другие свойства, например, форму, можно изучить аналогичным образом. Обладая этими знаниями, люди легко могут запомнить множество соответствий между визуальной информацией и семантикой слов (второй пример на рисунке), а также решать сложные композиционные задачи по зрительным подсказкам (третий пример).
Основываясь на этой концепции, исследователи из MIT создали нейро-символическую сеть (neuro-symbolic concept learner, NS-CL), которая одновременно изучает визуальное восприятие и анализирует семантику слов на основе изображений и пар «вопрос-ответ». NS-CL состоит из трёх модулей. Первый — нейронный модуль восприятия, извлекающий представление об объекте из фотографии. Второй — семантический анализатор для перевода вопросов в исполняемые программы, и третий — символический исполнитель этих программ, который классифицирует свойства и отношения между объектами и обрабатывает ответ на вопрос.
Нейросеть учится в следующем порядке: сначала осваивает отдельные представления об объектах на основе коротких вопросов, а затем — более сложные отношения между несколькими предметами. Это позволяет ей в дальнейшем интерпретировать новые композиции и вопросы к ним.
Нейро-символическое обучение
Рассмотрим работу каждого модуля нейросети. Как показано на рисунке ниже, модуль восприятия находит объекты на фотографии и извлекает скрытое глубокое представление каждого из них. Для этого используется предварительно обученная нейросеть Mask R-CNN. Ограничивающие параллелепипеды вокруг каждой фигуры вместе с исходным изображением затем отправляются в ResNet-34 для извлечения признаков цвета, формы и расположения.
Модуль семантического анализа переводит исходный вопрос в программу на предметно-ориентированном языке (domain specific language, DSL) для VQA (Visual Question Answering). DSL охватывает набор основных иерархичных операций для визуальных признаков, например, фильтрацию объектов с определёнными свойствами или запрос атрибута. Интерфейс ввода и вывода у всех операций одинаков, поэтому их можно комбинировать для создания программ любой сложности.
Последний модуль, исполнитель программы, выполняет её на основе полученного представления и отвечает на вопрос. Этот модуль имеет полностью дифференцируемую конструкцию по отношению к визуальным и концептуальным представлениям и поддерживает градиентную оптимизацию во время обучения.
Эксперименты
NS-CL позволяет:
- изучать визуальные свойства объектов с высокой точностью;
- эффективно выполнять визуальные рассуждения на наборе данных CLEVR;
- обобщаться на новые свойства, композиции и текстовые описания.
Нейросеть обучалась на 5 тыс. изображениях (менее 10% от обучающей выборки CLEVR). Для каждого из них генерировалось 20 вопросов. Mask R-CNN была обучена на 4 тыс. изображений CLEVR с примечаниями для ограничивающих параллелепипедов.
NS-CL просматривает фотографии и читает пары «вопрос-ответ», одновременно изучая как визуальные свойства объектов (цвет, форму, размер), так и семантический анализ слов. Результаты оценки нейросети на тестовой выборке CLEVR приведены в таблице ниже. Модель достигает высокого уровня эффективности по сравнению с другими похожими архитектурами — MAC и TbD. Эти нейросети основаны на модели внимания, и для систематического изучения были реализованы четыре их варианта. TbD-Object и MAC-Object вместо одного изображения принимают в качестве входных данных стек объектов, а TbD-Mask и MAC-Mask объединяют маски предметов и с их помощью направляют внимание по изображению.
NS-CL достигает наилучших результатов, поскольку она полностью связывает между собой обучение визуальным свойствам и основанным на них рассуждениям.
Обобщение на новые композиции
Для оценки способности моделей обобщаться на изображения с новыми композициями используется датасет CLEVR-CoGenT. Он состоит из двух выборок: набор А содержит только серые, синие, коричневые, жёлтые кубы и красные, зелёные, фиолетовые и голубые цилиндры, а в наборе В все эти цвета для кубов и цилиндров противоположны. Если визуальные свойства будут изучены только на выборке А, то получится, что модель станет просто классифицировать форму по цвету. Это приведёт к плохому обобщению для выборки В.
Исследователи решили проблему, введя идею восприятия свойств предметов в виде операторов. В частности, они совместно обучали сеть свойствам объектов (например, «красный», «куб» и т. д.) и семантике слов, сохраняя при этом предварительно изученные операторы. Поскольку модель получает совершенно разные представления для разных свойств, она достигает точности 98.8% для выборки А и 98.9% для выборки В.
Обобщение на новые изображения и вопросы
Человек может посмотреть на небольшое изображение с несколькими объектами, изучить простые вопросы и ответы к нему, а затем легко обобщить полученные знания для крупных сцен с множеством объектов (сцена — это обстановка, то есть совокупность всех объектов на снимке). Чтобы получить такой же результат для нейросети, исследователи разбили набор данных CLEVR на четыре части:
- выборка А содержит только сцены с менее чем 6 объектами и простыми вопросами
- выборка В содержит сцены с менее чем 6 объектами, но произвольными вопросами
- выборка С содержит произвольные сцены с простыми вопросами
- выборка D содержит произвольные сцены и вопросы.
На рисунке ниже показаны примеры образцов:
Для обучения использовались только данные выборки А, а для оценки — остальные три набора. NS-CL добивается очень хорошего обобщения для больших сцен и сложных вопросов, достигая точности в 97%.
Также авторы проверили обобщаемость модели на наборе данных Minecraft reasoning dataset, в котором собрано множество скриншотов из игры. Датасет очень сильно отличается от CLEVR: изображения выглядят иначе, и к ним задаются вопросы совершенно других типов. Тем не менее, модель NS-CL достигла на нём 93.3% точности.
Пример выполнения семантического разбора для ответа на вопрос
Обобщение на естественные изображения и текст
Далее авторы провели эксперименты на изображениях MS-COCO и представили результаты в наборе данных VQS. Он содержит подмножество фотографий и вопросов к ним из исходного датасета VQA 1.0. Все вопросы могут быть визуально обоснованы: каждый из них связан с несколькими областями изображения, содержащими ответ. Пример показан на рисунке:
Для извлечения DSL-программ из изображений используется синтаксический анализатор. Вопросы и характеристики объектов извлекаются из моделей, предварительно обученных на наборах данных MS-COCO и ImageNet соответственно. Нейросеть MAC решает эту задачу с точностью 46.2%, NS-CL достигает точности 44.3%. На рисунке ниже показаны примеры изученных визуальных свойств, включая категории объектов, атрибуты и отношения между ними:
Что дальше?
Хотя модель NS-CL достигает хорошей точности в изучении визуальных сцен и обобщении результатов на новые композиции, на этом её возможности не исчерпываются. Исследователи планируют обучить её описанию трехмерных объектов, а также перевести предметно-ориентированные команды в обработку естественного языка (как можно было заметить, эффективность обработки естественных запросов пока оставляет желать лучшего).
Нейро-символическая модель может использоваться для обучения роботов, чтобы они смогли связывать между собой какое-либо действие (например, толчок) и его семантическое представление. Это позволит машинам проще и быстрее адаптироваться к сложным интерактивным средам.
С оригинальной статьёй можно ознакомиться на портале openreview.net.