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만 고려한다.)
'Tech.log > 알고리즘' 카테고리의 다른 글
[최소 신장 트리(MST, Minimum Spanning Tree)] (0) | 2021.05.30 |
---|---|
[Fibonacci에서의 세 가지(Recursion, Dynamic Programming,Bottom-Up Approach] (0) | 2021.05.30 |
[DFS와 BFS의 차이] (0) | 2021.05.30 |
[Stable Sort(안정 정렬) vs Unstable Sort(불안정 정렬)] (0) | 2021.05.29 |
[꼬리 재귀(Tail Recursion)] (0) | 2021.05.18 |
댓글