RL Researcher

01. Introduction to Reinforcement Learning 본문

Reinfrocement Learning

01. Introduction to Reinforcement Learning

Lass_os 2021. 4. 3. 00:10

What is Reinforcement Learning?


강아지한테 공 잡는 법을 가르친다고 하였을 때, 강아지가 공을 잡기 위해 어떻게 움직여야 하는지 하나하나 가르치기에는 매우 어려워 보입니다. 강화학습은 행동을 직접 가르치는 대신, 강아지가 공을 잘 받으면 쿠키를 주고, 공을 못 받으면 쿠키를 주지 않는 방식으로 가르치는 것입니다. 강아지는 쿠키를 얻을 수 있는 행동을 반복적으로 학습하고, 결과적으로 공을 잘 받게 될 것입니다. 

Reinforcement Learning은 무엇을 어떻게 하라고 직접적으로 가르치는 대신, 행동에 따라 Reward를 주는 간접 방식으로 가르칩니다. 강화학습에서의 보상은 Positive Reward와 Negative Reward 모두 가능합니다. Agent는 Trial and error를 겪으며 긍정적인 보상을 받도록 행동할 것입니다. 강아지 훈련에서 강아지는 Agent에 해당하고, 쿠키는 Positive Reward이며 쿠키를 주지 않는 것은 Negative Reward입니다.

Reward는 행동 이후 즉시 주어지지 않고 지연될 수 있습니다. 매 Action마다 Reward가 주어지지 않고 Subject가 모두 종료된 후에만 Reward가 주어질 수도 있습니다. 물론 매 Action마다 Reward가 주어질 수도 있습니다.

 

다음 그림의 Robot Agent에게 언덕을 피해 이동하는 법을 가르치는 경우를 생각해봅시다.

이때, 언덕 방향을 명시적으로 알려주지 않아야 합니다.

Reinforcement Learning에서는 Robot이 언덕에 부딪히면 10점을 빼앗는 방식으로 Negative Reward를 줄 수 있습니다.

Robot이 언덕과 멀어지는 쪽으로 이동하면 20점을 Reward로 줍니다. 그러면 Robot은 Reward를 최대로 얻기 위해 오른쪽 방향으로 이동해야 함을 알게 될 것입니다.

Reinforcement Learning Agent는 두가지 전략을 취할 수 있습니다. 좋은 Reward를 얻을 새로운 행동을 찾기 위해 Explore하거나, 또는 좋은 Reward를 얻을 수 있었던 이전의 행동을 Exploit할 수 있습니다. 만약 Agent가 Explore를 한다면, 나쁜 Reward를 받게 될 가능성도 많습니다. 하지만 Agent가 자신이 알고 있는 가장 좋은 행동만을 활용한다면, 더 좋은 Reward는 기대하기 어려울 것입니다. Explore와 Exploit은 언제나 Trade-off 관계이며, Explore와 Exploit을 동시에 수행할 수는 없습니다.

RL Algorithm


Reinforcement Learning은 다음과 같은 순서로 진행됩니다.

  1. Agent가 Action을 수행하여 Environment와 Interaction한다.
  2. Agent가 어떤 하나의 State에서 다른 State로 이동한다.
  3. Agent는 자신의 행동에 따라 Reward를 받는다.
  4. Agent는 Reward에 따라 자신의 Action이 좋은지 나쁜지 알게 된다.
  5. Agent가 Positive Reward를 얻었다면 그 Action을 계속 활용하거나 더 좋은 Reward를 얻을 수 있는 다름 Action을 탐험하면서 Trial and error를 통해 학습한다.

What makes reinforcement learning different from other machine learning paradigms?


기계학습의 한 종류인 Supervised Learning에서는 기계(Agent)가 정답이 주어진 데이터를 통해 학습합니다. 지도학습의 목적은 데이터를 일반화하여 새로운 데이터에 적용하는 것입니다. 환경을 잘 알고 있는 외부의 지도자가 에이전트의 과제 수행을 가르칩니다.

