So, this is the formula for updating the weights $\theta$ of your policy network using the policy gradient theorem:
$$ \nabla_\theta J(\theta) = E_{a, s \sim \pi_\theta} \Big[ \nabla \log \pi_\theta(a|s) R(s, a) \Big]. $$
Obviously your policy network is the actor. The question is how do you evaluate $R$.
You could do a simple Monte-Carlo estimate:
$$ R(s_t, a_t) = \sum_{i=t}^{T} r_{i+1} $$
This is not an actor-critic algorithm.
Or, you could do for example a one-step bootstrap using a value network with weights $\phi$:
$$ R(s_t, a_t) = r_{t+1} + V_\phi(s_{t+1}) $$
This is an actor-critic algorithm. In this case the value network is the critic. It essentially assigns a score on each of the actions taken by the actor.
Or, you could learn a q-value network with weights $\psi$ and use that:
$$ R(s_t, a_t) = Q_\psi(s_t, a_t) $$
This is again an actor-critic algorithm and your q-value network is the critic. Same reasoning as above.
So, actor-critic algorithms are a set of algorithms where you have an actor (the policy network) that selects actions for the rollout and a critic (a second model), that is used to compute the returns.
But instead of using the return, you could estimate the policy gradient using the advantage:
$$ \nabla_\theta J(\theta) = E_{a, s \sim \pi_\theta} \Big[ \nabla \log \pi_\theta(a|s) A(s, a) \Big], $$
where $A(s,a) = R(s,a) - V_\phi(s)$. Usually you will have a value network for estimating the value of the state.
Now, for the Monte-Carlo estimate $A(s_t, a_t) = \sum_{i=t}^{T} r_{i+1} - V_\phi(s_t)$ you get what is known as "policy gradient with baseline" - not an actor-critic algorithm. In the other two cases:
- one-step bootstrap $A(s_t, a_t) = r_{t+1} + V_\phi(s_{t+1}) - V_\phi(s_{t})$,
- q-value network $A(s_t, a_t) = Q_\psi(s_t, a_t) - V_\phi(s_t)$,
you get an Advantage Actor-Critic algorithm.
You could also use a neural network that models the advantage directly:
$ A(s_t, a_t) = A_\zeta(s_t, a_t)$. Obviously, you also get an advantage actor-critic algorithm.
So, advantage actor-critic algorithms are a set of algorithms where again you have an actor and a critic, but now you estimate the gradient using the advantage instead of the return.
I recommend reading this blog post.