////
Search

강화학습 기초 - 커리큘럼

Week 1 - introduction to RL

1. 강화학습이란?

강화학습은 무엇이고 강화학습으로 문제를 풀어야하는 이유는 무엇일까?
강화학습은 점진적으로 강화하는 학습을 의미한다. 인간 및 동물의 도파민 시스템 (보상시스템) 에서 일어나는 학습을 모방하여 만들어졌으며, Data-driven 방식의 접근 방법과 달리 환경과 직접 상호작용(interaction)하며 문제를 해결하는 것에 큰 차이가 있다.
강화학습은 전통적인 기계학습의 분류 범주에 포함은 되지만, 정확히 같다고 할 수 없다. 다른 기계학습 방법들이 통계학적으로 이미 존재하는 Data 를 잘 설명하는 통계학적 기법들 이라면, 강화학습은 환경과 상호작용하면서 Data 를 생성해내고 그것을 통해 점차 배워가는 기법이다.
당연하게도, 이런 강화학습은 랜덤하게 Data를 추출해서 사용하는 것이 불가능하거나 의미가 없는, control task, optimization task 에서 많이 쓰인다 (여기서 task란 모통 해결해야하는 문제를 의미한다).
인간처럼 걷는 로봇을 만든다고 해보자. 우리는 로봇에 부착된 가속도계 등을 통해 로봇의 자세 (posture)를 인식하고 그것을 통해서 적절한 방법을 찾는다. 걷는 동작은 연속적이다. 발을 하나 앞으로 내미는 순간, 우리는 반댓발을 밀며 앞으로 나가는 동력을 얻는다. 이 과정에서 조그만 차이가 큰 결과를 낳는다. 반댓발을 밀지 않았다고 생각해보자. 이때는 고장난 장난감 병정처럼 한발을 들었다가 그냥 앞에 놓는것에 불과하다. 만약 발을 앞으로 크게 내밀었다고 해보자. 이때 뒷발을 약하게 밀면 앞으로 나아가지 못하고 다리를 벌린채 멈출 수밖에 없다. 때문에 반댓발 역시도 세게 뒤로 밀어주어야 앞으로 걸어 나갈 수 있다. 매 순간의 선택이 그 이후의 상태와 그 상태에 따른 선택을 바꾼다.
만약 위의 예시를 전통적 기계학습의 data-driven 방법으로 풀려면 어떻게 해야할까? 발을 앞으로 내밀때의 힘을 0부터 100, 뒷발을 미는 힘을 0부터 100이라고 하면 그 모든 경우의 수를 다 갖고 있어야 한다. 물론 힘의 크기 뿐만아니라 방향(각도), 관절의 각도, 다른 근육에 들어가는 힘 등 상황이 복잡할수록 Data-driven 방식으로 해결하기 위해서 수집해야하는 데이터의 숫자는 현격히 늘어날 수 밖에 없다. 이런 문제들, 즉 적응적으로 풀어야하는 문제들을 우리는 강화학습을 이용해 풀어낸다.

2. 강화학습의 문제 정의 - Markov Decision Process

강화학습의 문제 정의를 위해서는 Markov decision process (MDP) 라는 개념을 먼저 알아야한다.
S:set of statesA:set of actionsS: \text{set of states} \\ A: \text{set of actions} \\ 등으로 구성

3. 강화학습의 종류 - Model-based and model-free

먼저 강화학습의 종류를 단순히 model-based and model-free 로 구분짓는것은 오류라는 것을 밝힌다. 이는 형태적으로 명확히 구분되는 둘을 의미하는 것이고, 강화학습 알고리즘을 어떻게 구성했는지에 따라서 또 다르게 이해되어야하는 것이 맞다. 예를 들어 supervised learning, unsupervised learning 이라고 분류를 하는 것이 일반적이긴 하나, semi-supervised learning 이나 self-supervised learning 같은 용어가 쓰이는 것과 같다. 또한 실제로는 어떤 기계학습 알고리즘을 배울 때 그것이 항상 명확하게 supervised learning 인지 unsupervised learning 인지 큰 관심을 두지 않는 것과 유사하다. 형태적으로 분리가 될 뿐, 그게 강화학습 분야를 서로 완전히 다른 두 종류로 구분한다는 뜻은 아니다.

4. 강화학습의 기본 구성

prediction and control: 항상 그런건 아니지만 기본적으로 이렇게 구성된다.
exploration and exploitation

Week 2 - Model-based

1. MDP

2. Model-based RL의 전제조건

문제가 model-based 로 정의되고 풀 수 있다는 것에는 전제조건이 있다. 모델에 대한 정보를 알고 있고 이를 업데이트하여 학습한다는 것이다.

3. Dynamic programming

policy iteration
value iteration

Week 3 - Model-free (1/2)

1. Model-based 와의 차이점

multi armed-bandit 문제
contextual MAB: states를 포함한 형태
exploration exploitation
prediction and control 문제의 연장선에서 이해

2. model-free 개요

model-free 가 어떻게 일어나는지, model-based 와의 차이점과 함께 부가적으로 설명
on-policy & off-policy

3. From MC to TD

4. SARSA (on-policy)

5. Q-learning (off-policy)

Week 4 - Model-free(2/2)

VFA

PG

AC