728x90

강화 학습(Reinforcement Learning)이란?

의사 결정의 기법으로 최대의 보상(Reward)을 얻기 위해 환경(Environment)에서 최적의 행동(Best Action)을 학습하는 것이다. 이 최적의 행동(Best Action)은 아이들이 주변 세상을 탐험하고, 성장하기 위해서 시행착오를 겪으면서 배우는 것과 유사하게 환경과의 상호 작용과 환경이 어떻게 반응하는지 관찰을 통해 학습한다. 

즉, 강화 학습은 어떤 환경 안에서 정의된 주체(agent)가 현재의 상태(state)를 관찰하여 선택할 수 있는 행동(action)들 중에서 가장 최대의 보상(reward)을 가져다주는지 행동이 무엇인지를 학습하는 것이다. 

 

강화 학습의 동작

1. Observation : 정의된 주체(agent)가 주어진 환경(environment)의 현재 상태(state)를 관찰(observation)한다.
2. Action : 관찰 결과를 바탕으로 이를 기반으로 행동(action)을 취한다.
3. Reward : 이때 환경의 상태가 변화하면서 정의된 주체는 보상(reward)을 받게 된다.
4. Reinforcement : 정의된 주체(Agent)는 더 나은 보상을 얻을 수 있는 방향(best action)으로 행동을 반복하여 학습한다.

source : https://www.synopsys.com/ai/what-is-reinforcement-learning.html#

 

강화학습의 효율은 이용과 탐험의 밸런스

경험을 통해 학습하는 강화 학습에서 짧은 시간 내에 주어진 환경(Enviroment)의 모든 상태(State)를 관찰하고, 이를 기반으로 더 나은 보상(Reward)을 얻을 수 있는 행동(Action)을 수행하기 위해서는 이용(exploitation)과 탐험(exploration) 사이의 균형을 맞추는 것이 중요하다.

  • 이용(exploitation) : 현재까지의 경험 중 현 상태에서 가장 최대의 보상을 얻을 수 있는 행동을 수행하는 것
  • 탐험(exploration) : 다양한 경험을 쌓기 위해서 기존에 해보지 않은 새로운 시도하는 행동

탐험을 통해 얻게 되는 경험이 언제나 최상의 결과일 수는 없기에 이 부분에서 낭비가 발생하게 된다. 즉, 풍부한 경험이 있어야만 더 좋은 선택을 할 수 있게 되지만, 경험을 풍부하게 만들기 위해서는 새로운 시도를 해야 하고 이러한 새로운 시도는 언제나 리스크가 존재한다.

예를 들어, 기존에 이미 먹어본 A음식점을 가는 것은 이용(Exploitation)이고, 한번도 방문한 적 없는 B음식점을 가는 것은 탐험(Exploration)에 해당한다. 새롭게 방문한 B음식점이 음식이 맛있었다면 나의 맛집리스트에 포함될 수 있으나, 만약 맛이 없었다면 시간과 돈(기회)를 낭비하게 된다.

 

강화학습의 장점 
자율적으로 다양한 가능성을 탐색하면서 장기적인 목표를 추구하는 능력을 갖추는 특징이 있다. 

  • 문제 전체에 초점을 맞춥니다.  기존의 기계 학습 알고리즘은 큰 그림에 대한 개념 없이 특정 하위 작업에서 탁월하도록 설계되었습니다. 반면에 RL은 문제를 하위 문제로 나누지 않습니다. 장기적인 보상을 극대화하기 위해 직접 작동합니다. 목적이 분명하고 목표를 이해하며 단기적 보상과 장기적 이익을 교환할 수 있습니다.
  • 별도의 데이터 수집 단계가 필요하지 않습니다. RL에서 훈련 데이터는 에이전트와 환경의 직접적인 상호 작용을 통해 얻습니다. 학습 데이터는 알고리즘에 제공해야 하는 별도의 데이터 모음이 아니라 학습 에이전트의 경험입니다. 이는 교육 과정을 담당하는 감독자의 부담을 크게 줄여줍니다.
  • 역동적이고 불확실한 환경에서 작동합니다.  RL 알고리즘은 본질적으로 적응형이며 환경 변화에 대응하도록 구축되었습니다. RL에서는 시간이 중요하며 에이전트가 수집하는 경험은 기존의 기계 학습 알고리즘과 달리 독립적이고 동일하게 분산(iid)되지 않습니다. 시간의 차원이 RL의 역학에 깊이 묻혀 있기 때문에 학습은 본질적으로 적응적입니다.
