Home

Awesome

ADER: Adaptively Distilled Exemplar Replay towards Continual Learning for Session-based Recommendation

EPFL | Artificial Intelligence Laboratory (LIA) | Semester Project (Spring 2020)
RecSys 2020 | Best Short Paper

python 3.7 tensorflow 2.1.0 cuda 10.0

About

Table of Contents

Background

Although session-based recommenders have achieved significant improvements due to some new techniques like recurrent neural network and attention, they train the model only using entire data or most recent fraction. The growing concern about privacy prohibits recommenders keeping long-term user’s browsing history. On the other hand, more recent data is more useful for recommenders, but how to select the last fraction of data from the entire dataset is a problem in this static scenario.
We address those problems by employing existing recommender in an incremental learning scenario and propose a framework called Adaptively Distilled Exemplar Replay (ADER) to balance the model’s ability to learn new data and catastrophic forgetting. It is based on a loss composed of a cross-entropy loss to learn the latest data and fine-tuned distillation loss to keep the knowledge gained from the previous data. We select and update a small exemplar set every period, and use it for distillation in the next period.
We evaluate our framework on two benchmark datasets based on the self-attentive recommender. Our experimental results show that ADER outperforms state-of-the-art baselines. Furthermore, we also find ADER overcomes the model trained by the entire dataset to some extent, which demonstrates its advantages in removing long-term user data.

Requirements

Dataset and Pre-processing

Dataset

Two widely used dataset are adopted:

The pre-processed data used in our paper is uploaded in data/DIGINETICA and data/YOOCHOOSE folder.<br/>

Run data pre-process

python preprocessing.py
python preprocessing.py --dataset=yoochoose-clicks.dat --test_fraction=day

Model Training and Testing

The implemention of self-attentive recommender is modified based on SASRec.<br/>

python main.py
python main.py --dataset=YOOCHOOSE --lambda_=1.0 --batch_size=512 --test_batch=64

Baseline Methods and Ablation Study

Results

ADER significantly outperforms other methods. This result empirically reveals that ADER is a promising solution for the continual recommendation setting by effectively preserving user preference patterns learned before.

<p align="center"> <img src="results.svg" width="800px"/> </p>

Citation

@inproceedings{mi2020ader,
  title={Ader: Adaptively distilled exemplar replay towards continual learning for session-based recommendation},
  author={Mi, Fei and Lin, Xiaoyu and Faltings, Boi},
  booktitle={ACM Conference on Recommender Systems},
  pages={408--413},
  year={2020}
}