본문 바로가기

Reinforcement learning

[Intro to RL] 1강: 강화학습 개요

Lecture 1: Introduction to Reinforcement Learning

강화 학습이란?

강화학습은 많은 영역과 맞닿아 있다.

강화학습은 여러 다른 영역의 개념들을 사용한다 :

  • 컴퓨터과학 : 머신러닝
  • 신경과학 : 보상 시스템
  • 심리학 : Classical/Operant conditioning
  • 경제학 : Bounded rationality
  • 수학 : 최적화 기법
  • 공학 : 최적 제어 기법

머신러닝의 분야

머신러닝은 크게 세 분야로 나뉠 수 있다.

  • 지도학습 : 데이터를 기반으로 답을 구하는 방법을 찾는다.
  • 비지도학습 : 데이터들 사이의 숨은 구조를 찾는다.
  • 강화학습 : 데이터를 참고하여 보상을 극대화한다.

강화학습만의 특징

  • 감독자가 없이 보상만 존재한다.
  • 행동에 대한 보상이 (꼭) 즉각적이지 않다. (agent의 작업은 후속 데이터에 영향을 미친다.)
  • 시간이 중요하다. (=시계열 데이터를 사용한다. / 데이터는 독립항등분포가 아니다.)

강화학습 예시

  • 헬리콥터 기동 조종하기
  • 게임 플레이 ex) 체스, 블록깨기, 바둑, 스타크래프트 등
  • 주식 포트폴리오 관리
  • 발전소 관리
  • 걸어다니는 휴머노이드 로봇

강화학습을 이용할 수 있는 문제

Reward와 reward hypothesis

  • 보상(reward) $R_t$ : step $t$에서의 피드백. Scalar이다.
  • agent가 step $t$에서 얼마나 잘하고 있는지를 모여준다.
  • agent의 목적은 이 reward의 누적을 최대화하는 것이다.
  • 보상 가설(Reward Hypothesis) : 모든 목표는 누적된 reward의 최대화로 표현될 수 있다.
    • 모든 강화학습은 이 reward hypothesis을 기반으로 한다.
  • 예시
    • 헬리콥터 기동 조종하기
      • reward + : 원하는 궤적 따라가기
      • reward - : 충돌
    • 게임 플레이
      • reward + : 승리 (혹은 점수)
      • reward - : 패배
    • 주식 포트폴리오 관리
      • reward + : 보유 중인 자산
    • 발전소 관리
      • reward + : 전력 생산
      • reward - : 안전 수치 이탈
    • 걸어다니는 휴머노이드 로봇
      • reward + : 앞으로 감
      • reward - : 넘어짐

순차적인 의사 결정

  • 목표 : 미래의 reward를 최대화하는 action을 결정하는 것
    • action은 호흡이 긴 선택의 연속일 수 있다.
    • reward는 즉각적이지 않을 수 있다.
    • 미래의 더 큰 reward을 위해 당장의 reward를 희생해야할 수도 있다.
      • 예시
        • 주식 : 몇 달치의 호흡
        • 헬리콥터 기동 : 연료를 충전하러 내려오는 헬리콥터
        • 게임 : 내가 움직이는게 아닌 상대의 움직임을 막기

Agent와 Environment

  • Agent는 상황을 관찰(observation, $O_t$)하며 reward($R_t$)를 받아 action($A_t$)을 취한다.
  • observation과 reward는 agent가 존재한 environment로부터 온다.

History와 State

  • History : step t까지의 observation, action. reward의 연속

$$
H_t = A_1, O_1, R_1, ..., A_{t-1}, O_t, R_t
$$

  • 다음이 어떤 일이 일어날지는 history에 달려 있다.
    • agent는 action을 선택한다.
    • environment는 observation과 rewards를 선택한다.
  • State($S_t$) : 다음에 어떤 일이 일어나는지를 알려주는 정보이다.

$$
S_t = f(H_t)
$$

Environment State

  • Environment state($S^e_t$) : envionment의 개인적인 정보
  • 보통 environment state는 agent에게 보이지 않는다.
  • environment state가 agent에게 보이더라도, 이는 부적절한 정보일 수도 있다.

Agent State

  • Agent state($S^a_t$) : agent의 개인적인 정보
  • agent는 agent state를 이용해 다음 action을 고른다.
  • 강화학습에 사용되는 정보이다.
  • history에 대한 어떤 함수에 대한 결과든 될 수 있다.

$$
S^a_t = f(H_t)
$$

Information State

  • Information state(a.k.a. Markov state) : history로부터 얻을 수 있는 모든 유용한 정보

