본문 바로가기
  • 저희는 평생 개발할 운명이걸랑요
Tech.log/알고리즘

[강화학습]Marcov Process

by 스다현 2021. 7. 6.

1️⃣강화학습 최종목표

환경(Environment)과 상호작용하는 Agent를 학습 시키는 것.

Agent : 상태(State)라는 상황 안에서 행동(Action)을 취하며 조금씩 학습해 나아간다. action에 의해 양이나 음의 보상(Reward)를 돌려받는다.

정책(Policy) : Agent가 학습을 통해 제공하는 최적의 의사결정 전략

예를 들어 미로탈출 게임이 있다면,

(사진하나 넣자~!)

Action = 위,아래, 오른쪽, 왼쪽

reward

양(+) = 아이템을 얻은 경우

음(-) = 함정에 빠지거나 죽는 경우

0 = 아무것도 하지않고 돌아다니는 경우

("특별하지 않은" 보상이 0인 행동이 반드시 필요함 → why? 이를 통해서 실제로 보상 발생시, 어떻게 발생시켰는지를 찾아내기 위해 필요)

직전의 상태는 또한 그 이전의 상태와 그 이전에 한 행동의 결과이므로 계속 올라가다보면 처음 시작했던 시점까지 갈 수 있다. 이렇게 연결된 모든 state와 action, reward는 현재 상태를 결정짓게되고, 현재 state에서 Agent의 선택 결정에 큰 영향을 미친다.

문제점

Agent가 다음 state로 넘어갈 때마다 점점 더 많은 정보가 저장되어야한다. 이렇게 많은 데이터를 가지고 연산을 해야한다는 문제가 생긴다. → solution : Marcov Decision Process

2️⃣Marcov Decision Process(마르코프 결정 프로세스)

" 미래를 결정하는 것은 오로지 현재일 뿐, 과거는 영향을 미치지 않는다 "

  • 공식설명
    • S = 현재상태, S_t+1이 일어날확률과
    • S_1,S_2....,S_t S_t : 최초부터 현재까지 모든상태 일때 S_t+1이 일어날 확률과 같다

Marcov assumption :

다음state를 위해 현재 state만 고려한다. 그래서 현재 state를 결정한 것은 오직 직전 상태이이다. 그래서 시간이 지남에 따라 데이터를 잃는다.

결론 :

어떤 시간에 특정 state에 도달하던, 그 이전에 어떤 state를 거쳐왔던 다음 state로 갈 확률은 항상 같다. (다음 state를 위해서 오로지 현재 state만 고려한다.)

댓글