A2C 알고리즘
A2C(Advantage Actor-Critic) 알고리즘은 정책 그래디언트 기법과 가치 함수 근사를 결합한 강화학습 알고리즘이다. 이 알고리즘은 Policy Gradient Theorem을 기반으로 하며, REINFORCE 알고리즘의 높은 분산 문제를 개선하고, 심층신경망의 파라미터(θ)를 조정하여 정책을 최적화한다.
REINFORCE의 한계와 A2C
REINFORCE와 같은 기존 정책 그래디언트 알고리즘에는 두 가지 주요 단점이 있다:
- 그래디언트 추정의 분산이 높아 학습이 불안정하다.
- 에피소드가 완전히 끝나야만 정책을 업데이트할 수 있다.
A2C는 이러한 한계를 개선한다.
Actor-Critic 구조
A2C는 두 개의 주요 구성 요소로 이루어져 있다:
- Actor(정책 네트워크): 주어진 상태에서 행동을 선택하는 정책 πθ(a∣s)를 학습한다.
- Critic(가치 네트워크): 상태의 가치를 평가하는 가치 함수 Vϕ(s)를 학습한다.
이러한 구조의 특징:
- Actor는 Critic의 평가를 바탕으로 정책을 개선한다.
- Critic은 실제 경험을 통해 상태 가치를 추정한다.
- 두 네트워크의 상호작용으로 학습 안정성이 향상된다.
Advantage 함수
A2C 알고리즘의 핵심은 Advantage 함수 A(s,a)를 사용하는 것이다. Advantage 함수는 특정 행동이 평균적인 행동보다 얼마나 더 좋은지(또는 나쁜지) 측정하는 지표이다.
A(s,a)=Q(s,a)−V(s)
- Q(s,a): 상태 s에서 행동 a를 취한 후의 기대 리턴
- V(s): 상태 s의 기대 가치
Advantage 함수는 다음과 같이 근사할 수 있다:
A(st,at)≈rt+γV(st+1)−V(st)
이 표현식은 시간차 오차(Temporal Difference error, TD error)라고도 하며, 현재 상태에서 취한 행동의 상대적 가치를 나타낸다.
정책 네트워크 업데이트
A2C 알고리즘에서 정책 파라미터 θ의 업데이트는 다음 수식에 따라 이루어진다:
∇θJ(θ)=E[A(s,a)∇θlogπθ(a∣s)]
이는 REINFORCE 알고리즘과 유사하나, 중요한 차이점은 리턴 Gt 대신 Advantage 함수 A(s,a)를 사용한다는 점이다. 이를 통해 그래디언트 추정의 분산을 줄일 수 있다.
실제 구현에서 정책 그래디언트 업데이트는 다음과 같다:
θ←θ+αt∑A(st,at)∇θlogπθ(at∣st)
가치 네트워크 업데이트
A2C에서 Critic 네트워크는 시간차(TD) 학습을 통해 가치 함수를 갱신한다. TD 학습의 특징:
- 에피소드 종료를 기다리지 않고 매 스텝마다 가치 함수를 갱신한다.
- 실시간 학습으로 샘플 효율성을 높인다.
Critic 네트워크의 파라미터 ϕ는 다음과 같이 업데이트된다:
ϕ←ϕ−β∇ϕ∑t(Vϕ(st)−(rt+γVϕ(st+1)))2
여기서 β는 Critic의 학습률이고, 목표는 예측된 가치 Vϕ(st)와 TD 타겟 rt+γVϕ(st+1) 사이의 제곱 오차를 최소화하는 것이다.
A2C의 적용 분야
A2C 알고리즘은 다양한 강화학습 과제에 적용할 수 있다:
- 연속적인 행동 공간을 가진 제어 문제
- 장기적인 보상 구조를 가진 환경
- 샘플 효율성이 중요한 문제
A2C의 성능을 향상시키기 위해 GAE(Generalized Advantage Estimation)와 같은 기법을 결합하여 사용할 수 있다.