강화학습 개념

2023. 7. 5. 19:37연구 프로젝트/강화학습 챗봇

1. Markov Chain (마르코프 체인)

1) 마르코프 체인 정의

: 마르코프 성질을 지닌 이산확률과정을 지칭

-"확률과정"의 의미: 시간이 진행함에 따라 상태가 확률적으로 변화하는 과정

※상태: 물리적 위치, 심리적 상태, 재정적 상태, 경제적 상태, 정치적 상황, 시장 점유율, 사회적 관계 등 모든 것이 가능

-핵심: "현재 상태(state)의 확률은 단지 직전의 과거 상태에만 의존한다"

= 현재 상태가 나타나는 확률을 보기 위해 처음부터 그 직전 상태까지 전부 확인할 필요 없이, 바로 직전의 상태에서 현 상태가 나타날 확률을 확인하면 됨

 

수식으로 표현

-i번째 상태를 추정하는 데 1번째 상태부터 (i-1)번째 상태까지 전부 볼 필요 없이 (i-1)번째 상태에서의 전이(transition)만으로 추정 가능

 

2) 용어 정의

(1) 상태 공간(State Space): 특정 변수가 가질 수 있는 모든 상태의 집합

(2) 정상 상태(Steady State/Stationary State): 변화가 멈춘 상태

-마르코프 체인에서 정상 상태에 도달하는 과정을 "정상 상태에 수렴한다"라고 표현

(3) 전이(Transition): 어떤 상태(qi)에서 다음의 상태(qi+1)로 변화하는 것

-이렇게 전이될 확률을 상태 전이 확률(State Transition Probability)이라고 부름

(4) 전이 행렬(Transition Matrix): 전이 확률을 행렬로 표현한 것

-모든 요소가 0 이상, 각 행의 요소를 더하면 합이 1

 

 

2. Markov Reward Process (마르코프 보상 과정)

1) 마르코프 보상 과정 정의

: 마르코프 과정에 reward 개념을 추가한 것

-각 상태별 전이 확률이 주어짐과 동시에, 한 상태에서 다음 상태로 가는 것이 얼마나 가치가 있는지를 정량화하기 위해 도입

 

2) 용어 정의

(1) 보상 함수(Reward Function)

: 앞으로 받을 보상을 고려한 누적 보상값이 아닌 즉각적으로 받는 보상(immediate reward)

-상태 St-1의 특정 상태인 s에서 다음의 상태 St로 갈 때 주어지는 보상을 rt라고 하면, 상태 t에서 얻을 수 있는 보상의 기댓값:

*그러나 각 상태의 가치를 정확하게 구하기 위해서는 어느 시점에서 보상을 받는지도 중요

-특정 상태에 당장 도달해 지금 보상을 받을 것인지, 나중에 도달해 보상을 받을 것인지 판단

(ex) 은행에 돈을 넣으면 이자가 붙게 됨 => 현재 가치 * 이자율 = 미래 가치

혹은 미래 가치 * 할인율(Discount Factor) = 현재 가치

=> 현재 시점에서 현재 가치와 미래 가치 두 가치를 비교하면 현재 가치가 더 높음

 

(2) 할인율(Discount Factor)

*0과 1 사이의 값을 가지며, 미래 가치를 현재 시점의 가치로 환산해주는 요소

-미래 가치를 현재 가치로 환산해야 하는 이유:

① 수학적으로 계산 시 수렴 가능: 일반적으로 실제 미래 가치는 알 수 없으며, 수렴하지 않게 되면 반환되는 값이나 가치 함수 역시 수렴하지 않음

② 미래에 대한 불확실성: 1에 가까울수록 미래보상을 더 중요시, 0에 가까울수록 현재 보상을 더 중요시

 

(3) Return

: 현재 상태(시간 t) 이후부터 받을 수 있는, 즉각적인 보상이 아닌 먼 미래에 얻을 수 있는 전체 보상

= 각 시점에서의 즉각적인 보상을 현재 가치로 환산하여 합한 값

-R: 각 시점에서의 즉각적인 보상

-γ: 할인율

 

(4) 가치 함수 (Value Function, 혹은 State-Value Function)

: 현재 놓인 상태가 얼마나 좋은지 알려주는 함수

