GPT와 함께 정리한 ACER(Actor-Critic with Experience Replay)

1. 개요

ACER는 Actor-Critic with Experience Replay의 약자이며, 이름 그대로 Actor-Critic 구조에 Experience Replay를 결합한 강화학습 알고리즘이다. 실습 예제
기본적으로 정책 기반 강화학습의 장점을 유지하면서도, 오프폴리시 학습과 재사용 가능한 경험 데이터를 활용해 샘플 효율을 높이기 위해 제안된 방법이다.

강화학습에서 Actor-Critic 계열 알고리즘은 보통 현재 정책으로 수집한 데이터에 강하게 의존하는 경우가 많다.
대표적으로 A2C, A3C 같은 알고리즘은 온폴리시 성격이 강해서, 한 번 사용한 데이터를 다시 활용하기 어렵다.
이 때문에 환경과 상호작용을 많이 해야 하고 샘플 효율이 낮아질 수 있다.

ACER는 이 문제를 완화하기 위해 다음 아이디어를 결합한다.

  • Actor-Critic 구조 사용
  • Experience Replay 도입
  • Importance Sampling 기반 오프폴리시 보정
  • Truncated Importance Sampling
  • Bias Correction
  • Trust Region 업데이트

즉, ACER는 단순히 Actor-Critic에 replay buffer만 붙인 것이 아니라, 오프폴리시 학습에서 생기는 분산 증가와 불안정성 문제를 수학적으로 제어하기 위해 여러 장치를 추가한 알고리즘이다.


2. 왜 ACER가 필요한가

2.1 온폴리시 Actor-Critic의 한계

A2C 같은 전형적인 Actor-Critic 계열은 학습 안정성이 좋고 구조도 직관적이지만, 보통 현재 정책으로 모은 샘플을 중심으로 학습한다.

이 구조에는 다음 한계가 있다.

  • 이미 수집한 과거 데이터를 충분히 재사용하기 어렵다
  • 환경 상호작용 비용이 커질 수 있다
  • 샘플 효율이 낮을 수 있다

예를 들어 환경과 상호작용하는 비용이 큰 문제에서는, 같은 transition을 여러 번 활용할 수 있다면 훨씬 효율적인 학습이 가능하다.

2.2 단순 오프폴리시 학습의 문제

그렇다면 과거 데이터를 그냥 다시 쓰면 될 것 같지만, 여기에는 문제가 있다.
과거 데이터는 현재 정책이 아닌 다른 정책으로 수집되었을 가능성이 높다.

즉,

  • 현재 학습하려는 정책: target policy $\pi$
  • 데이터를 수집한 정책: behavior policy $\mu$

가 다를 수 있다.

이 경우 과거 데이터를 그대로 쓰면 정책경사 추정이 편향되거나 분산이 크게 증가할 수 있다.

ACER는 바로 이 지점을 다룬다.


3. ACER의 핵심 목표

ACER의 핵심 목표는 다음과 같다.

과거 데이터를 재사용하면서도, 현재 정책 기준으로 가능한 한 올바르게 Actor-Critic을 학습하고 싶다.

이 목표를 위해 ACER는 다음 문제를 동시에 해결하려고 한다.

  1. Replay Buffer를 사용해 샘플을 재사용
  2. Behavior policy와 Target policy 차이를 Importance Sampling으로 보정
  3. Importance weight가 너무 커져서 분산이 폭발하는 문제를 truncation으로 완화
  4. truncation으로 인해 생기는 bias를 correction term으로 보완
  5. 정책 업데이트가 너무 급격해지는 것을 trust region으로 완화

즉 ACER는 샘플 효율성과 안정성 사이의 균형을 잡으려는 알고리즘이다.


4. 기본 Actor-Critic 복습

ACER를 이해하기 전에 기본 Actor-Critic 구조를 먼저 정리해보자.

Actor-Critic은 크게 두 부분으로 나뉜다.

  • Actor: 정책 $\pi(a \mid s)$를 학습
  • Critic: 가치함수 또는 행동가치함수 $Q(s,a)$ 또는 $V(s)$를 학습

정책경사 관점에서 정책 업데이트는 보통 다음 형태를 가진다.

