강화 학습(Reinforcement Learning)
강화 학습(Reinforcement Learning)
순차적 의사 결정(squential decision making) 문제에서 누적 보상을 최대화하기 위해 시행착오(trial-and-error)를 통해 행동을 교정하는 과정을 말합니다.
기계 학습은 크게 지도 학습, 비지도 학습, 강화 학습으로 나눌 수 있습니다.
지도학습은 정답(label)이 있는 데이터셋을 이용하여 학습하는 것이며 반대로 비지도 학습은 정답이 존재하지 않으며 데이터가 가진 특성(feature)을 기반으로 데이터의 구조를 찾는 것이라고 할 수 있습니다.
그에 반해 강화 학습은 지도 학습처럼 정답이 있지 않으며 비지도 학습처럼 데이터만을 기반으로 하지 않습니다. 강화 학습은 의사 결정을 하며 학습하는 주체인 에이전트(Agent)가 있고 풀고자하는 문제 혹은 대상에 해당하는 환경(Environment)의 상호작용을 통해 누적 보상을 최대화하는 방향으로 학습합니다.
이에 따라 강화 학습이 갖을 수 있는 어려운 점은 행동을 선택하는 에이전트는 탐색(exploration)과 활용(exploitation) 사이를 절충하는 것입니다. 에이전트는 보상을 얻기 위해 이미 경험한 행동들에 대해 활용해야 하지만 미래에 더 좋은 행동을 선택하기 위해 탐색을 해야하는 것입니다.
구성 요소
환경과 에이전트 외에도 강화 학습의 구성 요소에는 정책(policy), 보상(reward), 가치(value), 모델(model)이 있습니다.
보상은 에이전트의 행동에 대해 좋고 나쁨을 평가하는 지표로서 환경으로부터 그 수치를 전달받습니다. 또한 가치라는 개념이 나오게 되는데 보상은 환경으로부터 즉각적으로 받는 단기적인 관점의 수치라면 가치는 장기적인 관점의 수치입니다. 특정 상태의 가치는 그 상태의 시작점에서부터 에이전트가 기대할 수 있는 누적 보상의 합이라고 할 수 있습니다. 다시말해 보상은 주된 것이고 가치는 보상에 대한 예측이기 때문에 부수적이라고 할 수 있습니다. 보상없이 가치가 있을 수 없고 가치를 평가하는 것도 더 많은 보상을 얻기 위해라고 할 수 있습니다. 또한 행동의 선택은 가치를 기준으로 이루어집니다. 장기적으로 최대한 많은 보상을 얻을 수 있기 때문입니다. 즉 강화 학습의 핵심은 가치를 추정(estimate)하는 것이라고 할 수 있습니다.
정책은 특정 상태에서 에이전트가 취해야할 행동을 정의합니다. 강화 학습의 목적은 최적 정책(optimal policy)을 찾는 것입니다. 최적 정책이란 어떤 상태에서 누적 보상의 합이 최대가 되는 행동을 선택하는 정책을 의미합니다. 또한 정책은 확률적(stochastic) 혹은 확정적(deterministic)인 성격을 갖을 수 있습니다.
마지막으로 환경에 대한 모델은 두 가지로 나누어지는데 먼저 모델-프리(model-free)는 모르는 환경에 대해 에이전트가 시행착오를 겪으며 경험을 통해 학습하는 것을 말하며 모델-기반(model-based)는 환경을 알고 계획(planning) 하는 것으로 경험하지 않고 환경이 변화하는 것을 추정하는 것입니다.