File size: 3,869 Bytes
7144397
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
0aa5e23
 
 
 
 
 
 
0710610
0aa5e23
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8c19a5e
0aa5e23
8c19a5e
 
 
0aa5e23
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
---
license: cc-by-4.0
language:
- en
tags:
- recommender-system
- multimodal
- deep-learning
- academic-paper
datasets:
- Baby
- Sports
- Clothing
metrics:
- recall
- ndcg
---
# 📖 Model Card: [REARM]


**"[Refining Contrastive Learning and Homography Relations for Multi-Modal Recommendation]"**,  
*Shouxing Ma, Yawen Zeng, Shiqing Wu, and Guandong Xu*  
Published in *[ACM MM]*, 2025.  
[[Paper Link](https://arxiv.org/abs/2508.13745)] [[Code Repository](https://huggingface.co/MrShouxingMa/REARM/tree/main)]
---

## ✨ Overview


- We propose a novel multi-modal contrastive recommendation framework (REARM), which preserves recommendation-relevant modal-shared and valuable modal-unique information through meta-network and orthogonal constraint strategies, respectively.

- We jointly incorporate co-occurrence and similarity graphs of users and items, allowing more effective capturing of the underlying structural patterns and semantic (interest) relationships, thereby enhancing recommendation performance.

- Extensive experiments are conducted on three publicly available datasets to evaluate our proposed method. The experimental results show that our proposed framework outperforms several state-of-the-art recommendation baselines.
---
## 🧩 Environment Requirement
The code has been tested running under Python 3.6. The required packages are as follows:

* pytorch == 1.13.0
* numpy == 1.24.4
* scipy == 1.10.1

## Data
Full data could be downloaded from huggingfac: 

* [Baby](https://huggingface.co/datasets/MrShouxingMa/Baby/tree/main)  
* [Sports](https://huggingface.co/datasets/MrShouxingMa/Sports/tree/main)  
* [Clothing](https://huggingface.co/datasets/MrShouxingMa/Clothing/tree/main)  
## Dataset

We provide three processed datasets: Baby, Sports, and Clothing.

| #Dataset   | #Interactions | #Users|#Items|Sparsity|
|  ----  | ----  | ----  |----  |----  |
|Baby|160,792|19,445|7,050|99.88%|
|Sports|296,337|35,598|18,357|99.96%|
|Clothing|278,677|39,387|23,033|99.97%|

## 🚀 Example to Run the Codes

The instructions for the commands are clearly stated in the codes.

* Baby dataset
```
python main.py --dataset='baby'  --num_layer=4   --reg_weight=0.0005 --rank=3  --s_drop=0.4  --m_drop=0.6 --u_mm_image_weight=0.2  --i_mm_image_weight=0  --uu_co_weight=0.4 --ii_co_weight=0.2  --user_knn_k=40  --item_knn_k=10 --n_ii_layers=1 --n_uu_layers=1 --cl_tmp=0.6  --cl_loss_weight=5e-6 --diff_loss_weight=5e-5
```

* Sports dataset

```
python main.py --dataset='sports' --num_layer=5  --reg_weight=0.05 --rank=7  --s_drop=1  --m_drop=0.2 --u_mm_image_weight=0  --i_mm_image_weight=0.2  --uu_co_weight=0.9 --ii_co_weight=0.2  --user_knn_k=25  --item_knn_k=5 --n_ii_layers=2 --n_uu_layers=2 --cl_tmp=1.5  --cl_loss_weight=1e-3 --diff_loss_weight=5e-4
```

* Clothing dataset

```
python main.py --dataset='clothing' --num_layer=4  --reg_weight=0.00001 --rank=3  --s_drop=0.4  --m_drop=0.1 --u_mm_image_weight=0.1  --i_mm_image_weight=0.1  --uu_co_weight=0.7 --ii_co_weight=0.1  --user_knn_k=45  --item_knn_k=10 --n_ii_layers=1 --n_uu_layers=1 --cl_tmp=0.03  --cl_loss_weight=1e-6 --diff_loss_weight=1e-5
```


## REARM
The released code consists of the following files.
```
--data
    --baby
    --clothing
    --sports
--utils
    --configurator
    --data_loader
    --evaluator
    --helper
    --logger
    --metrics
    --parser              
--main
--model
--trainer
```

## Citation
If you want to use our codes and datasets in your research, please cite:

``` 
@inproceedings{REARM,
  title     = {Refining Contrastive Learning and Homography Relations for Multi-Modal Recommendation,
  author    = {Ma, Shouxing and 
               Zeng, Yawen and 
               Wu, Shiqing and 
               Xu, Guandong},
  booktitle = {Proceedings of the 33th ACM International Conference on Multimedia},
  year      = {2025}
}
```