The Multi- Armed Bandit Problem이란? #1 [출처] The Multi- Armed Bandit Problem이란?
Reinforcement learning은 쉬운 예를 들어본다면 robot dog에게 걷기 연습을 시키는 algorithm입니다. Robot dog에게 우측 앞발을 움직이고 다음에 좌측 뒷발을 움직이고 그 다음으로 좌측 앞발을 움직이게 프로그래밍을 하고 실제적으로 연속적으로 수행하도록 할 수 있습니다. 또 다른방법으로 Reinforcement learning algorithm을 이용하여 robot dog이 걷도록 training시킬 수 있습니다. 기본적으로 robot dog에게 모든 가능한 action tool 들에 대해 알려줍니다. 이렇게도 움직일 수 있고 저렇게도 움직일 수 있다는 정보를 줍니다. 그리고 robot dog의 목표는 앞으로 나아가는 것이라고 알려줍니다. 앞으로 나아가는 매 순간마다 reward를 받고 넘어지는 순간마다 punishment를 받습니다. 당근이나 간식을 주는 것은 아니고 algorithm에서 reward 는 1이고 punishment는 0 입니다. 기본적으로 robot dog은 모든 가능한 random sets의 action을 시도하게 되고 매 순간 1 과 0 의 평가를 받게 됩니다. Machine은 이러한good action들을 기억하게 되고 반복함으로써 실제로 개가 걷는 것처럼 앞으로 걸을 수 있게 됩니다.
Multi-Armed Bandit Problem은 무엇일까요?
기본적인 가정을 두가지 해보도록 하겠습니다.
1) 우리는 세상에 대해 잘 모른다.
2) 세상은 계속 변한다.
Machine learning에서 지도학습이란 잘 모르는 세상에 대해 기존의 지식을 training하고 일반화를 통해 최적화된 모델을 만드는 것이지만 이 모든 일반화된 모델 역시 두 번째 가정 세상은 계속 변한다에 의해 지속적으로 업그레이드 되어야 하는 경우가 발생하게 됩니다.
이때 필요한 중요한 개념은
Exploration(탐험하기) : 최적 안을 결정하기 위해 다른 안들을 계속 평가하는 것
Exploitation( 뽑아먹기): 최적 안이 나왔다면 이곳으로 사용자를 몰아주고 최대의 이익이 나올 수 있도록 하는 것.
반복적으로 검증가능한 현상을 과학이라고 부르지만 비즈니스 환경 등에서는 계속되는 변화 속에 있고 추세의 변화를 빠르게 찾아낼 필요가 있게 됩니다. 얼마만큼의 시간과 재화의 투자를 exploration(탐험하기)에 몰아주고 얼마만큼의 시간과 재화를 exploitation(뽑아먹기)에 몰아주어야 이익이 최대가 될 것인가를 알고 또한 시간의 흐름에 따라 얼마의 비중으로 exploration과 exploitation의 비율을 바꾸어갈지 판단해야 하며 이는 어려운 문제가 됩니다. 이와 같은 딜레마의 대표적인 예가 multi-armed bandit problem입니다.