Учим нейросети рассуждать о том, что они видят

Ребёнок, который никогда не видел розового слона, всё равно может его описать, в отличие от компьютера. Способность обобщать информацию и рассказывать о том, чего не наблюдал раньше, даётся машинам очень нелегко. Системы 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 позволяет:

  1. изучать визуальные свойства объектов с высокой точностью;
  2. эффективно выполнять визуальные рассуждения на наборе данных CLEVR;
  3. обобщаться на новые свойства, композиции и текстовые описания.

Нейросеть обучалась на 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 на четыре части: 

  1. выборка А содержит только сцены с менее чем 6 объектами и простыми вопросами
  2. выборка В содержит сцены с менее чем 6 объектами, но произвольными вопросами
  3. выборка С содержит произвольные сцены с простыми вопросами
  4. выборка 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.

Кейс Stworka: как создать ERP в облаке для 5000 строительных компаний

А также запустить маркетплейс для строителей и обрабатывать 1,5 млн артикулов ежедневно. Рассказываем, как компания Stworka развернула IT-инфраструктуру в Облаке...
Read More

Системы контроля версий: зачем они нужны и как их использовать

Мир разработки ПО издалека кажется непонятным и запутанным, но существуют инструменты, которые значительно упрощают жизнь и делают работу более эффективной....
Read More

Соглашение об уровне обслуживания (SLA)

Поговорим о документе, который может серьезно повлиять на успех проекта, будь то интернет-магазин, SaaS-платформа или любой другой онлайн-сервис. Речь пойдет...
Read More

Что такое S3 (Simple Storage Service)

Если вы только начинаете свой путь в разработке, вам обязательно нужно познакомиться с S3. Это краеугольный камень многих современных приложений...
Read More

Полный обзор NoSQL: особенности и использование

Развитие интернета диктует новые правила в разработке. Традиционные базы данных, которые называются реляционными (RDBMS), не справляются с задачами, которые требуют...
Read More

Как использовать DataSphere. Датасеты в DataSphere

Данные нужны в любой сфере: магазины анализируют продажи, в медцентры — истории болезней, ученые — результаты экспериментов. Чем больше информации,...
Read More

Основные задачи машинного обучения: классификация, регрессия, кластеризация и уменьшение размерности

Machine Learning ― это уже часть нашей повседневной жизни. От рекомендаций фильмов на Кинопоиске до спам-фильтров в почте — за...
Read More

Обзор CLI: командная строка и ее возможности

Когда были созданы первые компьютеры, операционной системой на них можно было управлять только при помощи ввода текстовых команд. Со временем...
Read More

Шардирование в базах данных: обзор концепции

В условиях стремительного роста объемов данных и увеличения нагрузок на информационные системы эффективность их масштабирования становится критически важной. Одним из...
Read More

Графический процессор (GPU): что это, для кого, разновидности

Дизайнерам, проектировщикам и разработчикам требуются мощные вычислительные ресурсы для работы. Обычный процессор (CPU) не справится с такими задачами, как обработка...
Read More