벨만 방정식을 이용하여 이산시간(discrete-time) LQR을 유도해 보도록 하자. 여기서 마르코프 결정 프로세스(MDP)는 결정적(deterministic) 프로세스로 가정한다.
결정적 프로세스이므로, 특정 상태변수에서 행동이 정해지면 다음(next) 상태변수를 확정적으로 계산할 수 있다. 환경 모델은 다음과 같이 표현된다.
보상(reward)도 확률변수가 아닌 확정된 값으로 주어지며 다음과 같이 정의한다.
여기서
참고로 확정적 정책에서는 행동가치 함수와 상태가치 함수는 동일하다. 여기서 보상과 상태가치 함수를 음수로 정의한 이유는, 강화학습에서는 상태가치 값을 최대로 하는 정책을 찾는 반면, 최적제어에서는 비용함수(cost function)를 최소로 하는 제어법칙을 찾기 때문이다. 식 (3)은 이산시간 LQR의 목적함수와 동일하다.
상태가치 함수의 정의에서 감가율(discount factor)을
으로 이산시간 LQR에 대한 벨만 방정식이 된다.
상태가치 함수가 다음과 같이 상태변수의 제곱 함수 형태로 계산된다고 가정한다면,
벨만 방정식 (4)는
이 된다. 여기서
를 사용한다고 가정하면, 식 (6)은
이 되어, 다음과 같은 리야프노프 방정식(Lyapunov equation)을 유도할 수 있다.
즉, 이산시간 LQR에 대한 벨만 방정식은 리야프노프 방정식과 동일하다. 감가율이
이제 정책 이터레이션을 이산시간 LQR에 적용해 보도록 한다. LQR에 대한 벨만 방정식 (4)를 풀기 위해 정책 이터레이션의 정책 평가 단계를 적용하면 다음과 같다.
여기서 아래 첨자
이 된다. 또한 상태 피드백(state-feedback) 정책,
위 식을 수렴할 때까지 반복하여 계산한다.

그리고 다음 식으로 정책 개선을 수행한다.
여기서
식 (14)에서 다음과 같이 개선된 정책을 계산할 수 있다.
또는 다음과 같이 업데이트된 피드백 게인을 계산할 수 있다.
다시 새로운 정책 식 (15) 또는 (16)에 대해서 정책 평가를 식 (12)를 이용하여 실시하고 이를 이용하여 더 개선된 정책을 계산하는 프로세스를 되풀이한다.

여기서 주의할 점은 초기 정책에 의한 게인, 즉
정책 이터레이션으로 얻어지는 LQR 알고리즘을 Hewer 알고리즘이라고 한다. 이 알고리즘은 시스템 운동 방정식 또는 환경의 운동 방정식, 즉
'AI 딥러닝 > RL' 카테고리의 다른 글
Tensorflow2로 만든 DDPG 코드: BipedalWalker-v3 (0) | 2021.07.09 |
---|---|
가치 이터레이션 (Value Iteration)과 LQR (0) | 2021.06.23 |
Tensorflow2로 만든 SAC 코드: Pendulum-v0 (0) | 2021.06.01 |
Soft Actor Critic (SAC) 알고리즘 - 2 (0) | 2021.05.30 |
Soft Actor Critic (SAC) 알고리즘 - 1 (0) | 2021.05.29 |
댓글