VLA 조작 정책에 고정 크기 연상 기억과 초기 장면 앵커를 결합한 MemBodied

MemBodied: Recurrent Associative Memory for Vision-Language-Action Models

HF Daily2609.28256

Tej Deep Pala, Navonil Majumder, Bryce Goh2026-09-23조회 6

무엇인가

이 논문은 Vision-Language-Action(VLA) 정책이 현재 관측과 언어 지시만으로 행동을 예측하는 기본 설정에서 벗어나, 에피소드 수준의 과거 정보를 어떻게 유지할지 다룬다. 대부분의 VLA 정책은 이전 관측을 버리기 때문에, 물체를 옮겼다가 나중에 원래 위치로 되돌리는 것처럼 과거에만 존재하는 정보가 필요한 history-dependent manipulation에서 실패할 수 있다. 과거 관측을 컨텍스트에 직접 넣으면 정보는 보존되지만 컨텍스트 길이, 메모리 사용량, 추론 지연이 에피소드 내내 커진다. 고정 관측 윈도우는 비용을 제한하지만, 윈도우 밖으로 밀려난 결정적 증거를 잃을 수 있다. 저자들은 에피소드 길이와 무관하게 크기와 접근 비용이 고정되고, 현재 정책 상태에 따라 온라인으로 갱신·검색되는 기억이 필요하다고 주장한다.

어떻게 동작하나

제안 방법 MemBodied는 고정 크기 에피소드 기억을 두 갈래로 구성한다. 하나는 정책 호출 사이의 상호작용을 기록하는 순환 연상 상태 M_t이고, 다른 하나는 에피소드 첫 장면의 압축 표현을 보존하는 에피소드 앵커 A다. t번째 상호작용에서 정책은 현재 카메라 관측 I_t, 로봇 상태 s_t, 언어 지시 l을 받고, 이전 기억 E_{t-1}=(M_{t-1}, A)에 조건화해 최대 H 길이의 행동 청크 a_t를 예측한다. 연상 상태 M은 정책 호출 사이에 유지되며 에피소드 시작 시 학습된 초기 상태로 리셋된다. 앵커 A는 첫 관측에서 만들어져 에피소드가 끝날 때까지 변하지 않는다. 연상 상태는 행동 네트워크의 각 레이어마다 하나의 연상 행렬 S_t^(l)을 두며, 배치 B와 메모리 랭크 r에 대해 S_t^(l) ∈ R^{B×r×r}이고 실험에서는 r=128을 사용했다. 따라서 기억 크기는 에피소드가 길어져도 고정된다.

무엇과 다른가

쓰기 값은 행동 청크와 그 행동이 실행된 뒤 관측된 시각적 결과를 함께 사용해 만든다. 각 카메라 c에 대해 투영된 로봇 상태 s_{t+1}에서 나온 쿼리가 시각 패치 토큰 X_{t+1}^{(c)}에 어텐션하고, 카메라별 인코딩을 평균해 e_{t+1}^{vision}을 얻는다. 이때 메모리 값 경로의 그래디언트는 시각 패치 토큰에서 멈춘다. 다음 관측 인코딩과 직전 인과적 행동 청크의 합을 연결해 y_t = [e_{t+1}^{vision}; Σ_h a_{t,h}]를 만들고, 레이어별 투영 v_t^(l)=W_v^(l)y_t를 쓴다. 쓰기 키는 k_t^(l)=L2Norm(tanh(W_k^(l) h_{t,out}^(l)))로 만들고, 보존 게이트 α_t^(l)와 쓰기 게이트 β_t^(l)는 레이어 출력과 y_t로부터 시그모이드로 계산한다. 상태 갱신은 gated delta rule로 S_t^(l)=Diag(α_t^(l))S_{t-1}^(l)+Diag(β_t^(l))(v_t^(l)-Diag(α_t^(l))S_{t-1}^(l)k_t^(l))(k_t^(l))^T이다. 첫 항은 기존 상태를 유지하고, 둘째 항은 새 값과 이미 쓰기 키에 연관된 값의 차이를 델타 보정한다. 보존 게이트는 기존 상태를 얼마나 남길지, 쓰기 게이트는 보정 강도를 조절하므로 모든 값을 무차별로 누적하지 않고 기존 연관을 수정할 수 있다.

어떻게 쓰나