강아지에게 공 잡는 법을 지도학습으로 가르친다면 왼쪽으로 다섯 걸음 이동하라는 식으로 가르쳐야 할 것입니다. 하지만 강화학습에서는 우선 공을 던지고 봅니다, 강아지가 공 잡는 법을 배우게 됩니다.

Unsupervised Learning에서는 입력 데이터만을 학습에 활용합니다. 비지도학습의 모델은 입력 데이터에서 숨겨진 패턴을 발견하도록 학습합니다. 강화학습은 종종 비지도학습의 한 종류로 분류되기도 하지만, 이것은 오해입니다. 비지도 모델은 숨겨진 구조를 학습하지만 강화학습은 보상을 최대화하는 방향으로 학습합니다. 예를 들어, 사용자에게 새로운 영화를 추천하는 서비스를 만들 때, 비지도학습은 사용자가 본 영화들의 유사성을 분석하려고 할 것입니다. 반면에 강화학습은 사용자의 피드백을 통해서 취향을 학습하고 그에 기반하여 새로운 영화를 추천할 것입니다.

또 다른 종류로는 지도학습과 비지도 학습을 합친 Semi-supervised learning이 있습니다. 반지도학습은 Label이 있는 데이터와 Label이 없는 데이터를 모두 활용하는 것이며, 강화학습은 Agent와 Environment의 상호작용으로부터 학습한다는 점에서 본질적인 차이가 있습니다.

Reinforcement Learning Component


Agent

Agent는 지능적으로 판단하고 결정하는 소프트웨어 프로그램입니다. Agent는 Environment와 Interaction하고 Action에 따라 Reward를 얻습니다. 슈퍼마리오 게임 환경에서는 슈퍼마리오가 Agent에 해당합니다.

 

Policy function

Agent가 Environment에 따라 어떤 행동을 할 지 정의한 것이 Policy입니다. Agent가 Policy에 따라 다음 Action을 선택합니다. 집에서 회사로 출근하는 Agent는 상상해 봅시다. 회사 가는 길은 여러 경로가 있습니다. 어떤 길은 짧고 어떤 길은 멀리 돌아갈 것입니다. 여기서 경로는 그 자체로 정책을 나타냅니다. 경로는 곧 목적지에 다다르는 일련의 행동으로 이루어지기 때문입니다. Policy는 대개 기호 $\pi$로 표시합니다. Policy는 테이블로 표현할 수도 있고, Complex search process로 표현할 수도 있습니다.

 

Value function

Agent가 특정한 State에 있을 때 얼마나 좋은지를 평가한 것이 Value function입니다. Value function은 현재의 Policy에 따라 Action할 때 기대할 수 있는 보상의 합으로 계산합니다. 그러므로 가치함수는 정책에 따라 달라질 수 있습니다. 가치함수는 보상의 총 기댓값과 같으며, 대개 $v(s)$로 표시합니다. Optimal value function은 다른 가지함수에 비해 모든 상태, 모든 행동에 대하여 가장 높은 보상의 기댓값을 가지는 것이고, Optimal policy는 최적 가치함수를 따르는 Policy입니다.

 

Model

Model은 Agent가 Environment를 Representation한 것입니다. 학습에는 model-based학습과 model-free학습이 있습니다. 모델 기반 학습에서는 행동에 따라 상태가 어떻게 달라지는지에 대한 정보를 활용하지만, 모델 프리 학습에서 에이전트는 환경에 대한 정보를 모른 채 시행착오에만 의존합니다. 집에서부터 회사까지 빨리 도착하려고 할 때, 모델 기반 학습에서는 지도를 사용하지만, 모델 프리 학습에서는 지도 없이 더 빠른 길을 찾기 위해 계속 다른 경로를 시도하는 것으로 비유할 수 있겠습니다.

Comments