$
\nabla_\theta J(\theta) = \mathbb{E}\left[\nabla_\theta \log \pi_\theta(a \mid s)\cdot A^\pi(s,a)\right]
$

여기서 $A^\pi(s,a)$는 Advantage다.

A2C에서는 보통 Critic이 $V(s)$를 학습하고 TD error로 Advantage를 근사하지만,
ACER는 보통 행동가치함수 $Q(s,a)$와 상태가치 $V(s)$를 함께 다루는 형태로 설명된다.


5. 오프폴리시 학습과 Importance Sampling

5.1 왜 보정이 필요한가

현재 정책 $\pi$를 학습하고 싶은데, 데이터는 behavior policy $\mu$로부터 얻었다고 하자.

그러면 원래 target policy 기준 기대값

$
\mathbb{E}_{a \sim \pi(\cdot \mid s)}[f(s,a)]
$

을 바로 계산할 수 없다.

대신 importance sampling을 이용하면 다음처럼 바꿀 수 있다.

$
\mathbb{E}_{a \sim \pi}[f(s,a)] = \mathbb{E}_{a \sim \mu}
\left[
\frac{\pi(a \mid s)}{\mu(a \mid s)} f(s,a)
\right]
$

여기서

$
\rho_t = \frac{\pi(a_t \mid s_t)}{\mu(a_t \mid s_t)}
$

를 importance ratio라고 한다.

즉, behavior policy로 수집한 데이터라도 적절한 비율 $\rho_t$를 곱해주면 target policy 기준 기대값을 추정할 수 있다.

5.2 문제점: 분산 폭발

문제는 $\mu(a \mid s)$가 작고 $\pi(a \mid s)$가 크면 $\rho_t$가 매우 커질 수 있다는 점이다.

예를 들어

[
\pi(a \mid s)=0.8,\quad \mu(a \mid s)=0.01
]

이면

[
\rho = 80
]

이 된다.

이런 큰 weight는 gradient 분산을 매우 크게 만들고 학습을 불안정하게 한다.

이 때문에 단순 importance sampling만으로는 안정적인 학습이 어렵다.


6. Truncated Importance Sampling

ACER는 importance ratio를 그대로 쓰지 않고 잘라낸다.

[
\bar{\rho}_t = \min(c, \rho_t)
]

여기서 $c$는 truncation threshold다.

즉 어떤 샘플의 ratio가 너무 커도 최대값을 $c$로 제한한다.

예를 들어

  • $\rho=2.5$, $c=10$이면 그대로 사용
  • $\rho=80$, $c=10$이면 10으로 잘라서 사용

이렇게 하면 분산이 훨씬 안정된다.

하지만 문제는 이 truncation 때문에 원래 unbiased estimator가 편향된 추정량이 된다는 점이다.

즉 분산은 줄지만 bias가 생긴다.

그래서 ACER는 다음 단계로 bias correction을 추가한다.


7. Bias Correction

ACER의 중요한 아이디어 중 하나는 truncated importance sampling으로 줄어든 부분을 correction term으로 보완하는 것이다.

원래 importance ratio $\rho$를 단순히 $\bar{\rho}$로 바꾸면,

[
\rho \neq \bar{\rho}
]

이므로 추정이 편향된다.

이를 보정하기 위해 ACER는 truncation으로 잘려나간 나머지 부분에 대해 별도의 기대값 형태 correction term을 추가한다.

핵심 아이디어는 대략 다음처럼 볼 수 있다.

[
\rho = \bar{\rho} + (\rho - c)_+
]

여기서 $(x)_+ = \max(x,0)$ 이다.

즉 importance ratio를

  • 잘린 부분
  • 초과된 부분

으로 나눠 생각하고, 초과된 부분을 correction term으로 다시 반영하는 것이다.

이 correction 덕분에 ACER는

  • 분산은 낮추고
  • bias는 줄이려는

구조를 가진다.


8. Retrace를 이용한 Q-value 추정

ACER는 Critic 학습에서 다중 step return을 안정적으로 계산하기 위해 Retrace 아이디어를 사용한다.

