이번 포스팅에서는 Gradient Bandit Algorithms에 대해 알아보겠습니다. 내용은 심플한데 업데이트 알고리즘을 유도하는 과정이 조금 복잡합니다. 유도하는 과정을 이해하지 않더라도 충분히 적용가능하니 유도하는 내용은 취사적으로 읽어보면 좋을 것 같습니다.
Gradient Bandit Algorithm
MAB(2)에서는 action value 이용한 행동 선택 전략을 알아봤습니다. 물론 좋은 방법이지만 당연히 action value가 아닌 다른 방법으로도 행동 선택 전략을 수립할 수 있습니다. 또 다른 대표적인 행동 선택 전략은 선호도(preference)를 이용하는 gradient bandit algorithm입니다. Ht(a)를 t 시점에서 행동 a의 선호도로 정의하겠습니다. 처음에는 임의의 값으로 초기화를 하고 뒤따를 알고리즘을 이용하여 선호도를 학습합니다. Gradiet Bandit Algorithm에서는 선호도를 직접이용하지 않고, softmax 함수에 적용하여 확률처럼 선호도를 재표현합니다. P(At=a)=eHt(a)∑kb=1eHt(b)=πt(a) 여기에서 πt(a)라는 중요한 새로운 notation이 등장하며, 이는 강화학습을 공부하며 앞으로도 자주 등장하니 꼭 눈여겨두면 좋습니다. 아까 선호도를 확률처럼 재표현 한다고 했고, πt(a)는 t시점에서 행동 a를 선택할 확률로 해석하면됩니다. 행동 선택 확률은 매 시점마다 gradient ascent method로 업데이트 할 수 있고, 그래서 이름이 gradient bandit algorithm입니다. Ht+1(At)←Ht(At)+α(Rt−ˉRt)(1−πtAt), andHt+1(At)←Ht(a)−α(Rt−ˉRt)πt(a), for all a≠At 여기에서 α>0은 step size parameter로 사용자가 지정해주면 되고, ˉRt∈R은 t시점을 포함한 보상의 평균이고 baseline 역할을 합니다. 위 알고리즘은 Rt가 baseline보다 큰 행동을 했을 경우 선호도를 증가시키고 아닌경우 감소하며 업데이트를 한다고 해석 할 수 있습니다. 이어서 어떻게 유도가 되었는지 확인하겠습니다. (실제 적용할 때는 위 내용으로 충분하니 취사적으로 읽어보면 좋을 것 같습니다:))
Gradient Bandit Algorithm 유도
Gradient Ascent Method
Gradient Ascent Method는 단순히 Descent Method와 기울기 방향의 차이만 있을 뿐, 나머진 같습니다. 자세한 설명은 이곳에서 확인하시면 됩니다. x(k+1)←x(k)+α∂f(x(k))∂x(k)
Gradient Bandit Algorithm
Action Value Method에서는 기대보상을 단순히 가중평균을 이용하여 산출했습니다. Gradient Bandit Algorithm은 확률 기반 행동 선택을 하기 때문에 매 시점에서 기대보상을 다음과 같이 계산할 수 있습니다. ERt=∑xπt(x)q∗(x) 위 식에서 ERt가 선호도 Ht(x)의 함수임을 쉽게 알 수 있고 자연스럽게 gradient ascent method가 적용가능하다는 사실도 알 수 있습니다. 따라서 기대보상을 최대화하는 선호도는 다음과 같이 업데이트 할 수 있습니다. Ht+1(a)=Ht(a)+α∂ERt∂Ht(a) 갑자기 등장한 q∗(a)가 조금 의아할 수 있지만, 이 부분은 유도 말미에 해결책이 있으니 우선은 받아드리고 기울기를 구해보겠습니다. ∂ERt∂Ht(a)=∂∂Ht(a)[∑xπt(x)q∗(x)]=∑xq∗(x)∂πt(x)∂Ht(a)=∑x(q∗(x)−Bt)∂πt(x)∂Ht(a) 여기서 Bt는 baseline이고 x에 의존하지 않는 어떤 scalar가 들어와도 상관이 없습니다. (∵∑x∂πt(x)∂Ht(a)=∂∂Ht(a)∑xπt(x)=0) πt(x)/πt(x)를 곱해주면, ∂ERt∂Ht(a)=∑xπt(x)(q∗(x)−Bt)∂πt(x)∂Ht(a)/πt(x)=E[(q∗(At)−Bt)∂πt(At)∂Ht(a)/πt(At)]=E[(q∗(At)−Bt)(Ia=At−πt(a))]=E[(E(Rt|At)−ˉRt)(Ia=At−πt(a))] 여기까지 진행할 수 있습니다. 먼저 앞서 말한 조건에 따라 Bt=ˉRt로 바꿔쓸 수 있습니다. 또한 ∂πt(x)∂Ht(a)=πt(x)(Ia=x−πt(a))이기 때문입니다. 마지막으로 조금 기술적인 이야기를 하면 목적지에 도착합니다. 우리는 1회 실행 후 1회 업데이트를 진행하기 때문에 E(기대값)을 계산(추정)할 때 표본의 크기가 항상 1개 입니다. 따라서 바로 직전 E(기대값) 안의 값을 그대로 사용하는 것과 마찬가지 결과를 얻습니다. 마무리짓도록 하겠습니다. Ht+1(a)=Ht(a)+α(Rt−ˉRt)(Ia=At−πt(a)), ∀a
마치며
이 번 포스팅까지 MAB의 기본적인 내용을 다루었습니다. 고생하셨습니다. 끝까지 읽어주셔서 진심으로 감사합니다! :)
References
- Sutton, Richard S., and Andrew G. Barto. Introduction to reinforcement learning. Vol. 2. No. 4. Cambridge: MIT press, 1998.
'Reinforcement Learning > Introduction' 카테고리의 다른 글
Markov Decision Process (2) - Bellman Equation (2) | 2019.10.03 |
---|---|
Markov Decision Process (1) - 개요 (0) | 2019.10.02 |
Multi-Armed Bandit for RL(2) - Action Value Methods (0) | 2019.09.15 |
Multi Armed Bandit for RL(1) - 개요 (2) | 2019.09.15 |
강화학습개요 (0) | 2019.09.12 |
댓글