Advantage Actor-Critic (A2C and A3C)
Prior to 2016, deep reinforcement learning relied predominantly on experience replay buffers (as in DQN) to break the temporal autocorrelation of consecutive transitions collected by a single agent. However, replay buffers are memory-intensive and restrict training to off-policy algorithms.
In their seminal 2016 paper, Asynchronous Methods for Deep Reinforcement Learning, Mnih et al. (Google DeepMind) introduced a radically simpler, highly scalable alternative: Asynchronous Advantage Actor-Critic (A3C). By deploying multiple parallel worker threads interacting asynchronously with separate environment instances, A3C eliminated the need for replay buffers while achieving state-of-the-art results on Atari 2600 and continuous locomotion tasks in a fraction of the training time.
Soon after, OpenAI demonstrated that a synchronous, batched variant—A2C (Advantage Actor-Critic)—achieved equal or better performance while utilizing modern GPU vectorization far more efficiently.
The Actor-Critic Framework and Advantage Baseline
Standard policy gradient methods (such as REINFORCE) update policy parameters along the direction of total episodic return:
$$\nabla_\theta J(\theta) = \mathbb{E}\left[ \nabla_\theta \log \pi_\theta(a_t \mid s_t) , G_t \right]$$
Because total trajectory return $G_t = \sum_{k=0}^\infty \gamma^k r_{t+k}$ exhibits immense variance, REINFORCE converges slowly and is prone to instability.
Variance Reduction via the Advantage Baseline
To reduce variance without introducing bias, an arbitrary baseline $b(s)$ that depends only on state $s$ can be subtracted from the return. The optimal baseline is the State-Value Function $V(s)$, which represents the expected return from state $s$.
This defines the Advantage Function $A(s, a)$:
$$A(s, a) = Q(s, a) - V(s)$$
The advantage measures whether taking action $a$ yields a better or worse outcome than the policy’s average expected value in that state.
Actor-Critic Joint Architecture
State s_t
│
┌─────────────┴─────────────┐
▼ ▼
[ Actor Network π_θ ] [ Critic Network V_ϕ ]
│ │
Action Distribution π(a|s) State Value Estimate V(s)
│ │
▼ ▼
Action a_t sampled ─────────► Compute Advantage:
A_t = r_t + γ V(s_{t+1}) - V(s_t)
│
┌───────────────────────────┴───────────────────────────┐
▼ ▼
Actor Loss: -log π(a|s) · A_t Critic Loss: (A_t)^2
$n$-Step Bootstrapped Returns
Instead of waiting for an entire episode to terminate, A2C/A3C agents unroll trajectories for $n$ steps (typically $n \in [5, 20]$) and bootstrap the remaining future return using the critic’s value estimate:
$$R_t = \sum_{k=0}^{n-1} \gamma^k r_{t+k} + \gamma^n V_\phi(s_{t+n})$$
The $n$-step advantage estimate is then computed as:
$$\hat{A}(s_t, a_t) = R_t - V_\phi(s_t)$$
- Critic Update: Minimizes mean squared error against the $n$-step return: $\mathcal{L}{\text{critic}} = (R_t - V\phi(s_t))^2$.
- Actor Update: Maximizes advantage-weighted log-probabilities plus an entropy regularization bonus:
$$\mathcal{L}{\text{actor}} = -\log \pi\theta(a_t \mid s_t) , \hat{A}(s_t, a_t) - \beta , \mathcal{H}(\pi_\theta(\cdot \mid s_t))$$
where $\mathcal{H}(\pi) = -\sum_a \pi(a \mid s) \log \pi(a \mid s)$ encourages exploration and prevents policy collapse.
A3C vs. A2C: Asynchronous vs. Synchronous Execution
A3C (Asynchronous Multi-Threaded):
Worker 1: [ Env 1 ] ──► Compute Gradients ──► Lock-Free Update (Hogwild!) ──┐
Worker 2: [ Env 2 ] ──► Compute Gradients ──────────────────────────────────┼──► Global Parameters (θ, ϕ)
Worker 3: [ Env 3 ] ──► Compute Gradients ──────────────────────────────────┘
A2C (Synchronous Batched Vectorization):
Worker 1: [ Env 1 ] ──┐
Worker 2: [ Env 2 ] ──┼──► [ Coordinator Batches Trajectories ] ──► Single GPU Backward Pass ──► Sync Step
Worker 3: [ Env 3 ] ──┘
1. A3C (Asynchronous Advantage Actor-Critic)
- Runs multiple worker threads concurrently across CPU cores.
- Each worker maintains its own local copy of the environment and weights.
- When a worker finishes an $n$-step rollout, it computes local gradients and writes them directly to global shared parameters using an asynchronous, lock-free Hogwild! update scheme.
- Workers then pull the latest global weights and continue.
Drawbacks of A3C:
- Asynchronous updates mean workers frequently calculate gradients against slightly stale parameter versions.
- High CPU multi-threading overhead; inefficient for modern GPU tensor cores.
2. A2C (Synchronous Advantage Actor-Critic)
OpenAI investigated whether the asynchronous nature of A3C was essential for decorrelating training data. They discovered it was not: the performance gains stemmed purely from parallel environmental diversity, not asynchronous execution.
In A2C:
- The coordinator steps $K$ parallel environments synchronously for $n$ steps.
- It aggregates all $K \times n$ transitions into a single dense tensor batch.
- It executes a single, highly optimized forward and backward pass on the GPU.
- All parallel environments are updated simultaneously.
A2C achieves the exact same decorrelation benefits as A3C, but trains significantly faster by saturating GPU parallel compute while eliminating stale-gradient issues.
Feature Comparison
| Attribute | REINFORCE | DQN | A3C | A2C |
|---|---|---|---|---|
| Policy Type | Stochastic | Deterministic (argmax) | Stochastic | Stochastic |
| Action Spaces | Discrete / Continuous | Discrete Only | Discrete / Continuous | Discrete / Continuous |
| Experience Replay | None | Mandatory | None | None |
| Parallel Workers | Single Agent | Single Agent | Asynchronous CPU threads | Synchronous GPU batching |
| Sample Efficiency | Very Poor | High | Moderate | High |
| Hardware Fit | CPU/GPU | GPU | Multi-Core CPU | Modern GPU / TPU |
Key Takeaways
- Subtracting the state-value baseline $V(s)$ from the Q-value yields the Advantage $A(s, a)$, dramatically reducing variance in policy gradient training.
- Running multiple environments in parallel breaks temporal data autocorrelation, completely eliminating the need for experience replay buffers.
- A2C’s synchronous batching provides superior hardware utilization on modern GPUs, rendering asynchronous A3C largely obsolete.