RFPO가 플로우 정책의 1스텝 실행 손실을 줄인다
RFPO: Rectified Flow Policy Optimization for Embodied Control
무엇인가
플로우 기반 정책은 같은 관측 아래 여러 유효한 제어 전략이 존재할 때 가우시안 정책보다 표현력이 높지만, 추론 시 t=1(노이즈)에서 t=0(행동)까지 ODE를 반복 적분해야 해서 비용이 크다. 이 논문이 지적하는 핵심 문제는 "few-step discretization gap"이다. 기존 플로우 정책 강화학습은 학습 시 사용한 적분 예산(표준 64 오일러 스텝)에서의 제어 성능만 최적화할 뿐, 벡터 필드가 성긴 적분에서도 수치적으로 신뢰할 만하도록 명시적으로 제약하지 않는다. 그래서 스텝을 줄이면 생성되는 행동이 크게 달라지고 제어가 급격히 무너진다. 기존 Reflow, 일관성 학습, 정책 증류 같은 기법들은 생성 모델링·모방 학습·사후 가속을 겨냥한 것이라 보상 기반 온폴리시 최적화와 결합되어 있지 않다는 것이 저자들의 진단이다.
어떻게 동작하나
RFPO는 FPO++의 온폴리시 액터-크리틱 목적함수(L_FPO)를 그대로 유지한 채 세 가지 보조 신호를 더한다. 첫째는 보상 인지 온라인 Reflow로, 현재 학생 정책이 스스로 만든 전이 경로를 온폴리시 학습 중에 반복적으로 교정해 성긴 적분에 강건한 벡터 필드를 만든다. 둘째는 동결된 가우시안 PPO 컨트롤러가 제공하는 다중 예산 행동 공간 감독이다. 셋째는 적응적 연산 정규화로, 학습 중 다양한 솔버 예산에 학생을 노출시킨다. 배포 시에는 이 보조 구성요소를 모두 제거하고 단일 플로우 학생 정책만 1스텝 오일러로 실행한다.
무엇과 다른가
보상 인지 온라인 Reflow의 절차는 구체적이다. 미니배치 관측마다 4개의 보조 초기화를 뽑는데, 확률 0.25로 0(결정론적 배포 조건), 나머지는 가우시안 노이즈로 샘플링한다. 이 혼합은 보조 Reflow·증류 손실에만 적용되고 온폴리시 롤아웃 수집은 가우시안 초기화를 유지한다. 현재 학생이 64스텝으로 만든 종단점을 stop-gradient로 고정한 뒤, 그 (노이즈, 종단점) 쌍에 대해 직선 경로와 목표 속도를 구성하고 CFM 회귀 손실을 계산한다. 이때 결합(coupling)은 외부 PPO 교사가 아니라 진화하는 학생 자신이 유도한다는 점이 중요하다. 손실은 온폴리시 어드밴티지로 가중되는데, w_i = [A_i − τ]_+ (τ=0)로 양의 어드밴티지를 가진 샘플에 가중치를 몰아주고, 미니배치 전체가 비양수면 균등 가중치를 쓴다. 즉 제어에 유용한 행동 쪽으로 경로 교정을 집중시킨다.
어떻게 쓰나
나머지 두 축도 역할이 분리되어 있다. 다중 예산 증류는 동결된 PPO 컨트롤러의 행동을 정답으로 삼아 학생을 64·8·4 스텝 예산에서 동시에 감독한다. 여기에 1스텝은 의도적으로 포함되지 않으므로, 1스텝 거동은 1스텝 교사 감독 없이 얻어진다. 적응적 연산 정규화는 관측을 받아 {1,4,8,16,64} 예산에 대한 범주 분포를 내는 경량 예측기를 두고, 최고 확률 예산으로 실행한 행동을 0-초기화 64스텝 행동에 맞추는 충실도 항과 기대 예산을 벌점으로 주는 비용 항, 양의 어드밴티지 보너스를 합친다(α=1, β=0.1). 최종 목적함수는 L_FPO + 1.0·L_reflow + 0.1·L_KD + 0.1·L_ada이며, 예산 예측기는 학습에만 쓰이고 배포에는 필요 없다. 배포는 ε=0으로 고정하고 단일 오일러 스텝만 실행한다.
전제와 한계
실험은 두 종족(사족)과 두 휴머노이드, 즉 Unitree Go2, Boston Dynamics Spot, Unitree H1, Unitree G1(29 DoF)에서 수행했다. 베이스라인은 가우시안 PPO, FPO++, PPO 행동 감독만 쓰는 KD-only, 그리고 Go2 상세 절제용으로 uniform Reflow, 어드밴티지 가중 Reflow, Reflow+KD다. 평가는 256개 병렬 환경에서 환경당 1 에피소드, EMA 체크포인트(decay 0.95, 500스텝 워밍업)를 사용했다. 0-초기화에서 64스텝을 1스텝으로 줄였을 때 평균 리턴 변화는 Go2 −1.5%, Spot +0.4%, H1 −0.9%, G1 +1.7%에 그쳤고, 랜덤 초기화에서도 네 종족 모두 2.4% 이내였다. 반면 FPO++는 모든 과제에서 큰 격차를 보였고 KD-only도 1스텝에서 심하게 무너졌다.
Go2 절제 실험의 숫자가 문제의 크기를 잘 보여준다. 0-초기화 리턴 기준으로 FPO++는 64스텝 21.29에서 1스텝 −187.70으로, KD-only는 1스텝에서 −4919.70으로 붕괴했다. uniform Reflow는 33.57에서 32.84로 거의 평평했고, Reflow+KD와 RFPO는 전 구간에서 강건했다. 보상만 보면 안 된다는 증거도 있다. 1스텝 전진 속도 추종 오차와 낙상률은 FPO++ 0.883/0.680, KD-only 0.810/0.334였고, uniform Reflow는 0.070에 낙상 0건, Reflow+KD 0.068, RFPO 0.075에 낙상 0건이었다. 흥미롭게도 어드밴티지 가중 Reflow는 1스텝 에피소드 리턴은 높았지만 추종 오차가 0.805로, 에피소드 보상 강건성만으로 명령 추종 정확도를 보장할 수 없음을 보여준다. 온보드 추론은 Go2 CPU에서 단일 스레드 ONNX Runtime으로 측정해 평균 지연이 4.39ms에서 0.08ms로(54.9배), p99가 20.06ms에서 0.10ms로 줄었다. 전자는 50Hz 제어 루프 주기와 맞먹는 값이다. 실로봇에서는 Go2에 0-초기화 1스텝 오일러로 배포해 전진·측방·요 회전을 검증했고, 시뮬레이션 재생 대비 관절 위치 상관계수 0.992~0.997, MAE 0.055~0.085를 보고했다. Go2 정책은 기저 선속도를 포함하지 않는 45차원 고유수용 감각 관측을 받는다.
개발자 관점에서 이 논문의 실용적 메시지는 명확하다. 표현력 높은 생성 정책을 로봇에 올릴 때 병목은 학습이 아니라 배포 시 적분 예산이며, 스텝 수를 줄이는 것 자체가 정책의 수치적 신뢰성을 깨뜨린다는 점을 먼저 인지해야 한다. 또 하나는 보상 리턴만 보고 스텝 축소를 결정하면 안 된다는 것이다. RA-Reflow 사례처럼 에피소드 리턴은 멀쩡한데 명령 추종이 나빠지는 경우가 있으므로, 추종 오차·낙상률 같은 저수준 지표를 함께 스윕해야 한다. 도입을 검토한다면 64·32·16·8·4·1 스텝 스윕을 재학습 없이 돌려 자기 과제에서 격차가 어디서 시작되는지 확인하고, Reflow 계열 정규화가 그 격차를 메우는지 보는 것이 첫 단계다. 다만 이득은 학습 비용과 맞바꾼 것이다.
저자들이 밝힌 한계는 다음과 같다. 시뮬레이션에서는 네 종족을 다루지만 실로봇 검증은 Unitree Go2 보행에 국한되며, 동작 명령 종류도 제한적이다. 또한 실기 검증은 전체 상태 수준의 sim-to-real 동등성이 아니라 동일 명령에 대한 관절 위치 일관성을 측정한 것이다. 휴머노이드 플랫폼과 접촉이 많은 과제로 확장해야 일반성을 더 확보할 수 있다고 본다. 배포 효율은 학습 시 추가 연산으로 얻은 것이며, 온라인 Reflow는 전체 예산 학생 롤아웃을, 증류는 별도로 학습된 동결 PPO 컨트롤러를 필요로 한다. 이 학습 오버헤드와 외부 교사 의존성을 줄이는 것이 확장성의 관건이다. 마지막으로 현재 배포는 고정 1스텝 오일러이고 적응적 연산 정규화는 학습에만 쓰이므로, 제어 상태에 따라 적분 예산을 온라인으로 고르는 방향이 향후 과제로 남아 있다.