본문으로 바로가기

Associative Search (Contextual Bandits)

지금까지 다루었던 것은 nonassociative tasks, 즉 행동과 상황이 어떤 관련이 있을 필요가 없었다. stationary, nonstationary이던간에 그저 하나의 최고 행동을 하면 그만이였다. 하지만 실제 강화학습 문제는 그리 단순하지 않고 하나 이상의 상황이 존재할 것이다. 상황에 따라 행동을 결정해야 하는, 즉 정책(policy)을 학습시켜야 한다.

예를 들면, 이전에 n-armed bandit task가 플레이할 때마다 보상의 분포가 다 임의로 달라진다면? 왠만해서는 이전 방법으로 풀 수가 없다. 대신, 어떻게 바뀌었는지를 알 수 있게 슬롯 머신의 색깔이 변한다면? 그 슬롯 색깔에 따라 행동을 결정할 수 있을 것이다.

이를 associative search task라고 한다. 왜냐하면 행동이 최고의 상황과 연관되어(association) 최고의 행동을 찾는(search) 형태의 시행착오(trial-and-error) 학습을 하기 때문이다.

associative search는 n-armed bandit 문제와 완전한 강화학습 문제(full reinforcement learning) 문제 사이에 있다. policy를 학습해야하는 면에서는 완전 강화학습과 비슷하고, 또 오직 즉각적인 보상(immediate reward)에 영향을 미치는 n-armed bandit 문제와 비슷하다. 만약 행동이 다음 상황까지 변화시킬 수 있다면 완전한 강화학습 문제가 될 것이다.

Summary

  • non-greedy action을 하는 exploration과 greedy action을 하는 exploitation
  • 무조건 높은 값을 선택하고 일정한 확률로 랜덤하게 행동하는 $\epsilon$ greedy
  • 초기에 높은 가치를 두어 행동을 결정하는 Upper-Confidence-Bound(UCB)
  • 행동 가치가 아닌 우선순위(preference)을 가지고 softmax를 통해 행동을 결정하는 Gradient-bandit

당연히 무엇이 최고냐고 생각해볼 수 있다. 파라미터에 따라 달라지기 때문에 다양한 파라미터를 설정 후 10-armed testbed에서 1000 step 정도 실험한 것이다. 다양한 파라미터 설정으로 U를 거꾸로 한 모양인데 중앙에 높은 값이 가장 좋은 파라미터 설정이다. 또 얼마나 파라미터 변화에 민감한지 알 수 있다.

물론 완전한 강화학습 문제에서 사용하기엔 어렵겠지만 5챕터에서 이를 일부 사용해볼 것이다. n-armed bandit에서 exploration과 exploitation 균형을 잘 이루는 gittins indices라는 방법도 있다고 한다. 물론 이것도 완전한 강화학습 문제에서는....또 Bayes optimal 방법도 있으나 계산면에서 다루기 힘들어 근사해야 한다. 자세하게는 다루지 않기에 가볍게 통과

아 드디어 2장 끝!!

본격적인 강화학습에 대한 내용을 다음부터 정리할 수 있어서 기쁘다. 이게 잘되면 david강의와 팡요랩을 같이해서 더 잘 정리할 수 있을 거 같다.