Ernst & Young
Korea Delivery Service

#All
#gh-pages
#Jekyll
#blueprism
#JavaScript
#JQuery
#Python

Reinforcement Learning 1 - Reinforcement Learning

1. 강화학습(Reinforcement Learning)

1-1. 강화학습

  • 주어진 상황에서 어떠한 행동을 취할지를 학습하는 것을 의미함.
    • 행동의 결과는 최대한의 보상(또는 이득)을 가져다 주어야 하고, 그 보상 함수는 수치적으로 표현될 수 있어야 한다.
  • Agent(학습자)는 행동에 대한 지침없이 오로지 시행착오를 통해 최대 보상을 가져다주는 행동을 찾아내야 함.
  • 시행착오지연된 보상 이라는 특성은 강화학습을 다른 방법과 구분하는 가장 중요한 두 가지 특성임.
    • 지연된 보상(delayed return) : 특정 행동으로 영향을 받는 보상뿐만 아니라, 그다음에 이어지는 상황에도 영향을 주어 연속적으로 보상에 영향을 미치는 상황
      (현재 행동의 결과가 먼 미래에 나타나게 되는 것으로 강화학습에서 가장 흥미롭지만 어려운 부분)
  • 강화학습 문제는 마르코프 의사결정 과정(Markov Decision Process, MDP)에 대한 최적 이론을 활용하여 체계화 하였음.(이후 따로 다룰 예정)
    • 기본적인 아이디어는 목적을 위해 주변 환경과 상호작용하는 학습자가 직면하는 현실적인 문제의 중요 부분을 포착하는 것이다.
      • 학습자는 주변 환경의 상태를 어느 정도까지는 감지하고, 그 상태에 영향을 주는 행동을 취할 수 있어야 하고, 학습자는 주변 환경의 상태와 관련된 하나 이상의 목표를 가져야 한다.

1-2. 지도/비지도학습과의 비교

1) 지도학습과 강화학습

지도학습은 외부 전문가의 지침이 포함된 훈련 예제로부터 학습하는 것으로, 각각의 훈련 예제에는 학습자가 취할 올바른 행동에 대한 지침(label) 이 포함된다. 입력과 출력 데이터가 주어졌을 때 새로운 입력에 대한 출력을 예측하는 방법론을 지칭하며, 입출력 데이터가 모두 주어진 상태에서 학습한다. 위처럼 강화학습과 지도학습의 가장 큰 차이점은 학습 데이터의 유무 이다. 강화학습 문제에서 주어지는 것은 보상(reward)함수이다. 강화학습을 푼다는 것의 정의는 미래에 얻어질 보상값들의 평균을 최대로 하는 정책 함수를 찾는 것이다. 강화학습에서 학습자는 미지의 영역에서 자신의 경험으로부터 배울 수 있어야 하고, 그 경우의 학습이 최대의 보상을 가져다주기 때문이다.

2) 비지도학습과 강화학습

비지도학습은 보통 label이 없는 데이터의 집합 안에서 숨겨진 구조를 찾는 것으로, label을 필요로 하지 않는다는 점에서 강화학습을 비지도학습의 한 종류로 생각할 수 있지만 둘은 구별되어야 한다. 강화학습은 보상을 최대로 만들기 위해 노력할 뿐 데이터 집합의 숨겨진 구조를 찾으려고 하지 않는다는 점이 다르다. 학습자의 경험을 통해 숨겨진 구조를 찾는 것이 강화학습에 도움이 되긴 하지만, 이것만으로는 강화학습을 풀지 못한다. 따라서 강화학습은 지도학습과 비지도학습에 이은 제3의 또는 그들과는 다른 기계학습 패러다임이라고 할 수 있다.

3) 강화학습의 구별점(핵심)

