"벨만 방정식"의 두 판 사이의 차이
둘러보기로 이동
검색으로 이동
Kim135797531 (토론 | 기여) (새 문서: ===벨만 방정식=== * 이제 이것도 좀 외울때 되지 않았냐 ====배경==== * 시간 t에서의 상태 s, 그 때의 행동 a를 취했을 때 '''가치'''를 알고 싶...) |
Kim135797531 (토론 | 기여) |
||
1번째 줄: | 1번째 줄: | ||
==벨만 방정식== | |||
* 이제 이것도 좀 외울때 되지 않았냐 | * 이제 이것도 좀 외울때 되지 않았냐 | ||
====배경==== | ====배경==== | ||
11번째 줄: | 11번째 줄: | ||
* 결정적 정책이라고 가정하면 -> 즉 off-policy로 바꿀 수 있다. | * 결정적 정책이라고 가정하면 -> 즉 off-policy로 바꿀 수 있다. | ||
* Q(s, a) = E[r(s, a) + Q(s', a')] | * Q(s, a) = E[r(s, a) + Q(s', a')] | ||
==DDPG== | |||
* 액터크리틱, 오프폴리시 | |||
* (Q함수)랑 (정책함수) 만듦 | |||
* Q함수를 복제한 (타겟 Q함수)랑 (타겟 정책함수) 만듦 | |||
* 학습 | |||
** Q함수의 오차 | |||
*** y = r + γQ'(s', a) 구함 (보상이랑 타겟q로 계산한 가치 더함) | |||
*** Q(s, a) 구함 | |||
*** 오차 = y - Q(s, a)의 평균 | |||
*** 즉, 현재 상태의 가치랑 다음 상태의 가치랑 차이가 없어야됨 | |||
*** 즉, 현재 상태가 이미 최고 가치여야됨 | |||
*** 즉, 다음 상태는 가치가 없어야 함 (이미 달성했으므로) | |||
*** 오차 최소화로 최적화 | |||
** 정책 업데이트 | |||
*** Q(s, a)가 작아지는 방향으로 업데이트 (그러다언트) |
2019년 10월 29일 (화) 08:06 기준 최신판
벨만 방정식
- 이제 이것도 좀 외울때 되지 않았냐
배경
- 시간 t에서의 상태 s, 그 때의 행동 a를 취했을 때 가치를 알고 싶다.
- 그럼 시간 t 이후의 모든 상황에 대한 보상을 다 알아야 하는데 어렵다.
- Q(s, a) = E[R|s, a]
벨만 방정식
- 재귀 형태로 변형하는게 아이디어
- (시간 t에서의 가치)는 (딱 t에서의 보상)+(t+1부터 그 이후의 가치로 변형)
- Q(s, a) = E[r(s, a) + E[Q(s', a')]]
- 결정적 정책이라고 가정하면 -> 즉 off-policy로 바꿀 수 있다.
- Q(s, a) = E[r(s, a) + Q(s', a')]
DDPG
- 액터크리틱, 오프폴리시
- (Q함수)랑 (정책함수) 만듦
- Q함수를 복제한 (타겟 Q함수)랑 (타겟 정책함수) 만듦
- 학습
- Q함수의 오차
- y = r + γQ'(s', a) 구함 (보상이랑 타겟q로 계산한 가치 더함)
- Q(s, a) 구함
- 오차 = y - Q(s, a)의 평균
- 즉, 현재 상태의 가치랑 다음 상태의 가치랑 차이가 없어야됨
- 즉, 현재 상태가 이미 최고 가치여야됨
- 즉, 다음 상태는 가치가 없어야 함 (이미 달성했으므로)
- 오차 최소화로 최적화
- 정책 업데이트
- Q(s, a)가 작아지는 방향으로 업데이트 (그러다언트)
- Q함수의 오차