[paper review] Residual-MPPI: Online Policy Customization for Continuous Control

Wang et al., “Residual-MPPI: Online Policy Customization for Continuous Control,” 2024.

Residual-MPPI paper review

🛠️ Writing in progress 🛠️ (Updated Jul 2026)

Residual-MPPI는 이미 학습된 continuous control policy를 새로 학습하지 않고, 실행 시점에서 추가 요구사항에 맞게 조금 고쳐 쓰는 방법입니다. 논문에서 사용하는 표현은 online policy customization이고, 개인적으로는 기존 정책을 버리지 않는 MPC 기반 후처리라고 이해하는 쪽이 편했습니다.

GT Sophy 예시가 가장 직관적입니다. GT Sophy 1.0은 빠르게 달리는 데 매우 강하지만, 시뮬레이터 안에서는 잔디 위에서도 안정적으로 주행할 수 있기 때문에 코스 밖을 밟는 aggressive route를 선택합니다. 논문은 이 policy를 처음부터 다시 학습시키는 대신, 기존 racing 성능은 유지하면서 on-course constraint를 더 잘 만족하도록 action을 수정합니다.

Agenda

  • policy customization 문제 세팅
  • RQL에서 log policy term이 나오는 이유
  • MPC, MPPI가 action을 고치는 방식
  • Residual-MPPI의 planning loop <!– - dynamics learning과 zero-shot, few-shot 차이
  • MuJoCo, GTS 실험에서 확인할 부분 –>

Policy customization

기본 문제는 MDP로 적습니다.

\[M = (\mathcal{X}, \mathcal{U}, r, p)\]

여기서 중요한 것은 MDP의 구성요소 자체보다, 이미 이 문제를 풀도록 학습된 prior policy가 있다는 점입니다. 예를 들어 MuJoCo에서는 앞으로 달리기, 점프하기 같은 basic task가 있고, GTS에서는 빠르게 racing하는 것이 basic task에 해당합니다.

새 요구사항이 붙으면 reward는 다음처럼 바뀝니다.

\[\hat{M} = (\mathcal{X}, \mathcal{U}, \omega r + r_R, p)\]

$r$은 기존 reward이고, $r_R$은 add-on reward입니다. $\omega$는 기존 task와 추가 요구사항 사이의 balance를 조절합니다.

실제로 까다로운 부분은 $r$에 항상 접근할 수 없다는 점입니다. imitation learning으로 학습된 policy라면 명시적인 reward가 없을 수도 있고, 이미 배포된 policy라면 원래 학습에 사용한 reward나 critic에 접근하지 못할 수도 있습니다. GTS 실험에서도 논문은 GT Sophy 1.0의 policy network에만 접근할 수 있었고, critic function이 필요한 Valued-MPPI는 사용할 수 없었습니다.

그래서 이 논문은 새 policy를 다시 학습하기보다, prior policy가 가진 action distribution을 이용합니다.

RQL and log likelihood

RQL의 핵심은 원래 reward를 모르는 상황에서 다음 augmented MDP를 푸는 것입니다.

