BAC
Paper:Block-wise Adaptive Caching for Accelerating Diffusion Policy
一篇扩散加速的文章。在机器人视觉运动建模领域,往往采用扩散策略,需要多次迭代去噪,计算开小巨大,且无法满足实时性。现有方法主要用于图像或者视频领域,与机器人领域的数据分布不太同。
论文的核心思路是在 Block 级别,动态决定哪些中间特征可以复用旧的缓存,哪些必须更新。
创新点1:自适应缓存调度器 ACS。
- 有些计算步骤和上一步的结果差不多,就可以复用缓存。有些步骤变化很大,就必须重新算。
作者发现在扩散过程中的特征相似性并不是线性变化的,且不同的 Block 在不同的时间点表现完全不同:
- 有些 Block 特征几乎不变,有一些变化剧烈。
- 有的 Block 在早期关键,有的在后期关键。
为了找到收益最高的时间点,论文将其建模为一个动态规划问题:
其中:
意思是整个去噪过程想更新几次缓存。 代表当前时间步。 代表果在第 步完成了第 次更新,我们能获得的最大相似度总分。 :上一次更新的时间步,由于我们要决定第 次在 更新,那么就需要寻找第 次在哪个位置 更新最划算
需要在正式部署前,随机抽几个该任务的数据运行一次动态规划(DP),为每个 Block 算出最优的更新时间表。
创新点2:冒泡并集算法(BUA)
- 作者发现,如果单纯在每个块上独立运行 ACS,会导致误差很大。比如在 FFN 块中,如果上游块没更新而下游 FFN 更新了,误差会因为缺乏归一化而迅速放大。
- 因此作者提出 BUA,如果一个下游块决定更新,那么它的“上游受影响块”也必须跟着更新,从而截断误差传播 。
总体流程:先取出每个 block 在每个 timestep 的中间特征;然后对每个 block 分别计算 timestep 间的特征相似度;再基于这个 block 自己的相似度序列构建 DP 表,求出该 block 的最优缓存更新时间表。
BAC
https://d4wnnn.github.io/2026/04/27/Notion/BAC/