Skip to content

mengjiac2023/pfedrec_secretflow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

基于隐语的个性化驱动的轻量级隐私保护联邦推荐系统

项目介绍

本作品旨在开发一个轻量化、个性化驱动且隐私保护的联邦推荐系统,以克服现有系统中模型复杂度高、个性化不足以及隐私泄露的问题。 作品基于隐语平台,实现了个性化联邦推荐算法,具备模型训练、商品推荐和模型评估三大功能。

项目获奖情况

在山东大学与隐语社区联合举办的2024年数据要素流通创意大赛中,获得二等奖。

目录

  1. 总体介绍
  2. 技术实现过程
  3. 效果展示

总体介绍

1.1 背景

联邦推荐是新的互联网应用服务架构,旨在保护用户隐私的同时提供个性化推荐服务。

1.2 目标

  • 轻量化模型:在用户设备上部署轻量级模型,减少对服务器通信的依赖。
  • 增强个性化:通过改进项目嵌入和评分函数模块,提升推荐精度。

1.3 创新点

  • 基于隐语平台的定制化联邦学习模型,支持隐私保护;
  • 轻量化本地模型部署;
  • 用户个性化推荐;
  • 可选的双模型。

1.4 技术实现方案

  • 调用隐语提供的接口,应用安全聚合。
  • 减少模型模块数,即去掉用户嵌入模块;评分函数模块的参数不参与聚合。
  • 采用个性化的项目嵌入模块和个性化的评分函数模块,实现模型个性化。
  • 两种模型在三个功能中均可选。

技术实现过程

2.1 隐语技术

采用隐语的水平联邦模型和安全聚合技术,通过继承隐语的FLModel类,重写其fit()方法,得到了NewFLModel类,实现了选择性参数聚合和个性化训练。

2.2 算法模型

  • 模型一构成: 个性化的项目嵌入模块和评分函数模块。
  • 模型二构成: 全局项目嵌入模块、个性化项目嵌入模块和评分函数模块。

2.3 数据处理方法

使用MovieLens-100K、MovieLens-1M、Lastfm-2K和Amazon-Video数据集,采用隐式推荐方法,设置正样本和负样本,进行模型训练和评估。

效果展示

  • 主界面: 提供模型训练、商品推荐、模型评估三个功能。
    Main Interface
  • 模型训练: 选择数据集和模型,设置epochs和batch_size进行训练。
    Func1_1
    Func1_2
  • 商品推荐: 选择模型进行加载,设置推荐商品范围和batch_size进行推荐。
    Func2_1
    Func2_2
    Func2_3
  • 模型评估: 选择模型进行加载,设置batch_size进行评估。
    Func3_1
    Func3_2

待开展工作

添加多种安全聚合接口,支持恶意安全与可验证聚合。

贡献

欢迎对本项目进行贡献,包括但不限于:

  • 功能增强
  • 代码优化
  • 文档完善

许可证

本项目采用MIT许可证

安装

通过docker配置隐语环境即可,运行SecretFlow的docker image命令为

docker pull -it secretflow/secretflow-anolis8:latest
docker run -it secretflow/secretflow-anolis8:latest

运行

运行TheMain.py即可

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages