본문 바로가기
CS/MachineLearning

밑바닥부터 시작하는 딥러닝 4

by Diligejy 2024. 1. 27.

 

 

p.29

일반적인 강화 학습 문제에서 환경에는 상태 정보가 있습니다. 에이전트가 어떤 행동을 하면 환경의 상태가 바뀌고, 에이전트는 새로운 상태를 관찰하여 적절한 행동을 취합니다. 다만 밴디트 문제에서는 플레이어가 이용하는 슬롯머신들의 확률 설정에 변화가 없습니다. 즉, 환경의 상태가 변하지 않으므로 따로 고려할 필요가 없습니다.

 

p.30

여기서 기억할 것은 슬롯머신 플레이 같은 확률적 사건은 '기댓값'으로 평가할 수 있다는 사실입니다. 다르게 말하면 무작위성에 현혹되지 않기 위해 '기댓값'을 기준으로 삼아야 합니다.

 

밴디트 문제에서는 보상의 기댓값을 가치(value)라는 특별한 이름으로 부르곤 합니다. 특히 '행동의 결과로 얻는 보상의 기댓값'을 행동 가치(action value)라고 합니다. 그래서 슬롯머신 a를 플레이하여 얻는 코인 개수의 기댓값은 '슬롯머신 a의 가치' 또는 'a의 행동 가치'라고 할 수 있습니다.

 

p.38~39

이제 플레이어(에이전트)가 어떤 전략을 취해야 하는지에 대해 생각해보겠습니다. 다시 말해 가치가 가장 큰 슬롯머신을 찾는 방법을 고민해보려 합니다. 가장 직관적인 정책은 실제로 플레이하고 결과가 가장 좋은 슬롯머신을 선택하는 것입니다. 각각을 플레이해보고 가치 추정치(실제 획득한 보상의 평균)가 가장 큰 슬롯머신을 선택하는 정책이죠. 이러한 정책을 탐욕 정책(greedy policy)이라고 합니다.

 

greedy는 '탐욕스럽다'는 뜻입니다. '미래는 생각하지 않고 눈앞의 정보만으로 가장 좋아 보이는 수를 선택한다'라고 해석할 수 있습니다. 밴디트 문제에서 탐욕 정책이란 지금까지 플레이한 경험만으로, 즉 슬롯머신의 가치 추정치만으로 최선의 머신을 선택하는 것을 말합니다.

 

탐욕 정책은 좋아 보이지만 문제도 있습니다. 예를 들어 슬롯머신 a와 b를 각각 한 번씩만 플레이하는 경우를 생각해보죠. 이때 슬롯머신 a와 b의 가치 추정치는 각각 0과 1입니다. 이 상태에서 탐욕 정책에 따라 행동하면 이후로는 계속 b만 선택할 것입니다. 하지만 실제로는 a가 더 좋은 슬롯머신일 수도 있습니다. 

 

슬롯머신의 가치 추정치에 '불확실성'이 스며 있기 때문에 생기는 문제입니다. 확실하지 않은 추정치를 전적으로 신뢰하면 최선의 행동을 놓칠 수 있죠. 그래서 플레이어는 불확실성을 줄여 추정치의 신뢰도를 높여야 합니다. 여기까지 생각이 닿으면 플레이어에게 다음의 두 가지 행동을 요구하게 됩니다.

 

- 활용(exploitation): 지금까지 실제로 플레이한 결과를 바탕으로 가장 좋다고 생각되는 슬롯머신을 플레이(탐욕 정책)

- 탐색(exploration): 슬롯머신의 가치를 정확하게 추정하기 위해 다양한 슬롯머신을 시도 

 

앞서 설명했듯이 탐욕스럽게만 행동하면 더 나은 선택을 놓칠 가능성이 있습니다. 그래서 탐욕스럽지 않은 두 번째 행동, 즉 탐색을 시도해볼 필요가 생깁니다. 탐색은 각 슬롯머신의 가치를 더욱 정확하게 추정하도록 해줍니다.

 

활용과 탐색은 상충관계입니다. 한 번에 둘 중 하나만 선택할 수 있으므로 다른 하나를 희생해야 합니다.

 

밴디트 문제에서 다음 한 번의 시도만으로 좋은 결과를 얻고 싶다면 '활용'을 택해야 할 것입니다. 하지만 장기적인 관점에서 더 나은 결과를 얻고 싶다면 '탐색'이 필요합니다. 탐색을 하면 더 좋은 슬롯머신을 찾을 가능성이 높아지기 때문입니다. 더 좋은 머신을 찾는 데 성공한다면 이후로는 새로 찾은 머신을 선택하여 장기적으로 더 나은 결과를 얻을 수 있습니다. 

 

강화학습 알고리즘은 결국 '활용과 탐색의 균형'을 어떻게 잡느냐의 문제로 귀결됩니다. 이 균형을 맞추는 방법으로 지금까지 다양한 알고리즘이 제안되었습니다. 간단한 것부터 복잡한 것까지 정말 많지만 그 중에서도 가장 기본적이고 응용하기 좋은 알고리즘은 엡실론 - 탐욕정책(엡실론 - 그리디 정책)입니다. 

 

엡실론-탐욕 정책은 간단한 알고리즘입니다. 엡실론의 확률, 예컨대 엡실론 = 0.1의 확률(10%)로 '탐색'을 하고 나머지는 '활용'을 하는 방식입니다. 탐색할 차례에서는 다음 행동을 무작위로 선택하여 다양한 경험을 쌓습니다. 이렇게 함으로써 가능한 모든 행동 각가의 가치 추정치의 신뢰도가 조금씩 높아집니다. 그리고 나머지 1 - 엡실론의 확률로는 탐욕 행동, 즉 활용을 수행합니다.

 

p.47

강화학습 알고리즘을 비교할 때 (대부분의 경우) 무작위성 때문에 한 번의 실험만으로 판단하는 건 큰 의미가 없습니다. 그보다는 알고리즘의 '평균적인 우수성'을 평가해야 합니다. 같은 실험을 여러 번 반복하여 결과를 평균하는 식으로 알고리즘의 평균적인 우수성을 알 수 있습니다.

 

p.51

지금까지 다룬 밴디트 문제는 분류상 정상 문제(stationary problem)에 속합니다. 정상 문제란 보상의 확률 분포가 변하지 않는 문제입니다. 밴디트 문제 맥락에서 말해보면 슬롯머신에 설정된 승률(슬롯머신의 가치)은 줄곧 고정된 채였습니다. 즉, 슬롯머신의 속성은 한 번 설정되면 에이전트가 플레이하는 동안 절대 변하지 않습니다.

댓글