안녕하세요. 이번에 리뷰로 가져온 논문은 From Imitation to Alignment: Human-Preference Flow Policies for Long-Horizon Sidewalk Navigation 라는 논문 입니다.
간단하게 컨셉만 설명을 드리면 논문 제목처럼 Imitation Learning으로 만든 보도 주행 정책을 Human Preference 기반으로 다시 정렬하는 식의 방법론을 제안한 논문이라고 보시면 좋을 것 같습니다.
바로 리뷰 시작하도록 하겠습니다.
Introduction
먼저 저자들은 기존 imitation learning 기반 navigation policy가 실제 장거리 주행에서 겪는 문제를 지적합니다. 기존 IL 기반 policy는 demonstration을 보고 사람처럼 따라 하도록 학습됩니다. 근데 실제 deployment에서는 학습 데이터에 없던 상황이 계속 나오고 작은 오류가 누적되면서 점점 이상한 곳으로 가버리는 compounding error가 발생한다고 합니다. 그리고 또 보도에서는 단순히 충돌만 피하는 것이 아니라 사람에게 너무 가깝게 붙지 않기, 안전하지 않은 상황에서는 멈추기 같은 social compliance도 필요합니다. 근데 이런 부분은 단순 trajectory IL만으로는 학습하기 어렵다고 저자들은 설명합니다.
그래서 저자들은 제안하는 FlowPilot라는 프레임워크를 통해 이 문제를 크게 두 단계로 해결하려고 합니다.
첫 번째 단계에서는 대규모 내비게이션 로봇 데이터로 기본적인 navigation policy를 학습을 진행을 합니다. 이때 그냥 regression이나 diffusion을 쓰는 것이 아니라, Anchored Flow Matching이라는 action representation을 사용합니다.
그 다음 두번쨰 단계에서는 실제 deployment 중 사람이 개입한 데이터를 이용해서(Human in the loop 라고 표현), base policy(앞선 첫번째 단계에서 학습시킨 policy)를 특정 로봇과 특정 환경에 맞게 다시 조정하는 것입니다. 이 과정이 논문 제목의 From Imitation to Alignment을 나타낸다고 보시면 좋을 것 같습니다.
그리고 해당 방법론 같은 경우는 goal 정보를 활용하되 shortcut behavior를 유발하지 않기 위해 gated conditioning mechanism을 통해 후보 행동들을 ranking하고 선택하는 방식을 활용합니다. 그래서 학습시킨 navigation policy가 단순히 최단 경로를 직접 선택하는 것이 아니라 장면 맥락에 기반하여 의사결정을 내리도록 유도하게끔 설계를 합니다.
그래서 정리하면 일단 이 논문에서 다루는 task는 mapless GPS-guided long-horizon sidewalk navigation 이고 서 FlowPilot은 대규모 imitation으로 기본기를 만들고, 이후 human intervention을 통해 실제 로봇에 맞게 정렬하자는 방향으로 아키텍쳐를 설계했다고 보시면 좋을 것 같고 저자들의 컨트리뷰션은 아래와 같습니다.
- 장거리 보도 내비게이션을 위한 행동 분포를 모델링하기 위해 anchored flow-matching policy를 제안하고 goal-driven shortcut을 완화하기 위해 gated conditioning을 함께 사용
- imitation prior를 보존하면서도 인간 피드백으로부터 사회적으로 적절한 행동에 policy를 정렬하는 reward-free preference learning 알고리즘 제안
- 다양하고 도전적인 보도 환경에서 광범위한 시뮬레이션 및 실제 로봇 실험을 통해 제안 방법을 평가하였고 저자들의 벤치마크에서 높은 성공률과 사회적 규범 준수

위는 음식 배달 로봇이 monocular camera와 GPS만으로 다양한 보도 환경을 주행하는 예시를 보여주는 figure입니다.
Method

