인공지능/강화 학습 개념 정리노트 (CS234)

 L2 : MSGDGMW  ^^7

본 포스팅은 강화 학습 강의인 CS234 2강의 내용을 정리합니다.

매우 간단하게 용어 정리 및 공식만 적으므로, 자세한 내용은 강의 정리 포스팅을 보시기 바랍니다.

 

MP?

Markov Process : Markov한 상태를 띄는 Action / Control이 없는 random한 state들의 집합.

이를 행렬으로 나타낸 것을 Markov Chain 이라고 부른다.

MRP

Markov Reward Process (MRP) : Markov Process + Reward.

Markov Process에다가 Reward를 추가함. 

 

Return & Value Function

Horizon : 각각의 에피소드에 대한 time step의 개수.

Return function (Gₜ) - time step t부터 horizon까지의 reward의 discounted sum.

State Value Function (V(s)) - state s에서 얻을 수 있는 reward의 기댓값.

Discount Factor (𝛾) - immediate reward (즉각적 보상)과 future reward (미래에 얻을 보상)과의 연관관계.

0이면 연관 없음, 1이면 immediate = future

 

Dynamic Programming (Iterative Algorithm)

일반적으로 MRP value를 계산하는데 Dynamic Programming 방식이 사용됨. (Iterative Algorithm이라고도 함.)

V(s) = R(s) +  ∑s'∈S 𝛾P(s'|s) Vₖ₋₁(s')

(위 ppt에 더 정확하게 나와있음.)

 

MDP

Markov Decision Process (MDP) - MRP + Action.

이젠 Action까지 포함되어 있음.

(S, A, P, R, 𝛾)의 튜플로 표현함.

지금까지의 기호들을 설명하자면,

S는 Markov State s의 집합.

A는 actions 의 집합.

P는 각 action에 따른 dymanics/transition model. (위의 MRP / MP와 다르게 action이 포함되어 있음!)

R은 Reward function으로, 각 state와 action에 따른 reward의 기댓값.

𝛾는 Discount Factor.

 

MDP Policies

 

Policy : 각각의 state에서 어떤 action을 취할지를 선택하는 것. (그냥 말 그대로 정책이다.)

Deterministic : 결정론적임. 취하고자 하는 행동은 무조건 일어남.

Stochastic : 무작위적임. 취하고자 하는 행동이 확률적으로 일어나거나 일어나지 않을 수도 있음.

 

MDP + Policy

MDP + Policy = MRP이다.

이를 활용하여, MDP의 Policy Evaluation에서도 MRP와 비슷한 공식을 응용할 수 있다.

 

MDP Control

MDP Control : optimal policy를 계산함.

이때 optimal policy는 π*(s)로 표현함.

optimal policy는 유니크한 optimal value function을 가짐.

 

MDP PI

Policy Iteration : optimal policy를 구하기 위한 Iterative Algorithm.

현재 policy가 특정 값에 수렴할 때까지 지속적으로 policy를 바꿔준다.

 

State-Action Value Q

State-Action Value Qπ(s, a)

Qπ(s, a) = R(s, a) + 𝛾∑s'∈S P(s'|s, a)Vπ(s')

로 정의되는 함수.

 

Policy Improvement

Policy Improvement : Policy를 강화함.

모든 state와 action 중에서 Qπ(s,a) 값이 가장 큰 state s,action a를 구해서 그 값들을 policy로 적용시킴.

 

MDP PI Revisited

즉, Policy Iteration (PI) 는 다음과 같은 행동을 반복한다.

πᵢ의 값 V을 구한다.

그 값을 사용하여 Q(s,a)도 구한 뒤,

Policy Improvement를 사용하여 π₊₁을 구함.

이를 ||πᵢ - π₁||₁ > 0 일 때까지 (즉, 새로운 policy와 저번 policy의 차이가 없을 때까지) 반복함.

이러면 optimal policy를 찾아낼 수 있다!

 

More into PI
Monotonic Improvement in Policy
Proof of Monotonic Improvement in Policy

(위 세 슬라이드는 수학적 내용임으로 설명하진 않으나, ppt를 보면 이해가 갈 것임.)

 

Value Iteration (VI)

Value Iteration (VI) : Value를 활용하여 optimal policy를 구하는 방법.

V의 값이 수렴할 때 까지,

최대의 Reward가 나오는 R(s, a)와 𝛾∑s'∈S P(s'|s,a)Vπ(s') 를 더한 값을 V에 집어넣어줌.

PI와는 다르게 Policy Improvement 과정 없이 진행됨.

 

 

 

 

강화 학습 개요

CS234의 강의를 바탕으로, 강화 학습의 개념을 정리합니다.

간단히 내용을 훑고싶은 분들에게 추천드립니다.

 

 

Reinforcement Learning (RL) - Learn to make good sequences of decisions

 = 순차적 결정을 잘하도록 학습하는 것.

 

 

강화 학습이 다루는 측면 4가지

Optimization : 최적의 결정을 하도록 훈련하는 것. 

 

Delayed Sequence : 지금 한 일이 나중에 영향을 미치는 것. ex) 미리 먹어둔 게임 아이템이 후반에나 쓰임.

 

