강화 학습 - 정책 그레디언트 (Policy Gradient) 및 Cross Entropy; 유도과 정 포함
- 공유 링크 만들기
- X
- 이메일
- 기타 앱
정책 그레디언트 (Policy Gradient) 개요
정책 그레디언트 (Policy Gradient,PG) 는 강화 학습에서 최적의 정책을 얻기 위해서 수행된다. 최적의 Policy를 얻기 위해선, 어떠한 목적함수가 요구된다. 이 목적 함수를 보통 Cross Entropy를 통해서 정의를 해준다. 엔트로피에 대한 개념은 여기를 참조하면 자세히 알 수 있다.
목적함수 – 교차 엔트로피 (Cross Entropy)
교차 엔트로피는 다음의 식으로 정의 된다.
H(p,q)= -\sum_i p(x_i)logq(x_i)
여기서 p(x_i)는 실제 확률 분포를 말하게되고, H(p,q) 값을 최소화 하는 것이 Loss를 최소화 하는 것을 의미합니다. 조금 더 확실하게 하기 위해서, supervised Learning의 경우를 확인해보도록 하겠습니다.
이 경우에는 label이 되어 있어서 확실한 확률 분포 p(x_i) 를 알고 있습니다. 그러면 간단하게 아래와 같이 예시를 만들어 볼 수 있습니다.
하지만, 강화 학습에서는 labeled 데이터를 사용하는 것이 아닙니다. 이에 p(x_i)를 대체하기 위하여 새로운 값을 사용하게 됩니다.
이에 Replay와 같은 Episode를 통해 얻어지는 Q(s,a) 값을 통해 구해볼 수 있습니다.
즉, 경험을 통해서 실제 확률 분포를 대체할 수 있음을 말합니다. 이러한 가정들은 강화 학습의 핵심적인 가정사항입니다. 그러면 q에 해당하는 Predictive value는 행동을 위한 정책 확률 분포가 됩니다.
이에 최종적으로 목적 함수는 다음과 같이 쓰게 됩니다.
Loss= -Q(s,a)log\pi(s,a), \pi(s,a): Policy
정책 그레디언트 (Policy Gradient)
목적 함수는 Loss를 최소화 하는 것으로 세울 수 있게 됩니다. 전체적인 과정은 다음과 같습니다.
그러면, Loss 함수로 정의했던 목적 함수가 최적의 Policy를 얻는 과정인가에 대한 확인이 요구됩니다.
즉, 정책 그레디언트를 구하는 과정은 Cross entropy를 통해서 구할 수 있음을 알 수 있습니다.
사실, 위 과정들은 최대 우도법, KL-Divergence를 구하는 과정과 동일합니다.
- 공유 링크 만들기
- X
- 이메일
- 기타 앱
댓글
댓글 쓰기