1. Введение
С быстрым ростом онлайн-рынка моды возникла острая необходимость в эффективных системах рекомендаций. Традиционные методы коллаборативной фильтрации, основанные на истории покупок (оценках) пользователей, плохо подходят для моды. История пользователя может содержать совершенно разные стили (например, деловые костюмы и джинсы для отдыха), что делает невозможным изучение согласованных, детализированных стилевых характеристик для отдельных предметов одежды или образов. Основная задача — смоделировать тонкое, часто субъективное понятие «стилевой совместимости» между предметами.
В данной статье представлен Style2Vec — новая модель распределённого представления для предметов одежды. Вдохновлённая дистрибутивной семантикой в NLP (например, Word2Vec), она обучает векторные представления (эмбеддинги) предметов на основе пользовательских «стилевых наборов» — коллекций одежды и аксессуаров, образующих целостный образ. Ключевое нововведение заключается в использовании свёрточных нейронных сетей (CNN) в качестве проекционных функций, преобразующих изображения предметов в векторы представления, что позволяет преодолеть проблему разреженности данных, когда отдельные предметы появляются в небольшом количестве стилевых наборов.
2. Методология
2.1. Постановка задачи и стилевые наборы
Стилевой набор определяется как коллекция предметов (например, куртка, рубашка, брюки, обувь, сумка), которые вместе составляют единый, целостный образ. Это аналогично «предложению» в NLP, в то время как каждый отдельный предмет одежды является «словом». Цель модели — обучить функцию $f: I \rightarrow \mathbb{R}^d$, которая отображает изображение предмета $I$ в $d$-мерный латентный стилевой вектор таким образом, что предметы, принадлежащие одному стилевому набору, имеют схожие векторы в пространстве представлений.
2.2. Архитектура Style2Vec
Модель использует две отдельные свёрточные нейронные сети (CNN):
- Входная CNN ($\text{CNN}_i$): Обрабатывает изображение целевого предмета, представление которого изучается.
- Контекстная CNN ($\text{CNN}_c$): Обрабатывает изображения контекстных предметов (других предметов из того же стилевого набора).
Обе сети отображают свои входные изображения в одно и то же $d$-мерное пространство представлений. Такой подход с двумя сетями позволяет модели различать роль целевого предмета и его контекста в процессе обучения.
2.3. Целевая функция обучения
Модель обучается с использованием контрастивной целевой функции, вдохновлённой skip-gram с негативной выборкой. Для заданного стилевого набора $S = \{i_1, i_2, ..., i_n\}$ цель состоит в максимизации вероятности наблюдения любого контекстного предмета $i_c$ при заданном целевом предмете $i_t$. Целевая функция для одной пары (цель, контекст) имеет вид:
$$ J(\theta) = \log \sigma(\mathbf{v}_{i_t} \cdot \mathbf{v}_{i_c}) + \sum_{k=1}^{K} \mathbb{E}_{i_k \sim P_n} [\log \sigma(-\mathbf{v}_{i_t} \cdot \mathbf{v}_{i_k})] $$
где $\mathbf{v}_{i} = \text{CNN}(I_i)$ — векторное представление предмета $i$, $\sigma$ — сигмоидная функция, а $P_n$ — распределение шума для негативной выборки $K$ негативных примеров.
3. Экспериментальная установка
3.1. Набор данных
Модель обучалась на 297 083 пользовательских стилевых наборах, собранных с популярного модного веб-сайта. Каждый набор содержит несколько изображений предметов из различных категорий (верх, низ, обувь, аксессуары).
Статистика набора данных
Всего стилевых наборов: 297 083
Среднее количество предметов в наборе: ~5-7
Категории предметов: Разнообразные (одежда, обувь, аксессуары)
3.2. Базовые модели
Производительность сравнивалась с несколькими базовыми моделями:
- На основе категорий: Использование one-hot кодирования категорий предметов в качестве признаков.
- На основе атрибутов: Использование ручных визуальных атрибутов (цвет, узор).
- Признаки CNN: Использование признаков из предобученной CNN (например, ResNet), извлечённых из отдельных изображений предметов, без учёта контекста набора.
- Традиционный Word2Vec на категориях: Рассмотрение категорий предметов как «слов» в «предложениях» стилевых наборов.
3.3. Метрики оценки
Использовались два основных метода оценки:
- Тест на аналогии в моде: Аналогичен тесту «king - man + woman = queen» для векторных представлений слов. Оценивает, улавливают ли обученные векторы семантические отношения (например, «ботинок - зима + лето = сандалия»).
- Классификация стилей: Использование обученных признаков Style2Vec в качестве входных данных для классификатора, предсказывающего заранее определённые стилевые метки (например, формальный, панк, бизнес-кэжуал). В качестве метрики используется точность.
4. Результаты и анализ
4.1. Тест на аналогии в моде
Style2Vec успешно решил множество модных аналогий, продемонстрировав, что его векторные представления улавливают богатую семантику, выходящую за рамки базовых категорий. Примеры включают преобразования, связанные с:
- Сезонностью: Зимний предмет → Летний предмет.
- Формальностью: Повседневный предмет → Формальный предмет.
- Цветом/Узором: Предмет однотонного цвета → Предмет с узором.
- Силуэтом/Формой: Приталенный предмет → Свободный предмет.
Это указывает на то, что модель обучила разделённое представление, в котором определённые измерения или направления в векторном пространстве соответствуют интерпретируемым стилевым атрибутам.
4.2. Производительность классификации стилей
При использовании в качестве признаков для классификатора стилей векторные представления Style2Vec значительно превзошли все базовые методы. Ключевой вывод заключается в том, что признаки, извлечённые из совместного появления в стилевых наборах, лучше предсказывают общие стилевые метки, чем признаки из отдельных изображений (базовые CNN) или метаданные (базовые категории/атрибуты). Это подтверждает основную гипотезу о том, что стиль — это реляционное свойство, которое лучше всего изучать из контекста.
Ключевые выводы
- Контекст — это всё: Стиль не является внутренним свойством предмета, а возникает из его отношений с другими предметами.
- Преодоление разреженности: Использование CNN в качестве обучаемых проекционных сетей эффективно смягчает проблему разреженности данных, присущую рассмотрению каждого уникального предмета как отдельного токена.
- Богатая семантика: Пространство представлений организует предметы по нескольким интерпретируемым стилевым измерениям, что позволяет проводить сложные аналогические рассуждения.
5. Технические детали и математическая формулировка
Основное нововведение заключается в адаптации фреймворка Word2Vec для визуальной области. Пусть $D = \{S_1, S_2, ..., S_N\}$ — корпус стилевых наборов. Для стилевого набора $S = \{I_1, I_2, ..., I_m\}$, где $I_j$ — изображение, мы выбираем целевой предмет $I_t$ и контекстный предмет $I_c$ из $S$.
Векторные представления вычисляются как: $$\mathbf{v}_t = \text{CNN}_i(I_t; \theta_i), \quad \mathbf{v}_c = \text{CNN}_c(I_c; \theta_c)$$ где $\theta_i$ и $\theta_c$ — параметры входной и контекстной CNN соответственно. Сети обучаются end-to-end путём оптимизации целевой функции $J(\theta)$, определённой в разделе 2.3, для всех пар (цель, контекст) в наборе данных. После обучения только Входная CNN ($\text{CNN}_i$) используется для генерации итогового векторного представления Style2Vec для любого нового изображения предмета.
6. Фреймворк анализа: Пример без кода
Сценарий: Платформа электронной коммерции в сфере моды хочет улучшить свой виджет рекомендаций «Дополни образ».
Традиционный подход: Виджет предлагает предметы на основе частоты совместных покупок или общих тегов категорий (например, «покупатели, купившие этот пиджак, также купили эти брюки»). Это приводит к общим, часто стилистически несовместимым предложениям.
Подход с использованием Style2Vec:
- Генерация векторных представлений: Все предметы в каталоге обрабатываются обученной Входной CNN для получения их векторов Style2Vec.
- Формирование запроса: Пользователь добавляет в корзину пару тёмно-синих чинос и белые кроссовки. Платформа усредняет векторы Style2Vec этих двух предметов, создавая «вектор запроса», представляющий зарождающийся стилевой набор.
- Поиск ближайших соседей: Система ищет в пространстве представлений предметы, векторы которых ближе всего к вектору запроса. Она находит, например, светло-голубую оксфордскую рубашку, полосатый свитер с круглым вырезом и холщовый ремень.
- Результат: Предложения не просто часто покупаются вместе, но и являются стилистически согласованными с выбранными пользователем предметами, продвигая повседневный, смарт-кэжуал образ. Платформа может объяснить рекомендации через аналогию: «Мы предложили эту рубашку, потому что она завершает ваш повседневный образ, подобно тому, как пиджак завершает формальный».
7. Взгляд отраслевого аналитика
Ключевое понимание: Style2Vec — это не просто очередная модель векторных представлений; это стратегический поворот от моделирования вкуса пользователя к моделированию семантики предметов в стилевом контексте. В статье верно определён фундаментальный недостаток применения традиционной коллаборативной фильтрации к моде: история покупок пользователя — это зашумлённый, многостилевой сигнал. Сосредоточившись на образе (стилевом наборе) как на атомарной единице стиля, они обходят этот шум и улавливают суть моды — которая является комбинаторной и реляционной. Это согласуется с общими трендами в ИИ, движущимися в сторону реляционных и графовых методов рассуждения, как, например, в моделях Graph Neural Networks (GNN), применяемых к социальным сетям или графам знаний.
Логическая последовательность: Аргументация убедительна. 1) Проблема: Рекомендации на основе истории пользователя не работают для стиля. 2) Инсайт: Стиль определяется совместным появлением предметов в образах. 3) Заимствование: Дистрибутивная гипотеза из NLP (слова в схожих контекстах имеют схожее значение). 4) Адаптация: Замена слов на изображения предметов, предложений — на стилевые наборы. 5) Решение проблемы разреженности: Использование CNN в качестве обучаемых энкодеров вместо таблиц поиска. 6) Валидация: Демонстрация работоспособности векторных представлений через задачи аналогий и классификации. Логика чиста, а инженерные решения (две CNN, негативная выборка) — это прагматичные адаптации проверенных методов.
Сильные стороны и недостатки:
- Сильные стороны: Главная сила статьи — её концептуальная ясность и эффективный междисциплинарный перенос. Использование CNN для обработки визуального ввода и разреженности элегантно. Тест на модные аналогии — это блестящая, интуитивно понятная метрика оценки, которая сразу демонстрирует возможности модели, подобно тому, как оригинальная статья Word2Vec сделала это для NLP.
- Недостатки и пробелы: Модель по своей сути реактивна и описательна, а не генеративна. Она обучается на существующих пользовательских наборах, потенциально усиливая популярные или мейнстримные стили и испытывая трудности с авангардными или новыми комбинациями — известное ограничение дистрибутивных методов. Она также обходит аспект персонализации. Мой стиль «панк» может отличаться от вашего. Как отмечено в основополагающей работе по нейронной коллаборативной фильтрации He et al. (2017, WWW), конечная цель — персонализированная функция. Style2Vec предоставляет отличные представления предметов, но не моделирует явно, как конкретный пользователь взаимодействует с этим стилевым пространством.
Практические выводы:
- Для исследователей: Следующий непосредственный шаг — гибридизация. Объединение контекстно-зависимых векторных представлений предметов Style2Vec с модулем пользовательской персонализации (например, нейронной системой рекомендаций). Исследование обучения стилям с малым количеством примеров (few-shot) или без них (zero-shot) для преодоления смещения в сторону популярности.
- Для практиков (Электронная коммерция, стилистические приложения): Реализация этой модели в качестве базового сервиса для подбора образов, стилизации виртуального гардероба и поиска по стилю. ROI очевиден: увеличение среднего чека за счёт лучших предложений «дополни образ» и повышение вовлечённости клиентов через интерактивные инструменты исследования стиля («найти предметы, которые стилистически похожи на этот»).
- Стратегический вывод: Будущее ИИ в моде лежит в многомодальных, контекстно-зависимых системах. Style2Vec — это важный шаг за пределы чистого визуального анализа (как в наборах данных DeepFashion) и чистой коллаборативной фильтрации. Победит та платформа, которая сможет объединить этот тип семантического понимания стиля с моделированием индивидуальных предпочтений пользователя и, возможно, даже с генеративными возможностями для создания новых виртуальных стилей, подобно тому, как модели вроде DALL-E 2 или Stable Diffusion генерируют изображения по текстовым запросам, но с ограничениями на правдоподобность в моде.
8. Будущие приложения и направления исследований
- Персонализированный Style2Vec: Расширение модели для изучения пользовательских стилевых представлений, обеспечивающих «стиль для вас», а не просто «стиль в целом». Это может включать архитектуру с двумя башнями, объединяющую энкодеры предметов и пользователей.
- Кросс-модальное обучение стилю: Включение текстовых описаний (названия товаров, отзывы пользователей) и данных из социальных сетей (посты в Instagram с хэштегами) наряду с изображениями для создания более богатых, многомодальных стилевых представлений.
- Генеративные стилевые приложения: Использование изученного стилевого пространства в качестве механизма кондиционирования для генеративно-состязательных сетей (GAN), таких как StyleGAN, или диффузионных моделей для генерации новых дизайнов одежды, соответствующих целевому стилю, или для виртуальной «примерки» различных стилей путём манипуляции векторными представлениями предметов. Исследования в области трансляции изображение-в-изображение, такие как CycleGAN (Zhu et al., 2017), показывают потенциал преобразования внешнего вида предметов между доменами, что может направляться векторами Style2Vec.
- Динамический прогноз модных трендов: Отслеживание эволюции центроидов стилевых векторов с течением времени для прогнозирования возникающих трендов, аналогично тому, как векторные представления слов использовались для отслеживания семантических сдвигов в языке.
- Устойчивая мода: Рекомендация стилистически согласованных подержанных или арендованных предметов путём поиска ближайших соседей в пространстве Style2Vec, способствуя циркулярной экономике в моде.
9. Ссылки
- Lee, H., Seol, J., & Lee, S. (2017). Style2Vec: Representation Learning for Fashion Items from Style Sets. arXiv preprint arXiv:1708.04014.
- Mikolov, T., Chen, K., Corrado, G., & Dean, J. (2013). Efficient Estimation of Word Representations in Vector Space. arXiv preprint arXiv:1301.3781.
- He, X., Liao, L., Zhang, H., Nie, L., Hu, X., & Chua, T. S. (2017). Neural Collaborative Filtering. In Proceedings of the 26th International Conference on World Wide Web (pp. 173–182).
- Liu, Z., Luo, P., Qiu, S., Wang, X., & Tang, X. (2016). DeepFashion: Powering Robust Clothes Recognition and Retrieval with Rich Annotations. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR).
- Zhu, J. Y., Park, T., Isola, P., & Efros, A. A. (2017). Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks. In Proceedings of the IEEE International Conference on Computer Vision (ICCV).
- Karras, T., Laine, S., & Aila, T. (2019). A Style-Based Generator Architecture for Generative Adversarial Networks. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR).