Code Monkey home page Code Monkey logo

recommendation-unlearning's Introduction

RecEraser

This is our implementation of the paper:

Chong Chen, Fei Sun, Min Zhang and Bolin Ding. 2022. Recommendation Unlearning. In TheWebConf'22.

Please cite our TheWebConf'22 paper if you use our codes. Thanks!

@inproceedings{chen2022recommendation,
  title={Recommendation Unlearning},
  author={Chen, Chong and Sun, Fei and Zhang, Min and Ding, Bolin},
  booktitle={Proceedings of The Web Conference},
  year={2022},
}

Author: Chong Chen ([email protected])

C++ evaluator

We use C++ code to output metrics during and after training, as used in LightGCN, which is much more efficient than python evaluator. It needs to be compiled first using the following command:

python setup.py build_ext --inplace

After compilation, the C++ code will run by default instead of Python code.

Balanced Data Partition

The code of data partition is in code/utility/data_partition.py.

The pre-train embedding vectors are computed by WMF in this work.

Hype-Parameters

The instruction of commands has been stated in the codes (see the parser function in code/utility/parser.py).

The hype-parameters for base models are:

yelp2018:
BPR: adagrade	lr=0.05	reg=0.01	batch=256
WMF: adagrade	lr=0.05	reg=0.01	batch=256	weight=0.05	drop=0.7
LightGCN: adam	lr=0.001	reg=1e-4	batch=1024

ml-1m:
BPR: adagrade	lr=0.05	reg=0.01	batch=256
WMF: adagrade	lr=0.05	reg=0.01	batch=256	weight=0.2	drop=0.7
LightGCN: adam lr=0.001	reg=1e-3	batch=1024

ml-10m:

BPR: adagrade	lr=0.05	reg=0.001	batch=256
WMF: adagrade	lr=0.05	reg=0.01	batch=256	weight=0.2	drop=0.7
LightGCN: adam lr=0.001	reg=1e-3	batch=1024

recommendation-unlearning's People

Contributors

chenchongthu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

recommendation-unlearning's Issues

No Unlearning Code Provided

Hello everyone, I have read through the code of this repo and can confirm with certainty that this repo does not contain any code related to unlearning, such as the construction of unlearning requests (at the dataset level), execution of unlearning (such as re-initialization of affected parameters, separate training of affected partitions, retraining of the aggregation layer), and evaluation of forgetting efficiency, etc.

I hope that the author could provide some helpful information to assist me in further developing and experimenting with this code. I am currently struggling greatly with repairing these codes on a large scale, possibly because I'm not very familiar with TensorFlow 1.x, and VSCode has already abandoned support for Python 2 which makes the DE not very user-friendly as well.

Any additional help would be greatly appreciated.

Confusing with Table 3. in your paper

Hi, thank you very much for your impressive work. However, I am confused with a little things in your paper and your code, and I carefully read a lot of times but can not find answers.

The first question is about Table 3. in your paper. How do you conduct the experiment? Specifically, I do not find any descriptions of "delete settings" in Table 3 experiments. For example, how much samples you delete in Table 3 experiment, and how do you choose these "delete samples". And what is the delete method? (if you choose 10 samples to delete, you delete them sequentially or just delete all of them at one time? ). Or, you just run recommendation experiments for these method with different unlearning strategies, but you do not consider unlearning in Table 2. experiment.

An other question is , could you please give a brief yet very helpful description of your code?

Thank you very much for your contributions!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.