Retrace는 오프폴리시 multi-step target을 계산할 때 importance sampling을 그대로 곱해서 분산이 커지는 문제를 줄이기 위해, clipping된 계수를 사용해서 안전하게 return을 계산하는 방식이다.

대략적인 형태는 다음과 같이 볼 수 있다.

[
Q_t^{ret} = r_t + \gamma V(s_{t+1}) + \gamma c_{t+1}\left(Q_{t+1}^{ret} - Q(s_{t+1}, a_{t+1})\right)
]

여기서 보통

[
c_t = \lambda \min(1, \rho_t)
]

와 같은 계수를 쓴다.

이 식의 의미는 다음과 같다.

  • 1-step target만 보지 않고 더 긴 미래를 반영하고 싶다
  • 하지만 importance ratio를 그대로 다 곱하면 너무 불안정하다
  • 그래서 clipped coefficient를 사용해 multi-step backup을 안정화한다

즉 Retrace는 ACER에서 Critic target을 안정적으로 만드는 핵심 장치다.


9. ACER에서의 가치 추정

ACER는 보통 discrete action 환경에서 다음 관계를 사용한다.

[
V(s) = \sum_a \pi(a \mid s)Q(s,a)
]

즉 현재 정책 기준 상태가치는 행동가치들의 기댓값으로 정의된다.

이 점은 A2C와 비교했을 때 중요한 차이다.

  • A2C에서는 보통 Critic이 직접 $V(s)$를 예측하는 형태가 많다
  • ACER에서는 보통 $Q(s,a)$를 다루고, 그로부터 $V(s)$를 계산할 수 있다

즉 ACER는 정책과 Q-function을 더 직접적으로 연결하는 구조를 가진다.


10. Actor 업데이트

ACER의 정책 gradient는 오프폴리시 보정과 truncation, correction을 포함한 형태가 된다.

직관적으로 보면 Actor는 다음을 하려 한다.

  • 현재 상태에서 좋은 행동의 확률을 높인다
  • replay buffer의 과거 샘플도 사용한다
  • 다만 behavior policy로 수집한 샘플이므로 importance correction을 한다
  • weight가 너무 커지는 것은 truncation으로 제한한다
  • 그 제한으로 생긴 bias는 correction term으로 보완한다

정확한 수식은 논문 형태로 보면 다소 길어지지만, 핵심 구조는 다음 느낌으로 이해할 수 있다.

[
g^{acer} \approx \bar{\rho}_t \nabla_\theta \log \pi_\theta(a_t \mid s_t)\left(Q_t^{ret} - V(s_t)\right) + \text{bias correction term}
]

여기서

  • $\bar{\rho}_t$: 잘린 importance ratio
  • $Q^{ret}_t - V(s_t)$: Advantage 역할
  • correction term: truncation bias 보정

이다.

즉 ACER의 Actor는 단순 정책경사보다 훨씬 복잡한 보정 구조 위에서 학습된다.


11. Trust Region 업데이트

ACER는 추가로 trust region 아이디어를 도입한다.
이 부분은 정책이 한 번에 너무 크게 변하는 문제를 줄이기 위한 장치다.

강화학습에서 정책을 직접 업데이트하면, 작은 gradient step이라도 확률분포 자체는 크게 바뀔 수 있다.
이렇게 되면

  • Critic 추정이 갑자기 불안정해지고
  • replay buffer의 과거 데이터와 현재 정책 차이가 더 커지고
  • importance ratio가 더 극단적으로 커질 수 있다

이를 막기 위해 ACER는 새로운 정책이 이전 평균 정책에서 너무 멀어지지 않도록 제한한다.

직관적으로는 다음과 같은 생각이다.

정책을 더 좋게 만들고 싶지만, 한 번에 너무 급하게 바꾸지는 말자.

이 trust region 제약은 PPO의 clipping과 비슷한 문제의식을 공유하지만, 구현 방식은 다르다.


12. Average Policy Network

ACER에서는 안정성을 위해 종종 average policy network 개념이 사용된다.

이 평균 정책은 최근 정책들의 moving average처럼 생각할 수 있다.
그리고 trust region 제약을 줄 때 현재 정책이 이 평균 정책에서 너무 멀어지지 않도록 한다.