-현재 상태(시간 t)에서 다음으로 나아갈 때  받을 누적보상이 얼마나 클지와 관련

-가치 함수: return의 기댓값

-상태 s에서 끝까지 어느 상태로 나아갈지 각기 다른 선택지를 선택한 모든 결과, 즉 상태 s에서 이동 가능한 상태들의 모든 시나리오를 따라 그 상태들의 즉각적인 보상에 할인율을 적용하여 모두 더한 값인 return을 게산 후 기댓값을 낸 것

 

(5) Bellman Equation

: 가치 함수를 재귀적인(recursive) 형태로 표현한 식

-> 후에 최적의 정책 및 가치 함수를 찾을 때 동적 프로그래밍(Dynamic Programming)을 이용해 문제 해결 가능

 

 

3. Markov Decision Process (마르코프 결정 과정 정의)

1) 마르코프 결정 과정 정의

: 마르코프 보상 과정에 "행동(action)" 개념을 추가 및 "정책"(policy)라는 개념 등장

-행동(action): 마르코프 체인 & 마르코프 보상 과정에서는 전이 확률에 따라 임의로 상태가 변했다면, 마르코프 결정 과정에서는 특정 상태에서 행동을 취함으로써 상태가 변하게 됨

 

*정책: 마르코프 결정 과정에서 좋은 의사결정을 하기 위해 에이전트 내부에 가지고 있는 행동 전략

-어떤 상태에서 어떤 행동을 취할지를 결정

-수식으로는 상태 s에서 행동 a를 수행할 확률로 정의됨 = 현재 상태 s에서 행동의 분포(행동이 선택될 확률)를 표현하는 함수

 

2) 용어 및 수식 정의

(1) 상태 전이 확률 (State Transition Probability)

*마르코프 결정 과정의 전이 확률: 정책이 추가된 마르코프 보상 전이 확률의 가중평균

 

(2) 보상 함수

*마르코프 결정 과정의 보상함수: 정책이 추가된 마르코프 보상 결정의 보상 함수에 대한 가중 평균

 

(3) 정책이 포함된 상태-가치 함수

*마르코프 결정 과정의 상태-가치 함수: 마르코프 보상 과정의 상태-가치 함수와 마찬가지로 상태 s에서 시작했을 때 얻을 수 있는 return의 기댓값

-마르코프 보상 과정과 달리 주어진 정책에 따라 어떤 행동을 취할지 결정 후, 해당 행동을 취해 다음 상태로 이동

Bellman equation을 사용해 식 분리: 현재 상태에서 즉시 받는 보상과, 할인율을 적용한 다음 상태에서의 return 기댓값의 합으로 표현 가능

 

(4) 상태-행동 가치 함수 (State-Action Value Function 혹은 Action-Value Function)

: 상태 s에서 시작해 행동 a를 취했을 때 얻을 수 있는 return의 기댓값 의미

Bellman equation을 사용해 식 분리: 현재 즉시 받는 보사와, 다음 행동을 취했을 때 얻을 수 있는 return 기댓값의 합으로 표현 가능

 

※ State-Value Function vs. Action-Value Function

-상태-가치 함수는 어떤 상태가 더 많은 보상을 얻을 수 있는지 알려줌

-행동-가치 함수는 특정 상태에서 어떤 행동을 취해야 더 많은 보상을 얻을 수 있는지 알려줌

 

(5) 최적 가치 함수 (Optimal Value Function)

*누적된 보상을 최대화하는 최적의 정책을 찾기 위해서는 여러 정책 간 각각의 가치 함수를 비교해야 함

-하나의 정책 A와 다른 정책 B 간 비교 시, 모든 상태에 대해 정책 A의 가치 함수가 정책 B의 가치 함수보다 적어도 같거나 크면 정책 A가 더 좋다고 판단 가능

*최적의 정책 (Optimal Policy): 모든 상태에 대해 다른 정책보다 가치 함수가 적어도 같거나 더 큰 정책

-이 때의 가치 함수를 "최적 가치 함수"라 칭함

 

*최적 상태-가치 함수 (Optimal State-Value Function)

 

*최적 상태-행동 가치 함수 (Optimal State-Action Value Function)

 


※내용 출처: 인터넷의 여러 자료