Skip to content

A2C - #149

Merged
toslunar merged 9 commits into
chainer:masterfrom
iory:a2c
Nov 12, 2018
Merged

A2C#149
toslunar merged 9 commits into
chainer:masterfrom
iory:a2c

Conversation

@iory

@iory iory commented Oct 11, 2017

Copy link
Copy Markdown
Contributor

Add A2C proposed by following thesis.
https://arxiv.org/abs/1708.05144
https://blog.openai.com/baselines-acktr-a2c/
A2C is a synchronous, deterministic variant of Asynchronous Advantage Actor Critic (A3C).

@iory

iory commented Oct 11, 2017

Copy link
Copy Markdown
Contributor Author

CartPole-v0 score

out

CartPole-v1 score

out

Pendulum-v0 score
out

@coveralls

coveralls commented Oct 11, 2017

Copy link
Copy Markdown

Coverage Status

Coverage increased (+0.5%) to 72.065% when pulling 8e58d3a on iory:a2c into 3cd813c on chainer:master.

@iory

iory commented Oct 11, 2017

Copy link
Copy Markdown
Contributor Author

Pong-v0

out

@iory

iory commented Oct 11, 2017

Copy link
Copy Markdown
Contributor Author

result of breakout

out

@muupan

muupan commented Oct 12, 2017

Copy link
Copy Markdown
Member

This is a very important enhancement, thank you! Please give the developer team some time to discuss the interface of parallel synchronous training before reviewing it.

Comment thread chainerrl/agents/a2c.py Outdated
dist_entropy = F.mean(pout.entropy)
elif isinstance(pout, distribution.GaussianDistribution):
log_prob = pout.log_prob(actions, keepdims=True)
dist_entropy = F.mean(F.sum(log_prob, axis=-1))

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why not using GaussianDistribution.entropy?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd been misunderstanding meaning of differential entropy.
Modified to use pout.entropy(GaussianDistribution.entropy) in case of continuous action space.

@coveralls

coveralls commented Oct 12, 2017

Copy link
Copy Markdown

Coverage Status

Coverage increased (+0.5%) to 72.051% when pulling 6ee06bc on iory:a2c into 3cd813c on chainer:master.

@iory

iory commented Oct 19, 2017

Copy link
Copy Markdown
Contributor Author

@muupan
This PR should split interface of parallel synchronous training and a2c?

@muupan

muupan commented Oct 20, 2017

Copy link
Copy Markdown
Member

That is better, thank you. > This PR should split interface of parallel synchronous training and a2c?

@toslunar
toslunar merged commit 6ee06bc into chainer:master Nov 12, 2018
@muupan muupan added this to the v0.5 milestone Nov 13, 2018
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.

4 participants