강화 학습 인트로

Kiwoong Park·2022년 2월 10일
0

What is Reinforcement Learning?

우리가 환경과 상호작용함으로써 배운다는 생각은 아마도 우리가 학습의 본질에 대해 생각할 때 가장 먼저 떠오르는 생각일 것입니다.

유아기때 아이가 팔을 흔들거나, 주위를 둘러볼 때 특별한 선생님은 없지만 환경과 연결된 직접적인 감각을 통해 아이는 자신의 행동을 느낄 수 있습니다.
이런 감각적 연결을 통해 원인과 결과, 행동의 결과, 목표 달성을 위해 무엇을 해야 하는지 등에 대한 풍부한 정보가 생성됩니다.

인생 전반에 있어서도, 위와 같은 상호작용은 주변환경 및 우리 자신에 관한 지식의 주요 원천이라고 할 수 있고, 이런 상호작용을 통해서 얻은 배움이 모든 지식과 지성의 이론에 기초가 되는 근본적인 생각이라고 할 수 있습니다.

강화학습은 상호작용을 통한 학습을 계산적인(computational) 접근방법으로 탐험하는 것이라고 할 수 있습니다.
Richard S.Sutton and Andrew G. Barto, Reinforcement Learning, Chapter1 Introduction p1,

In DeepMind X UCL RL Lecture Series (1/13)

What is reinforcement learning?

  • People and animals learn by interacting with our environment
  • This differs from certain other types of learning
    • It is active rather than passive
    • Interactions are often sequential => future interactions can depend on earlier ones
  • We are goal-directed
  • We can learn without example of optimal behavior
  • Instead, we optimise some reward signal

The reward hypothesis

  • Reinforcement learning is based on the reward hypothesis
    Any goal can be formalized as the outcome of maximizing a culmulative reward

What is reinforcement learning

There are distinct reasons to learn:
1. Find solutions
- A program that plays chess really well
- A manufacturing robot with a specific purpose
2. Adapt online, deal with unforeseen circumstances
- A chess program that can learn to adapt to you
- A robot that can learn to navigate unknown terrains
\rarr Reinforcement learning can provide algorithms for both cases
\rarr Note that the second point is not (just) about generalization - it is about continuing to learn efficiently online, during operation

  • 강화학습은 상태(state), 행동(action), 보상(reward)로 구성됨
  • 강화학습은 순차적인 행위를 결정하는 문제에서 누적 보상을 최대화 하기 위해 시행착오를 거쳐서 여러 상황에 가장 적합한 행동 정책(policy)를 학습하는 것

순차적인 행위 결정?

순차적인 행위를 결정하는 문제를 풀기 위한 기초적인 가정으로 마르코프 성질을 이용한다.

Markov Property

  • 미래의 상태(St+1S_{t+1})는 현재의 상태(StS_t)에만 영향을 받으며 과거의 상태(S1,S2,...,St1S_{1}, S_{2}, ..., S_{t-1})의 영향을 받지 않음. 즉 현재의 상태는 이미 과거의 상태를 반영한 결과라고 해석할 수 있기 때문.
  • P[St+1St]=P[St+1S1,S2,...,St]P[S_{t+1}|S_t]=P[S_{t+1}|S_1, S_2, ..., S_t]

시행착오를 통한 학습

  • 데이터 라벨링이 필요 없음 ~ 데이터 수집이나 관련된 작업이 별도로 필요하지 않음
  • 아타리 게임에서 게임 에이전트가 반복적으로 게임 에뮬레이터와 상호작용하며, 이동해서 공을 튕겨내는 행동(action)을 통해 게임의 점수를 높이고, 해당 스테이지가 클리어 되거나 주어진 목숨 안에 벽돌을 다 깨지 못해 스테이지 실패가 되는 등의 효과를 관찰하며 학습
  • 이런 학습을 통해 학습된 에이전트는 아타리 게임을 성공적으로 수행할 수 있는 방향으로 행동을 취함

학습 에이전트

  • 강화학습은 불확실에 놓여있는 복잡하고 연속적인(순차적인) 의사결정이 필요한 문제를 다룸. 이런 문제는 다양한 분야에서도 관심을 가지고 있는 분야
    • 예를 들어, 제어이론(CT, Control Theory)은 복잡하지만 알려진 시스템 내부를 제어하는 방법에 대해서 다룸
    • 심리학은 불확실한 상황에 놓인 인간이 복잡하면서 연속적인 결정을 내려야 하는 인간 행동에 대해서 연구
  • 학습 에이전트란 불확실성에 놓여진 복잡하고 연속적인 의사결정 문제를 해결하는 컴퓨터 프로그램
    • 즉, 에이전트는 의사를 결정하는 객체 자체
    • 예를 들어, 비포장도로를 걷는 로봇을 학습시켰을 때, 로봇의 다리는 에이전트에 속하지 않고, 의사결정을 좌우하는 코드만이 에이전트에 속한다고 할 수 있음.

환경(environment)

  • 에이전트와 반대되는 개념으로, 환경은 에이전트 이외의 모든 것
  • 즉, 에이전트가 제어할 수 없는 모든 것을 의미함
    • 비포장도로를 걷는 로봇의 문제에서, 도로에 있는 돌, 경사, 그로인해 움직임이 변화되는 로봇의 다리도 환경의 일부라고 할 수 있음.
  • 환경은 에이전트 이외의 모든 것을 변수로 표현할 수 있음. 예를 들어 로봇 다리의 위치, 속도, 도로의 경사, 장애물 등을 상태 공간(state space)로 표현하고 이를 변수의 집합으로 가짐
    • 물론 에이전트는 모든 환경을 변수로 고려해야 되지만 실제로 그럴 수는 없고, 에이전트가 관측(observation)할 수 있는 상태의 일부를 관측이라고 표현함.

