일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- Linear Regression
- NLP
- 애쉬브라운
- MB
- cost function
- Richard Socher
- 자연어처리
- 다이내믹 프로그래밍
- MDP
- 페미니즘
- model free
- 머신러닝
- 딥러닝
- tensorflow
- 벨만 방정식
- 파이썬
- 리처드소처
- 강화학습
- ai
- 행복
- 폴댄스
- Gradient descent
- 인공지능
- 취미
- 파이썬과 케라스로 배우는 강화학습
- kbpf
- CS224N
- 독서
- 딥뉴럴넷
- 양성평등
- Today
- Total
Ordinary day
강화학습 스터디 2주차 본문
(파이썬과 케라스로 배우는 강화학습을 읽고 요약정리 한 것입니다.)
1. 다이내믹 프로그래밍 Dynamic Programing
다이내믹 프로그래밍은 작은 문제가 큰 문제 안에 중첩돼 있는 경우에 작은 문제의 답을 다른 작은 문제에서 이용함으로써 효율적으로 계산하는 방법.
리처드 벨만이 처음 제시했으며, 최적화에 관련된 방정식이다.
기본적인 아이디어는 큰 문제 안에 작은 문제들이 중첩된 경우에 전체 큰 문제를 작은 문제로 쪼개서 풀겠다는 것.
작은 문제의 답들을 서로서로 이용할 수 있어 계산량을 줄일 수 있다.
2. 정책 이터레이션 Policy Iteration
Policy Iteration은 다이내믹 프로그래밍의 한 종류로, 벨만 기대 방정식을 사용해 MDP 문제를 푸는 것.
MDP 문제에서 결국 우리가 알고 싶은 것은 가장 높은 보상을 얻게 하는 정책을 찾는 것이다.
처음에는 이 정책을 알 수 없으므로 보통 무작위로 시작하여 정책을 발전시켜 나간다.
-> Policy Evaluation, Policy Improvement 를 무수히 반복하여 최적 정책을 찾을 수 있음.
3. 정책 평가 Policy Evaluation
Policy Iteration에서 정책을 평가하고 이를 통해 발전시켜나가야 하는데, 평가는 어떻게 할 수 있을까?
앞에서 말했던 Value Function이 정책이 얼마나 좋은지 판단하는 근거가 된다. (어떤 policy를 따라가야 많은 보상을 받을 수 있을지)
모든 상태에 대해서 그 다음 상태가 될 수 있는 행동에 대한 보상의 합을 현재 상태 자리에 저장하는 것이 Policy Evaluation의 과정이다.
즉 주변 상태의 가치함수와 바로 다음 스텝에서 얻어지는 보상만 고려해서 현재 상태의 다음 가치함수를 계산하겠다는 것이다.
이렇게 계산한 값이 실제 값은 아니지만 무한히 반복한다면 참 값으로 수렴할 것이다.
4. 정책 발전 Policy Improvement
Policy Improvement의 방법은 정해져 있지 않지만 가장 널리 알려진 방법은 Greedy Policy Improvement 이다.
Greedy Policy Improvement 에이전트가 할 수 있는 행동들의 큐함수를 비교하고 가장 큰 큐함수를 가진 행동을 취하는 것이다.
Greedy Policy Improvement을 통해 policy를 업데이트 하면 이전 가치함수에 비해 업데이트된 정책으로 움직였을 때 받을 가치함수는 무조건 크거나 같다. 따라서 장기적으로 본다면 최적 정책에 수렴할 수 있다.
'Study > ML 이론' 카테고리의 다른 글
강화학습 스터디 4주차 (0) | 2017.10.09 |
---|---|
강화학습 스터디 3주차 (0) | 2017.09.28 |
강화학습 스터디 1주차 (0) | 2017.09.12 |
모두를 위한 머신러닝(RL) - Q-learning (1) | 2017.04.10 |
Andrew Ng 머신러닝 기초 강의 - Neural Networks: Learning (0) | 2017.03.10 |