이번 시리즈에서는 강화학습 알고리즘의 일종인 A2C 알고리즘에 대해 알아보겠습니다.
정책 그래디언트 방법과 REINFORCE 알고리즘
먼저 A2C 알고리즘을 알아보기 전에 정책 그래디언트와 REINFORCE 알고리즘에 대해 알아보겠습니다.
먼저 강화학습의 목표는 반환값의 기댓값으로 이루어진 목적함수 J(θ)를 최대로 만드는 정책 πθ(at∣st)를 최적화하는 파라미터 θ를 찾는 것이 목적입니다.
위의 수식에서 목적함수로 표현된 상태 가치 함수는 " 상태 st에서 정책 π를 따랐을때 time-step t부터 에피소드가 끝날 때까지얻을 수 있는 보상의 총합 "으로 정의할 수 있습니다. 즉 목적함수의 정의와 같다는 것입니다.
위의 내용을 정리해 보자면, 목적함수는 상태 가치 함수로 표현이 가능하고, 저희의 목적은 목적함수 J(θ)를 최대로 만드는 파라미터 θ를 찾는 것입니다.
정책 그래디언트를 학습하기 위해서는 파라미터 θ를 업데이트하기 위한그래디언트가 필요합니다.
α는 Learning Rate입니다.
이와 같이 목적함수의 그래디언트를 이용해 정책을 업데이트하는 방법을 정책 그래디언트라고 합니다.
REINFORCE 알고리즘
정책 그래디언트를 실제 사용함에 있어 qπ(s, a)는 수학적으로 직접 계산이 불가능합니다. 그러므로 qπ(s, a)를 Gt로 대체하는 것이 바로 REINFORCE 알고리즘입니다.
손실함수로는 cross entropy를 사용합니다.
단점
하지만 REINFORCE 알고리즘에는 몇 가지 문제가 있습니다.
첫째는 한 에피소드가 끝나야 정책을 업데이트할 수 있다는 것입니다. 이러한 특성 때문에 에피소드가 긴 경우 신경망 학습 시간이 상당히 길어질 수 있습니다.
둘째는 그래디언트의 분산이 매우 크다는 점입니다. 목적함수의 그래디언트를 보면 그래디언트 값은 누적보상값에 비례함을 알 수 있습니다. 여기서 누적보상은 환경 또는 에피소드의 길이에 따라 변화량이 상당히 커 학습결과가 불안정할 수 있습니다.
다음 포스터에서는 REINFORCE 알고리즘의 두 가지(학습 시간이 김, 분산이 매우 큼) 단점을 개선한 알고리즘인 어드밴티지 액터-크리틱(A2C, Advantage actor-critic)을 소개하겠습니다.
'황민규 > 강화학습 예제' 카테고리의 다른 글
Dynamic Programming (0) | 2023.04.11 |
---|---|
A2C 알고리즘[#2] (0) | 2023.04.04 |
강화학습 미로찾기 구현[#2] (0) | 2023.03.21 |
강화학습 미로찾기 구현(#1) (0) | 2023.03.07 |