읽기는 각 레이어에서 h_{t,in}^(l)로 만든 쿼리 q_t^(l)=L2Norm(tanh(W_q^(l) h_{t,in}^(l)))를 연상 행렬에 곱해 r_t^(l)=S_{t-1}^(l)q_t^(l)을 얻는 방식이다. 논문은 이 읽기값을 행동 네트워크에 조건화하는 세 변형을 비교한다. 어텐션 스티어링(MemBodied-AS)은 읽기값의 투영으로 어텐션 쿼리와 출력 표현을 가산 보정하고, 계층적 메모리(MemBodied-H)는 연상 행렬에서 LSTM 유사 순환 셀을 갱신해 기본 gated-delta 업데이트에 더한다. 실제 MemBodied는 메모리 토큰 주입을 쓴다. 행동 네트워크 접미부는 [state token, memory token, H noisy action tokens]로 구성되고, 메모리 토큰은 매 정책 호출마다 삽입되는 학습된 벡터지만 호출 사이에 지속되지 않는다. 순환 상태는 연상 행렬이 담당한다. 각 레이어에서 검색 벡터는 α_mem/r로 스케일된 뒤 현재 상태 표현에서 나온 스칼라 게이트 g_t^(l)=σ(W_g^(l)h_{t,in}^(l))로 조절되어 메모리 토큰에 더해지고, 이 토큰이 셀프 어텐션에 참여해 행동 토큰이 검색 내용을 문맥으로 쓸 수 있게 한다. 앵커 경로는 반복 델타 업데이트가 초기 장면의 세부를 덮어쓸 수 있기 때문에 별도로 둔다. 정책 프리픽스에 쓰인 동결된 비전 토큰에서 각 카메라의 16×16 패치 그리드를 4×4로 평균 풀링하고 카메라별로 연결해 A를 만든다. 현재 로봇 상태가 현재 시각 토큰에 어텐션해 얻은 z_t가 랭크 r_A=64의 크로스 어텐션으로 앵커를 조회하고, 그 결과 c_t를 행동 네트워크 폭으로 투영해 행동 지평선 전체에 반복한 뒤 행동 표현과 연결해 f_cond로 조건화한다. 앵커는 첫 이미지나 전체 토큰 시퀀스를 프리픽스에 추가하지 않아 프리픽스 길이, 토큰 위치, 어텐션 마스크 구조를 바꾸지 않는다. 읽기와 쓰기는 인과적으로 조정된다. t에서 M_{t-1}을 읽어 a_t를 생성하고, 실행 후 I_{t+1}이 오면 그때 t의 은닉 상태와 행동 청크를 I_{t+1}에 연관지어 M_t에 쓴다. 이 지연 쓰기 덕분에 저장 값은 행동의 관측된 결과를 포함하되, 그 미래 관측이 원인 행동에 노출되지 않는다. 훈련은 N개의 관측-행동 쌍 시퀀스로 이루어지고, 이미지 인코딩과 정책 입력 구성은 배치·시퀀스 차원에서 병렬화하지만 기억 상태는 시퀀스를 따라 순차 전파한다. 그래디언트가 전체 시퀀스를 통과해 나중 행동 손실이 이전 기억 연산을 최적화하며, 별도의 기억 예측 손실 없이 정책의 원래 행동 목적함수로 기억 파라미터를 학습한다.

전제와 한계

실험은 기억 의존 조작을 위해 RMBench를 π0와 π0.5 백본으로 평가하고, 세 가지 실제 로봇 과제와 완전 관측 조작을 위한 LIBERO를 사용한다. RMBench는 양팔 시뮬레이션 벤치마크로, 단일 과거 사건의 정보를 요구하는 M(1) 과제와 여러 과거 사건을 요구하는 M(n) 과제로 나뉜다. 다섯 과제는 M(1)의 put_back_block, rearrange_blocks, swap_blocks와 M(n)의 battery_try, block_ranking_try이며, 과제당 50회 롤아웃을 수행했다. 비교 대상은 현재 관측만 쓰는 π0-Stateless, 과거 관측 시퀀스를 받는 π0-FrameStack, 시뮬레이터 힌트를 추론 시 받는 π0-Hint, Delta-Mem의 연상 기억을 적용한 π0-Vanilla Recurrent Memory, μVLA의 순환 메모리 토큰을 적용한 π0-μ-VLA, 그리고 Diffusion Policy, ACT, π0.5, X-VLA, NativeMEM 등이다. MemBodied는 다섯 RMBench 과제에서 평균 성공률 50.0%를 기록해 π0-Stateless보다 43.6%포인트, π0-FrameStack보다 35.2%포인트 높았고, π0-Vanilla Recurrent Memory보다 33.2%포인트 높았다. 초록 기준으로는 stateless 정책 대비 7.81배, 순수 순환 기억 대비 2.98배의 평균 성공률이다. NativeMEM은 평균 38.4%였고, MemBodied를 NativeMEM에 결합하면 45.2%로 올랐지만 단독 MemBodied보다 4.8%포인트 낮았다. 과제별로는 한 방법이 모두 이기지 않았다. NativeMEM은 Put Back Block과 Swap Blocks에서 강했고, MemBodied는 Rearrange Blocks, Battery Try, Block Ranking에서 강했다. π0.5 백본에서는 MemBodied가 평균 48.0%로 π0.5 베이스라인 12.4%를 크게 앞섰고 다섯 과제 모두 개선했다. 가장 큰 향상은 Rearrange Blocks의 13.0%에서 94.0%이고, Put Back Block은 11.0%에서 38.0%가 됐다. 실제 로봇 세 과제에서는 평균 성공률이 3.33%에서 26.67%로 올랐다.

