8000 Fix PER bug. Add loadable memory. N-step TD. by jakegrigsby · Pull Request #276 · keras-rl/keras-rl · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Fix PER bug. Add loadable memory. N-step TD. #276

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 5 commits into
base: keras-rl-v0.4.2
Choose a base branch
from

Conversation

jakegrigsby
Copy link

This is basically #214 with most of the extra features cut out, because the PER bug needs to get fixed, whether or not the rest ever merges. DQfD, NoisyNets, and the csv logging callback are removed.

  1. Fixes bug discussed in Prioritized Experience Replay #212 where observation indices rotate while their priorities stay static.

  2. Adds loadable memory. The PartitionedRingBuffer is similar to the old implementation of RingBuffer but the data stays locked to the idx it was originally assigned to. That's what fixed the PER issue, and also makes it pretty easy to load demonstration data and never delete it. I originally used it in DQfD but I think it has more applications than that. A feature like this was requested in [feature-request] Add the possibility to load and store memory. #262.

  3. Adds n-step temporal difference error to dqn (only for prioritized memories). This basically involves a change to how the experiences are retrieved from memory. I'd appreciate someone double checking my math on that.

@RaphaelMeudec
Copy link
Contributor

@jakegrigsby Thanks for your PR! I've left you some comments. Also, it seems it doesn't pass on Tensorflow backend. Can you clear this out?

@jakegrigsby
Copy link
Author

@RaphaelMeudec I use tensorflow as my backend and it seems to be working. I use 1.10 so I'll update and see if that's the issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants
0