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의 기댓값
-마르코프 보상 과정과 달리 주어진 정책에 따라 어떤 행동을 취할지 결정 후, 해당 행동을 취해 다음 상태로 이동
(4) 상태-행동 가치 함수 (State-Action Value Function 혹은 Action-Value Function)
: 상태 s에서 시작해 행동 a를 취했을 때 얻을 수 있는 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)
※내용 출처: 인터넷의 여러 자료
'연구 프로젝트 > 강화학습 챗봇' 카테고리의 다른 글
[Offline 강화학습 챗봇] Policy Gradient를 이용한 구현 도전기 - KoGPT2 Fine-tuning (1) (0) | 2023.08.20 |
---|---|
[강화학습] Q-Learning vs. Policy Gradient Method (0) | 2023.07.20 |
강화학습을 우울함 해소 챗봇에 적용한다면? (0) | 2023.07.16 |
강화학습 방식 예시 및 챗봇 적용 방안 (0) | 2023.07.16 |
강화학습을 이용해 챗봇을 구현할 시 고려해야 할 점 (2023.01.25일자) (0) | 2023.07.05 |