"Одна картинка стоит тысячи слов."

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

Может ли фотография говорить о чувствах фотографа?

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

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

Что такое визуальный анализ тональности?

Чтобы проверить вышеприведенную гипотезу, мы формулируем задачу, известную как анализ визуальных настроений. Для данного изображения мы стремимся определить, является ли изображение положительным (т. Е. Найденным в обзоре с оценкой 4 или 5 по шкале 5) или отрицательным (т. Е. Связанным с оценкой 1 или 2). Мы строим бинарный классификатор на основе фреймворка глубокого обучения под названием Сверточные нейронные сети. Архитектура нашей модели, показанная ниже, напоминает AlexNet для обнаружения объектов с некоторыми особенностями в применении к двоичной классификации тональности. Мы описываем детали этой базовой модели в статье, написанной Tuan и Hady и опубликованной на ACM Multimedia Conference 2017.

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

Как выглядят позитивные образы?

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

Как выглядят негативные изображения?

Ну, никто не любит платить слишком много (или, может быть, вообще платить?). Всегда неприятно находить то, чего не стоит на тарелке.

Необходимость в контексте

Фотографии онлайн-обзоров, которые высказывают мнение, возможно, субъективны для обозревателей с их личным опытом. Тогда возникает один вопрос:

Разные клиенты выражают одно и то же отношение к одной и той же еде?

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

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

Каким должен быть правильный способ определить настроение этого сценария?

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

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

В нашей архитектуре CNN есть два типа компонентов, а именно сверточные уровни и полносвязные уровни, что приводит к двум способам представления контекстов. Для сверточного слоя с n фильтрами / ядрами мы делаем k из n, зависящего от контекста, аналогично k из n нейронов для полносвязного слоя. С практической точки зрения фильтр сверточного слоя эквивалентен нейрону полносвязного слоя. Чтобы учиться в новых сетях, мы должны оптимизировать параметры в настройках онлайн-обучения. Подробности тренинга можно найти в нашей газете для заядлых читателей.

Помимо улучшения количественных результатов, мы хотели бы поделиться некоторыми интуитивными представлениями о том, как контексты влияют на наш детектор настроений. Сначала мы смотрим на изображения с наибольшей вероятностью положительного результата по базовому CNN без привлечения контекстов. Одна из групп изображений - это небольшая группа людей, празднующих что-то с тортом и свечой, как показано ранее. Затем мы смотрим на визуально похожие, но с измененным настроением изображения модели с помощью item-as-a-context. Наш элемент как контекст CNN дает нам еще одну группу о людях, но не в праздничном настроении. Какой интересный контраст!

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

Ссылки:
Полную версию статьи можно найти здесь: http://www.hadylauw.com/publications/acmmm17.pdf
Код и данные находятся здесь: Https://code.preferred.ai/vs-cnn