다른 학습과는 다른 강화학습만이 갖는 어려운 점은 탐험(exploration)과 활용(exploitation) 사이를 절충하는 것이다. 많은 보상을 얻기 위해 학습자는 과거 보상 획득에 효과적이었던 행동들을 선호해야 하지만, 이러한 효과적인 행동을 발견하기 위해서는 과거에 하지 않았던 행동들을 시도해봐야 한다. 다시 말해, 학습자는 보상을 위하여 이미 경험한 행동들을 활용(exploitation)하면서도, 미래에 더 좋은 행동을 선택하기 위한 탐험(exploration)도 해야 한다. 탐험과 활용 둘 중 하나만 추구하면, 목적을 이루지 못한다는 것이 문제이다. 학습자는 다양한 행동을 시도하고, 그중 최상의 보상을 가져올 만한 행동을 계속해서 선호해야 한다.

1-3. 강화학습의 구성요소

강화학습에는 네 가지 주요 구성 요소(정책(policy), 보상 신호(reward signal), 가치함수(value function), 모델(model))가 존재한다.

가. 정책(policy)

정책은 특정 시점에 학습자가 취하는 행동을 정의한다. 다시 말해, 학습자가 인지한 주변 환경의 상태에 대해 학습자가 취해야 할 행동을 알려준다. 정책 그 자체만으로도 행동을 결정 가능하다는 점에서 학습자에게 있어서 정책은 핵심이다. 경우에 따라 정책은 간단한 함수나 열람표(look up table)일 수도 있고, 탐색 과정에 필요한 방대한 양의 계산을 포함할 수도 있다. 일반적으로 정책은 확률론적으로 행동을 선택할 수 있는데, 이 경우에는 정책은 각 행동에 선택될 학률을 부여하고 그 확률에 따라 행동을 선택한다.

나. 보상신호(reward signal)

보상신호는 강화학습이 성취해야 할 목표를 정의한다. 매 시간마다 주변 환경은 학습자에게 보상(reward)이라 불리는 숫자(보상 신호)를 전달한다. 학습자의 목표는 장기간에 걸쳐서 본인이 획득하게 되는 보상 총합을 최대로 만드는 것이다. 학습자는 보상 신호의 크기로부터 자신의 행동의 선악 판단이 가능하다. 보상 신호는 정책을 바꾸는 주된 원인이 된다.(정책이 선택한 행동이 보상신호를 적게 가져오면 유사 상황에서 다른 선택하도록 정책이 바뀔 수 있다.)

다. 가치함수(value function)

보상 신호가 현재 행동을 통해 얻어지는 즉각적인 보상을 의미한다면, 가치 함수는 장기적인 관점에서 무엇이 좋은 것인가를 알려준다. 특정 상태의 가치(value)는 그 상태의 시작점에서부터 일정 시간 동안 학습자가 기대할 수 있는 보상의 총합 이다. 다시 말해, 강화학습에서의 보상은 현재 행동을 통한 보상과 현재 뿐만 아니라 미래에 얻어지는 보상(가치) 두 가지가 있다. 보상이 어떤 순간에 주변 환경의 상태에 내재된 고유의 장점을 나타낸다면, 가치는 특정 시점 이후의 상태와 그 상태에 포함된 장점을 고려하여 장기적 관점(long-term)으로 평가한 상태의 장점이라고 할 수 있다.

라. 모델(model)

환경 모델은 환경의 변화를 모사(mimic)한다. 좀 더 일반적으로는 환경이 어떻게 변화해 갈지를 추청할 수 있게 해준다. 예를 들어, 환경 모델은 현재 상태와 그에 맞는 행동으로부터 다음 상태와 보상을 예측한다. (환경과 보상이 어떨지에 대한 학습자의 예상) 모델은 계획(planning)을 위해 사용되는데, 여기서 계획은 미래 상황을 실제로 경험하기 전에 가능성만을 고려해 일련의 행동을 결정하는 방법을 의미함. 모델과 계획을 사용하는 강화학습 문제는 model-based 방법이라하고 이에 반대되는 방법으로는 model-free 방법이 있다.

- 출처

[1] 책 | Sutton, Richard S., and Andrew G. Barto., 단단한 강화학습 : 강화학습 기본 개념을 제대로 정리한 인공지능 교과서, 제이펍, 2020
[2] 블로그 | [카카오AI리포트]알파고를 탄생시킨 강화학습의 비밀, https://brunch.co.kr/@kakao-it/73
[3] 논문 | Sutton, Richard S., and Andrew G. Barto. “Reinforcement learning: An introduction”, Cambridge: MIT press, 1998.