Anchored Flow Matching
먼저 FlowPilot은 demonstration dataset에서 future trajectory들을 local frame 기준으로 표현하고, action space를 정규화하고. 이후 전체 데이터 샘플들의 traj 에 대해서 K-means clustering을 통해 대표적인 trajectory, anchor action들을 만듭니다. 논문에서는 K=64개의 anchor mode를 사용했다고 합니다.
저자들은 이 anchor를 behavior prior로 사용하고 그 위에 flow matching을 적용하는 방식으로 설계합니다.
보도 주행에서는 단순히 왼쪽/ 오른쪽으로 피하는 mode 선택이 중요한데 그 부분의 가이드 역할을 저 anchor가 prior로써 해준다고 보시면 좋을 것 같고 이후 flowmatching을 통해 계속 refinement하면서 실제로는 저 mode에서 얼마나 가까이 붙어서 지나갈지와 같은 fine grained control도 수행을 하게 됩니다.
그래서 실제 inference 단계에서는 체 데이터 샘플들의 traj 에 대해서 K-means clustering을 통해 anchor mode를 구할 수 없으니깐 score head를 설계해서 이걸 학습시킴으로써 실제 inference에서는 모델이 해당 mode를 바로 예측할 수 있도록합니다.
Gated Cross-Attention: goal shortcut을 막기 위한 장치
FlowPilot은 GPS goal을 입력으로 받습니다. 근데 GPS goal은 장거리 주행에 필요하지만 동시에 위험한 shortcut이 될 수 있습니다. 예를 들어 오른쪽에 어떤 장애물이 있을지 모르기 때문에 goal이 오른쪽 앞에 있다고 해서 로봇이 항상 오른쪽으로만 가면 안됩니다. Navigation policy가 goal token에만 과도하게 attention을 주면 이미지 속 실제 주행 가능 영역을 무시하고 goal 방향으로만 가려는 shortcut behavior가 생길 수 있습니다.
논문에서는 이를 attention sink 문제로 보고, gated cross-attention을 사용합니다. 쿼리가 visual context와 goal context를 볼 때, key/value에 sigmoid gate를 적용해 특정 token, 특히 goal token에 attention이 과도하게 몰리는 현상을 완화했다고 하고 또한 구현 세부에서는 goal dropout도 크게 사용해서, 모델이 goal에만 의존하지 않고 scene context를 보도록 유도했다고 합니다. 상세한 메커니즘에 대해서는 언급이 안되어있어 자세히는 이해하지 못했습니다.

위는 gated attention이 attention sink를 줄이는 그래프를 보여주는 결과인데 baseline은 goal, anchor에 attention이 몰리고, gated attention은 이를 줄이는 결과를 보입니다.
Human Preference Alignment
기본 FlowPilot-Base는 대규모 demonstration data로 학습됩니다. 하지만 demonstration만으로는 social compliance를 충분히 커버하기 어렵습니다. 그래서 저자들은 실제 이 기본 FlowPilot-Base 모델을 실제로 deploy해서 이 deply과정중 잘못동작한 상황에서 사람이 개입한 데이터를 활용합니다. 실제deployment 과정에서 주행 중 모델이 위험하거나 사회적으로 부적절한 행동을 예측하면,operator가 joystick으로 개입합니다. 이때 모델이 원래 하려던 action을 rejected action x-, 사람이 수정한 action을 preferred action x+로 봅=보고 그리고 이 pair를 이용해 preference learning을 수행합니다.

위는 모델 예측 trajectory와 사람이 개입한 trajectory를 preferred/rejected pair로 구성하는 과정을 보여주는 그림입니다.
학습할 때 score head에서 preferred anchor의 probability를 높이고 rejected anchor의 probability를 낮추는 방식으로 학습이 이뤄지게 되고 그리고 velocity field(여기서 velocity는 실제 속도가 아니라 flowmatching에서 예측하는 노이즈 변화량, 방향 같은 개념)에서는 기존 pretraining prior를 너무 망가뜨리지 않게 하기 위해서 preferred trajectory 쪽으로는 직접 regression을 걸지만 rejected trajectory는 강하게 밀어내기보다는 anchor prior 쪽으로 정규화하는 방식으로 학습을 진행했다고 합니다. 그리고 또 finetuning 시 전체 모델을 다 업데이트하지 않고, gated cross-attention layer에 적용된 LoRA module만 학습했다고 합니다. (뭔가 수학적인 수식적인 디테일이 많이 있으나 이해를 잘 못한 관계로 큰틀에서 작성했습니다.)
Experiments
논문은 open-loop, closed-loop simulation, real-world deployment를 모두 평가합니다.
Open-loop Evaluation
먼저 open-loop에서는 held-out evaluation set에서 predicted trajectory와 expert trajectory의 차이를 측정합니다. 사용한 metric은 minMOE(각도), minADE(거리), L2(엔드포인트 거리), mAP입니다.
갑자기 mAP가 왜 나왔냐면 아까 앞서 설명에서 K-means anchor를 만들고 scoring head가 anchor mode score를 예측한가고 했는데 여기서 이 지표는 정확한 traj mode에 더 높은 confidence를 주는지 평가하는 지표라고 보시면 좋을 것 같습니다. (정답에 가까운 trajectory 후보를 만들었을 뿐만 아니라, 그 후보에 높은 score를 줬는지를 보는 지표 후보 reranking 능력을 보는 지표)

