HakuCode na matata

하쿠's 강화학습 :: [Ch. I] Introduction 본문

Machine Learning/Reinforcement Learning

하쿠's 강화학습 :: [Ch. I] Introduction

@tai_haku 2020. 8. 12. 21:32
반응형

포스팅에 앞서 이 게시글은 Reference의 contents를 review하는 글임을 밝힌다.

이번 장에서는 강화학습의 개요에 대해 다루어 볼 예정이다.
강화학습의 정의와 핵심 및 구성요소등등 전반적으로 강화학습의 개론정도이고,
구체적인 부분은 이후 이어지는 장에서
살펴보도록 한다.

 

 

강화학습(Reinforcement Learning)이란?

강화학습(Reinforcement Learning)개체가 환경과 상호작용하며 지도 없이 스스로 학습하는 방법을 모티브로 한 기계학습(Machine Learning)을 말한다. 강화학습은 행동주의 심리학 이론들 가운데 하나인 '조작적 조건화'를 기반으로 만들어진 학습법이다. 해당 이론에서 '스키너의 쥐 실험'이 유명한데, 상자 속의 쥐가 실험자가 의도한 행동을 하거나 엉뚱한 행동을 할 시, 각각 (+)의 보상(음식)(-)의 보상(처벌)을 주어 의도한 행동에 대한 학습을 강화(최적화)하는 형식의 실험이다.

스키너의 쥐 실험 상자 구조도

 

 

「강화학습의 목적」

강화학습의 목적은 Agent와 Environment의 상호작용을 통해 '순차적 행동의 결정문제'를 해결하는 것이다.
아래 그림과 같은 경로 문제의 경우, 여러 ⓐ에서 ⓘ로 가는 경로들 중에서 최적의 경로는 표시된 ⓐⓑⓕⓘ이다.
Environment와 상호작용하여 학습한 Agent로 하여금 이 노드들을 통과하게 만드는 것이 목적이라고 할 수 있다.

경로그래프, 강화학습은 최적의 효율을 내는 순차적 행동 과정을 찾는 것

 

강화학습의 원리와 핵심

여기서는 강화학습의 기본메커니즘과 핵심에대해 대략적으로 설명하려고 한다.

 

Ⅰ 학습의 기준? 피드백(Feedback)으로서의 보상(Reward)기반 학습

강화학습은 앞서말했듯, AgentEnvironment에 대하여 학습이 진행될수록 학습을 주관하는 이가 의도하는
일련의 행동들을 강화해나가는 학습방식(최적화)인데
,

이때 이러한 행동강화를 이끌어 내는데 중추적인 역할을 하는 것이 '보상(Reward)'이다.

앞선 예시인 쥐 실험에서, 보상은 먹이와 처벌이다.
학습주관자(연구원)가 요구하는 행동(버튼 클릭)을 하게되면 쥐는 음식을 받고(양+의 보상),
반대로, 그렇지 않은 행동을 하게되면 쥐는 처벌로 전기충격을 받는다(음-의 보상).

이러한 보상은 다음 시행에서 행동에 변화를 주는 역할을 한다.
즉, 행동이 옳고 그른지를 판단하는 기준이 된다

+보상 = 쥐가 좋아하는 치즈
-보상 = 쥐가 피하고싶은 전기충격

Ⅱ 행동의 기준? 정책(Policy)기반 행동(Action)

강화학습에는 '정책'이라는 개념이 존재한다. 정책'행동지침'을 떠올리면 이해하기 편한데, 우선, 학습을 위한 환경의구성요소(Component)와 학습방식에 대해 간략하게 설명하기위해 게임을 예시로 들어보도록 하겠다.

우리가 흔히들 접하는 게임의 진행과정은 주어진 환경(Environment)내에서 어떠한 행동(Action)들을 취하고 이에 대한 보상(Reward)을 받아오며 이러한 과정(Step)을 한번의 게임(Episode)에서 패널티를 허용된 범위를 초과하여 받는 경우가 생기거나 목표를 달성하거나 할 때 까지 지속(∞)하게된다.

예시) 게임 진행루틴
[게임시작 ---- (행동-보상-다음상태)-(행동-보상-다음상태)----- · · · -----게임종료] = Episode
                                            ↑Step                              ↑Step

이때 이 전체 과정 즉, 한 번의 게임을 Episode라고 하고,
각각의 단계 즉, 한 번의 행동절차를 Step이라고 한다.
또한, 각 단계의 행동에 대한 보상을 Reward라고 한다.

강화학습은 이러한 메커니즘 부분에 있어서 게임과 유사한 학습법이라고 할 수 있는데,
다음 강화학습의 진행순서를 보고 비교해보자.

① Agent의 행동(Action - 우측 실선)
② 행동에 대한 Environment의 보상과 다음상태(Reward, Next state)를 Agent에 전달(좌측 2개의 실선)
③ 보상을 통한 정책 최적화(Policy Optimization) → 학습

① 다시 Agent의 행동(반복) · · ·

