2025年新卒で iOSエンジニア として入社した だーはま です。
今回は、本職のiOSから離れ、最近勉強している推薦システムについて記事を書きました!
CVPR2022の「OutfitTransformer: Outfit Representations for Fashion Recommendation」にて提案された、Outfit Transformer というファッションアイテムを推薦するAIモデルについての論文を紹介します。
論文(PDF)
概要
本論文では、ファッションアイテム推薦システムのためのモデル「Outfit Transformer」を提案しています。AmazonおよびPurdue大学の研究チームによって発表されました。
ファッション推薦における主要な課題である以下2つの両方を解決する拡張性の高い単一のモデルを提案しています。
- コーディネートの相性予測(Compatibility Prediction: CP)
- 補完アイテムの検索(Complementary Item Retrieval: CIR)
従来の手法がアイテムごとの「ペア(対)」の関係性に注目していたのに対し、本手法はTransformerを用いてコーディネート全体(セット)としての相性を学習し、数百万規模のアイテムデータベースからも高速に検索できる仕組みを実現しています。
新規性は何か?
この研究の主な新規性と技術的貢献は以下の3点です。
-
Outfit Transformer
コーデアイテムの関係性 を解釈し直しました
従来の手法(CSA-Netなど)は、アイテムAとアイテムBのペアごとの相性を計算して統合していましたが、これではコーディネート全体の複雑な関係性を捉えきれませんでした。
本手法は、アイテムの順序を問わない「セット(集合)」として入力を扱い、Self-Attention機構を用いることで、 コーディネート全体の文脈を考慮した「Outfit Token(コーディネート埋め込み)」 を学習します。 -
Target Item Embedding
計算コストを抑えて大規模な検索が可能となりました
「このコーデに合うバッグが欲しい」といった検索(CIR)において、従来は候補アイテムごとに計算する必要があるため、計算コストが高くなりがちでした。
本手法では、不完全なコーデとターゲット記述(「トップス」などのカテゴリやテキスト)から、 検索クエリとなる単一の「Target Item Embedding(ターゲット埋め込み)」 を生成します 。これにより、既存の高速近似近傍探索(KNN)ツールを用いて、大規模データベースから瞬時にアイテムを検索可能になりました。 -
Set-wise Outfit Ranking Loss
コーデ全体を評価する損失関数を提案しました
従来のペアワイズの損失関数(Triplet Loss)ではなく、セット全体の関係性を最適化する新しいランキング損失関数を提案しました。これにより、正解アイテムがターゲット埋め込みに近づくように学習でき、計算量が従来の $O(LS)$ から $O(S)$ へと大幅に削減されています。
結果は?
Polyvore Outfitsデータセットを用いた実験において、以下の通りSoTA(State-of-the-Art)を達成しています。
-
相性予測(CP)タスク
アイテムが互いに合うかを判定するタスク(AUCスコア)において、画像のみ、画像+テキストの両方の条件で既存手法(CSA-Net, SCE-Netなど)を上回りました。Transformerがアイテム間の高次の関係性を捉えるのに有効であることが示されました。 -
穴埋め問題(FITB)タスク
4つの選択肢から最適なアイテムを選ぶタスクにおいて、画像+テキスト情報を用いた場合、 67.10% の正解率を達成しました。これはベースラインのTransformer実装(41.61%)や他手法と比較して大幅な改善です。 -
補完アイテム検索(CIR)タスク
データベースから最適なアイテムを検索するタスク(Recall@Top-k)においても、特に非分離(nondisjoint)データセットで全手法を上回る精度を記録しました。
注記: disjointデータセットでは、データ数が少ないためTransformerの汎化性能が十分に発揮されず、一部指標でCSA-Netに劣る結果も見られましたが、Top-10の検索精度では上回っています。
データセットおよび評価指標について
-
データセット: Polyvore Outfits
ファッションコーディネートの大規模データセットです。画像だけでなく、テキスト記述(カテゴリや詳細説明)も含まれており、本研究ではこれらをマルチモーダル入力として活用しています。 -
評価指標:
- AUC (Area Under the Curve): 相性予測(CP)の精度評価に使用
- Accuracy (正解率): 穴埋め問題(FITB)の評価に使用
- Recall@Top-k: 検索タスク(CIR)において、正解アイテムが上位k個(10, 30, 50)に含まれている割合を測定
本研究の基礎になった研究は何か?
この研究は、以下の技術や先行研究の上に成り立っています。
-
Transformer Encoder
NLP(自然言語処理)や画像認識で成功しているTransformerアーキテクチャ(特にSelf-Attention機構)が、本手法の「セットとしての関係性学習」の核となっています。 -
CSA-Net (Lin et al., CVPR 2020)
大規模な補完アイテム検索(CIR)に取り組んだ先行研究ですが、ペアワイズでのアプローチであったため、計算コストとインデックスサイズに課題がありました。本研究はこれを克服する比較対象として頻繁に言及されています。 -
SentenceBERT
アイテムのテキスト情報を埋め込みベクトルに変換するために使用された、事前学習済みのテキストエンコーダーです。
ファッションECに使うとしたら?
この技術は、実際のファッションECサイトにおいて以下のような高付加価値な機能に応用可能です。
-
「Complete the Look(合わせ買い)」のリアルタイム提案
ユーザーがカートに入れた商品や閲覧中の商品(Partial Outfit)に対し、「それに合う靴」や「アクセサリー」を瞬時に推薦できます 。本手法は事前に計算したインデックスを使って高速に検索できるため、数百万点の商品を扱う大規模ECでもレスポンス時間を損ないません。 -
対話型・条件付きアイテム検索
「このコーデに合う、ゴールドのピアスを見せて」といった、現在のコーデ画像+具体的なテキスト要望(Target Item Description)を組み合わせた検索が可能です。- 例: レザーのバックパックを探す、フェミニンにするためのパールを探す、などのニュアンスを含めた検索が実現できます。
-
パーソナルスタイリスト機能
ユーザーの手持ち服(クローゼット)のデータを入力とし、「今日はこれとこれを着たいけど、あと1点何がいい?」という問いに対して、最適なアイテムを提案するAIスタイリストとして機能します。