강화학습 소개

Reinforcement Learning An Introduction

by hansung dev

강화학습 분야의 바이블 책인 "Reinforcement Learning An Introduction"를 학습한 내용을 정리했습니다. 원서 및 번역서인 "단단한 강화학습"의 내용으로 구성되어있습니다.

Reinforcement Learning An Introduction, 2nd edition

Chapter 1, Introduction


강화학습 이란

강화학습이란, 주어진 상황에서 어떠한 행동을 취할지를 학습하는 것을 의미한다. 이때 그 행동의 결과는 최대한의 보상을 가져다주어야 하며, 그 보상 함수는 수치적으로 표현될 수 있어야 한다. Agent는 어떤 행동을 취할지에 대한 어떠한 지침도 받지 않고 오로지 시행착오를 통해 최대의 보상을 가져다주는 행동을 찾아내야만 한다. 가장 흥미로우면서도 어려운 상황은 특정 행동이 그 행동에 직접적으로 영향을 받는 보상뿐만이 아니라, 그다음에 이어지는 상황에도 영향을 미침으로써 연속적으로 보상에 영향을 미치는 상황이다. (지연된 보상), 시행착오와 지연된 보상이라는 특성은 강화학습을 다른 방법과 구분하는 가장 중요한 두 가지 특성이다.

Source: CS 294 Deep Reinforcement Learning (UC Berkeley)

강화학습 특징

강화학습은 주변 환경과 상호작용(=interaction)하며 학습하는 것을 강조한다

강화학습에는 확실한 목표가 있고, 올바른 행동을 위해 Agent가 선택한 행동의 지연된 효과를 고려하는 계획 또는 예지가 필요하다.


강화학습 vs 지도학습, 비지도학습

강화학습은 지도학습과 비지도학습하고는 다르다. 강화학습은 보상을 최대로 만들기 위해 노력할 뿐 정답(=Label)이 포함(=지도학습)되어있지도 않고 숨겨진 구조(=비지도학습)를 찾으려고 하지 않는다.

Source: : https://blog.exxactcorp.com/wp-content/uploads/2020/03/1.png

탐험(exploration)과 활용(exploitation)

강화학습만이 갖는 어려운 점은 탐험과 활용 사이의 절충하는 일이다. Agent는 보상을 얻기 위해 이미 경험한 행동들을 활용(=exploitation)해야 하지만, 한편으로는 미래에 더 좋은 행동을 선택하기 위한 탐험(=exploration)을 해야 한다. 탐험과 활용이 딜레마는 수십 년 동안 수학자들의 집중적인 연구 대상이었지만 여전히 미해결이 문제로 남아 있다. (자세한 부분은 "멀티 암드 밴딧(Multi-Armed Bandits)" 참조)

Source:UC Berkeley AI course slide, lecture 11.

강화학습 주요 구성요소

강화학습에는 Agent 및 Environment 외 4가지 주요 요소가 있다.

Policy(=정책) 이란 Agent가 인지한 주변 환경의 상태에 대해 Agent가 취해야 할 행동을 알려준다.

Reward Signal(=보상 신호)는 매 시간마다 주변 환경은 강화학습을 이용하는 학습자에게 보상이라고 불리는 하나의 숫자를 전달합니다. Agent의 유일한 목표는 장기간에 걸쳐 Agent가 획득하게 되는 보상의 총합을 최대로 만드는 것이다. 보상 신호의 크기로부터 자신의 행동이 좋은 것인지 나쁜 것인지를 판단할 수 있다.

Value Function(=가치함수)는 특정 상태의 가치는 그 상태의 시작점에서부터 일정 시간 동안 학습자가 기대할 수 있는 보상의 총량이다.

Model(모델)는 환경의 변화를 모사한다. 환경이 어떻게 변화해 갈지를 추정할 수 있게 해 준다. 모델에는 모델 기반(Model-Baes)과 모델 없는(Model-Free) 방법이 있습니다.

대부분의 강화학습 방법은 가치 함수를 추정하기 위한 것이다.

Source : google ai blog - Off-Policy Estimation for Infinite-Horizon Reinforcement Learning

강화학습 예제

open ai에서 강화학습 학습용 환경을 제공하고 있으며 아래와 같은 환경들이 있습니다.


강화학습 예제들 : cartpole / pendulum / mountaincar

강화학습 역사

강화학습의 초기 역사에는 두 가지 주요한 갈래가 있다.

동물 심리학에서 유래되었으며, 시행착오 학습에 관한 것이다. (시행착오)

가치 함수와 동적 프로그래밍을 이용하는 최적 제어의 문제와 그 해결책에관헌 것이다. (최적제어)

이후 연관되어 지금의 강화학습까지 발전해왔습니다.

매거진의 이전글산타 2020, 사탕 지팡이 대회 시작하기