Table 1에서 FlowPilot-Base는 다른 방법론 대비 가장 좋은 성능을 보입니다. 그리고 FlowPilot이 단순 평균 trajectory만 잘 맞추는 것이 아니라 multi-modal candidate 중 어떤 mode가 좋은지 ranking하는 능력도 좋은 모습을 보입니다.

Figure 5에서는 mixed dataset pretraining의 효과를 보여줍니다. 데이터가 많아질수록 성능이 좋아지는 것은 당연해 보일 수 있지만 저자들의 주장은 pretraining이 downstream sidewalk navigation에서 더 좋은 초기 prior를 제공한다라는 점임을 강조합니다.
Closed-loop Simulation Evaluation

위는 closed-loop simulation benchmark에서 평가한 결과 입니다. 논문은 Urban-Sim 기반 simulation에서 20m sidewalk segment를 구성하고, 각 method를 300 trials로 평가합니다. 평가 metric은 SR, RC, CR, OBR입니다. SR은 성공률, RC는 route completion, CR은 collision rate, OBR은 off-boundary rate로 말 그대로 로봇이 허용된 보도 영역(sidewalk / walkable boundary)을 벗어난 비율을 기록한 지표라고 보시면 좋을 것 같습ㄴ다.
Table 2에서 FlowPilot-Base는기존 방법들보다 성공률과 route completion이 높고, off-boundary도 낮습니다. 그리고 FlowPilot w/o GCA와 비교했을 때Gated Cross-Attention을 쓰는 것이 효과적인 것을 확인할 수 있습니다. 실제 goal이나 anchor에만 의존하지 않고 visual context를 제대로 활용하게 만드는 설계가 closed-loop 성능에 실제로 영향을 준다라는 것을 보여주는 결과인 것 같습니다.

위는 시뮬레이션에서 CityWalker, NoMaD, FlowPilot의 simulated sidewalk trajectory 비교 그림입니다.

그리고 저자들은 robot configuration을 바꾼 R1, R2에서도 평가합니다. 실제 deployment에서 로봇마다 camera/dynamics가 조금씩 다를 수 있다는 점을 반영한 실험인데 Table 3를 보면 FlowPilot-HP는 FlowPilot-Base보다 더 좋은 결과를 보입니다. 근데 일부 configuration에서는 SR이랑 route completion은 올라가지만 collision rate나 off-boundary rate에서는 trade-off가 보이긴합니다.
Long-horizon Simulation Evaluation
논문은 짧은 unit-test benchmark뿐 아니라, 100m 이상 떨어진 start-goal pair를 사용하는 long-horizon benchmark도 수행합니다. 총 100개의 procedurally generated scene, 총 36km route distance를 평가를 했다고 합니다.
이때는 실패하면 episode를 종료하지 않고, 가장 가까운 valid waypoint로 reset한 뒤 계속 진행했다고 합니다. 그리고 이런 reset/intervention event를 기록합니다. 장거리 주행에서는 단순 성공/실패보다, 얼마나 자주 사람이 개입해야 하는지를 보는 것이 더 의미 있다고 해서 이렇게 진행했다고 합니다.

Table 4에서 FlowPilot은 NIR 0.034로 가장 낮은 intervention rate를 보입니다. NCR은 S2E가 조금 더 낮고, NOBR은 MIMIC이 조금 더 낮지만, 전체적으로 보면 FlowPilot은 장거리 주행에서 개입 빈도가 가장 적은 결과를 보입니다. 여기서 NIR은 주행 거리 대비 사람이 개입한 횟수를 의미하고 NCR같은 경우는 주행 거리 대비 충돌 발생횟수를 나타내고 NOBR은 주행 거리 대비 보도/허용 주행 영역을 벗어난 횟수를 의미한다고 보시면 될 것 같습니다.
Real-world Deployment

