Глубокие нейронные сети и субтитры к изображениям

Часть 2. Использование сетей внимания для улучшения качества подписей к изображениям

В моем предыдущем блоге я представил концепцию объединения CNN с LSTM для создания подписи к изображению и рассказал о том, как мы используем это в Badoo, чтобы помочь нашим пользователям найти любовь. На этот раз мы исследуем, как включение сетей внимания может помочь нам улучшить и обогатить подписи, создаваемые нашей моделью.

Почему сети внимания?

Чтобы улучшить качество наших подписей, нам часто требуется, чтобы декодер смотрел на разные части изображения при генерации нового слова в последовательности. Включение механизма внимания по существу позволяет модели сосредоточиться на области, имеющей отношение к слову, которое она покажет следующим. Например, пытаясь вывести слово «собака» из изображения ниже, мы хотим, чтобы модель фокусировалась на пикселях, где изображена собака.

Мы можем придать большее значение соответствующим пикселям, взяв средневзвешенное значение, а не просто средние веса. Это можно рассматривать как вероятность фокусировки на определенном месте изображения.

Включение сети внимания

Сеть внимания вычисляет веса пикселей на каждом временном шаге. Он рассматривает последовательность слов, которые были сгенерированы до сих пор, и определяет, что следует описать дальше. Взвешенное представление изображения можно рассматривать с предыдущим словом на каждом временном шаге для генерации следующего слова. В приведенном ниже примере именно «память» LSTM может помочь ему понять, что логично написать, что человек «держит собаку» после «человека».

Мягкое против жесткого Внимание

При «мягком» внимании веса всех пикселей в сумме составляют единицу, как показано ниже, где p - количество пикселей, а t - временной шаг.

Это многослойный перцептрон (за которым следует softmax), который используется для расчета весов. Модель может быть обучена от начала до конца как часть всей системы с использованием обратного распространения ошибки из-за детерминированной природы мягкого внимания. Напротив, стохастический характер жесткого внимания делает его непригодным для обучения обратному распространению таким же образом: вместо того, чтобы использовать все скрытые состояния в качестве входных данных для декодирования, он берет выборку на каждом временном шаге, чтобы сгенерировать выходное слово.

Есть плюсы и минусы, которые следует учитывать при использовании мягкого или жесткого внимания, но есть тенденция к использованию мягкого внимания из-за того факта, что градиент можно вычислить, а не оценивать с помощью стохастического процесса. Я рекомендую прочитать статью Покажи, посети и расскажи: создание титров нейронных изображений с визуальным вниманием для получения дополнительной информации об этих различиях.

Мультимодальные внимательные переводчики

Другой интересный подход, требующий внимания, - это использование мультимодального внимательного переводчика, как описано в таких статьях, как MAT: Мультимодальный внимательный переводчик для подписи к изображениям.

Это когда входное изображение передается в LSTM как последовательность обнаруженных объектов, а не все декодированное изображение. Также введен слой последовательного внимания, который учитывает все закодированные скрытые состояния при генерации слова.

Плотные субтитры с использованием ограничивающих рамок

Разновидностью подписи к изображениям с вниманием является введение плотных подписей с использованием ограничивающих рамок. Ограничивающую рамку можно представить себе как воображаемую рамку, нарисованную вокруг интересующей области изображения, например, во время обнаружения объекта.

Плотные субтитры включают описание того, что находится в каждой из этих ограничивающих рамок. В результате мы получаем подробные описания того, что находится в нескольких частях изображения. Этот подход также можно использовать для поиска изображений / семантического поиска изображений.

Источник: DenseCap: сети с полностью сверточной локализацией для плотных субтитров »

Пограничные случаи

Мы ценим, что для того, чтобы наша модель работала так же хорошо, как человек, нам еще предстоит пройти долгий путь, глядя на такие прогнозы, как этот ...

Фотоэффекты и фильтры Snapchat

Мы также заметили, что модель имеет тенденцию путаться, когда в изображение включены фотоэффекты, такие как фильтры Snapchat. Если вы столкнулись с похожими результатами и у вас есть решения для таких случаев, пожалуйста, помогите нам, разместив сообщение ниже! :-)

Помимо крайних случаев, в целом мы увидели некоторые приятные результаты в отношении качества предложений, генерируемых нашей моделью, которые, в свою очередь, позволили нам протянуть нашим пользователям руку помощи в поиске любви на Badoo.

Резюме

Итак, теперь вы знаете немного больше о том, как глубокие нейронные сети с включением механизмов внимания могут генерировать точные подписи для изображений. Этот прогресс в технологиях позволяет нам предоставлять информацию о нашем бизнесе, а также имеет множество других приложений в реальном мире, таких как, например, семантический поиск изображений.

Я надеюсь, что эта статья побудила вас узнать больше об архитектурах глубокого обучения и подскажет, где они могут способствовать инновациям на вашем рабочем месте.

Если вам понравилось это читать и вы хотите работать над такими же интересными проектами, мы стремимся расширить нашу команду Data Science в Badoo, поэтому, пожалуйста, свяжитесь с нами! 🙂

Если у вас есть какие-либо предложения / отзывы, не стесняйтесь комментировать ниже.