HKUDS / DiffMM
[ACM MM'2024]"DiffMM: Multi-Modal Diffusion Model for Recommendation"
README
DiffMM: Multi-Modal Diffusion Model for Recommendation
This is the PyTorch implementation for DiffMM proposed in the paper DiffMM: Multi-Modal Diffusion Model for Recommendation, which is accepted by ACM MM 2024 Oral.
In this paper, we propose DiffMM, a new multi-modal recommendation model that enriches the probabilistic diffusion paradigm by incorporating modality awareness. Our approach utilizes a multi-modal graph diffusion model to reconstruct a comprehensive user-item graph, while harnessing the advantages of a cross-modal data augmen- tation module that provides valuable self-supervision signals. To assess the effectiveness of DiffMM, we conducted extensive experi- ments, comparing it to several competitive baselines. The results unequivocally establish the superiority of our approach in terms of recommendation performance, firmly establishing its efficacy.
๐ Environment
We develop our codes in the following environment:
- python==3.9.13
- numpy==1.23.1
- torch==1.11.0
- scipy==1.9.1
๐ฏ Experimental Results
Performance comparison of baselines on different datasets in terms of Recall@20, NDCG@20 and Precision@20:
๐ How to run the codes
The command lines to train DiffKG on the three datasets are as below. The un-specified hyperparameters in the commands are set as default.
! If you want to run the codes on baby or sports dataset, please firstly follow the instrcution in ./Datasets
- TikTok
python Main.py --data tiktok --reg 1e-4 --ssl_reg 1e-2 --epoch 50 --trans 1 --e_loss 0.1 --cl_method 1
- Baby
python Main.py --data baby --reg 1e-5 --ssl_reg 1e-1 --keepRate 1 --e_loss 0.01
- Sports
python Main.py --data sports --reg 1e-6 --ssl_reg 1e-2 --temp 0.1 --ris_lambda 0.1 --e_loss 0.5 --keepRate 1 --trans 1
๐ Code Structure
.
โโโ README.md
โโโ Main.py
โโโ Model.py
โโโ Params.py
โโโ DataHandler.py
โโโ Utils
โย ย โโโ TimeLogger.py
โย ย โโโ Utils.py
โโโ figures
โย ย โโโ model.png
โย ย โโโ dataset.png
โย ย โโโ performance.png
โโโ Datasets
โโโ tiktok
โย ย โโโ trnMat.pkl
โย ย โโโ tstMat.pkl
โย ย โโโ valMat.pkl
โย ย โโโ audio_feat.npy
โย ย โโโ image_feat.npy
โ โโโ text_feat.npy
โโโ baby
โย ย โโโ trnMat.pkl
โย ย โโโ tstMat.pkl
โย ย โโโ valMat.pkl
โย ย โโโ text_feat.npy
โ โโโ image_feat.npy.zip
โโโ README.md
๐ Datasets
๐ Citation
If you find this work helpful to your research, please kindly consider citing our paper.
@article{jiang2024diffmm,
title={DiffMM: Multi-Modal Diffusion Model for Recommendation},
author={Jiang, Yangqin and Xia, Lianghao and Wei, Wei and Luo, Da and Lin, Kangyi and Huang, Chao},
journal={arXiv preprint arXiv:2406.11781},
year={2024}
}