\[M_{\mathrm{aug}} = (\mathcal{X}, \mathcal{U}, r_R(x,u) + \omega' \log \pi(u \mid x), p)\]

처음 보면 $\log \pi(u \mid x)$는 prior policy와 너무 멀어지지 않게 하는 penalty처럼 보입니다. 하지만 논문에서 이 항은 단순히 가까이 붙잡아두는 항보다 더 중요한 역할을 합니다.

maximum entropy policy에서는 policy distribution과 soft Q-function이 다음 형태로 연결됩니다.

\[\pi^*(u \mid x) \propto \exp\left(\frac{1}{\alpha} Q^*(x,u)\right)\]

로그를 취하면 같은 state 안에서는 normalization term을 제외하고 soft Q와 비슷한 방향의 점수로 볼 수 있습니다.

\[\log \pi^*(u \mid x) = \frac{1}{\alpha}Q^*(x,u) - \log Z_x\]

즉 prior policy가 어떤 action을 높은 likelihood로 본다는 것은, 그 action이 기존 task에서 장기적으로 좋은 action일 가능성이 높다는 의미가 됩니다. 그래서 $\log \pi(u \mid x)$는 기존 reward를 직접 모를 때 원래 task 정보를 전달하는 proxy처럼 쓰입니다.

이 관점이 중요합니다. Greedy하게 add-on reward만 최적화하면 코스 밖으로 나가지 않기 위해 차가 멈춰버리는 식의 local optimum이 나올 수 있습니다. 반대로 log policy term을 같이 보면, 코스 안에 머무르면서도 GT Sophy가 할 법한 racing behavior를 유지하려는 방향으로 action이 선택됩니다.

Dynamics model

MPPI는 후보 action sequence를 실제 환경에서 모두 실행해보지 않습니다. 대신 learned dynamics model로 미래를 rollout합니다.

\[x_{t+1} = F(x_t, u_t)\]

여기서 $F$는 현재 state와 action을 받아 다음 state를 예측하는 모델입니다. 자동차로 보면 현재 위치, 속도, 방향과 steering, throttle, brake가 들어가고, 다음 순간의 차량 상태가 나옵니다.

이 모델이 필요한 이유는 단순합니다. MPPI는 수백 개에서 수만 개의 action sequence를 평가해야 합니다. 실제 자동차나 로봇으로 모든 후보를 실행할 수는 없으니, 모델 안에서 먼저 굴려보고 점수를 매깁니다.

문제는 model error입니다. 한 step 예측은 그럴듯해도 여러 step을 반복하면 오차가 쌓입니다. 그래서 논문은 dynamics를 학습할 때 multi-step error를 사용합니다.

\[\mathcal{L}(\theta) = \sum_{t=0}^{T} \gamma^t \lVert s_t - \hat{s}_t \rVert^2\]

한 step 뒤만 맞추는 모델보다, planning horizon 안에서 계속 굴려도 덜 무너지는 모델이 MPPI에는 더 중요합니다.

MPC

MPC는 미래를 예측해서 action sequence를 만들지만, 실제로는 첫 action만 실행합니다.

\[U = (u_0, u_1, \dots, u_{T-1})\]

현재 state에서 앞으로 $T$ step 동안의 action plan을 만들고, dynamics model로 미래 trajectory를 계산합니다. 가장 좋아 보이는 plan을 찾더라도 실제 시스템에는 $u_0$만 보냅니다.

\[\text{execute } u_0 \text{ only}\]

이후 다음 state를 다시 관측하고 같은 과정을 반복합니다. 미래 예측은 항상 틀릴 수 있으므로, 긴 계획을 그대로 밀어붙이기보다 짧게 실행하고 계속 다시 계획하는 편이 안정적입니다.

Residual-MPPI도 이 receding horizon 방식 위에서 동작합니다. 그래서 planning horizon이 길수록 먼 미래를 볼 수 있지만, dynamics error와 계산량이 같이 커집니다.

MPPI

MPPI는 sampling-based MPC입니다. 기본 control sequence를 하나 두고, 그 주변에 noise를 더한 후보들을 만듭니다.

\[\hat{U} = (\hat{u}_0, \hat{u}_1, \dots, \hat{u}_{T-1})\] \[E^k = (\epsilon_0^k, \epsilon_1^k, \dots, \epsilon_{T-1}^k)\] \[U^k = \hat{U} + E^k\]

각 candidate는 dynamics model로 rollout되고, 누적 score를 받습니다. 일반적인 MPPI에서는 다음처럼 reward와 terminal value를 합쳐 action sequence를 평가합니다.

\[S_{x_0}(U) = \sum_{t=0}^{T-1} r(x_t,u_t) + \phi(x_T)\]

점수가 높은 candidate에는 더 큰 weight를 줍니다.

\[w_k = \frac{ \exp\left(\frac{1}{\lambda}(S(E^k)-\beta)\right) }{ \sum_{j=1}^{K}\exp\left(\frac{1}{\lambda}(S(E^j)-\beta)\right) }\]

그 다음 좋은 candidate들이 가지고 있던 noise 방향을 weighted average해서 nominal sequence에 더합니다.

\[\hat{u}_t \leftarrow \hat{u}_t + \sum_{k=1}^{K} w_k \epsilon_t^k\]

이 업데이트가 꽤 직관적입니다. 좋은 후보들이 공통적으로 steering을 조금 줄였거나 brake를 조금 더 밟았다면, nominal action도 그 방향으로 이동합니다. 그래서 MPPI는 최적 candidate 하나를 고르는 방식이라기보다, 좋은 후보들의 residual direction을 평균내는 방식에 가깝습니다.

Residual-MPPI loop

Residual-MPPI에서 nominal sequence는 prior policy로 초기화됩니다.

\[\hat{u}_t = \arg\max_u \pi(u \mid x_t)\] \[x_{t+1} = F(x_t, \hat{u}_t)\]

즉 완전히 random한 action space를 탐색하지 않고, 기존 policy가 할 법한 trajectory 주변에서 후보를 만듭니다. continuous action space에서는 이 차이가 큽니다. action dimension과 horizon이 커질수록 아무 prior 없이 좋은 sequence를 찾는 것은 매우 비효율적이기 때문입니다.

후보 action sequence는 다음 augmented score로 평가됩니다.

\[S_{x_0}^{\mathrm{aug}}(U) = \sum_{t=0}^{T-1} \gamma^t \left( r_R(x_t,u_t) + \omega' \log \pi(u_t \mid x_t) \right)\]

이 수식 하나가 논문 전체를 거의 요약합니다.

$r_R$은 새 요구사항을 반영하고, $\log \pi$는 prior policy가 학습한 기존 task 정보를 반영합니다. $\omega’$는 이 둘의 balance를 정합니다. $\omega’$가 너무 크면 prior policy에 가까워져 add-on task 개선이 약해지고, 너무 작으면 Greedy-MPPI처럼 add-on reward에 치우쳐 원래 task가 무너질 수 있습니다.

결국 Residual-MPPI는 prior policy의 action을 직접 바꾸는 것이 아니라, 실행 시점마다 prior action sequence 위에 residual correction을 얹는 형태입니다.

Zero-shot and few-shot

논문에서 zero-shot과 few-shot의 차이는 policy를 학습하느냐가 아닙니다. 둘 다 prior policy 자체는 그대로 둡니다.

설정 dynamics model policy
zero-shot offline trained dynamics를 그대로 사용 업데이트 없음
few-shot online trajectory로 dynamics fine-tuning 업데이트 없음

few-shot이 필요한 이유는 Residual-MPPI가 prior policy와 다른 state를 방문할 수 있기 때문입니다. dynamics dataset이 prior policy rollout 중심으로 모였다면, customized planner가 가는 새로운 영역에서는 model prediction이 부정확할 수 있습니다.

그래서 few-shot setting에서는 Residual-MPPI로 실제 rollout을 모으고, 그 data로 dynamics model을 다시 맞춥니다. 이 보정은 특히 GTS에서 효과가 있었습니다.

References

  • Residual-MPPI: Online Policy Customization for Continuous Control, ICLR 2025
  • Residual Q-Learning: Offline and Online Policy Customization without Value
  • Information Theoretic MPC for Model-Based Reinforcement Learning
  • Soft Actor-Critic: Off-Policy Maximum Entropy Deep Reinforcement Learning with a Stochastic Actor