Skip to content
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

A2C cartpole benchmark #180

Merged
merged 23 commits into from Sep 23, 2018
Merged

A2C cartpole benchmark #180

merged 23 commits into from Sep 23, 2018

Conversation

lgraesser
Copy link
Collaborator

@lgraesser lgraesser commented Sep 23, 2018

Experiment Result

See PR #180 for an example

The data files to upload below are all created automatically in the data/ folder.

Github does not support .json and .csv upload, but .txt. Please rename those files .txt before uploading.

Abstract

Benchmark experiment for A2C on the Cartpole environment

Methods

To Reproduce

  1. JSON spec: a2c_gae_mlp_separate_cartpole_spec.txt
  2. git SHA (contained in the file above): 7254254

Results

All the results contributed will be added to the benchmark, and made publicly available on Dropbox.

Discussion (optional)

Looking at the experiment graph, we can tell some effects from the hyperparameters. Going from left to right columns:

  1. entropy_coef (this encourages exploration with larger value): the larger the entropy coef, the slower the convergence. For such a simple environment as cartpole, agent does not need much exploration, so low coef leads to faster learning. Some entropy is still beneficial. Convergence speed peaks at entropy_coef=0.02
  2. lambda (of GAE): performance is not sensitive to it, but high value can cause some drop in strength.
  3. training_frequency (per episode for OnPolicyReplay): as seen, training cannot happen too frequently (high variance) or infrequently (slow learning). There is an optimal frequency for maximum convergence speed, which is 2 for this experiment.
  4. hid_layers_activation: tanh works the best overall.
  5. lr_decay_frequency (lr = learning rate): the strength is concentrated at high value for frequency at 2k; the speed graph has a peak at 2k (one outlier point); the stability graph has a noticeable bump peaking at 4k to 6k. Overall it seems that if decay frequency is too high, learning rate drops very low very quickly, and learning slows down. If lr drops too slow, lr stays high, so learning is unstable. There is an optimal point in between. The effect can be quite noisy.

@kengz kengz moved this from Done to In progress in v2.x Research and Engineering Sep 23, 2018
@kengz kengz merged commit 3ec2f01 into master Sep 23, 2018
v2.x Research and Engineering automation moved this from In progress to Done Sep 23, 2018
@kengz kengz added the result experiment result upload label Sep 23, 2018
@kengz kengz deleted the a2c-cartpole-bench branch September 23, 2018 07:50
@kengz kengz mentioned this pull request Sep 24, 2018
6 tasks
@lgraesser lgraesser mentioned this pull request Sep 28, 2018
6 tasks
@kengz kengz mentioned this pull request Sep 30, 2018
6 tasks
@kengz kengz changed the title Benchmark result for A2C cartpole A2C cartpole benchmark Sep 30, 2018
@lgraesser lgraesser mentioned this pull request Oct 1, 2018
6 tasks
This was referenced Oct 3, 2018
@kengz kengz mentioned this pull request Nov 11, 2018
6 tasks
This was referenced Dec 10, 2018
@allan-avatar1 allan-avatar1 mentioned this pull request Feb 15, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
result experiment result upload
Projects
No open projects
Development

Successfully merging this pull request may close these issues.

None yet

2 participants