경험을 통해 최고의 선택을 학습하다
여러 개의 레버(arm)가 있는 슬롯머신 상황.
슬롯머신이 돈을 가져간다는 의미에서 붙은 별명 (도둑).
Multi-Armed Bandit은 여러 슬롯머신 중 어떤 것을 선택해야 가장 많은 보상을 얻을 수 있을지 결정하는 문제입니다. 처음에는 보상 확률을 알 수 없기 때문에 다양한 선택을 시도하는 Exploration과 현재 가장 좋아 보이는 선택을 사용하는 Exploitation 사이에서 균형을 찾게 됩니다.
슬롯머신 선택 (Action)
여러 개의 슬롯머신 중에서 레버를 당길 머신 하나를 선택합니다.
결과 확인 (Reward)
선택한 머신의 숨겨진 확률에 따라 1점(당첨) 또는 0점(꽝)의 보상을 받습니다.
평균 보상 업데이트
지금까지 받은 보상의 평균을 계산하여, 해당 머신의 예상 보상(Q-value)을 업데이트합니다.
탐험과 활용
현재 1등인 머신만 계속 누를지(활용), 새로운 가능성을 찾아 다른 머신을 눌러 볼지(탐험) 결정합니다.
슬롯머신 환경 (Bandit Environment)
직접 머신을 클릭하거나 [자동 실행]을 눌러 컴퓨터가 학습하는 과정을 관찰하세요.
예측된 평균 보상률 변화 (Q-value) X축: 실행 횟수 / Y축: 기대 확률(0~1)
Epsilon-Greedy 전략
확률 ε로 다섯 대 중 아무 머신이나 무작위로 골라 탐험(Exploration)하고, 나머지 확률로는 예측이 가장 높은 머신을 활용(Exploitation)합니다. 무작위로 고를 때 1등 머신도 후보에 들어가므로, ε를 100%로 두어도 1등 머신이 5번에 1번꼴로 뽑힙니다.
보기 및 실행
헷갈리기 쉬운 점
「어? 처음 몇 번 눌렀을 때 계속 꽝이 나오던 슬롯머신인데, 알고 보니 확률이 제일 높은 대박 머신이었어요!」
맞습니다. 확률적으로 보상이 주어지기 때문에, 진짜 확률이 높아도 운이 나빠 초반에 꽝이 연속될 수 있습니다. 그래서 현재 1등으로 보이는 머신만 누르는 「활용(Exploitation)」만 하면, 진짜 대박 머신을 영영 놓칠 수 있습니다. 가끔은 다른 머신도 테스트해 보는 「탐험(Exploration)」이 반드시 필요한 이유입니다.
다만 탐험이 많을수록 좋다는 뜻은 아닙니다. ε를 100%로 올리면 예측치는 실제 확률에 잘 맞아 들어가지만, 배운 것을 한 번도 쓰지 않고 매번 아무 머신이나 누르게 되어 총 보상은 오히려 줄어듭니다. 대박 머신을 찾아내고도 손해를 보는 셈입니다. 답은 탐험과 활용 중 한쪽을 고르는 것이 아니라 둘의 비율을 어디에 두느냐에 있습니다. ε를 0%, 10%, 100%로 바꿔 가며 같은 횟수만큼 실행해 비교해 보세요.
확인 질문
Q1. 탐험(Exploration) 확률(Epsilon)을 0%로 설정하면 어떤 문제가 발생할까요?
정답: 초반에 우연히 보상이 잘 나온 머신만 계속 누르게 되어, 실제로 확률이 더 높은 「진짜 최고의 머신」을 찾을 기회를 영원히 잃어버릴 수 있습니다.
Q2. 우리가 학습 과정에서 구하는 「평균 보상(Q-value)」은 무엇을 의미하나요?
정답: 해당 슬롯머신을 선택했을 때 「보상을 받을 기대 확률(예측치)」을 의미합니다. 횟수가 많아질수록 이 예측치는 실제 확률과 비슷해집니다.