Примечания к алгоритму генерации словосочетаний на основе cnn и lstm

глубокое обучение

Документ: «Изучение совместимости моды с двунаправленными LSTM»

Адрес бумаги:АР Вест V.org/ABS/1707.05…

Кодовый адрес:GitHub.com/координационное письмо/poly V…

Эта статья была впервые опубликована на моем официальном аккаунте:

Tickets.WeChat.QQ.com/Yes/Железная дорога 5603ETD…

Контакты:

Гитхаб:github.com/ccc013

Знать столбец:Машинное обучение и компьютерное зрение,Бумажные заметки с искусственным интеллектом

Публичный аккаунт WeChat:Примечания к алгоритму ИИ

1. Введение

Спрос на рекомендации модных словосочетаний растет.Эта статья основана на двух аспектах модных рекомендаций:

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

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

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

  1. Я не собирался рекомендовать набор словосочетаний;
  2. Поддерживать можно только одно из двух указанных выше направлений, то есть не только рекомендовать набор словосочетаний или рекомендовать недостающий предмет одежды к существующему словосочетанию;
  3. В настоящее время нет работы, которая может поддерживать несколько форм ввода, таких как ввод ключевых слов, ввод изображений или форма ввода изображений + ключевые слова;

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

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

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

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

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

Первый — использовать модель Inception-V3 в качестве экстрактора признаков, преобразовать входное изображение в вектор признаков, а затем использовать слой двунаправленного LSTM (Bi-LSTM) с 512 скрытыми единицами. Причина использования двунаправленного LSTM заключается в том, что автор считает, что набор словосочетаний можно рассматривать как последовательность в определенном порядке, а каждый предмет одежды в словосочетании представляет собой временной шаг. В каждый момент времени модель Bi-LSTM будет предсказывать следующее изображение на основе предыдущего изображения.

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

После обучения модели в этом документе оценивается модель с помощью трех задач, как показано на следующем рисунке, а именно:

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

2. Набор данных Polyvore

В экспериментах в этой статье используется набор данных под названием Polyvore. Polyvore — известный веб-сайт о моде. Пользователи могут создавать и сопоставлять данные на веб-сайте. Эти совпадения содержат большое количество информации в различных формах, например изображения и описания предметов, количество лайков для совпадения, в сочетании с некоторыми хэштегами. .

Набор данных Polyvore содержит в общей сложности 21889 наборов, которые разделены на обучающий набор, проверочный набор и тестовый набор, что составляет 17316, 1497 и 3076 наборов соответственно.

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

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

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

Следовательно, этот фиксированный порядок позволяет модели LSTM изучать временную информацию.

3. Метод

3.1 Fashion Compatibility Learning with Bi-LSTM

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

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

Учитывая набор словосочетаний,F=x1,x2,,xNF={x_1, x_2, \cdots, x_N}xtx_t— признак, извлеченный из t-го предмета одежды в совпадении после прохождения через CNN. В каждый момент времени прямой LSTM используется для прогнозирования следующего изображения для данного изображения.Изучение взаимосвязи между двумя временными точками эквивалентно изучению сопоставления взаимосвязи между двумя предметами одежды.

Используемая здесь функция потерь выглядит следующим образом:

вθf\theta_f представляет параметры модели в модели прямого прогнозирования, иPr()P_r(\cdot)вычисляется по модели LSTM, указывая, что прогноз основан на предыдущем входеxt+1x_{t+1}Вероятность.

Более подробно, LSTM сопоставляет вход с выходом через следующую серию скрытых состояний, Формула расчета выглядит следующим образом:

вxt,htx_t, h_tпредставляют входной и выходной векторы соответственно, а остальныеit,ft,ct,oti_t, f_t, c_t, o_tпредставляют собой векторы активации входных ворот, ворот забывания, блока памяти и выходных ворот соответственно.

В справочном документе «Рекуррентная модель языка на основе нейронной сети» выходные данные softmax используются для прогнозирования следующего слова в предложении. Эта статья также находится вhth_tЗатем добавляется слой softmax для расчета вероятности появления следующего предмета одежды:

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

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

здесьPr()P_r(\cdot)Он рассчитывается следующим образом:

Обратите внимание, что здесь к F добавляются два нулевых вектора.x0,xN+1x_0, x_{N+1}, роль состоит в том, чтобы сообщить двунаправленному LSTM, когда прекратить прогнозирование следующего предмета одежды.

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

3.2 Visual-semantic Embedding

Вторая часть — изучение визуально-смысловых векторов.

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

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

Вот несколько определений, пустьS=w1,w2,,wMS={w_1,w_2,\cdots, w_M}представляет собой текстовое описание, гдеwiw_iпредставлять слова, а затем использовать однократный векторeie_iпредставлять, а затем отображать в векторное пространствоvi=WTeiv_i = W_T \cdot e_iWTW_TПредставляет векторную матрицу слов, поэтому окончательное представление этого текстового описания

