# 강화학습의 기초 용어

강화학습은 순차적으로 행동들을 선택하면서 보상을 최대화하는 의사 결정 전략인 순차적 결정 문제이다

 

이런 순차적 결정 문제를 수학적으로 정의한 것이 마르코프 결정 프로세스 ( MDP ) 이다

 

MDP는 상태(state), 행동(action), 보상 함수(reward functions), 감가율(discount factor), 상태 변환 확률(state transition probabilty)로 구성돼 있다

 


State

Agent는 상태를 기반으로 의사 결정을 함, 상태는 에이전트가 의사 결정하는 데 사용하기 위해 관측, 행동 등을 가공한 정보!! 일반적으로 현재 스텝의 상태는 s라고 표기함

 


Action

Agent가 의사 결정을 통해 취할 수 있는 행동을 의미, 일반적으로 현재 상태에서 취하는 행동을 a라고 표기함, 행동에는 이산적인 행동과 연속적인 행동이 있음

 


Reward Function

Agent가 특정 상태에서 특정 행동을 했을 때 보상을 받게 되고, 에이전트는 이 보상 정보를 통해 학습을 진행함, 일반적으로 현재 상태 s에서 특정 행동 a를 했을 때 얻는 보상의 기댓값을 R이라고 표기함

보상 함수를 식으로 표현

t는 현재 스텝을 의미함

위와 같은 상황이 존재한다고 가정해보자

에이전트는 100퍼센트 선택한 방향의 칸으로 이동한다고 가정해보면 왼쪽으로 가면 다이아를 획득할 수 있고 오른쪽으로 가면 다이아를 못얻는다

 

즉, 다음과 같은 함수의 형태로 표현할 수 있다

 

수식만들기 너무 어려워서 그림으로 그림...


State Transition Probability

상태 s에서 행동 a를 했을 때 다음 상태가 s' 이 될 확률

일반적으로

라고 표기됨

 

 


Policy

정책은 특정 상태에서 취할 수 있는 행동을 선택할 확률 분포를 의미함, 일반적으로 파이(ㅠ)라고 표기됨


감가율과 반환값

강화학습 어떻게 의사 결정을 학습할까?

 

  1. 강화학습에서는 에피소드가 끝나면 지나왔던 상태에서 했던 행동에 대해 정보를 기록함
  2. 그 정보를 이용하여 그다음 에피소드에 의사 결정을 함
  3. 이 과정을 반복

그렇다면 어떤 정보를 기록하면 좋은 의사 결정을 할 수 있을까?

미래에 대한 정보를 미리 알면 좋은 의사 결정을 할 수 있을 거다

따라서 t스텝에서 받았던 보상부터 에피소드가 끝날때 까지 받았던 보상들을 더한 것을 정보로 이용

 

Agent는 효율적인 방법을 스스로 알지 못하므로 Discount Factor(감가율)이라는 개념을 도입함!

 

감가율은 일반적으로 감마라고 표기함

0부터 1사이의 값으로 설정하며, 1에 가까울 수록 미래의 보상에 많은 가중치를 두는 것을 의미!!!

 

감가율이 반영된 보상 정보를 기록하기 위해 t스텝에서 받았던 보상 R(t+1)부터 에피소드가 끝날 때까지 받은 보상에 감가율을 스텝 차이만큼 곱해서 더해줌!!! 

 

음...쉽게 설명해보자면 감가율을 0.9라고 설정해보자!

그럼 매 스텝마다 감가율이 0.9씩 곱해질텐데!(1스텝 제외)

그럼 보상에다가 그냥 0.9가 곱해진다고 생각하면됨!!!! 

 

이 곱해진 값들은 반환값이라고 불리고 통상 G라고 표기됨!

반환값을 수식으로 표현

 

반환값을 기록할 때는 종료된 상태부터 처음 상태까지 거꾸로 계산하는 것이 쉽다고함!!!!!

Agent는 초기상태에서 반환값이 더 높은 곳으로 이동하게 됨!

 

But, Agent가 초기에 잘못된(경로비용이 비싼) 경로를 선택하면, 반환값이 고쳐지지 않기 때문에

이때 필요한 것이 가끔 무작위로 여러 경로를 탐험해보는 것임!

 

탐험과 이용이라는 방법!

 


강화학습의 목적은 보상을 최대화하는 의사 결정 방법을 학습 하는 것이다

가치가 높은 상태를 선택해야하며, 이때 가치가 높다는 것은 반환값에 대한 기댓값이 높다는 것을 의미

이 가치를 수식으로 표현하기 위해 가치 함수 라는 개념이 도입됨

 

가치 함수에는 크게

  1. 상태 가치 함수(가치 함수)
  2. 행동 가치 함수(큐 함수)

2개가 있다

 

 

가치 함수

특정 상태에 대한 가치를 도출하는 함수, 이 함수는 입력으로 상태를 받고 그 상태의 가치를 출력함

 

가치 함수

 

 

큐 함수

특정 행동에 대한 가치를 도출하는 함수, 큐 함수는 입력으로 상태와 행동을 받고 해당 상태에서 행동에 대한 가치를 출력함

큐 함수



강화학습의 기초 이론

  1. 벨만 방정식
  2. 탐험과 이용

 

가치 함수는 어떻게 학습을 할까? 가치 함수는 벨만 방정식을 이용해 업데이트 된다

 


벨만 방정식

 

여기서부터 너무 어려워서 다음 시간에 복습 복습 복습하면서 깨우침을 얻고 다시 올 예정...

From(2022.09.09)