Personalized Federated Collaborative Filtering: A Variational AutoEncoder Approach
<|reference_start|>Personalized Federated Collaborative Filtering: A Variational AutoEncoder Approach: Federated Collaborative Filtering (FedCF) is an emerging field focused on developing a new recommendation framework with preserving privacy in a federated setting. Existing FedCF methods typically combine distributed Collaborative Filtering (CF) algorithms with privacy-preserving mechanisms, and then preserve personalized information into a user embedding vector. However, the user embedding is usually insufficient to preserve the rich information of the fine-grained personalization across heterogeneous clients. This paper proposes a novel personalized FedCF method by preserving users' personalized information into a latent variable and a neural model simultaneously. Specifically, we decompose the modeling of user knowledge into two encoders, each designed to capture shared knowledge and personalized knowledge separately. A personalized gating network is then applied to balance personalization and generalization between the global and local encoders. Moreover, to effectively train the proposed framework, we model the CF problem as a specialized Variational AutoEncoder (VAE) task by integrating user interaction vector reconstruction with missing value prediction. The decoder is trained to reconstruct the implicit feedback from items the user has interacted with, while also predicting items the user might be interested in but has not yet interacted with. Experimental results on benchmark datasets demonstrate that the proposed method outperforms other baseline methods, showcasing superior performance.<|reference_end|>
@article{li2024personalized,
    title={Personalized Federated Collaborative Filtering: A Variational
  AutoEncoder Approach},
    author={Zhiwei Li, Guodong Long, Tianyi Zhou, Jing Jiang, Chengqi Zhang},
    journal={arXiv preprint arXiv:2408.08931},
    year={2024},
    archivePrefix={arXiv},
    eprint={2408.08931},
    primaryClass={cs.IR cs.AI cs.LG}
}