03 Policy Gradient Method

Untitled

지금까지 설명한건 강화학습 없이 unsupervised 한것이다.

강화학습의 유일한 목적은 리워드를 높이는것. 그것을 이루기 위한 방법론으로 폴리시 그레디언트 메소드를 소개한다.

폴리시는 인공지능이다. 어떤 state 에서 무슨 action을 취할지를 결정하는 함수이다.

학습은 어떻게 하는가?

일단 먼저 수학적으로 봤을때 J(theta)식을 사용한다. Dt(디타우)를 path integral, 경로 적분이라고 한다.

타우는 트레젝토리라고 부른다. 트레젝토리는 일련의 히스토리. state0에 있을때 policy를 통해 action을 취해서 state가 변한다. 그러면 폴리시 이외에도 다른 함수를 정의할수 있다. 전이확률(transition probability).

P(S1|S0,a) 가 전이확률이다. 이건 물리법칙이라 어떻게 할수없다. 학습하기는 힘들다.

정확하게는 리워드의 기댓값을 최대화할수 있다. J가 리워드의 기댓값이다.

Untitled

타우라는 트레젝토리는 s1→a1→s2 …. 이런 일련의 히스토리이다.

폴리시와 transition probability P와 파이로부터 어떤 타우(트레젝토리)가 나올 확률을 구할 수 있다.

최초의 state에 놓여있을때, pi(a0|s0)P(s1|s0,a0)pi(a1|s1)p(s2|s1,a1) …. 연쇄적으로 …

트레젝토리는 {(s0),(a0,s1),(a1,s2) …} 일련의 트레젝토리가 형성될 확률을 주르륵 곱해줌으로써 계산할 수 있다. 세번째 줄이 그 내용이다. 이걸 다 곱해주면 트레젝토리가 나올 확률을 결정할 수 있다.

Untitled

중요한건 폴리시를 결정하는 파라미터가 있을텐데, 딥러닝 네트워크의 weight가 될것(세타) 이걸 최적화해서 리워드 R의 기댓값을 높이는것.

어떤 트레젝토리를 따라갔을경우 높은 리워드를 얻을 확률이 굉장이 크지만, 트레젝토리가 나올 확률이 낮다면 이건 기피를 해야된다.

확률적으로 분배를 해서 리워드의 기댓값을 최적화 하는 방향으로 작동을 한다.

우리가 할것은 리워드의 기댓값 J를 세타에 대해 편미분을 하는것이다.