Skip to content

Prioritized experience replay/importance sampling of mini-batches in supervised learning

Notifications You must be signed in to change notification settings

samedii/prioritized-experience-replay

Repository files navigation

Prioritized experience replay in supervised learning

PER is one of the most important components of Rainbow DQN and was also suggested to be used in supervised learning in the original paper. The paper indicates faster learning speed and greater generalization but dit not make an exhaustive investigation.

Importance sampling of mini-batches was also investigated in this paper and shows that it increases learning speed.

However, despite the benefits of this approach it has not been adopted widely in supervised learning maybe due to implementation issues in current frameworks like pytorch and tensorflow. The data loaders in pytorch have not been made with this purpose in mind.

This is a quick minimal experiment with the focus of investigating PER/importance sampling in supervised learning.

Problem setup

MNIST standard pytorch example as base and decrease the number of training examples to only 500 or the problem is too easy.

Results

  1. Standard random sampling without replacement

test

  1. Importance sampling with replacement

test

  1. Uniform sampling with replacement

test

  1. Compare standard and importance sampling

test

On this small and relatively simple task of MNIST, any speedups are not obvious (rather it could be the other way around) but generalization might be better. This is consistent with results on other smaller problems where I have tried PER.

About

Prioritized experience replay/importance sampling of mini-batches in supervised learning

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages