Notice
Recent Posts
Recent Comments
Link
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Archives
Today
Total
관리 메뉴

NISSO

[강화학습] Lec 01 : Introduction 본문

ML & DL

[강화학습] Lec 01 : Introduction

oniss 2021. 9. 29. 17:40

David Silver 교수님의 Reinforcement Learning 강의 정리 https://youtu.be/2pWv7GOvuf0

강의 자료 https://www.davidsilver.uk/teaching/

한국어 강의 https://youtu.be/wYgyiCEkwC8 (팡요랩)


 

기계학습은 지도학습, 비지도학습, 강화학습으로 나뉜다. 강화학습은 지도학습, 비지도학습과 다른 개념이란 것이다.

* 그림에서 머신러닝은 셋의 교집합이 아니라 가장 큰 원

 

강화학습의 특징

  •  supervisor 없이 reward만 존재 : 답을 알려주지 않고 보상만 받으면서 좋은 걸 찾아나감   ex) 로봇이 앞으로 가려면 발을 앞으로 내딛어야 한다는 정답을 알려주지 않음. 알아서 액션을 취하고 경험하면서 보상을 받음
  • 피드백이 즉각적이지 않음 (long-term reward)     ---> 피드백 주어지기 전까지 많은 액션을 취하기 때문에 어떤 액션에 대한 피드백인지 알기 힘듦
  • 시간이 중요. i.i.d 가정을 하지 않음 (Independent and identically distributed 가정)      ---> 독립적이지 않고 순서가 있음
  • 에이전트의 액션이 그 이후에 받게되는 데이터에 영향을 줌

강화학습의 예시

  • 알파고 (보상 : 승리)
  • 투자 포트폴리오 관리 (보상 : 이윤)
  • 로봇을 걷게 함 (보상 : 점수   ex. 넘어지면 -10점, 안 넘어지면 +1점)

 


관련 용어

Rewards

: 스칼라 피드백 시그널

:  t번째 step에 R만큼의 스칼라(숫자)가 주어짐. 즉, step t에서 에이전트가 얼마나 잘하고 있는지를 나타냄

 

Reward Hypothesis

모든 목적은 culmulative reward(지금까지 축적된 리워드)를 최대화하는 것으로 설명될 수 있고, 이것이 에이전트의 목적이다.

미래에 받을 총 리워드를 최대화하는 액션을 찾는 것이 목적이다.

 


관련 개념

 

Agent와 Environment

여기서 뇌가 Agent라고 할 때, 에이전트에게 무언가를 제공하는 나머지 요소들, 여기선 지구가 Environment.

에이전트가 한 action에 대해 reward가 주어짐. 에이전트가 취한 action으로 바뀐 상황을 알려주는 observation.

Agent의 action으로 environment로부터 reward와 observation이 주어지고, 이 둘을 받고 다음 action을 취함.

ex) Atari 게임기

 

 

Agent : 게임하는 뇌

 Observation : 게임 화면

 Reward : 점수 (몬스터 하나 처치하면 + 1점)

 Action : 조이스틱을 움직이는 행동

 

 

 

 

 

History와 State

History : t step까지의 모든 정보가 담긴 기록 (정보 : observation, reward, action)

State : 다음에 뭘 할지 결정하기 위해 쓰이는 정보

과거를 보고 다음에 뭘 할지 결정하기 때문에 State는 History의 함수다.

 

- Environment State

Agent의 action에 따라 environment는 observation과 reward를 계산하는데, 이 때 쓴 모든 정보들이 Environment state.

Environment State는 보통 Agent에게 보이지 않음.

ex) Atari 게임기에서 조이스틱으로 액션을 취했을 때, 다음 화면(observation)을 계산하기 위해 참고하는 숫자들이 Environment State. 몬스터 위치, 내 캐릭터 위치 등을 우리가 알 필요가 없으니 보이지 않음.

 

- Agent State

Agent가 action을 하는 데 참고한 정보

ex) 어제 주가를 참고해서 주식을 사려고 할 때, Agent state는 어제 주가

 