728x90

대표적인 알고리즘

Markov decision process

강화 학습에서 보상을 최대화할 수 있는 방향으로 행동을 취할 수 있도록 이용과 탐험 사이의 적절한 균형을 맞추는데 사용되는 의사결정 프로세스가 바로 마르코프 결정 프로세스(Markov Decision Process, MDP)입니다.

 

MDP에서 행위의 주체(agent)는 어떤 상태(state)를 만나면 행동(action)을 취하게 되며, 각 상태에 맞게 취할 수 있는 행동을 연결해 주는 함수를 정책(policy)이라고 합니다. 따라서 MDP는 행동을 중심으로 가치 평가가 이루어지며, MDP의 가장 큰 목적은 가장 좋은 의사결정 정책(policy) 즉 행동에 따른 가치(value)의 합이 가장 큰 의사결정 정책을 찾아내는 것입니다.

 

                           

출처 : https://en.wikipedia.org/wiki/Markov_decision_process#/media/File:Markov_Decision_Process.svg

이러한 MDP는 여러 방식을 통해 풀 수 있으며, 일반적으로 동적 계획법(dynamic programming)인 가치 반복법(Value Iteration, VI)이나 정책 반복법(Policy Iteration, PI), 선형 계획법(linear programming)인 Q러닝(Q-Learning) 등을 사용하여 그 해를 구하게 됩니다.

 

주요 사례

  • 로봇 공학. 사전 프로그래밍된 동작이 있는 로봇은 본질적으로 작업이 반복되는 자동차 제조 공장의 조립 라인과 같은 구조화된 환경에서 유용합니다. 로봇의 행동에 대한 환경의 반응이 불확실한 현실 세계에서는 정확한 동작을 사전 프로그래밍하는 것이 거의 불가능합니다. 이러한 시나리오에서 RL은 범용 로봇을 구축하는 효율적인 방법을 제공합니다. 로봇이 충돌이 없고 로봇의 역학과 호환되는 두 위치 사이에서 짧고 매끄럽고 탐색 가능한 경로를 찾아야 하는 로봇 경로 계획에 성공적으로 적용되었습니다.
  • 알파고. 가장 복잡한 전략 게임 중 하나는 바둑이라는 3,000년 된 중국 보드 게임입니다. 그 복잡성은 10^270 가능한 보드 조합이 있다는 사실에서 비롯되며, 이는 체스 게임보다 몇 배 더 많습니다. 2016년, AlphaGo라는 RL 기반 바둑 에이전트는 가장 위대한 인간 바둑 선수를 이겼습니다. 인간 플레이어와 매우 흡사하게 프로 플레이어와 수천 가지 게임을 하면서 경험을 통해 학습했습니다. 최신 RL 기반 바둑 에이전트는 인간 플레이어가 가지지 못한 장점인 자신과의 플레이를 통해 학습할 수 있는 기능을 가지고 있습니다.
  • 자율주행. 자율주행 시스템은 불확실한 환경에서 여러 인지 및 계획 작업을 수행해야 합니다. RL이 응용 프로그램을 찾는 일부 특정 작업에는 차량 경로 계획 및 모션 예측이 포함됩니다. 차량 경로 계획에는 다양한 시간 및 공간 규모에 대한 결정을 내리기 위해 몇 가지 낮은 수준 및 높은 수준의 정책이 필요합니다. 모션 예측은 현재 환경 상태를 기반으로 상황이 어떻게 발전할지 이해하기 위해 보행자 및 기타 차량의 움직임을 예측하는 작업입니다.

 


참고자료 

 

Reinforcement Learning Coach

https://intellabs.github.io/coach/design/control_flow.html

 

Synopsys - What is Reinforcement Learning?

https://www.synopsys.com/ai/what-is-reinforcement-learning.html#how-rl-works

 

Reinforcement Learning, Part 1: A Brief Introduction

https://medium.com/ai%C2%B3-theory-practice-business/reinforcement-learning-part-1-a-brief-introduction-a53a849771cf

 

728x90
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기
반응형