728x90
반응형

혁펜하임님의 "혁펜하임의 “트이는” 강화 학습" 을 바탕으로 정리한 글입니다. 


강화학습은 에이전트가 환경과 상호 작용하며 보상을 최대화하는 방법을 학습하는 과정이다.

Actor-Critic 알고리즘은 이러한 강화학습 기법 중 하나로, Policy 기반의 접근법을 활용하여 에이전트의 행동을 결정하고, 그 결과를 평가하는 Critic 모듈을 통해 성능을 개선한다. 

REINFORCE 알고리즘의 variance 문제를 해결한 알고리즘이기도 하다. 

 

(REINFORCE 알고리즘의 내용은 아래에 정리해두었으니 참고 바랍니다!

https://seoy00.tistory.com/40?category=1174101)

 

[RL] 강화학습 REINFORCE 알고리즘

혁펜하임님의 "혁펜하임의 “트이는” 강화 학습" 을 바탕으로 기록한 내용입니다.  policy gradient을 식을 쭉 따라왔다면 REINFORCE 알고리즘을 이해하는 데에 큰 어려움은 없었다.  Gt를 이용해

seoy00.tistory.com

 

이 포스트에서는 Actor-Critic 알고리즘의 기본 원리와 알고리즘, 그리고 그 특징에 대해 간단히 정리하였다. 

 

Actor-Critic 구조와 원리

  • Actor: Actor는 에이전트의 행동을 결정한다. 정책(policy) 함수를 사용하여 주어진 상태에서 어떤 행동을 취할 것인지를 결정하고, 이는 환경에 대한 탐색과 학습을 가능하게 한다.
    • policy를 업데이트 해서 실제로 action을 취함!
  • Critic: Critic은 Actor의 행동을 평가한다. 이는 value function을 기반으로 현재 정책의 가치를 계산하여, Actor가 더 나은 정책을 학습할 수 있도록 지도한다.
    • actor의 action을 Q-value를 통해서 평가!

 

학습 과정

ActorCritic은 각각 다음과 같이 업데이트된다:

  • Actor 업데이트: Actor는 gradient ascent를 사용하여 정책의 성능을 향상시킨다. 이는 REINFORCE 알고리즘의 변형을 사용하여 정책의 로그 확률에 대한 기댓값을 최대화한다.
  • Critic 업데이트: Critic은 TD(Target-Difference) error를 최소화하여 에이전트의 가치 예측을 정확하게 한다. 이는 실제 보상과 추정 가치 사이의 차이를 줄이는 방식으로 진행된다.

 

특징

  • biased
    • 1 step 마다 update 진행
    • Q-value의 expectation을 사용하지 않기 때문(위에 적힌 이유와 같은 맥락)
  • low variance
    • $G_t$ 사용하는 대신 한 step에서 얻어지는 Q-value를 사용하기 때문

 

수식과 부가적인 설명은 아래 필기 내용 참조 부탁드립니다 :)

 

 

728x90
반응형
LIST
성장중 •͈ᴗ•͈