논문은 real 환경에서 wheeled robot과 legged robot을 사용하고, 총 8개 scenario, 16개 route, 약 2.8km real-world sidewalk route에서 평가합니다.
여기서는 safety operator가 위험한 상황에서 개입하기 때문에 collision rate나 success rate만으로는 성능 차이를 보기 어렵다고 합니다. 그래서 논문은 IR, NIR, DCR, TCR을 사용하여 평가를 합니다.
IR은 전체 주행 거리 중 사람이 개입한 거리의 비율이고, NIR은 주행거리 대비 개입 횟수이고 DCR과 TCR은 robot이 사회적으로 compliant한 상태를 거리/시간 기준으로 얼마나 유지했는지를 나타내는 지표인데, DCR 같은 경우에는 전체 주행 거리 중 로봇이 보행자와 안전거리 사회적 규범을 지키면서 주행한 거리 비율이고 TCR은 거리가 아닌 시간 비율이라고 보시면 됩니다.

Table 5를 보면 FlowPilot-Base도 baseline들보다 좋은 성능을 보이지만, FlowPilot-HP는 여기서 한 번 더 개선되는 결과를 보입니다. 대규모 imitation만이 아니라 실제 사람의 개입 데이터를 통해 alignment를 해야하는 것의 중요성을 보여주는 결과 입니다.

Table 6에서도 FlowPilot-HP는 IR, NIR을 줄이고 DCR, TCR을 개선하는 결과를 보입니다.


실제 km 단위 주행 예시와야간, 저조도, 조명 변화 환경에서의 장거리 주행 결과를 보여주는 그림입니다.
논문에서 제시한 failure case를 보면,좁은 공간에 사람이나 다른 로봇이 함께 있는 경우 FlowPilot이 지나치게 보수적으로 멈추는 문제가 나타났다고 합니다.

위가 failure cases인데 좁은 공간이나 pedestrian interaction에서 과하게 멈추는 모습을 보였다고 합니다.
개인적으로 해당 논문을 읽으면서 논문에 나온 fig2와 방법론에서 저자가 수식으로 설명하는 부분이 매칭이 안돼서 이해하기가 어려웠고 용어도 뭔가 섞여있는 느낌이라 아직도 디테일하게 이해는 못한거 같지만 그래도 큰틀에서 goal 정보로 인한 shorcut 문제, 그리고 기존에 널리 알려진 IL의 단점을 Human in the loop로 해결하려고 했다는 점에서 읽어볼만한 논문이었던 것 같습니다. 이만 리뷰 마치도록 하겠습니다. 감사합니다.
안녕하세요. 좋은 리뷰 감사합니다.
로봇 팔 같은 경우 특정 task의 시작과 끝이 주행에 비해서 비교적 짧을 수 있겠다는 생각이 들어서, 장거리 주행과 관련하여 문제를 정의하고 제안한 것을 재밌게 읽었습니다. long-horizeon simulation evaluation을 봤을 때 100m 이상으로 구성된 데이터셋도 있는 것 같은데 그러면 long-horizon이 아닌 데이터셋은 평균 어느정도로 구성된 데이터셋일까요? real에서 평가한 것도 약 2.8km real-world sidewalk route에서 평가했다고 하는데, 이게 얼마나 대단한 것인지가 잘 짐작이 되지 않아 질문드립니다.
감사합니다.
안녕하세요 우현님 리뷰 감사합니다.
Human preference를 주입하는 과정에서, 인간의 개입이 들어간 데이터셋을 만들어 둔 다음 데이터셋을 다 만들어서 finetuning 해주는 것인가요? 강화학습스럽게 학습되는 것인지, 기존에 학습시 사용된 데이터셋과 동일한 구성인데 Loss만 다르게 학습하는 것인지 궁금합니다.
안녕하세요 우현님 좋은 리뷰 감사합니다.
내용중에 제대로 언급되지 않아서 완벽히 이해하지 못한 부분이 존재한다고 했는데, 우측에 goal 이 있다고 우측으로만 가게되면 장애물에 부딪칠수도 있고, attention sink 현상이 생겨서 gated 방식을 통해 우회했다고 했는데, 뭔가 해당 문장만 봤을때는 softmax 였던 방식을 sigmoid 방식으로 바꾸어 전체 attention scale 값 자체가 낮아진걸 뜻한 것 같습니다. CVPR 논문인만큼 구현이 제대로 안나와있지는 않을 것 같은데 우현님은 어떻게 생각하시나요?