---
title: REMAC
link: https://arxiv.org/abs/2601.20130
doi: arXiv:2601.20130
status: "已阅读"
doc_type: paper
tags: [实时VLA, 实时动作生成, 异步控制, Action Chunking, Masked Action Chunking, REMAC]
date: 20260626
---

# Real-Time Robot Execution with Masked Action Chunking (ICLR 2026)

[Paper](https://arxiv.org/abs/2601.20130)

---

## Motivation
![alt text](asserts/REMAC/figure-01.png)

Action Chunking 可以缓解单步动作生成太慢的问题，但传统同步执行会出现“执行完一个 chunk 后等待下一个 chunk 生成”的停顿（图 a ）。

异步执行在执行当前 chunk 的同时生成下一个 chunk，保证动作队列不断流（图 b ）。但是 naive async 会引入两个问题（图 c ）：

1. **Inter-chunk discontinuity**：相邻 chunk 的边界不连续，动作会跳。
2. **Intra-chunk inconsistency**：推理期间机器人已经执行了一部分旧动作，而新 chunk 是基于当前 observation 生成的，导致一个 chunk 内前缀动作和当前感知状态不一致。

已有 RTC / BID 等方法主要在 test-time 做边界平滑或 inpainting，关注的是 inter-chunk discontinuity；REMAC 认为 intra-chunk inconsistency 也是关键失败原因，且应该在训练阶段让策略学会适配 delay。

## Contribution
提出 REMAC（Real-time Execution with Masked Action Chunking），将 Chunk 前半部分（已经执行的部分）通过 mask 转化为条件约束而不是优化目标，从而让后半部分据此修正：

- 训练一个 delay-aware policy $\hat{\mathbf v}_\pi(\mathbf A_t|\mathbf o_t,d)$ ，让策略显式知道当前推理延迟 $d$。
- 通过 Prefix Masking 只监督会被执行的后半段动作，避免让模型过度拟合那些推理时已经错过、不再会被执行的 prefix。
- 通过 Self-conditioned Curriculum 用 pretrained policy 的预测逐渐替换 ground-truth action chunk，缓解训练和 rollout 时输入分布不一致的问题。
- 通过 Residual Alignment 让 LoRA 学的是相对 pretrained policy 的修正，而不是完全重新学习动作生成。
- 推理时使用 Prefix-preserved Sampling，把旧 chunk 中已经承诺/正在执行的 prefix 保留下来，只生成剩余动作，从而增强 chunk 之间的连续性。

REMAC 主要是**训练时改 backbone policy**，而不是在 test-time 增加复杂优化；LoRA merge 后基本不增加推理延迟。

## Limitation
需要预先设定最大 inference delay，让训练覆盖可能出现的 delay 范围。如果实际部署 delay 超出训练覆盖范围，可能失败。

另外，REMAC 需要针对 masked finetuning 收集一定量的数据。论文主实验真实机器人用了 200 条轨迹做 adaptation，附录中也测试了 10 条 demo 的 data-efficiency，但整体仍然依赖 finetuning 数据。

---

## Architecture

![alt text](asserts/REMAC/figure-02.png)

### 异步执行中的错位
设 chunk 长度为 $P$，动作维度为 $D$。在异步执行中，模型在生成当前 chunk $\mathbf A_t$ 时，机器人可能已经继续执行了上一段 chunk $\mathbf A_{t-h}$ 的一部分动作。

这导致训练和测试的对应关系发生错位：预训练时每个 chunk 的所有动作都被当成从当前 observation 出发的监督目标；但异步推理时，前 $d$ 个动作往往已经由上一轮 chunk 决定，当前模型真正影响的是后面的可执行部分。

### Prefix Masking （遮掩已经做出的动作）
定义 delay-conditioned prefix mask：

$$
\mathbf m_d=\{m_d^\tau\}_{\tau=0}^{P-1}=\mathbf 1[\tau \ge d]
$$

其中 $\tau$ 是 chunk 内部时间步，$d$ 是 inference delay。也就是说，前 $d$ 个动作不参与监督，只监督 $\tau \ge d$ 的部分。

Masked flow matching loss：

$$
\mathcal L_m=\sum_d
\frac{\sum_{\tau=0}^{P-1}m_d^\tau\|\hat{\mathbf u}_\tau-\mathbf u_\tau\|_2^2}
{\max(1,\sum_{\tau=0}^{P-1}m_d^\tau)}
$$

### Self-conditioned Curriculum (逐步将理想动作情况替换为实际不完美动作训练)
训练时如果一直用 ground-truth action chunk 做 interpolation，和 rollout 时“模型基于自己的预测继续生成”的情况仍然不一致。于是论文用 pretrained policy 的预测 $\tilde{\mathbf A}_t$ 来构造 self-conditioned 输入：

$$
\hat{\mathbf A}_t=\gamma \mathbf A_t+\text{sg}((1-\gamma)\tilde{\mathbf A}_t),\quad
\gamma\sim\mathrm{Bernoulli}(\sigma),\quad \sigma\in[0,1]
$$

$\sigma$ 随训练进度从 1 anneal 到 0：

- 早期主要用 ground-truth，保证训练稳定。
- 后期逐渐用 pretrained policy 的预测，模拟 rollout 时的自条件输入。

如果一开始就完全 self-conditioned，训练不稳定；如果一直用 ground-truth，则有 exposure bias。

### Residual Alignment （仅微调原模型，学习残差）
REMAC 不是让 LoRA 完整重学一个策略，而是让它学习相对 pretrained policy 的 residual correction。

设 pretrained backbone 的 flow 预测为 $\tilde{\mathbf u}$，REMAC 预测为 $\hat{\mathbf u}$，ground-truth target 为 $\mathbf u$，残差对齐项为：

$$
\mathcal L_\Delta=\sum_d
\frac{\sum_{\tau=0}^{P-1}
\|m_d^\tau(\mathbf u_\tau-\tilde{\mathbf u}_\tau)
-m_d^\tau(\hat{\mathbf u}_\tau-\tilde{\mathbf u}_\tau)\|_2^2}
{\max(1,\sum_{\tau=0}^{P-1}m_d^\tau)}
$$

总 loss：

$$
\mathcal L=\lambda_m\mathcal L_m+\lambda_\Delta\mathcal L_\Delta
$$

论文中 $\lambda_m=0.01,\lambda_\Delta=0.01$。

### Prefix-preserved Sampling （不直接从纯噪声采样，将已生成动作作为先验）
推理时不再完全从 Gaussian prior 初始化新 chunk，而是把上一轮 chunk 中可以继续作为先验的部分填入 $\mathbf A_t^p$。其前 $P-h$ 个位置来自 previous predicted chunk 的最后 $P-h$ 个动作，剩余位置置零。

采样/积分过程中保留 prefix，只对未保留部分生成：

$$
\mathbf A_t^{\tau+\frac{1}{n}}
=\mathbf m\odot\left(\mathbf A_t^\tau+\frac{1}{n}\hat{\mathbf v}_\pi(\mathbf A_t^\tau,\mathbf o_t,\tau)\right)
+(1-\mathbf m)\odot\mathbf A_t^p
$$

这一步对应的是 inter-chunk continuity：已执行/已承诺的动作作为 hard prior 保留下来，减少 chunk 边界跳变。

---

## Experiments
![alt text](asserts/REMAC/figure-03.png)
![alt text](asserts/REMAC/figure-04.png)
![alt text](asserts/REMAC/figure-05.png)
![alt text](asserts/REMAC/figure-06.png)

---

## My Takeways
暂无