Exploration : 새로운 일을 하도록 탐험하는 것. 이미 하지 않았던 것을 시도하며 관찰하는 것. ex) 한 번도 가지 않았던 길로 가봄.

 

Generalization : 훈련한 것을 일반화시키는 것. 픽셀값들로 훈련한 모델이라 하더라도, 조금 더 고수준으로 이해 가능하게 하는 것.

ex) 픽셀값으로만 훈련한 퐁 AI가 게임의 룰을 일반화해서 학습함.

 

 

 

Sequential Decision Making 기본

Agent : 우리가 학습시키고자 하는 AI.

Action : 행동.

Observation : 관찰. Agent가 보고 듣는 것.

Reward : 보상. 어떤 Action을 취했을 때 얻는 점수의 개념임.

World : 세상. 일반적으로 학습시키고자 하는 환경을 의미함. (게임의 경우 게임 세상)

(저번 포스팅 복붙ㅎ)

 

강화 학습의 목표 Agent가 최선의 Action을 취하도록 함.

 

 

 

History, State

History 지금까지의 Observation의 기록

State : History를 활용하여 결정을 내릴 때 사용하는 정보

(State는 일종의 History를 이용한 함수임.)

 

World State : World를 구성하는 모든 것에 대한 State.

ex) 게임 규칙, 게임 진행 순서, 스테이지 개수 등등

 

Agent State : Agent가 볼 수 있는 World에 대한 State

ex) 게임 픽셀이 움직이는 방식

 

 

Markov Assumption : 충분한 정보의 State가 주어진다면, History 전체를 사용하여 예측한 결과와 그 State를 사용하여 예측한 결과가 같음.

즉, Markov Assumption이 참일때, 미래는 과거에 독립적임.

 

Markov Assumption의 사용 이유 : 일반적으로 어떤 경우에서라도 Markov Assumption을 참으로 만들 수 있음.

(State = History인 경우 언제나 만족함.)

 

 

Fully Observability : 완전 관찰가능함. World State를 모두 볼 수 있음. 이 경우, State = World라고도 함.

 

Partially Observability : 부분적으로만 관찰가능함. 위의 Fully Observability보다 일반적임. 

이 경우, 관찰 가능한 부분에 대한 정보만을 갖고 결정을 내림.

ex) 포커 게임에서 상대방의 패를 보지 않고서도 게임을 진행함.

 

Bandits : 지금 취한 Action이 나중의 Observation에 영향을 끼치지 않는 문제류.

ex) 개별적인 고객에게 광고를 추천하는 것. (지금 무슨 광고를 제안해줘도 다음 고객이 왔을 때와는 별개임.)

 

MDPPOMDP : 지금 취한 Action이 나중의 Observation에 영향을 미침.

전략적인 선택이 필요할 수 있음.

 

MDP의 종류

Deterministic(결정론적) - 특정한 상황에서 무조건적인 답이 존재함. (물리 문제와 같은 것.)

Stochastic(랜덤?) - 특정한 상황에서 무조건적인 답이 존재하지 않음. (광고를 추천해 줬을 때, 그 대상이 볼지 안 볼지는 모름.)

 

 

RL이 갖는 요소들 (안가질 수도 있지만, 최소한 하나씩은 가짐)

Model : Agent의 Action에 따라 어떻게 World가 변화하는지를 표현하는 것.

Policy : Agent가 어떤 상황에서 어떻게 Action 할지에 대한 정책.

Value function : Agent가 특정 Policy에 대해 얼마나 효과적인지 확인하는 함수.

 

 

Exploration : 탐험. 한번도 해보지 않은 짓을 하는 것. ex) 식당에서 먹어보지 않은 음식을 시킴.

Exploitation : 정답. 원래 제일 좋은 성과를 내던 짓을 하는 것. ex) 식당에서 맨날 먹던 것을 시키는 것.

Evaluation : Policy가 주어졌을때, 어떤 reward가 주어질지 예측하는 것.

Control - Optimization : 최선의 Policy를 찾는 것.

 

+ Recent posts