①,②,③을 한 번의 Step(= 한번의 행동절차 = 그림에서 1회 순환)으로보고 이를 Agent의 상태가 Environment로부터
아웃이 되지않는 한, 이것을 지속하게되는데 이 루프를 한 번의 Episode(= 한번의 게임)라고 한다.

강화학습 메커니즘

정책(Policy)이란 이러한 에피소드내에서 행동을 결정하는데 영향을 끼치는 '메뉴얼'이라고 생각하면된다.
학습을 진행할 수록 Agent의 행동경험과 거기서 얻은 보상을 계산한 값에 따라 각각의 상태에 대한 가치 값이 
정교해지고 이것을 기반으로 좀 더 정교한 정책(최적화된 정책)을 구현할 수 있다

정책은 최적의 행동을 고르는 기준이 된다.
정책은 학습이 진행되어갈수록 발전하게된다.

추가적으로 ③에서 학습이 일어난다고 설명하였으나, 실제로 위와 같이 Step직후 학습이 일어나는 경우(TD, Temporal Difference)Episode종료 후 학습(Monte Carlo)이 일어나는 경우가 있는데, 지금은 여러 학습 알고리즘 존재한다는 정도로만 이해하고 추후에 다룰 예정이니, 넘어가도록 하자.

 

보상에도 종류가 있어? 즉각보상(Immediate Reward)지연보상(Delayed Reward)

보상의 종류에는 2가지가 있다.
 - 즉각보상(Immediate Reward)
 - 지연보상(Delayed Reward)

정말 말 뜻 그대로 즉시 수여되는 보상(현재보상)이냐, 나중에 수여되는 보상(미래보상)이냐의 차이이다.

보상에 이러한 구분이 생겨난 데에는 강화학습이 단순히 하나의 행동을 학습하는 것이 아닌, 일련의 행동 체계를 학습하는데에 목표를 두고 있기 때문이다.

다음 예시를 보자.

시간의 흐름 = |NOW|----------------------------------------------------------------|GOAL|
ⓐ 보상 모델           
ⓑ 보상 모델                                                                                         
ⓒ 보상 모델                           ↑                ↑                ↑           ↑ 

ⓐ모델(현재보상만 존재)의 경우, Agent는 잠재적 보상이 더 이상 없기 때문에, 현재 이후로 더 이상 학습에 진척이 없다.
추후 어떠한 행동도 좋은 행동으로 판단되지않기 때문이다.(무급 직장인이 없는 것처럼..)

ⓑ모델(미래보상만 존재)의 경우, Agent는 지금 어떠한 행동을 하여도 보상을 받지못하기 때문에 역시 학습에 진척이 없다. 어떤 행동이 옳은 지에 대한 판단을 할 수 없기에 보상을 받을 수 있는 상태까지 도달할 수 없기 때문이다.
(채점을 하지못하면 답인지 알 수 없지..)

ⓒ모델의 경우, Agent의 행동에 따라 지속적인 보상(옳고 그름의 여부)을 받기 때문에, 목표지점까지 유도가 가능하다.

즉, 보상은 Agent를 목표로 유도하는 역할을 하기때문에 몰아서 주는 방식이 아닌,
지속적으로 수여하는 형태를 가져야한다


위에서 설명했듯이, 현재 상태의 가치는 즉각보상과 지연보상 둘 모두에 의해 계산되는데,
지연보상은 실제로는 취하지않은 미래의 보상이다. 다시 말해, 지연보상을 수령하기까지의
일련의 과정 중에 불확실성이 존재하기때문에
미래보상을 현재가치로 환산할 때,
이를 할인(감가)하게 되는데 이것이 할인율(Discount Factor) 개념이다.

할인율(Discount Factor) 0~1사이의 확률(통상 0.9)로 정의하며, 미래보상을 할인하기위해 사용된다.

이렇게 보상에는 즉각보상과 지연보상이 존재한다. 또한, 이들의 총합을 반환값(Return Value)라고 하는데,
현재 상태에서의 모든 보상을 현재 가치로 변환한 보상의 총합을 말한다

 

마르코프 결정과정(Markov Decision Process)기반 알고리즘

MDP에 관해서는 추후 더 자세히 다룰 예정이라, 현재 간단히 결론만 말하자면,

MDP 현재의 상태에 영향을 미치는 것은 오직 직전상태뿐인 문제를 말한다.
(미래는 오직 현재만이 영향을 미침)

아래 그림을 보자.

지도(...아무튼 맞음)

현재 우리의 위치는 서울이라고 가정하자.
우리의 목적지는 부산이고, 경로는 중복된 지점을 가지 않는다는 전제하에 어떠한 식으로 도달하여도
무관(최적의 경로 아니어도 됨)하다고 생각해보자.

현재 서울에서 갈 수 있는 1차 경유지는 수원 또는 구리이다. 이번에는 수원을 선택하기로 하자.
이후 수원에서 2차 경유지를 선택할 때, 선택 가능한 곳은 속초나 대구, 익산 중 하나이다.

이때, 이를 선택함에 있어서 서울에서 출발하였다는 사실은 현재의 선택에 아무런 영향을 주지 않는다.
오직, 직전상태인 수원이라는 지리적위치만이 영향을 준다.

