基於圖像信息的搭配商品推薦
《Learning Visual Clothing Style with Heterogeneous Dyadic Co-occurrences》論文閱讀
Introduction
在推薦場景中,相似商品的i2i推薦一直是重要的基礎數據,但只是推薦相似商品還是不夠的,用戶除了對相似商品的需求外還有對跨類目的搭配商品的需求。這篇文章介紹的就是基於商品圖像的搭配推薦。
本文的主要思想是通過學習一個feature transformation將商品的圖像信息映射到latent space上,這個latent space就是用於表達搭配特性的。這個latent space即style space,即本文的一個重要前提假設是將計算商品的搭配特性轉化為計算商品的style信息,具有相同或相似style的商品是相互搭配的。
1. feature transformation是使用的Siamese Convolutional Neural Network,training sample是搭配和不搭配的商品pair對。
2. 對搭配特性建模的方式是使用了商品的co-occurrence信息,尤其是co-purchase信息。即本文的另外一個重要假設:如果兩個商品被用戶同時購買(或者被同一個用戶購買)的頻率較高則說明他們搭配。即商品的共現信息決定了其在latent space上的分布情況。這是模型訓練和評估時的主要思想。但這樣做的主要問題在於數據的稀疏性和噪音。
3. 為了進行跨類目的搭配建模,sample時候的正樣本pair對采樣的是屬於不同high-level categories的商品。
Framework
1. input data包括商品的圖像、類目、co-occurrence信息。
2. 從input data中采樣正樣本,即不同類目下co-occurrence高的商品pair。
3. 使用Siamese CNN去學習一個feature transformation將商品的圖像信息映射到latent space上。
4. 在預測時將商品圖像transform到latent space上,找到nearest neighbors。
Related work
主要有兩方面:
1. CNN:Learning visual similarity for product design with convolutional neural networks
2. Learning clothing style:Image-based Recommendations on Styles and Substitutes
Dataset
使用用戶的行為數據,包括商品的圖像、類目、co-occurrence信息。
只使用了“衣服、鞋子、首飾”這三大類的商品。
對商品的類目信息,選擇high-level的,優點一是high-level category是獨立於style的,即避免類目劃分過細時某些小類目跟style強相關對樣本選擇情況有影響;二是這樣避免商品的類目變換較頻繁。最後需要看一下類目的分布情況。
Generating the training set
1. training、validation、test data中的商品類目比例要成正比。
2. negative sample隨機采樣,正負樣本比例1:16。
3. training data中的不同類目的商品數不能差距太大。
4. strategy:CNN傾向於將圖像相似的商品映射到相近的向量空間上,為了避免這個問題,強制使用不同high-level類目下的商品pair作為正樣本,這樣能夠使得不同類目圖像不相似但style相似的商品closer;負樣本需要包含類目相同或不相同的pair,使得能夠區分出那些類目相同圖像相似但不屬於相似style的商品。
Training the Siamese network
Generating outfits 在進行預測時,為了避免label noise,本文使用了一個robust nearest neighbor lookup method。
即對於每個category,都聚類成若幹個cluster,算最鄰近時,先找最鄰近的cluster center,再在這個cluster中找最鄰近商品。
最後,下圖是一些style相似和不相似的例子。
基於圖像信息的搭配商品推薦