- Information State (Markov State)

미래는 바로 직전 과거에 의존한다.

다음 t의 state는 오직 현재 t의 state에 의해 결정된다.

따라서 state를 알면 history는 무시해도 된다. 즉, state는 미래에 대한 충분한 통계치다.

environment state와 history는 Markov하다 : 과거는 무시하고 현재만 보면 되기 때문

ex) 현재 헬리콥터를 떨어지지 않도록 조종해야할 때, 10분 전 내 상황과는 독립적으로, 바로 직전 상황이 어땠는지에 따라 조종함

--> 이 때, state는 markov하다고 함. 혹은 Information state다.

 

1. 전구 전구 레버 종 -> 감전

2. 종 전구 레버 레버 -> 치즈

그럼 레버 전구 레버 종 -> 결과는?

 

1처럼 마지막 3개가 전구 레버 종이네? -> 감전

2처럼 종 1개 전구 1개 레버 2개네? -> 치즈

state를 마지막 3개로 하느냐, 각각의 개수로 하느냐에 따라 결과가 달라진다.

 

Fully Observable Environments

Environment State가 보이는 환경

Agent state = Environment state = Information state 모두 같은 상황

이 상황을 Markov Decision Process (MDP) 라고 함

 

Partially Observable Environments

Agenet state != Environment state 둘이 같지 않은 상황. 부분적으로 관측하는 상황

 


Agent의 구성 요소

Policy / Value function / Model : 하나만 있을 수도, 다 갖고 있을 수도 있음

 

Policy

Policy는 Agent의 행동이고, state에 대한 action을 mapping해준다.

예를 들어, 어떻게 게임하느냐에 따라 reward가 달라지는데, 어떻게 게임할지를 정의해주는 게 policy인 것이다.

Deteministic policy : state에 따라 action이 하나 결정적으로 정해짐

Stochastic policy : state에 따라 여러 action이 가능하고 각 action별 확률을 추출

 

 

Value function

미래의 총 reward를 예측하고, 현재 state가 좋은지 나쁜지 평가하는 데 사용된다.

내가 이 state로부터 어떤 policy 파일을 따라갔을 때, 게임이 끝날 때까지 얻을 총 리워드의 기댓값이 value function이다.

policy가 없으면 value function을 정의할 수 없다.

value function이 기댓값인 이유

: policy와 environment에 확률적 요소가 있을 수 있기 때문

  ex) 로봇이 오른쪽으로 한 걸음 갔는데, 갑자기 바람이 불어서 앞으로 조금 이동할 수도 있음 -> 환경(environment) 자체에 바람이 부는 확률적 요소가 있을 수 있음 -> 같은 action을 해도 결과가 조금씩 달라질 수 있고, 결국 도달하는 곳이 여러 곳이 가능함 -> 이걸 총 평균낸 값이 value function

 

Model

environment가 어떻게 될지 예측 : reward 예측과 state 예측으로 나뉨

이 예측하는 역할을 모델링하는 것

RL에서 model이 없으면 model-free agent, 있으면 model-based agent

 

 

[ 미로찾기 예시 ]

 

Reward : 한 칸 갈 때마다 -1 (가장 적은 이동으로 목표 도달하기 위해)

Actions : 동, 서, 남, 북

States : Agent의 위치

 

 

 

 

각 칸에서 최적의 policy를 나타내는 그림

policy : state에 따라 어떤 action을 하는지 결정

-> start 지점 state에 있을 땐 오른쪽으로 가는 게 policy

여기서 policy는 화살표, optimal policy를 나타냄 (최적의 policy)

stochastic policy로 표현하면 오른쪽으로 갔을 때 0.8, 왼쪽 0.1 ...

 

 

value function

optimal policy를 따랐을 때 각 칸에서의 value

 

 

 

 

 

Model

그림(길) 자체가 model

검은 부분이 state, 각 칸의 숫자(-1)가 reward

길이 안 보이는 검은 map 상태에서 Agent가 생각하는 model이기 때문에 불완전할 수 있음

 

 

 

 


 

Comments