《Неконтролируемое добавление подписей к изображениям》 Примечания к чтению

компьютерное зрение

Мало знаний, большой вызов! Эта статья участвует в "Необходимые знания для программистов«Творческая деятельность.

Неконтролируемые подписи к изображениям Примечания к чтению

"Неконтролируемое добавление подписей к изображениям" – это документ о направлении подписей к изображениям, который был включен в 2019CVPR. Недавно я читал этот документ, поэтому сделал пометку о документе. Если что-то не так, вы можете обсудить это в комментарии. площадь.

1. Abstarct

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

2. Introduction

在这里插入图片描述Изображение, которое появляется в этой оригинальной статье, описывает концептуальную разницу между существующими моделями подписи к изображению:

  1. Рисунок а относится к обучению с учителем, для обучения которого требуются пары «изображение-предложение».
  2. Рисунок b относится к созданию подписей для объектов, которые не существуют в парах изображение-предложение, но существуют в наборах данных распознавания изображений, так что новые объекты могут быть введены в предложения.
  3. Рисунок c относится к обобщению переноса того, что было изучено из существующих пар «изображение-предложение», в непарные данные. Таким образом, парные данные изображения-предложения не используются для обучения новой модели.
  4. Рисунок d относится к преобразованию изображения в предложение на опорном языке (китайском) и последующему переводу опорного языка на целевой язык (английский).
  5. Рисунок e относится к использованию структуры полуконтролируемого обучения, в которой для предварительного обучения используется внешний корпус текстов.
  6. Рисунок f представляет собой модель обучения без учителя, предложенную автором этой статьи.

В этой модели есть три ключевых шага:

  1. Мы обучаем языковую модель на корпусе предложений, используя метод генерации состязательного текста, который генерирует предложения с заданными характеристиками изображения. Потому что в неконтролируемом случае у авторов нет правильного описания обучающих изображений. Поэтому мы используем состязательное обучение для генерации предложений.
  2. Чтобы гарантировать, что сгенерированные подписи содержат то, что есть на изображении, авторы передают знания, предоставленные визуальным детектором, в модель, то есть получают вознаграждение, когда слова, соответствующие визуальным понятиям, обнаруженным на изображении, появляются в сгенерированных предложениях.
  3. Для данного признака изображения мы можем декодировать заголовок, который в дальнейшем можно использовать для восстановления признаков изображения. Точно так же мы можем использовать кодирование предложений из корпуса, а затем реконструировать предложения. Благодаря двунаправленной реконструкции сгенерированные предложения представляют семантическое значение изображения, тем самым улучшая модель.

В целом, есть четыре вклада в эту статью:

  1. Экспериментируйте с неконтролируемыми подписями к изображениям
  2. Предлагаются три цели для обучения моделей подписи к изображению.
  3. Предложите использовать немаркированные данные для конвейера инициализации
  4. Сканирует 2 миллиона предложений с отличными результатами

3. Unsupervised Image Captioning

Для неконтролируемой модели подписи к изображению в статье требуется набор изображений.II_{}={I1I_{1},I2I_{2},  InI_{n}} и набор предложенийSS_{}={S1S_{1},S2S_{2},  StS_{t}} Так же, как и существующий визуальный детектор, важно отметить, что предложения получены из внешнего корпуса и не имеют отношения к картинкам.

3.1 The Model

在这里插入图片描述На приведенном выше рисунке показаны основные компоненты модели, включая кодировщик изображений, генератор генератора предложений и дискриминатор-дискриминатор предложений.

Encoder

Кодер в этой статье использует сеть Inception-V4, которая представляет собой тип CNN, который кодирует входное изображение в представление функции.fimf_{im}:

在这里插入图片描述

Generator

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

在这里插入图片描述где FC представляет полносвязный слой, ~ представляет операцию выборки, n — длина сгенерированного предложения,WeW_{e}представляет матрицу встраивания слов, аxtx_{t}вход LSTM,sts_{t}является горячим векторным представлением сгенерированного слова,hth_{t}^g^ — скрытое состояние LSTM,ptp_{t}- вероятность словаря на шаге t,s0s_{0}иsns_{n}каждый представляет флаги начала (SOS) и конца (EOS) предложения,h1h_{-1}^g^ инициализируется 0, в неконтролируемой модели этой статьи,xtx_{t}из распределения вероятностейptp_{t}выборка.

Discriminator

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