즉,

  • 현재 정책은 계속 빠르게 바뀌려고 하고
  • 평균 정책은 좀 더 부드럽고 안정적인 기준 역할을 한다

이 구조는 오프폴리시 replay를 쓸 때 특히 도움이 된다.
왜냐하면 현재 정책이 너무 빠르게 바뀌면 과거 데이터와의 mismatch가 더 심해지기 때문이다.


13. ACER의 전체 학습 흐름

ACER의 전체 흐름은 대략 다음과 같다.

  1. 현재 정책으로 환경에서 trajectory를 수집한다
  2. 수집한 transition을 replay buffer에 저장한다
  3. 최신 on-policy 데이터로 한 번 학습한다
  4. replay buffer에서 과거 trajectory를 샘플링해 off-policy 학습을 추가로 수행한다
  5. importance ratio를 계산한다
  6. truncated importance sampling과 bias correction을 적용한다
  7. Retrace target으로 Critic을 학습한다
  8. trust region 방식으로 Actor 업데이트를 안정화한다
  9. 반복한다

즉 ACER는 한 번의 rollout으로 끝나는 구조가 아니라,
현재 데이터와 과거 데이터를 함께 활용하는 반복 구조를 가진다.


14. A2C와 ACER 비교

14.1 공통점

  • 둘 다 Actor-Critic 구조를 사용한다
  • 정책과 가치 추정을 함께 학습한다
  • Advantage 개념이 중요하다

14.2 차이점

A2C

  • 주로 온폴리시
  • replay buffer를 핵심으로 사용하지 않음
  • 구조가 비교적 단순
  • 구현이 쉬움

ACER

  • replay buffer를 적극 사용
  • 오프폴리시 보정 필요
  • importance sampling, truncation, bias correction, trust region 등 추가 장치가 많음
  • 구조가 더 복잡하지만 샘플 효율이 좋을 수 있음

즉 ACER는 A2C보다 훨씬 “실전적인 샘플 재사용”을 염두에 둔 알고리즘이다.


15. DQN 계열과의 비교

ACER도 replay buffer를 사용하므로 DQN 계열과 비슷해 보일 수 있다.
하지만 둘은 핵심 철학이 다르다.

DQN 계열

  • 가치 기반
  • 정책을 직접 학습하지 않음
  • $Q(s,a)$ 최대화를 통해 행동 선택

ACER

  • 정책 기반 + 가치 추정 결합
  • Actor가 직접 정책을 학습
  • 오프폴리시 correction을 통해 replay 활용

즉 ACER는 replay buffer를 사용하는 정책경사 계열 알고리즘이라고 볼 수 있다.


16. ACER의 장점

16.1 샘플 효율 개선

과거 데이터를 다시 사용할 수 있으므로 환경 상호작용 효율이 좋아질 수 있다.

16.2 정책 기반 방법의 장점 유지

정책을 직접 학습하므로 확률적 정책 구조를 자연스럽게 다룰 수 있다.

16.3 오프폴리시 학습 안정성 보완

importance sampling, truncation, bias correction, Retrace, trust region 등의 장치를 통해 단순 replay 사용보다 안정적인 학습을 목표로 한다.

16.4 멀티스텝 정보 활용

Retrace를 통해 1-step보다 더 풍부한 미래 정보를 반영할 수 있다.


17. ACER의 한계

17.1 알고리즘 구조가 복잡하다

A2C, REINFORCE 같은 알고리즘에 비해 구현 난이도가 높다.

17.2 수식이 복잡하다

importance sampling, correction term, Retrace, trust region이 모두 들어가므로 직관적으로 이해하기가 쉽지 않다.

17.3 튜닝 요소가 많다

clip threshold, replay 비율, trust region 관련 설정 등 민감한 하이퍼파라미터가 많다.

17.4 최신 알고리즘 대비 활용 빈도

이론적으로 의미 있는 알고리즘이지만, 실전에서는 PPO, SAC, TD3 등 더 자주 쓰이는 알고리즘들에 비해 상대적으로 사용 빈도가 낮은 편이다.


18. ACER를 이해할 때 꼭 잡아야 하는 핵심