v=1Miviv=\frac{1}{M}\sum_i v_i

И вектор изображения представлен как:

f=WIxf=W_I\cdot x

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

d(f,v)=fvd(f,v) = f\cdot v

где и f, и v нормализованы, поэтому для визуально-семантического векторного обучения контрастная потеря используется для оптимизации:

Ee(θe)=fkmax(0,md(f,v)+d(f,vk))+vkmax(0,md(v,f)+d(v,fk))E_e(\theta_e)=\sum_f \sum_k max(0, m-d(f,v)+d(f,v_k)) + \sum_v\sum_k max(0, m-d(v,f)+d(v,f_k))

вθe=WI,WT\theta_e={W_I, W_T}представляет параметры модели,vkv_kпредставляет собой текстовое описание, которое не соответствует f, иfkf_kУказывает на изображение, которое не соответствует v. Таким образом, минимизируйте вышеуказанные потери, чтобы достичь расстояния между вектором изображения f и его текстовым описанием v, чем f до несоответствующего текстового описания.vkv_kРасстояние ближе к интервалу m, и тот же эффект достигается для v. В процессе обучения такие несоответствующие примеры образцов в одной и той же партии используются для оптимизации вышеуказанных потерь, что делает одежду со схожими семантическими признаками и стилями ближе в изученном векторном пространстве.

3.3 Joint Modeling

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

Первые две из них являются целевыми функциями двунаправленного LSTM, а третья предназначена для расчета потери визуального семантического вектора. Обучение всей модели может быть достигнуто с помощью обратного распространения во времени (BPTT). По сравнению со стандартным двунаправленным LSTM единственное отличие состоит в том, что градиент модели CNN представляет собой среднее значение двух источников (то есть части LSTM и визуального семантического векторного обучения), что позволяет CNN изучать полезную семантическую информацию одновременно. время.

4. Эксперимент

4.1 Детали реализации

  • Двунаправленный LSTM: Используйте модель InceptionV3 для вывода 2048-мерных функций CNN, а затем пройдите через полностью связанный слой для вывода 512-мерных функций, а затем введите их в LSTM.Количество скрытых единиц в LSTM равно 512, а вероятность отсева равна установить на 0,7;
  • визуально-смысловой вектор: Размерность совместного векторного пространства составляет 512 измерений, поэтомуWIW_IРазмерность2048×5122048\times 512,WTW_TРазмерность2757×5122757\times 512, 2757 — количество словарей, то пусть интервал m=0,2
  • совместное обучение: начальная скорость обучения равна 0,2, затем коэффициент затухания равен 2, и скорость обучения обновляется каждые 2 эпохи, размер пакета равен 10, то есть каждый пакет содержит 10 наборов совпадающих последовательностей, около 65 изображений и соответствующих текстовых описаний. , а затем точно настроит все слои сети и прекратит обучение, когда потеря проверки станет стабильной.

4.2. Результаты нескольких разных экспериментов

Для заполнения пробела экспериментальные результаты следующие:

Несколько хороших и плохих примеров:

Для прогнозов совпадения словосочетаний некоторые примеры прогнозов следующие:

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

  • Имея одно изображение, как показано на рисунке а, выполните LSTM в двух направлениях одновременно, чтобы получить полный набор словосочетаний;
  • Если ему дано несколько изображений, как показано на рисунке c, два изображения, то сначала будет выполнена операция, аналогичная заполнению пробела, и сначала будет предсказана одежда между двумя изображениями, а затем показано на рисунке d, а затем выполняется Предсказание одежды в других положениях для получения полного совпадения;

Если вы вводите одежду и текстовые описания следующим образом:

Реализация этого ввода сначала сгенерирует набор начальных словосочетаний на основе заданных изображений одежды, а затем опишет заданный входной текст.vqv_q, одежда без запроса в начальном совпаденииfif_iбудет обновлятьсяargminfd(f,fi+vq)argmin_f d(f, f_i+v_q), поэтому обновленное изображение одежды будет не только похоже на исходную одежду, но и будет близко к тексту входного запроса в визуальном семантическом векторном пространстве.

Или просто введите текстовое описание, подобное этому:

  • В первом сценарии, то есть примерах изображений в первых двух строках, входным текстовым описанием является атрибут или стиль одежды, сначала в качестве изображения запроса будет рассматриваться изображение одежды, наиболее близкое к текстовому описанию, а затем Bi -LSTM будет передавать это изображение для создания набора словосочетаний, которые затем обновляются на основе данного изображения и введенного текста;
  • Во втором сценарии, то есть в следующих двух строках примеров изображений, данное текстовое описание относится к определенной категории одежды, поэтому соответствующее изображение одежды будет извлечено в соответствии с текстовым описанием, а затем использовано в качестве изображения запроса для генерации матч.