모델

  • 환경은 에이전트가 취할 수 있는 가능한 행동들(action)을 만들고, 에이전트는 행동을 어떤 행동을 취함으로써 환경에 영향을 끼침
    • 에이전트와 환경 사이의 관계를 정의한 것을 전이 함수(transition function)이라고 표현
  • 환경은 행동에 대한 반응으로 보상을 제공할 수 있음. 이런 보상과 관련된 함수를 보상함수(reward function)이라고 하며,
  • 전이함수와 보상함수를 환경의 모델(model)이라고 표현함.

에이전트의 3단계 과정

  1. 에이전트는 환경과 상호작용을 나눔
  2. 에이전트가 행동을 결정하며 행동에 대해 평가
  3. 환경으로 부터 받은 행동을 개선
  • 정책(policy)라고 하는 관찰과 행동 사이의 관계를 표현 한 것을 학습하도록 설계할 수 있음
    • 즉, 어떤 관찰한 상태에서 어떤 행동을 할 것인지를 정하는 것=정책이고 이 정책을 학습하는 것이 강화학습의 목표 중 하나
  • 또는 모델이라고 불리는, 환경에 내제된 관계들을 학습하도록 설계할 수 있음
  • 아니면, 가치 함수(value function)이라고 불리는 보상과 행동 사이의 관계를 평가한 함수를 학습하도록 설계할 수 있음.

시행착오를 통한 학습을 통해 행동을 개선

  • 에이전트와 환경 간의 상호 반응은 순차적인 단계를 거쳐서 수행되고, 이때 각 단계를 타임스탭(time step)이라고 부름.
  • 매 타임스탭마다 에이전트는 환경을 관찰하고(observation), 행동을 취하며(action), 새로운 관찰과 보상(reward)를 얻게 됨.
    • 에이전트가 문제를 해결하고자 하는 것은 자연스럽게 끝날 수도, 그렇지 않을 수 도 있음
    • 자연스럽게 끝나는 일을 에피소드형 업무(episodic task), 그렇지 않은 일을 연속적 업무(continuous task)
    • 에피소드형 작업에서 각 타임스탭들을 보통 episode라고 함
  • 에이전트가 문제를 해결하는 방법을 학습할 때, 여러 타임 스탭, 에피소드를 소요하고, 에이전트는 시행착오(무언가를 시도하고, 관찰하며, 학습하고, 또 다른 새로운 것을 시도하며 반복)을 통해 학습.

순차적인 피드백으로부터 학습

  • 에이전트가 수행하는 행동은 보통 지연된 속성을 가지고 있는데, 한 타임스탭에서 이뤄진 행동이 목표를 달성하기 위해 좋은 행동이었는지 평가를 드물게 알거나 몇 타임스탭 뒤에야 알 수 있음.
    • 이런 경우, 에이전트는 연속적 피드백으로부터 학습할 수 있어야 하는데 이런 연속적 피드백은 시간적 가치 할당 문제(temporal credit assignment problem)와 이어짐
    • 시간적 가치 할당 문제는 주어진 보상에 적합한 상태와 행동을 정의하는 과제를 가지고 있음.

평가 가능한 피드백으로부터 학습

  • 에이전트가 각 타임스탭마다 받는 보상은 매우 작거나, 어떠한 행동의 방향도 제시하지 못할 수 있다. 또한 좋거나, 옳지 않은 것에 대해서만 표현을 해서, 어딘가에 내재되어 있는 보상에 대한 정보가 담겨있지 않을 수도 있다.
  • 이때 에이전트는 평가가능한 피드백(evaluate feedback)으로 부터 학습할 수 있어야 함.
  • 평가가능한 피드백을 하기 위해서는 탐험(exploration)이 필요하고, 여기서 에이전트는 현재 가지고 있는 정보에서 얻을 수 있는 가장 좋은 것과 정보를 새로 얻는 것 간의 균형을 맞출 수 있어야 한다.
    • 이런 것을 탐험과 착취 간의 이율배반, 상충관계라고 하며 exploration versus exploitation trade-off 라고 한다.

샘플링된 피드백으로부터 학습

  • 에이전트가 받은 보상은 그저 샘플 정도이며, 보상 함수에 접근할 수 없음.

  • 또한 상태와 행동 공간이 일반적으로 크기 때문에(무한대에 가까울 수도..) 매우 드물고(sparse)하고 약한 피드백으로 학습을 하면 샘플로 학습을 하기가 어려워짐

  • 그러기에 에이전트는 샘플링된 피드백으로 학습해야 하고, 이를 통해 일반화할 수 있어야 함.

  • 정책을 근사화하도록 설계된 에이전트를 정책 기반(policy-based) 에이전트라고 하고,

  • 가치 함수를 근사화하도록 설계된 에이전트를 가치 기반(value-based) 에이전트,

  • 모델을 근사화하도록 설계된 에이전트를 모델 기반(model-based) 에이전트,

  • 정책과 가치 함수 둘 다 근사화하도록 설계된 에이전트를 액터-크리틱(actor-critic) 에이전트 라고 함.

요약

  • 강화학습은 에이전트가 순차적이고, 평가 가능하고, 동시에 샘플링된 피드백으로부터 학습할 수 있어야 함.
  • 순차적인 피드백으로부터 학습하면, 에이전트는 단기간의 목표와 장기간의 목표의 균형을 맞추는 방법을 학습
  • 평가 가능한 피드백으로부터 학습하면, 에이전트는 정보를 수집과 활용 사이에서 균형을 맞추는 방법을 학습
  • 샘플링된 피드백으로부터 학습하면, 에이전트는 이전에 가진 오랜 경험을 새로운 경험으로 일반화시킬 수 있음.
profile
You matter, never give up

0개의 댓글