An implementation of the Synchronous Advantage Actor Critic (A2C) reinforcement learning algorithm in PyTorch.
Simplicty, clarity and modularity are top priorities. The environments are run in child processes for extra performance. The code uses Python 3.9 features.
The current implementation is also an experiment on an architectural prior: the observation contains multiple attribute vectors, each representing an object surrounding the agent. The agent behavior is invariant to the ordering of said vectors. The prior is implemented using an attention mechanism.
The agent has to avoid some objects and touch others to collect them and earn rewards.