강화학습 철저히 이러한 MDP구조위에서 작동하는 학습이다.

 

 

「강화학습의 기초구성요소」

강화학습은 4가지 요소들로 구성되어있다.

ⅰ 정책(Policy)

 - 특정 상태에서의 에이전트 행동지침(상태-행동 Mapping : manual)
 - 일반적으로 정책 값은 확률

 

좌표상에서의 상태(위치좌표)별 정책

ⅱ 보상(Reward)

 - 문제의 목표 정의
 - Agent에 단기적 비전(양+, 음-) 제공
 - 정책 갱신의 주요 근거(하지만 결정하진 않음)

Agent가 한 행동에 대한 환경의 피드백
단기적인 시각에서의 행동평가 척도
이다.
또한, 정책을 갱신(Learn)할 때 주요 지표로 사용된다.
그러나, 정책을 최종적으로 결정하는 요소는 아니다.

현재 S, 위로 이동할 시 즉각보상 +3 획득

ⅲ 가치함수(Value Function)

 - Agent에 기적 비전(양+, 음-) 제공
 - 총 보상(보상의 축적 값)
 - 정책결정자
 - 측정 어려움(강화학습의 핵심)
 - 종류
   1) 상태가치 함수
   2) 행동가치 함수

장기적인 시각에서의 행동평가 척도이다.
최종적으로 정책을 결정하는 수단이며, 보상과 할인된 미래보상 모두에 대해 고려한 뒤 정책을 결정한다.
가치함수를 파악하는 것이 강화학습의 핵심이며, 측정이 어렵다.
가치함수의 종류에는 두 가지(상태가치 함수, 행동가치 함수)가 있다.
상태가치 함수는 간단히 해당 상태가 가지는 가치함수이고,
행동가치 함수는 해당 상태에서의 선택가능한 행동이 가지는 가치함수이다.
상태가치 함수값 = ∑행동가치 함수값 / 선택가능한 행동개수

각 상태의 상태가치 함수값

ⅳ 환경모델(Environment Model)

강화학습은 Environment의 동적 특성을 Agent로 하여금 잘 이해시키는 것을 목적으로 한다.
이러한 Environment에 대한 정보의 유무를 따지려면, 상태전이모델(상태변화확률)을 알아야한다.

상태전이모델(상태변화확률)이란?
특정 상태에서의 특정 행동을 통하여 다음상태로 변화할 확률이다.
이러한 상태변화확률을 알고 있는지 여부에 따라 환경모델의 인지여부를 가르는데,
이는, 쉽게말해 내가 이 다음에 옮겨갈 상태에 대한 정보가 있냐 없냐가 기준이다.

이러한 상태변화확률을 알고 있는 경우,
 - 모델 기반(Model Based - Planning - Dynamic Programming)
 - 예시) 미로탈출 => 현재 내 기준에서 특정행동을 했을 때 변화하는 환경의 정보(상태 및 상태변화확률)를
                            파악할 수 있음(주변 좌표 및 전이확률)

이러한 상태변화확률을 모르고 있는 경우,
 - 모델 자유(Model Free - Learning - Reinforcement Learning)
 - 예시) 자율주행 => 현재 내 기준에서 특정행동을 했을 때 변화하는 환경의 정보(상태 및 상태변화확률)를 미처
                            다 파악할 수 없음(주변 차량 및 주변 보행자 위치)

 

 

「지도/비지도 학습과의 차별점」

예측이나 일반화, 외삽형 해결(지도학습) 또는 숨겨진 구조(비지도학습)를 찾는게 아닌,
강화학습은 보상최대화 목표
ⅱ 강화학습은 불확실한 환경에서 자신의 경험으로 학습(귀납법)<탐색-이용 교환 알고리즘>
ⅲ 강화학습은 목표지향적 에이전트와 불확실한 환경 간 상호작용학습
ⅳ 강화학습은 큰 그림(장기비전 : 미래보상)을 생각하는 학습(지도/비지도학습은 그렇지 않음)

 

 

「마무리」

여기까지 강화학습의 개요에 대해 알아보았다.
강화학습은 보상최대화를 목적으로 순차적 행동결정문제를 푸는 학습방법이다.
상태를 기준으로 행동을 통해 여러 형태의 보상과 이를 기반으로한 가치함수를 생성하여, 마침내 정책을 보완해나가는 방식이다.
보완된 정책은 최적화에 한걸음 가까워지게된다.

다음 장에서는 강화학습이론기초에 등장하는 MAB(Multi-armed Bandits)문제에 대해 다뤄 볼 예정이다. 

 

 

「참고」

Reinforcement Learning, Second Edition : An Introduction
Richard S. Sutton and Andrew G. Barto

https://mitpress.mit.edu/books/reinforcement-learning-second-edition

 

Reinforcement Learning, Second Edition

The significantly expanded and updated new edition of a widely used text on reinforcement learning, one of the most active research areas in artificial intelligence. Reinforcement learning, one of the most active research areas in artificial intelligence,

mitpress.mit.edu

반응형
Comments