본 포스팅은 David Silver 교수님의 강화학습 강의와 그 강의를 정리한 깃북, 팡요랩 강의를 바탕으로 정리한 것입니다.
강화 학습(Reinforcement learning)은 기계학습이 다루는 문제 중에서 다음과 같이 기술 되는 것을 다룬다. 어떤 환경을 탐색하는 에이전트가 현재의 상태를 인식하여 어떤 행동을 취한다. 그러면 그 에이전트는 환경으로부터 포상을 얻게 된다. 포상은 양수와 음수 둘 다 가능하다. 강화 학습의 알고리즘은 그 에이전트가 앞으로 누적될 포상을 최대화하는 일련의 행동으로 정의되는 정책을 찾는 방법이다.
강화학습은 해결하고자하는 문제가 강화학습 문제; Problem인지를 기준으로 정의된다.
-> 대부분의 기계학습 방법들은 “어떻게 학습하는가”를 기준으로 정의된다. (학습하는 방식)
강화학습 문제의 예
강화학습의 특징
no supervisor, only a reward signal
Agent’s actions affect the subsequent data it receives
Delayed Reward
Trial and Error
이 2가지의 기초적인 토대로부터 강화학습이 탄생하였으며, 이후 Temporal difference Learning, Q-Learning으로 발전하다가 최근 Deep RL으로 발전하게 되었다.
*Deep Reinforcement Learning
Playing atari with deep reinforcement learning
Definition of Reward
All goals can be described by the maximisation of expected cumulative reward
with Reward Hypothesis
모든 목적이 누적된 reward를 최대화하는 것으로 표현할 수 있다는 가정
scalar feedback signal (with is time step)
Indicates how well agent is doing at
🛠 Agent’s job is to maximise cumulative;누적 reward
Example
Sequential Decision Making
Goal : select Actions to maximise total future reward
Problem 특징
가끔은 즉각적인 Reward는 포기하는 대신 long-term reward를 더 maximise하기 위한 Action을 수행할 수도 있다.
→ 늘 greedy 하게 local oprima만 선택하지는 않는다.
Example
At each step ,
The Agent’s aspect
env로부터 Observation 를 받는다.
이때 Observation은 Agent의 action으로 인하여 변화된 환경을 나타낸다.
env로부터 scalar reward 를 받는다.
⬇
Action 를 수행한다.
The Environment’s aspect
agent로부터 Action 를 받는다.
⬇
observation 를 준다.
scalar reward 를 준다.
→ 는 environment의 step에 따라 증가한다.
History
는 그 시간 까지 있었던 모든 각각의 timestep마다 Agent가 수행한 action과 그때의 observation, reward를 순차적으로 기록한 것
history가 결정하는 것
State
State is the information used to determine what happens Next
history에 대한 함수; History가 가지고 있는 정보들을 가공하여 State를 만든다.
관점에 따른 State
env가 Next observation과 reward를 계산하기 위해 사용한 모든 information (숫자들)
Example) Atari game에서 Agent가 select한 Action에 따라 표기되는 다음 화면(=observation)을 계산하기 위해 참고하는 정보들
→ 공의 위치, 현재 박스의 개수 및 구조…*
env의 state는 agent에게는 보이지 않는다. (보이더라도 너무 복잡한 정보라 활용x)
Example) 우리가 게임을 플레이할 때는 컴퓨터 내부적으로 어떻게 계산되는지는 알 필요가 없다 !
Agent가 Next Action을 select하기 위해 참고하는 정보들 (내가 정하는 것)
실제로 통용되는 State와 동일하다.
Information state : Markov state
Definition
A state is Markov *if and only if*
The future is independent of the past given the present
즉, 이런식으로 state를 Markov하게 표현할 수 있다면, 문제를 훨씬 더 간단하게 표현할 수 있다!
Example : Rat
최근 3가지의 signal을 state로 정의한다면, → 감전
전체 history에서 각 signal이 등장한 횟수를 state로 정의한다면, → 치즈
⇒ 즉, 어떻게 History에 대한 function을 정의하여 State를 표현하는지에 따라서 같은 데이터라 하더라도 다르게 예측할 수 있다.
Observe에 따른 State
Fully Observability
Markov decision process : MDP
env의 state를 agent가 볼 수 있는 상황
Agent state = environment state = Information state
Partially Observability
대표적인 RL Agent의 구성요소
Value function is a prediction of future reward
Formal 표현
[1]
강화학습 문제의 종류
Exploration finds more information about the environment
env로부터 정보를 얻는 과정
Exploitation exploits known information to maximise reward
지금까지 얻은 정보를 바탕으로 reward를 maximise할 수 있는 선택을 수행하는 과정
⇒ It is usually important to explore as well as exploit
Example
Prediction
Control
Gridworld Example
Prediction : uniform random policy로 agent가 움직일 때, 각 칸의 value는 얼마가 될 것인가?
(a)가 주어진 reward일 때, (b)가 prediction 문제를 푼 결과이다.
Control : 최적 policy는 무엇이고, 최적 policy를 따르는 value function을 이용한 value는 얼마가 될 것인가?
(a)가 주어진 reward일 때, (b)와 (c)가 control 문제를 푼 결과이다.