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

Microsoft всегда была активна в сфере искусственного интеллекта с инициативами по разработке инновационных, интерактивных и иммерсивных приложений. Будь то Службы машинного обучения Azure, Azure Databricks, Когнитивные службы Azure или ML.net, Microsoft всегда стремится упаковать ИИ как готовые к использованию службы в форме API / SDK для различных программ. языки и платформы.

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

Итак, какие именно технологии используются для создания единого повествования, создающего систему искусственного интеллекта?

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

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

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

Пропускные векторы

Что такое векторы пропуска мыслей?

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

Эта модель называется пропуском мыслей, а полученные векторы - векторами пропуска мыслей.

На чем тренируется скип-мысли?

Нейронная сеть обучается на BookCorpus, который насчитывает около 11000 книг в 16 различных жанрах. Теперь данные, которых нет в книгах этих жанров, будут содержать существительные, не знакомые с моделью пропуска мыслей. В этом случае расширение словарного запаса может использоваться для кодирования неизвестных слов.

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

В общих чертах модель можно разделить на две части - кодировщик и декодеры.

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

Как декодер узнает, какие предложения генерировать?

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

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

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

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

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

Покажи, посети и расскажи: создание подписей к нейронным изображениям с визуальным вниманием

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

Что такое внимание?

Что такое внимание?

Как работает внимание-

Как работает внимание-

Субтитры выполняются с использованием двух вариантов внимания - стохастического «жесткого» внимания и детерминированного «мягкого» внимания.

Самый верхний столбец отображает «мягкое» внимание, а нижний столбец - «жесткое» внимание. В этом случае оба варианта генерировали идентичный заголовок.

Самый верхний столбец отображает «мягкое» внимание, а нижний столбец - «жесткое» внимание. В этом случае оба варианта генерировали идентичный заголовок.

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

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

Благодаря этому моделируется своего рода человеческое поведение, при котором «внимание» используется для фокусировки на различных частях изображения, а затем описывается естественным образом.

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

Автоматическая генерация текста находит свое широкое и растущее применение в автоматической документации, написании писем, создании отчетов и так далее. Создание подписей к изображениям - это лишь один из вариантов использования автоматического создания текста - концепция, которая набирает обороты в сообществе искусственного интеллекта. Такие компании, как Toyota, интегрировали это в свою рекламную кампанию Rav4. Здесь на основе пользовательских данных создается значимая комбинация двух дискретных действий, которая затем представляется в виде видео. Это видео затем используется в качестве целевой маркетинговой стратегии, настраиваемой для каждого пользователя.

Современные модели обработки естественного языка, такие как BERT и GPT-2, революционизировали нашу способность создавать модели с человеческим пониманием языка. Пробел в том, что искусственный интеллект не может понять «естественный» поток слов, похоже, устраняется с помощью этих новых моделей.

Итак, вы хотите создать собственное приложение Pix2Story? Пожалуйста, обратитесь к этой статье Приянки для создания собственного генератора подписей к изображениям.

Удачи и сочинения собственных историй! Поделитесь с нами своими дурацкими творениями, если таковые имеются !!!