본문 바로가기
  • Let's go grab a data
Data/Info.

기계학습Machine Learning - 강화 학습 유형(Multi armed bandit)

by pub-lican-ai 2016. 2. 7.
반응형

강화 학습 Reinforcement Learning

  • 환경을 탐색하는 에이전트가 현재의 상태를 인식하여 어떤 행동을 취함

  • 에이전트는 환경으로 부터 포상을 얻음

  • 포상은 양수와 음수 둘 다 가능

  • 에이전트가 앞으로 누적될 포상을 최대화 하는 정책을 찾는 방법


강화 학습과 지도학습의 차이점 
  • 지도 학습 : 이미 알고 있는 지식을 이용해 원하지 않는 행동을 명시적으로 수정하며 모델을 업데이트 해감
  • 강화 학습 : 이미 알고 있는 지식과 아직 조사되지 않는 영역을 탐험하는 것 사이의 균형을 잡는 것
즉, 환경이 지속적으로 변해가는 상황에서 트렌드를 실시간으로 분석하고 이를 즉각 반영할 수 있는 온라인 수행
조사되지 않은 영역과의 Trade-off를 조절하는 Multi-armed bandit 문제를 알아본다

Multi-armed Bandit
이 문제를 소개하기 위해 가정 2가지가 필요하다 (http://pubdata.tistory.com/22)
  • 우리는 세상에 대해 잘 모른다 
  • 세상은 계속 변한다
기계 학습에서의 지도 학습 또한 잘 모르는 세상에 대해 기존의 지식을 통해 알려주고
일반화를 통해 최적화된 모델을 만드는 것이지만, 
일반화 된 모델은 2번 째 가정에 의해 지속적으로 업데이트 해야 하는 경우가 생긴다.

  • 탐험하기exploartion : 최적안을 두고도 다른 안을 계속 실험 하는 것
  • 뽑아먹기exploitation : 최적안이 나왔으면 되도록 최적안으로 사용자를 몰아줘야 이익을 극대화할 수 있음
과학에서의 통제 실험은 언제 어디서나 재현할 수 있음을 가정하지만
비즈니스 환경에서는 오히려 추세가 변하며 이를 빠르게 찾아내 반영 하는 것이 더욱 가치있는 목표가 된다.
얼마의 시간동안 탐험하기 또는 뽑아먹기를 해야 최적이라 간주할 수 있는지 그리고 
얼마의 비중으로 뽑아먹기와 탐험하기의 비율을 바꿔갈 것인지 판단해야 하는 것이 어려운 과제이다. 
이러한 딜레마와 같은 대표적인 예가 Multi-armed bandit 문제이다.

팔(arm)이 여러 개 있는 슬롯머신이 있다. 

각 팔마다 보상 확률이 다르고 플레이어는 어떤 팔의 수익성이 높은지 알지 못한다.

이 상황에서 플레이어가 어떤 순서로 어떤 팔을 얼마나 당겨야 돈을 많이 딸 수 있는지 찾아내는 것이 MAB문제이다.


Multi-armed Bandit 알고리즘


  1. 환경 상태 집합, S;
  2. 행동 집합, A;
  3. 포상(\in \Bbb{R} )의 집합;.

매 시점 t에 에이전트는 자신의 상태(state) s_t \in S와 가능한 행동(action) A(s_t)를 가지고 있다.

에이전트는 어떤 행동 a ∈ A(st) 을 취하고, 환경으로부터 새로운 상태 st+1와 포상(reward) rt+1을 받는다. 

  • 종료 상태(terminal state)가 존재하는 경우 누적된 포상값 R을 최대화하며, 종료 상태에 가까워질 수록 탐험을 적게하고 뽑아먹기에 치중해야 한다.

 R=r_0+r_1+\cdots+r_n = \sum_{t=1}^n r_t


  • 종료 상태가 없는 경우 계속해서 진행되는 미래의 포상이 현재에 얼마나 가치 있는지 할인율γ을 곱해서 누적한다

R = \sum_{t=1}^n \gamma^t r_t


Multi-armed Bandit 알고리즘 진화

  • epsilon-Greedy : 사용자 중 일부는 현재까지 알려진 최적안으로 보내서 뽑아먹기를 하고, 나머지 일부에 대해서는 다시 분기를 하여 전통적인 A/B Testing을 수행하여 새로운 최적안이 나왔는지 알아보는 방식으로 개선한 알고리즘. 단점이 많다.
  • Softmax : 지금까지 알려진 성과를 기반으로 성과가 좋은 쪽에 사용자를 좀 더 몰아주는 알고리즘
  • Softmax + Temperature : 성과가 좋은 쪽에 사용자를 얼마나 더 몰아줄 것인지("온도")를 조절할 수 있게 하는 방식
  • Softmax + Temperature + Annealing : 시간이 지남에 따라 점진적으로 "온도"를 낮춰서 탐험 비율을 낮추는 방식
  • UCB1 : 지금까지 알려진 성과 뿐 아니라, 그 성과가 얼마나 많은 실험을 통해 알려진 결과인지(즉 얼마나 확실한지)도 함께 따져서, 덜 확실한 쪽에 더 많은 탐험을 하는 방식

출처 : 

https://ko.wikipedia.org/wiki/%EB%A8%B8%EC%8B%A0_%EB%9F%AC%EB%8B%9D

https://en.wikipedia.org/wiki/Multi-armed_bandit

http://blog.naver.com/sfex/220580339785

반응형