인공지능
Dynamic Programming
강원대학교 컴퓨터공학과 최우혁
지난 시간에…
2
지난 시간에…
3
지난 시간에…
4
지난 시간에…
5
지난 시간에…
6
강의 순서
7
이번 시간에…
8
Dynamic Programming?
9
어원
Dynamic Programming?
10
나는 RAND에서 1950년의 가을을 보냈다. 여기에서 내게 주어진 첫 과제는 다단계Multi-stage 의사 결정 프로세스에 대해 적절한 용어를 명명하는 것이었다. '동적 계획법'이라는 이름이 어디에서 왔는지 궁금하지 않은가? 1950년대는 내가 수학에 대해 연구하기에는 좋지 못한 시기였다. 우리는 그 때 워싱턴에서 윌슨이라는 사람과 함께 일하고 있었다. 윌슨은 연구라는 것에 대해 굉장히 병적인 공포를 가지고 있었다. 사람들이 그 앞에서 연구라는 단어를 쓰면 그는 완전히 미치다시피 했다. 그러나 불행히도 RAND는 공군 소속의 회사였고, 윌슨은 그 공군의 간부인 국방 위원장 이었다. 그래서, 나는 윌슨과 공군으로부터 내가 수학을 연구하고 있다는 사실을 숨길 필요가 있었다. 어떤 단어를 선택해야 했을까? 처음에는 Planning. Decision Making, Thinking 등의 단어를 고려했었다. 하지만, 몇 가지 이유로 해당 단어들이 좋은 선택이 아님을 깨달았고, 대신 사람들이 알지 못하게 Programming이라는 단어를 선택했다. 또한 나는 이 방법이 다단계Multi-stage로 이루어져 있고, 시가변적Time-varying이며, 동적Dynamic이라는 개념이 전달되길 원했다. 특히, 동적Dynamic이라는 형용사는 어떤 단어와 조합해도 긍정적인 의미가 있다고 생각했다. 그래서, 동적 계획법Dynamic Programming이 좋은 이름이라고 생각했으며, 내가 하는 연구를 윌슨과 공군으로부터 숨기는 데 사용했다.
- Richard E. Bellman의 자서전, 태풍의 눈Eyes of Hurricane 중
Richard Ernest Bellman, 응용수학자
동적 계획법Dynamic Programming, 벨만 방정식Bellman Equation, 차원의 저주Curse of Dimensionality 등을 제시
특징
Dynamic Programming?
11
동적 계획법을 적용할 수 있는 문제
Dynamic Programming?
12
동적 계획법과 벨만 방정식
Dynamic Programming?
13
Value Iteration
14
(Recap) 벨만 최적 방정식
Value Iteration
15
(Recap) 벨만 최적 방정식
Value Iteration
16
(Recap) 벨만 최적 방정식
Value Iteration
17
(Recap) 벨만 최적 방정식
Value Iteration
18
(Recap) 벨만 최적 방정식
Value Iteration
19
(Recap) 벨만 최적 방정식
Value Iteration
20
최적 상태 가치 함수의 추정
Value Iteration
21
최적 상태 가치 함수의 추정
Value Iteration
22
최적 상태 가치 함수의 추정
Value Iteration
23
최적 상태 가치 함수의 추정
Value Iteration
24
최적 상태 가치 함수의 추정
Value Iteration
25
최적 상태 가치 함수의 추정
Value Iteration
26
최적의 정책
Value Iteration
27
예.
Value Iteration
28
예. 최적 상태 가치 함수의 추정
Value Iteration
29
V*(s) | sNormal | sHeated | sOverheated |
V*(0)(s) | 0 | 0 | 0 |
V*(1)(s) | | | 0 |
V*(2)(s) | | | 0 |
예. 최적 상태 가치 함수의 추정
Value Iteration
30
V*(s) | sNormal | sHeated | sOverheated |
V*(0)(s) | 0 | 0 | 0 |
V*(1)(s) | 2 | | 0 |
V*(2)(s) | | | 0 |
예. 최적 상태 가치 함수의 추정
Value Iteration
31
V*(s) | sNormal | sHeated | sOverheated |
V*(0)(s) | 0 | 0 | 0 |
V*(1)(s) | 2 | 1 | 0 |
V*(2)(s) | | | 0 |
예. 최적 상태 가치 함수의 추정
Value Iteration
32
V*(s) | sNormal | sHeated | sOverheated |
V*(0)(s) | 0 | 0 | 0 |
V*(1)(s) | 2 | 1 | 0 |
V*(2)(s) | 3.5 | | 0 |
예. 최적 상태 가치 함수의 추정
Value Iteration
33
V*(s) | sNormal | sHeated | sOverheated |
V*(0)(s) | 0 | 0 | 0 |
V*(1)(s) | 2 | 1 | 0 |
V*(2)(s) | 3.5 | 2.5 | 0 |
예. 최적의 정책
Value Iteration
34
V*(s) | sNormal | sHeated | sOverheated |
V*(0)(s) | 0 | 0 | 0 |
V*(1)(s) | 2 | 1 | 0 |
V*(2)(s) | 3.5 | 2.5 | 0 |
예. 최적의 정책
Value Iteration
35
V*(s) | sNormal | sHeated | sOverheated |
V*(0)(s) | 0 | 0 | 0 |
V*(1)(s) | 2 | 1 | 0 |
V*(2)(s) | 3.5 | 2.5 | 0 |
Pseudocode
Value Iteration
36
상태 가치 함수를 임의의 값으로 초기화;
단 종료 상태의 상태 가치 함수는 0으로 둠
최적 상태 가치 함수의 값이
수렴할 때까지 업데이트
행동 가치 함수의 값을 최대화하는 행동을 선택하는 정책 생성
Synchronous vs. Asynchronous Backups
Value Iteration
37
Synchronous vs. Asynchronous Backups
Value Iteration
38
V*(s) | sNormal | sHeated | sOverheated |
V*(0)(s) | 0 | 0 | 0 |
V*(1)(s) | 2 | 1 | 0 |
V*(2)(s) | 3.5 | 2.5 | 0 |
Synchronous vs. Asynchronous Backups
Value Iteration
39
V*(s) | sNormal | sHeated | sOverheated |
V*(0)(s) | 0 | 0 | 0 |
V*(1)(s) | 2 | 1 | 0 |
V*(2)(s) | 3.5 | 2.5 | 0 |
단점: 비효율적
Value Iteration
40
V*(s) | sNormal | sHeated | sOverheated |
V*(0)(s) | 0 | 0 | 0 |
V*(1)(s) | 2 | 1 | 0 |
V*(2)(s) | 3.5 | 2.5 | 0 |
단점: 비효율적
Value Iteration
41
다음 시간에…
42
인공지능
Dynamic Programming
강원대학교 컴퓨터공학과 최우혁
강의 순서
44
지난 시간에…
45
지난 시간에…
46
이번 시간에…
47
Policy Iteration
48
(Recap) 벨만 기대 방정식
Policy Iteration
49
(Recap) 벨만 기대 방정식
Policy Iteration
50
(Recap) 벨만 기대 방정식
Policy Iteration
51
(Recap) 벨만 기대 방정식
Policy Iteration
52
(Recap) 벨만 기대 방정식
Policy Iteration
53
(Recap) 벨만 기대 방정식
Policy Iteration
54
벨만 기대 방정식: 추정
Policy Iteration
55
벨만 기대 방정식: 추정
Policy Iteration
56
벨만 기대 방정식: 결정적 정책
Policy Iteration
57
Policy Evaluation
Policy Iteration
58
Policy Evaluation
Policy Iteration
59
Policy Evaluation
Policy Iteration
60
Policy Evaluation
Policy Iteration
61
Policy Improvement
Policy Iteration
62
Evaluation ⇆ Improvement = Policy Iteration
Policy Iteration
63
Policy Evaluation
Policy Improvement
Generalized Policy Iteration, GPI
Policy Iteration
64
Pseudocode
Policy Iteration
65
정책이 수렴할 때까지 반복
Policy Evaluation
Policy Improvement
Policy Improvement?
Policy Iteration
66
Policy Improvement Theorem
Policy Iteration
67
Policy Improvement Theorem
Policy Iteration
68
Policy Improvement Theorem: Proof
Policy Iteration
69
Policy Improvement Theorem: Proof
Policy Iteration
70
Value Iteration vs. Policy Iteration
Policy Iteration
71
Dynamic Programming vs.
Reinforcement Learning
72
동적 계획법 vs. 강화 학습
Dynamic Programming vs. Reinforcement Learning
73
동적 계획법 vs. 강화 학습
Dynamic Programming vs. Reinforcement Learning
74
동적 계획법 vs. 강화 학습
Dynamic Programming vs. Reinforcement Learning
75
동적 계획법 vs. 강화 학습
Dynamic Programming vs. Reinforcement Learning
76
동적 계획법 vs. 강화 학습
Dynamic Programming vs. Reinforcement Learning
77
동적 계획법 vs. 강화 학습
Dynamic Programming vs. Reinforcement Learning
78
다음 시간에…
79