Personalised Outfit Recommendation via History-aware Transformers
<|reference_start|>Personalised Outfit Recommendation via History-aware Transformers: We present the history-aware transformer (HAT), a transformer-based model that uses shoppers' purchase history to personalise outfit predictions. The aim of this work is to recommend outfits that are internally coherent while matching an individual shopper's style and taste. To achieve this, we stack two transformer models, one that produces outfit representations and another one that processes the history of purchased outfits for a given shopper. We use these models to score an outfit's compatibility in the context of a shopper's preferences as inferred from their previous purchases. During training, the model learns to discriminate between purchased and random outfits using 3 losses: the focal loss for outfit compatibility typically used in the literature, a contrastive loss to bring closer learned outfit embeddings from a shopper's history, and an adaptive margin loss to facilitate learning from weak negatives. Together, these losses enable the model to make personalised recommendations based on a shopper's purchase history.   Our experiments on the IQON3000 and Polyvore datasets show that HAT outperforms strong baselines on the outfit Compatibility Prediction (CP) and the Fill In The Blank (FITB) tasks. The model improves AUC for the CP hard task by 15.7% (IQON3000) and 19.4% (Polyvore) compared to previous SOTA results. It further improves accuracy on the FITB hard task by 6.5% and 9.7%, respectively. We provide ablation studies on the personalisation, constrastive loss, and adaptive margin loss that highlight the importance of these modelling choices.<|reference_end|>
@article{jung2024personalised,
    title={Personalised Outfit Recommendation via History-aware Transformers},
    author={Myong Chol Jung, Julien Monteil, Philip Schulz, Volodymyr Vaskovych},
    journal={arXiv preprint arXiv:2407.00289},
    year={2024},
    archivePrefix={arXiv},
    eprint={2407.00289},
    primaryClass={eess.SY cs.IT cs.SY math.IT}
}