추론 효율도 핵심 주장이다. MemBodied는 NativeMEM 대비 추론 지연을 91.9% 줄이고 최대 GPU 메모리 사용량도 9.5% 줄였다. 추가 파라미터는 40M로 π0의 1.26%에 불과하며, NativeMEM의 415M(π0의 12.81%)의 약 10분의 1이다. NativeMEM은 들어오는 관측을 비디오 히스토리 인코더로 인코딩해 VLA 컨텍스트에 토큰을 추가하므로 추가 인코딩 단계와 커지는 컨텍스트가 생긴다. 반면 MemBodied는 고정 크기 순환 상태를 행동 생성 중 읽고 새 정책 호출 시작에 갱신한다. 완전 관측 조작에서는 LIBERO 네 스위트(Spatial, Object, Goal, Long)를 각 10과제, 과제당 50회 롤아웃, 스위트당 500회, 체크포인트당 2000회 롤아웃으로 평가했다. MemBodied는 LIBERO-Long에서 90.6%로 π0의 85.2%를 5.4%포인트 앞섰다. Goal은 변하지 않았고 Spatial은 0.6%포인트, Object는 1.0%포인트 낮아졌다. 네 스위트 평균은 95.1%로 π0의 94.2%와 비슷했다. 저자들은 이 향상이 긴 호라이즌 LIBERO에 치우쳐 있다는 점을 들어, 기억이 필요 없는 완전 관측 과제에서도 전체 성능을 해치지 않으면서 긴 과제를 개선한다고 주장한다.

분석에서는 메모리 설계의 기여를 분리한다. 앵커 없는 변형 중 메모리 토큰 주입이 평균 37.6%로 계층적 메모리 23.2%, 어텐션 스티어링 20.8%보다 높았다. 두 경로를 모두 쓰면 50.0%로, 앵커를 제거한 37.6%보다 높았다. 앵커는 다섯 과제 중 네 과제를 개선했고 Swap Blocks에서 16.0%에서 56.0%로 가장 큰 향상을 냈다. 그러나 Block Ranking에서는 32.0%에서 22.0%로 성능을 낮췄는데, 이 과제는 초기 장면 회상보다 변화하는 과제 진행 추적에 더 의존하기 때문에 고정된 첫 프레임 참조가 덜 유용할 수 있다고 설명한다. 시각과 행동의 역할도 상보적이다. 이후 시각 관측과 행동 요약을 결합한 기억은 세 평가 과제에서 평균 46.7%로, 시각만 쓴 42.7%와 행동만 쓴 34.7%보다 높았다. Battery Try에서는 결합 값이 30.0%로 시각만 24.0%, 행동만 22.0%보다 높았고, 둘 중 하나를 제거하면 성공률이 6%포인트 또는 8%포인트 떨어졌다. 정성 분석에서는 과제당 50개의 시드 매칭 롤아웃 쌍을 수동 주석했을 때, 현재 관측이 충분하면 MemBodied와 π0-Stateless가 비슷하게 행동하지만 과거 정보가 필요한 결정에서 갈라졌다. Put Back Block에서 MemBodied는 잘못된 패드로 돌아가는 경우를 37/50에서 13/50으로 줄였고, 두 정책 모두 선행 블록 이동과 버튼 누르기는 모든 롤아웃에서 완료했다. 남은 실패는 주로 모터 실행이나 더 장기적인 추적에 집중됐다.

개발자 관점에서 MemBodied는 과거 사건을 기억해야 하지만 관측 이력을 컨텍스트에 쌓는 비용이 부담되는 VLA 조작 정책에 실용적인 대안을 제시한다. 고정 크기 순환 상태, 첫 장면 앵커, 지연 쓰기, 메모리 토큰 주입이라는 구성은 에피소드 길이와 무관한 기억 비용을 목표로 한다. 다만 논문은 별도의 한계 절을 두지 않았고, 분석에서 몇 가지 전제와 한계를 드러낸다. 반복 델타 업데이트가 초기 장면의 세부를 덮어쓸 수 있어 앵커가 필요하지만, 앵커의 효과는 과제 의존적이며 진행 추적이 중요한 과제에서는 오히려 해로울 수 있다. NativeMEM과 MemBodied를 결합한 모델은 단독 MemBodied보다 낮았고, 명시적 비디오 히스토리와 연상 기억을 더 잘 결합하는 방법은 향후 과제로 남는다. 또한 과제별로 압축 히스토리와 연상 기억의 강점이 달라 단일 방법이 모든 과제를 지배하지 않으며, 남은 실패는 모터 실행이나 장기 추적에서 발생한다. 따라서 실제 적용 전에는 대상 과제가 초기 장면 회상에 의존하는지, 변화하는 진행 상태 추적에 의존하는지, 그리고 메모리 갱신이 오래된 세부를 얼마나 보존해야 하는지를 확인해야 한다.

관련 논문