딥러닝/강화학습(RL)

[🤖Bumjin's RL - 1] 강화학습 소개 및 구분

Rudi 2021. 5. 29. 14:55

강화학습이란?

강화학습은 주어진 환경에서 에이전트의 최적의 행동을 하도록 유도하는 것을 목표로 합니다. 

행동을 이끄는 방법들 중에서 행동의 결과에 대한 즉각적인 보상으로 에이전트가 올바른 행동을 하도록 이끌 수 있습니다. 행동 한 번을 유도하고 싶은게 아니라 연속적인 행동을 이끌어내고 싶다면 문제는 조금 복잡해집니다. 주어진 환경에서 최적의 행동 1개를 하는 것과 여러번의 행동을 통해서 결국에는 더 많은 보상을 이끌어 내야 합니다. 예를 들어서, 학생들이 공부를 할 때, 당시에는 보상이 적지만, 공부의 결과로 얻는 것들은 더 많은 보상을 줄 수 있습니다. 그래서 현재의 보상에 초점을 맞추는 게 아니라, 미래의 보상까지 고려된 행동을 유도해야 합니다.

강화학습 문제를 정의하기 위해서는 우선적으로 두 가지 집합이 필요합니다. State set과 Action set입니다. State set은 환경 속에서 가능한 모든 상태들을 모아둔 집합이고 Action set은 에이전트가 가능한 모든 행동을 포함합니다. 앞에서 이야기한 것처럼, 상태에서 행동을 한다면 어떠한 보상이 따라오게 됩니다. 함수로 나타내면 다음과 같습니다.

$f : S \times A \rightarrow R$

강화학습을 정의하기 위해서는 두 가지가 추가적으로 필요합니다. 보상에 대한 집합과 (상태, 행동)에 따른 보상을 정의해줄 함수입니다. 이 4 가지만 가지고 있으면, 강화학습을 정의하기에 충분합니다. 다시 한 번 강화학습이 어려운 이유를 이야기 하자면, 상태에 따른 행동으로 즉각적인 보상은 알지만, 상태와 행동을 계속적으로 할 때, 전체 보상을 최대화하는 Decision Process를 찾아야 하기 때문에 어렵습니다.

  • Partial Obsevation 이라면, State의 일부가 에이전트에게 보이지 않는 경우가 있습니다. 이 경우 Observtaion에 대한 집합이 추가됩니다!

 

--- 작성중