[RL] 7.1. Advanced Policy Gradient: A3C, A2C

2024. 5. 1. 18:42RL

심층 강화 학습 알고리즘

심층 강화 학습 알고리즘은 크게 두 가지로 분류할 수 있다.

첫번째, 환경 모델을 사용하는 모델 기반 기법(model-based method)

두번째, 환경 모델을 사용하지 않는 모델 프리 기법(model-free method)

 

모델 기반 기법은 다시 환경 모델이 주어지는 경우와 환경 모델을 학습하는 경우로 나눌 수 있다.

모델 프리 기법은 크게 정책 기반 기법과 가치 기반 기법, 그리고 이 둘을 모든 갖춘 기법으로 분류할 수 있다.

 

 

이번 글에서는 정책 경사법 계열의 고급 알고리즘 중 분산 학습 알고리즘인 A3C, A2C에 대해 알아볼 것이다.

A3C(Asynchronous Advantage Actor-Critic)

A3C의 특징은 Asynchronous 즉, '비동기'라는 점이다.

여기서 말하는 비동기란 여러 에이전트가 병렬로 행동하며 비동기적으로 파라미터를 갱신한다는 뜻이다.

 

A3C는 신경망으로 모델링한 Actor-Critic를 이용해 가치 함수와 정책을 학습한다.

그리고, 아래 그림과 같이 하나의 전역 신경망과 여러 개의 지역 신경망을 사용한다.

 

지역 신경망은 각자의 환경에서 독립적으로 플레이하며 학습한다. 그리고 학습 결과인 기울기(or update size)를 전역 신경망에 보낸다.

전역 신경망은 여러 지역 신경망에서 보내온 기울기를 이용해 비동기적으로 파라미터를 갱신한다.

이렇게 전역 신경망의 파라미터를 갱신하는 동안 주기적으로 전역 신경망과 지역 신경망의 파라미터를 동기화한다.

 

A3C의 장점은 여러 에이전트를 병렬로 행동하게 하여 학습 속도를 높인다는 것이다.

게다가 에이전트가 독립적으로 행동하기 때문에 한층 다양한 데이터를 얻을 수 있다.

그 덕분에 학습 데이터의 전체적인 상관관계를 약화시켜 학습이 더욱 안정적으로 이뤄질 수 있다.

 

또한, A3C의각 Actor-Critic는 파라미터를 공유한다.

다시 말해, 각 Actor-Critic의 가치 신경망(critic)과 정책 신경망(actor)는 파라미터를 공유한다.

정책과 가치 함수 모두 입력에 가까운 layer는 가중치가 비슷할 것이라서 파라미터를 공유하는 구조가 효과가 있다.

 

A2C(Advantage Actor-Critic)

 A2C는 반대로 파라미터를 동기적으로 갱신한다.

아래 그림과 같이 각각의 환경에서 에이전트가 독립적으로 동작한다.

따라서 시점 $t$에서의 상태는 환경마다 다르다. 그리고 "시점 $t$에서 각 환경의 상태를 (동기화하여) 배치로 묶어 신경망을 학습"한다.

이때, 신경망의 출력에서 다음 행동을 샘플링하며, 샘플링된 행동을 각 환경에 전달한다.

 

 

A2C와 A3C의 갱신 성능은 비슷하다. 하지만, A2C가 구현하기 쉬울 뿐만 아니라, GPU를 효율적으로 사용할 수 있다.

이런 장점 때문에 실무에서는 A2C를 더 많이 사용한다.