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의 위치
강화학습과 관련된 문제들
강화학습의 종류
- 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를 찾는다.
앞으로의 강의 순서
- 강화학습 기초
- 강화학습 개요
- Markov Decision Process
- Dynamic Programming을 이용한 계획법
- Model-free Prediction
- Model-free Control
- 강화학습 실전
- Value function 예측
- Policy gradient 방법
- Learning과 planning 통합
- Exploration과 exploitation
- 게임에 적용한 강화학습