$$
P[S_{t+1} | S_t] = P[S_{t + 1} | S_1, ...., S_t]
$$

  • “지금, 미래는 과거와 독립되어 있다.”
  • information state를 안다면, history는 버려질 수 있다.
  • Environment state $S^e_t$는 Markov이다.
  • Histroy $H_t$는 Markov이다.

온전히 관찰 가능한 Environments

  • agent는 environment state를 온전히 관찰한다.

$$
O_t = S^a_t = S^e_t
$$

  • 이 상태는 Markov decision process(MDP)라고 불린다.
  • 예시 : 체스, 바둑

부분적으로 관찰 가능한 Environments

  • agent는 environment를 온전히 관찰하지 못한다.

$$
S^a_t \ne S^e_t
$$

  • 이 상태는 partially observable Markov decision process(POMDP)라고 불린다.
  • agent는 $S^a_t$를 설계해야 한다.
    • 예시
      • 완전한 history : $S^a_t = H_t$
      • Environment state 신뢰 : $S^a_t = (P[S^e_t=s^1], …, P[S^e_t = s^n]$
      • RNN : $S^a_t = \sigma (S^a_{t-1} W_s + O_t W_o)$

Agent의 구성 요소

강화학습 agent의 구성요소

  • Policy : agent의 행동 함수(behavior function)
  • Value function : reward에 개한 예측 (state 혹은 action이 얼마나 좋은가)
  • Model : agent가 알 수 있는 environment

Policy

  • Policy : agent의 행동
  • action $a$, state $s$에 대하여:
    • Determinsic policy : $a = \pi(s)$
    • Stochastic policy : $\pi(a|s) = P[A_t = a | S_t = s]$

Value funciton

  • Value function : 미래 reward에 대한 예측
  • state $s$에 대한 좋고 나쁨을 평가하도록 한다.

$$
v_\pi(s) = E[R_t + \gamma R_{t+1} + \gamma^2 R_{t+2} + ... | S_t = S]
$$

Model

  • Model : environment가 다음에 뭘 할지를 예측
  • Transition model : $P$ 다음 state을 예측
  • Reward model : $R$ 다음 reward를 예측

$$
\begin{aligned}
&P^a_{ss'} = P[S_{t+1} = s' | S_t = s, A_t = a]\\
&R_s^a = E[R_{t+1} | S_t = s, A_t = a]\\
\end{aligned}
$$

예제 : 미로

reward : -1 per 목적지까지 step

actions: N, E, S, W

state : Agent의 위치

미로에서의 policy
미로에서의 value function
미로에서의 rewared model (한 칸 이동마다 -1)

강화학습과 관련된 문제들

강화학습의 종류

  • Value based 모델 : Policy 없음 (내재되어 있음), value function 사용
  • Policy based 모델 : Policy 사용, value function 없음
  • Actor critic 모델 : Policy 사용, value function 사용
  • On-policy 모델 : 현재 policy의 샘플로부터 현재 policy를 갱신
  • Off-policy 모델 : 임의의 policy의 샘플로부터 현재 policy를 갱신
  • Model free 모델 : Model 없음
  • Model based 모델 : Model 사용

학습과 계획

  • 강화학습에서 가장 중요한 두 문제이다.
  • 학습
    • environment가 알려지지 않는다.
    • agent는 environment와 상호작용 한다.
    • agent는 policy를 개선시켜야 한다.
  • 계획
    • environment의 model은 알려져 있다.
    • agent는 model을 통해 계산한다.
    • agent는 policy를 개선시킨다.

Exploration과 exploitation

  • exploration(탐험)과 exploitation(탐색) 사이의 균형을 맞춰야 한다.
  • exploration : environment로부터 더 많은 정보를 얻는다.
  • exploitation : 아는 정보를 이용해 reward를 최대화한다.
  • 예시
    • 식당 선택 문제
      • Exploitation : 가장 좋아하는 식당에 간다.
      • Exploration : 새 식당에 간다.
    • 온라인 광고
      • Exploitation : 가장 성공적인 광고를 보여준다.
      • Exploration : 다른 광고를 보여준다.
    • 게임
      • Exploitation : 최고라 판단하는 행동을 한다.
      • Exploration : 실험적인 움직임을 해본다.

Prediction과 Control

  • Prediction : Policy를 기반으로 미래를 예측
  • Control : 최적의 policy를 찾는다.

앞으로의 강의 순서

  • 강화학습 기초
    1. 강화학습 개요
    2. Markov Decision Process
    3. Dynamic Programming을 이용한 계획법
    4. Model-free Prediction
    5. Model-free Control
  • 강화학습 실전
    1. Value function 예측
    2. Policy gradient 방법
    3. Learning과 planning 통합
    4. Exploration과 exploitation
    5. 게임에 적용한 강화학습