在这里插入图片描述 hth_{t}^d^ — скрытое состояние LSTM,qtq_{t}представляет сгенерированное частичное предложениеStS_{t} = [s1s_{1}······sts_{t}] Вероятность того, что дискриминатор считается истинным предложением. Точно так же, учитывая реальное предложение S из корпуса, дискриминатор выдаетqtq_{t}(1 qtq_{t}Это относится к вероятности того, что неполное предложение, составленное из первых t слов предложения S, будет расценено дискриминатором как истинное.

3.2 Training

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

3.2.1 Adversarial Caption Generation

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

在这里插入图片描述

Для дискриминатора соответствующая функция состязательных потерь имеет вид

在这里插入图片描述

Нам нужно сделать переднюю часть, чем лучше, чем меньше, тем лучше.

3.2.2 Visual Concept Distillation

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

在这里插入图片描述

вcic_{i}обнаружено t-е понятие, иviv_{i}- соответствующий показатель достоверности. для t-го сгенерированного словаStS_{t}Концептуальная награда

在这里插入图片描述

где функцияII_{}() является индикаторной функцией, т. е. когда в формулеsts_{t}=cic_{i}Значение функции 1, в противном случае 0.

3.2.3 Bi-directional Image-Sentence Reconstruction

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

Image Reconstruction

在这里插入图片描述

Этот шаг должен сделать сгенерированные предложения более соответствующими изображению, в этой статье авторы решили реконструировать особенности изображения, а не все изображение. На приведенном выше рисунке дискриминатор можно рассматривать как кодировщик предложений.В конце дискриминатора находится полностью подключенный слой для преобразования конечного состояния скрытого слоя.hnh_{n}^d^ проецируется в пространство, общее для изображений и предложений

在这里插入图片描述

где x' можно далее рассматривать как признаки изображения, реконструированные из сгенерированных предложений. После этого авторы определяют дополнительную функцию потерь реконструкции изображения在这里插入图片描述

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

在这里插入图片描述

Sentence Reconstruction

在这里插入图片描述

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

在这里插入图片描述

вsts_{t}^ представляет t-е слово в предложении.

3.2.4 Integration

Модель обучения рассматривает три цели. Для генератора автор использует градиент политики для обучения, Градиент политики оценивает градиент обучаемых параметров на основе совместного вознаграждения, Совместное вознаграждение включает в себя состязательное вознаграждение, концептуальное вознаграждение и вознаграждение за реконструкцию изображения. В дополнение к градиенту, оцениваемому с помощью градиента политики, потери при реконструкции предложения также обеспечивают градиент для генератора посредством обратного распространения ошибки. Оба типа градиентов используются для обновления генератора. сделатьθ\thetaУказывает обучаемые параметры в генераторе, затем оθ\thetaГрадиент

在这里插入图片描述

вγ\gammaкоэффициент затухания,btb_{t}является эталонным вознаграждением с использованием алгоритма самокритики,λc\lambda_{c},λim\lambda_{im},λsen\lambda_{sen}Оба являются гиперпараметрами, которые контролируют веса. Для дискриминатора потери состязательности и реконструкции объединяются для обновления параметров с помощью градиентного спуска:

在这里插入图片描述

Во время обучения генератор и дискриминатор обновляются поочередно.

3.3 Initialization

Автор предлагает метод инициализации конвейера для предварительной подготовки генератора и дискриминатора.

Для генератора автор создает псевдозаголовок для каждого изображения, а затем использует пару изображение-заголовок для инициализации модели, которая включает в себя следующие четыре шага:

  1. Сначала создайте словарь понятий, включающий все целевые классы в наборе данных OpenImage;
  2. На втором этапе мы используем корпус для обучения модели «концепция-предложение» (con2sen), учитывая предложение. Я использую однослойный LSTM для кодирования понятийных слов в предложение, чтобы получить вектор признаков, а затем использую еще один декодер Layer LSTM для декодирования этой функции, чтобы получить целое предложение;
  3. На третьем этапе мы используем существующий детектор понятий для обнаружения понятия, включенного в каждое изображение.Используя обнаруженное понятие и модель «понятие-предложение», мы можем создать псевдозаголовок для каждого изображения;
  4. На четвертом этапе мы используем эти псевдопары «заголовок-изображение» для обучения генератора.

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

4. Experiments

Автор использует изображения из набора данных MSCOCO в качестве набора изображений (за исключением субтитров) и создает корпус, просматривая описания изображений Shutterstock (иностранный веб-сайт изображений). Модели обнаружения объектов, обученные на OpenImages, используются в качестве детекторов визуальных понятий.

4.1 Shutterstock Image Description Corpus

Каждое изображение на Shutterstock сопровождается описанием, а в качестве ключевых слов для поиска авторы использовали названия 80 категорий объектов в наборе данных MSCOCO, всего авторы собрали 2 322 628 различных описаний изображений.

4.2 Experimental Settings Following

Скрытое измерение и общее пространственное измерение LSTM установлены на 512.λc\lambda_{c},λim\lambda_{im},λsen\lambda_{sen}установлены на 10, 0,2 и 1.γ\gammaустановлен на 0,9. Автор использует оптимизатор Adam для обучения модели, установив скорость обучения на 0,0001. Во время инициализации авторы используют Адама и устанавливают скорость обучения на 0,001, чтобы минимизировать перекрестную потерю энтропии. Используйте поиск луча при создании подписей на этапе тестирования и установите размер луча равным 3.

Если вы считаете, что этот блог полезен, пожалуйста, поставьте мне лайк, и если у вас есть что-то, вы можете обменяться им в области комментариев~