Networks-Learning / tpprl

Licence: other
Code and data for "Deep Reinforcement Learning of Marked Temporal Point Processes", NeurIPS 2018

Programming Languages

python
139335 projects - #7 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to tpprl

Drl4recsys
Courses on Deep Reinforcement Learning (DRL) and DRL papers for recommender systems
Stars: ✭ 196 (+188.24%)
Mutual labels:  paper, deep-reinforcement-learning
Awesome System For Machine Learning
A curated list of research in machine learning system. I also summarize some papers if I think they are really interesting.
Stars: ✭ 1,185 (+1642.65%)
Mutual labels:  paper, deep-reinforcement-learning
DeepBeerInventory-RL
The code for the SRDQN algorithm to train an agent for the beer game problem
Stars: ✭ 27 (-60.29%)
Mutual labels:  paper, deep-reinforcement-learning
Papers
Summaries of machine learning papers
Stars: ✭ 2,362 (+3373.53%)
Mutual labels:  paper, deep-reinforcement-learning
pytorch-distributed
Ape-X DQN & DDPG with pytorch & tensorboard
Stars: ✭ 98 (+44.12%)
Mutual labels:  deep-reinforcement-learning
Reinforcement-Learning-on-google-colab
Reinforcement Learning algorithm's using google-colab
Stars: ✭ 33 (-51.47%)
Mutual labels:  deep-reinforcement-learning
event-extraction-paper
Papers from top conferences and journals for event extraction in recent years
Stars: ✭ 54 (-20.59%)
Mutual labels:  paper
dot-grid-paper
Dot Grid Paper
Stars: ✭ 97 (+42.65%)
Mutual labels:  paper
dqn-obstacle-avoidance
Deep Reinforcement Learning for Fixed-Wing Flight Control with Deep Q-Network
Stars: ✭ 57 (-16.18%)
Mutual labels:  deep-reinforcement-learning
awesome-rl
Awesome RL: Papers, Books, Codes, Benchmarks
Stars: ✭ 105 (+54.41%)
Mutual labels:  deep-reinforcement-learning
libpillowfight
Small library containing various image processing algorithms (+ Python 3 bindings) that has almost no dependencies -- Moved to Gnome's Gitlab
Stars: ✭ 60 (-11.76%)
Mutual labels:  paper
Practical-DRL
This is a practical resource that makes it easier to learn about and apply Practical Deep Reinforcement Learning (DRL) https://ibrahimsobh.github.io/Practical-DRL/
Stars: ✭ 66 (-2.94%)
Mutual labels:  deep-reinforcement-learning
RL course
The page of the Ural Federal University course "Reinforcement Learning and Neural Networks"
Stars: ✭ 23 (-66.18%)
Mutual labels:  deep-reinforcement-learning
STAWM
Code for the paper 'A Biologically Inspired Visual Working Memory for Deep Networks'
Stars: ✭ 21 (-69.12%)
Mutual labels:  paper
scala-rl
Functional Reinforcement Learning in Scala.
Stars: ✭ 26 (-61.76%)
Mutual labels:  deep-reinforcement-learning
my-notes
工程师的自我修养
Stars: ✭ 28 (-58.82%)
Mutual labels:  paper
dough
Library containing a lot of useful utility classes for the everyday Java and Spigot/Paper developer.
Stars: ✭ 26 (-61.76%)
Mutual labels:  paper
Paper-clip
List of various interesting papers
Stars: ✭ 16 (-76.47%)
Mutual labels:  paper
PMMasterQuest
Take Paper Mario 64, buff old and new enemies to absurd levels, then rebalance Mario's overpowered strategies, and you've got one of the most difficult hacks of all time: Paper Mario Master Quest. The Discord:
Stars: ✭ 58 (-14.71%)
Mutual labels:  paper
omd
JAX code for the paper "Control-Oriented Model-Based Reinforcement Learning with Implicit Differentiation"
Stars: ✭ 43 (-36.76%)
Mutual labels:  deep-reinforcement-learning

Deep Reinforcement Learning of Marked Temporal Point Processes

This is the code produced as part of the paper Deep Reinforcement Learning of Marked Temporal Point Processes

"Deep Reinforcement Learning of Marked Temporal Point Processes" Utkarsh Upadhyay, Abir De, Manuel Gomez-Rodriguez. NeurIPS 2018. arXiv:1805.09360

Packages needed

  • tensorflow 1.8.0
  • numpy 1.14.3
  • pandas 0.22.0
  • pip install decorated_options

Needed for Smart Broadcaster experiments, and the RedQueen baseline:

  • pip install git+https://github.com/Networks-Learning/RedQueen.git@master#egg=redqueen

Needed for the Karimi baseline:

  • pip install git+https://github.com/Networks-Learning/broadcast_ref.git@master#egg=broadcast_ref

We obtained the parameters from the item difficulties via personal correspondence with the authors of MEMORIZE.

Experiment execution

Running experiments:

sbatch/exp_run.py

This script is used for running Smart Broadcasting experiments on a SLURM cluster using the job scripts sbatch/r_2_job.sh and sbatch/top_k_job.sh.

The job scripts assumes that there is a conda environment with the name tf-cpu and that the code resides in ${HOME}/prog/work/broadcast-rl/ folder. These details can be edited easily to match with any host's configuration via the scripts themselves.

train-broadcasting.py

This script is used for running an experiment for one-user in the Smart Broadcasting setup.

It can be executed as:

export USER_IDX=218   # Which user to train the model for.
mkdir -p output-smart-broadcasting/
python train-broadcastring ./data/twitter_data.dill ${USER_IDX} ./output-smart-broadcasting \
  --reward r_2_reward --q 100.0 --algo-feed --save-every 100 \
  --no-merge-sinks

If the ${USER_IDX} variable is looped over the list of indexes in ./data/r_2.csv (or ./data/top_k.csv), then we can reproduce the trained network for all 100 users used for experiments in the paper.

The output will be saved in files ./output-dir/train-save-user_idx-${USER_IDX}.

analyze-broadcasting.py

Reads output produced by train-broadcasting.py and compares it against baselines and saves the results in a CSV file ready for analysis/plotting.

python analyze-broadcasting.py ./data/twitter_data.dill ./output-smart-broadcasting/ broadcasting-analysis.csv  \
        --no-merge-sinks --algo-feed

train-teaching.py

This script is used for running the Spaced Repetition experiment:

mkdir -p output-spaced-repetition;
python train-teaching.py ./data/initial-difficulty.csv 0.049 0.0052 ./output-spaced-repetition \
    --q 0.0001 --q-entropy 0.005

If the training gets stuck on 0 reward, then training an initial version --with-recall-probs as reward instead of binary reward, and/or increasing the batch_size may help.

Reproducing figures

Smart broadcasting

Running:

python plot-smart-broadcasting.py broadcasting-analysis.csv

will reproduce the plots in the paper in the ./output-plots folder.

Spaced repetition

Running:

python analyze-spaced-repetition.py ./data/initial_difficulty.csv 0.049 0.0052 ./output-spaced-repetition

will re-produce the plots in the paper in the ./output-plots folder.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].