ACER를 처음 보면 수식이 많아서 복잡해 보이지만, 핵심은 의외로 명확하다.

핵심 1. 과거 데이터를 다시 쓰고 싶다

온폴리시 Actor-Critic은 샘플 효율이 아쉽다.
그래서 replay buffer를 쓰고 싶다.

핵심 2. 그냥 쓰면 안 된다

과거 데이터는 현재 정책으로 모은 것이 아닐 수 있다.
그래서 importance sampling이 필요하다.

핵심 3. importance sampling은 너무 튈 수 있다

ratio가 너무 커지면 학습이 불안정하다.
그래서 truncation이 필요하다.

핵심 4. truncation은 bias를 만든다

그래서 correction term이 필요하다.

핵심 5. 정책도 너무 급하게 바뀌면 안 된다

그래서 trust region이 필요하다.

즉 ACER는 사실상

replay를 쓰고 싶어서 생기는 문제를 하나씩 막아나간 알고리즘

이라고 볼 수 있다.


19. 의사코드 수준의 흐름

ACER의 느낌을 단순화한 의사코드는 다음과 같이 볼 수 있다.

for iteration in range(num_iterations):
    trajectory = collect_trajectory(policy)
    replay_buffer.add(trajectory)

    # on-policy update
    update_actor_critic(trajectory)

    # off-policy replay update
    for _ in range(replay_ratio):
        replay_traj = replay_buffer.sample()

        rho = pi(a|s) / mu(a|s)
        rho_bar = min(c, rho)

        q_retrace = compute_retrace_target(replay_traj, rho)
        advantage = q_retrace - V(s)

        actor_loss = truncated_is_policy_gradient + bias_correction
        critic_loss = value_or_q_loss
        trust_region_adjustment()

        optimize(actor_loss + critic_loss)

물론 실제 구현은 더 복잡하지만, 핵심 흐름은 이와 비슷하다.


20. ACER와 다른 알고리즘의 위치

강화학습 흐름 속에서 ACER는 대략 다음 위치에 있다고 볼 수 있다.

  • REINFORCE: 가장 기본적인 정책경사
  • A2C/A3C: Advantage를 도입한 Actor-Critic
  • ACER: Actor-Critic에 replay와 오프폴리시 보정까지 결합
  • PPO: 정책 업데이트 안정성을 더 단순하고 강력하게 개선
  • SAC / TD3 / DDPG: 연속 행동공간 중심의 오프폴리시 Actor-Critic

즉 ACER는 정책경사 계열이 오프폴리시 replay를 다루기 위해 어떤 장치를 넣는지 보여주는 중요한 중간 단계라고 볼 수 있다.


21. 정리

ACER는 Actor-Critic 구조에 Experience Replay를 결합한 오프폴리시 강화학습 알고리즘이다.

핵심은 다음과 같다.

  • replay buffer를 사용해 과거 데이터를 재사용한다
  • behavior policy와 target policy 차이를 importance sampling으로 보정한다
  • importance ratio가 너무 커지는 문제를 truncation으로 줄인다
  • truncation으로 생기는 bias를 correction term으로 보완한다
  • Retrace를 사용해 multi-step target을 안정적으로 계산한다
  • trust region으로 정책 업데이트를 지나치게 크게 하지 않도록 제한한다

즉 ACER는 단순한 Actor-Critic의 확장이 아니라,

샘플 효율을 높이기 위해 오프폴리시 replay를 도입하고, 그로 인해 발생하는 여러 불안정성을 체계적으로 제어한 알고리즘

이라고 할 수 있다.


22. 한 줄 요약

ACER는 Experience Replay를 활용하면서도 importance sampling, truncation, bias correction, Retrace, trust region을 통해 오프폴리시 Actor-Critic 학습을 안정화하려는 알고리즘이다.


23. 함께 보면 좋은 주제

ACER를 이해한 뒤 이어서 보면 좋은 내용은 다음과 같다.

  • Importance Sampling
  • Retrace
  • Trust Region Policy Optimization
  • A2C / A3C
  • PPO
  • DDPG / TD3 / SAC
  • Off-policy Policy Gradient