벨만 방정식

DM wiki
Kim135797531 (토론 | 기여)님의 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)가 작아지는 방향으로 업데이트 (그러다언트)