Security || AI

[강화학습] A3C의 개념, 장점, 구조 본문

AI/강화학습

[강화학습] A3C의 개념, 장점, 구조

보안&인공지능 2021. 2. 16. 16:45

A3C란?

A3C 알고리즘은 비동기적 어드밴티지 액터크리틱(Asynchronous Advantage Actor-Critic)으로, 2016년 구글 딥마인드가 발표한 알고리즘이다.

학습 데이터간의 상관관계를 꺠기 위해 DQN에서와 같이 리플레이 메모리를 사용하는 것이 아니라, 샘플을 수집하는 여러 개의 ACTOR-LEARNER라는 에이전트를 사용하는 Actor-Critic 방법이다.

장점

  • A3C 알고리즘은 강화학습 문제에서 더 좋은 보상을 달성 가능하다.

  • 기존 방식과 동일한 액션 공간에서 연속적으로나 별도로 동작하는 것이 가능하다.

  • 학습 속도가 빠르다.

  • DGN보다 시간이 단축되고, 학습 성능이 뛰어나다.

구조

A3C 구조

동일한 신경망 모델로 되어 있는 각 actor-learner는 서로 다른 환경에서 비동기적으로 일정 시간동안 행동하면서 샘플을 생성한다. 이렇게 여러 actor-learner가 생성한 샘플들을 이용하여 신경망 모델을 학습시키고, 학습된 신경망 모델을 다시 actor-learner에 복사하는 방식이다.

위 과정을 반복함으로써 리플레이 메모리를 사용하는 효과를 나타낼 수 있다.

 

Advantage: A = Q(s, a) - V(s)

Advantage(A): 어떤 에이전트의 액션이 예상보다 얼마나 더 좋은 결과를 냈는지를 결정

V(s): 네트워크의 가치함수로 어떤 상태가 얼마나 좋은지를 나타낸다.

π(s): 일련의 액션의 확률 출력값 (정책)

에이전트의 액션이 얼마나 좋은지를 확인하는 것이 아닌 예상보다 얼마나 더 좋은 결과를 냈는지를 결정할 수 있어야 한다. 그러므로, A3C에서는 할인된 보상이 아닌 advantage 추정값을 사용해야한다. 이렇게 사용하면 알고리즘에서 네트워크의 예측이 부족한 부분에 집중 가능하다.

A3C에서는 Q값을 직접 결정하지 않으므로 할인된 보상 R = γ(r)을 Q(s, a)의 추정값으로 이용하여 advantage의 추정값을 구할 수 있다: A = R - V(s)

 

학습 과정

1. 에이전트가 전역 네트워크로 리셋된다.

2. 에이전트가 환경과 상호작용한다.

3. 에이전트가 가치와 정책 비용을 계산한다.

4. 에이전트가 비용으로부터 경사를 구한다.

5. 에이전트가 경사를 이용해 전역 네트워크를 업데이트한다.

위 과정을 계속해서 반복한다.

 

반응형