ACT、Diffusion Policy 面试题解析
ACTAction Chunking with Transformers和 Diffusion Policy扩散策略是目前具身智能Embodied AI和机器人模仿学习Imitation Learning领域最经典、最主流的两个基线模型。在面试中通常会重点考察对多模态动作分布建模、时序依赖处理、以及模型工程落地的理解。一、 核心原理与架构对比类1. 请对比 ACT 和 Diffusion Policy 的核心思想、优缺点及适用场景。参考答案ACT基于CVAE条件变分自编码器架构。通过引入隐变量 z 来建模动作的多峰分布结合 Action Chunking 预测动作序列。优点推理速度极快一次前向传播即可输出一个 Chunk实时性好架构相对简单训练稳定。缺点CVAE 的生成能力上限受限于高斯假设在处理极度复杂、多峰且形状不规则的动作分布时可能会出现动作模糊Blurring。Diffusion Policy (DP)将动作生成建模为条件去噪扩散过程。通过迭代去噪从纯噪声中逐步恢复出动作序列。优点生成质量极高能完美拟合复杂的多峰分布生成的动作轨迹非常平滑符合物理直觉在长视野Long-horizon复杂任务上表现优异。缺点推理需要多步迭代延迟较高训练和调参如噪声调度相对复杂。适用场景ACT 适合对实时性要求高、动作相对连贯的中低频任务如桌面抓取DP 适合对动作精度、平滑度要求极高或任务逻辑极其复杂的场景如精密装配、柔性物体操作。2. 为什么在机器人模仿学习中直接回归动作如 MSE Loss效果不好ACT 和 DP 是如何解决这个问题的考察点对模仿学习核心痛点多峰分布坍塌的理解。参考答案MSE 的缺陷当面对多模态动作分布时例如桌上有个障碍物机器人可以从左边绕也可以从右边绕MSE Loss 会迫使模型预测这两个动作的均值。这个“均值”动作往往会直接撞上障碍物导致任务失败。ACT 的解决方式引入 CVAE 的隐变量 z。在推理时从先验分布中采样不同的 zDecoder 会基于不同的 z 生成完全不同的动作分支从而避开均值化陷阱。DP 的解决方式扩散模型在去噪过程中模型会根据当前条件观测被吸引到不同的数据流形即不同的动作模式上从而自然地输出多峰分布中的某一个合理动作。3. ACT 中的 Action Chunking动作分块具体解决了什么问题Chunk size 应该怎么选考察点对时序误差累积的理解及超参调优经验。参考答案解决的问题误差累积Compounding Error如果每次只预测单步动作微小的预测误差会在多步执行后迅速放大。预测一个 Chunk如 10 步可以大幅减少模型推理次数降低累积误差。时间相关性Temporal Correlation机器人的动作在时间上是高度连续的。Chunking 强制模型在生成动作时考虑未来的时序依赖使动作更平滑。Chunk size 的选择这是一个 Trade-off。太大模型难以预测长远的未来导致 Chunk 后半段动作质量下降且机器人对环境的突发变化反应迟钝缺乏闭环反馈。太小失去了减少误差累积的优势退化为单步预测。经验值通常在 10 到 100 步之间对应 0.5秒 - 5秒具体取决于任务的控制频率和动态变化程度。4. 简述 ACT (Action Chunking with Transformers) 的网络结构和 Loss 函数解释 KL 散度在损失函数中的作用如果 KL 散度太大或太小会导致什么问题如何缓解考察点前者是对 ACT 论文细节的掌握KL散度问题则是对 VAE 底层数学原理及训练 Trick 的掌握高频考点答题要点结构ACT 本质上是一个条件变分自编码器CVAE结合 Transformer。它包含一个 Encoder处理观测和一个 Decoder生成动作 chunk。引入了一个低维隐变量 z。前向过程观测通过 Encoder 得到后验分布采样得到 zz 加上位置编码后输入 Transformer Decoder解码出动作 chunk。Loss 函数包含两部分。一是动作重建损失如 L1 Loss计算预测动作与 GT 的差距二是KL 散度损失约束后验分布接近先验分布保证隐空间的平滑性。KL散度在损失函数中的作用KL 散度用于正则化隐空间迫使 Encoder 输出的后验分布接近先验分布通常是标准高斯分布保证了推理时从采样出的 z 是有效的。KL 太大模型会过度依赖先验而忽略观测 x 和真实动作 a 的信息导致后验坍塌Posterior Collapse生成的动作变得模糊、缺乏细节。KL 太小隐空间变得不连续存在大量空洞。推理时从先验采样的 z 很容易落入空洞导致 Decoder 生成无效或危险动作。缓解方案KL 退火KL Annealing训练初期将 KL 权重设为 0 或极小值让模型先拟合数据减小重建误差然后随着训练进行逐渐将 KL 权重增加到目标值如。Free bits限制 KL 散度的下限防止其过小。5. 扩散模型处理多峰分布时面对两种都合理的避障路径模型是怎么避免决策摇摆训练阶段学习多峰动作分布完整保留各种情况推理时每次从随机噪声出发采样‌不同随机种子自然导向不同模态‌一次跑偏左一次跑偏右单次生成结果确定且平滑无内部震荡。引入动作指数移动平均 (Action EMA)。设 t 时刻实际执行的动作为 a_t它是当前生成的动作与历史动作的加权通过给历史决策赋予权重打破了由于采样随机性导致的左右对称摇摆。二、 算法对比与场景选择6. ACT 和 Diffusion Policy 都使用了 Action Chunking它们在生成动作的机制上有什么本质区别考察点算法底层数学逻辑的对比。答题要点ACT基于CVAE 架构。通过一次前向传播采样隐变量 z Decoder 解码直接输出动作 chunk。本质上是单步生成非自回归速度快但多模态表达能力受限于隐变量 z 的维度。Diffusion Policy基于 迭代去噪。从纯高斯噪声开始经过 T 步如 10-100 步迭代逐步去噪生成动作。本质上多步生成能够拟合极其复杂的多模态分布但推理速度慢。7. 在处理“多模态动作分布”例如障碍物在左边时可以从右边绕在右边时可以从左边绕时两者分别是如何解决的考察点对多模态Multimodality问题的深入理解。答题要点ACT通过隐变量 z 来捕获多模态。在推理时从先验分布中采样不同的 z从而生成不同的动作轨迹。但如果 z 维度太低无法覆盖所有模态如果太高又容易过拟合或导致动作不平滑。Diffusion Policy扩散模型具有极强的多模态拟合能力。在推理时从不同的初始噪声​ 出发去噪过程会自然收敛到不同的数据模态上不需要显式设计隐变量能更好地覆盖长尾分布。8. Diffusion Policy 是如何将动作生成建模为扩散过程的条件观测是如何注入的考察点对扩散模型在控制领域应用的理解。答题要点建模将动作序列视为数据。前向过程逐步加入高斯噪声直到变成纯噪声反向过程训练一个神经网络​ 预测每一步加入的噪声。条件注入将当前观测图像、本体感觉通过视觉/状态编码器提取特征作为条件来引导去噪过程。条件注入方式通常有FiLM 层对特征进行仿射变换、Cross-Attention将观测特征作为 K/V动作特征作为 Q、或者直接Concat拼接后将条件特征注入到 U-Net/Transformer 的去噪网络中。三、工程实现与调优 Trick9. Diffusion Policy 的推理延迟较高在实际机械臂控制如要求 20Hz即 50ms 内完成推理中有哪些加速方案答题要点减少采样步数放弃 DDPM使用DDIM或更先进的 ODE 求解器如DPM-Solver, UniPC可以将采样步数从 100 步大幅压缩到 5-10 步。动作分块Action Chunking 滑动窗口一次预测较长的动作序列如 16 步执行时采用滑动窗口如每次执行 8 步保留 8 步作为下一步的先验从而降低模型调用频率。模型蒸馏使用Consistency Models一致性模型技术训练一个只需 1-2 步即可生成的蒸馏模型。将 DP教师的知识蒸馏给一个轻量级的 MLP 或小型 Transformer学生。工程加速使用 TensorRT 进行算子融合和 FP16/INT8 量化优化视觉编码器的推理如使用更小的 ResNet 或 MobileViT。10. 手写 ACT 的 CVAE 重参数化 Trick答题要点1 CVAE的重参数化引入CVAE 引入了条件 c在 ACT 语境下c 通常包含历史状态、观测甚至动作 Action。重参数化 Trick 的核心思想是将随机性从参数中剥离出来转移到一个固定的外部噪声上。编码器输出的后验分布是一个高斯分布若直接让网络输出均值和方差然后进行采样此时 z 的生成过程包含随机采样梯度无法回传。重参数化做法可导引入一个外部辅助变量让它服从标准正态分布。然后通过一个确定性的数学变换来生成 z其中⊙ 表示逐元素相乘。为什么这样就解决了问题随机性外置现在的随机性来自于而是从外部采样的不依赖于网络参数。计算图连通z 变成了关于、和的确定性函数只是简单的加法和乘法。因此梯度可以顺畅地通过 z 反向传播到和进而更新编码器网络​ 的参数。2pytorch手写实现重参数化核心 5 行代码重参数化 Trick将不可导的采样操作转化为可导的确定性计算import torch def reparameterize(mu, logvar): CVAE 核心重参数化 Trick :param mu: 均值向量 (Batch, Latent_Dim) :param logvar: 对数方差向量 (Batch, Latent_Dim)即 log(σ^2) :return: 采样后的隐变量 z # 1. 计算标准差 σ exp(0.5 * log(σ^2)) std torch.exp(0.5 * logvar) # 2. 采样标准正态分布噪声 ε ~ N(0, I) eps torch.randn_like(std) # 3. 重参数化: z μ σ * ε return mu eps * std # 计算 KL 散度 (解析解不需要重参数化) def kl_divergence(mu, log_var): # -0.5 * sum(1 log(sigma^2) - mu^2 - sigma^2) return -0.5 * torch.sum(1 log_var - mu.pow(2) - log_var.exp(), dim-1) # 越疆 x_trainer 平台的 kl 散度代码详解https://chat.qwen.ai/c/6948d428-49dc-4680-9db9-ef976250e1fe # mu 和 logvar 通常是 2D 张量 (batch_size, latent_dim)。 # 如果检测到是 4D 张量使用 .view() 展平为 2D 张量 (batch_size, channels * height * width)。 def kl_divergence(mu, logvar): batch_size mu.size(0) assert batch_size ! 0 if mu.data.ndimension() 4: mu mu.view(mu.size(0), mu.size(1)) if logvar.data.ndimension() 4: logvar logvar.view(logvar.size(0), logvar.size(1)) # 计算的是每一个样本在每一个隐变量维度上的独立 KL 散度。 klds -0.5 * (1 logvar - mu.pow(2) - logvar.exp()) # 总 KL 散度 - 用于最终 Loss total_kld klds.sum(1).mean(0, True) dimension_wise_kld klds.mean(0) mean_kld klds.mean(1).mean(0, True) return total_kld, dimension_wise_kld, mean_kld注意使用 logvar 而非 var 或 std (数值稳定性 Trick)代码体现std torch.exp(0.5 * logvar)

相关新闻

具身智能的定义、特征与原理解析(18)

具身智能的定义、特征与原理解析(18)

前沿技术介绍:AI智能体视觉(TVA,Transformer-based Vision Agent)是依托Transformer架构与“因式智能体”理论所构建的颠覆性工业视觉技术,属于“物理AI” 领域的一种全新技术形态,完成了从“虚拟世界”到“…

2026/7/17 6:18:50 阅读更多 →
具身智能的定义、特征与原理解析(16)

具身智能的定义、特征与原理解析(16)

前沿技术介绍:AI智能体视觉(TVA,Transformer-based Vision Agent)是依托Transformer架构与“因式智能体”理论所构建的颠覆性工业视觉技术,属于“物理AI” 领域的一种全新技术形态,完成了从“虚拟世界”到“…

2026/7/17 6:18:50 阅读更多 →
开源EMOS-简单嵌入式操作系统

开源EMOS-简单嵌入式操作系统

[**### 开源软件EMOS简介 [开源软件EMOS**] http://sourceforge.net/projects/emos/ 摘要:EMOS 是基于 uCOS-ii v2.0 改写的开源嵌入式操作系统,采用商业化代码风格,提供 MinGW 仿真平台环境,支持 32 位和 64 位 Windows 系统。系…

2026/7/17 6:18:50 阅读更多 →

最新新闻

AI代理时代的约束工程:Harness Engineering详解

AI代理时代的约束工程:Harness Engineering详解

1. 什么是Harness Engineering?AI代理时代的工程范式革命2016年DeepMind的AlphaGo击败李世石时,我们惊叹于AI的决策能力;2022年ChatGPT横空出世,我们震撼于大语言模型的通用智能;而到了2026年的今天,AI代理…

2026/7/17 7:07:07 阅读更多 →
Linux nohup命令详解:后台进程管理与实践

Linux nohup命令详解:后台进程管理与实践

1. nohup 命令的基本概念与作用nohup 是 Linux/Unix 系统中的一个常用命令,全称为"no hang up"(不挂断)。这个命令的核心作用是让进程在用户退出终端后仍然能够继续运行,而不会被系统终止。这对于需要长时间运行的后台任…

2026/7/17 7:03:06 阅读更多 →
深入解析Linux文件系统接口与性能优化实践

深入解析Linux文件系统接口与性能优化实践

1. 文件系统接口概述文件系统接口是操作系统提供给用户程序访问存储设备的核心机制。作为连接应用程序和物理存储设备的桥梁,它定义了标准化的访问方式,使得程序无需关心底层硬件差异就能进行文件操作。现代操作系统通常提供两类接口:面向开发…

2026/7/17 7:01:04 阅读更多 →
纯Python实现XXTEA解密:原理、代码与实战指南

纯Python实现XXTEA解密:原理、代码与实战指南

1. 项目概述:为什么我们需要一个纯Python的XXTEA解密实现? 在数据处理和通信安全领域,加密解密算法是构建信任的基石。你可能听说过AES、DES这些大名鼎鼎的算法,但在一些特定的场景,比如嵌入式设备、轻量级协议或者历史…

2026/7/17 6:57:02 阅读更多 →
GitHub学Python:从零基础到开源贡献的实战路径

GitHub学Python:从零基础到开源贡献的实战路径

很多人学Python卡在第一步:看视频觉得慢,看书又枯燥,写代码没方向。其实最快的方式就在眼前——GitHub。这不是什么新发现,但大多数人根本没用好这个免费资源库。 GitHub上有超过73000个Python相关项目,从Python语言源…

2026/7/17 6:57:02 阅读更多 →
Go语言热修复实战:从原理到优雅更新架构设计

Go语言热修复实战:从原理到优雅更新架构设计

1. 项目概述:当Go语言遇见热修复 最近在社区里看到不少关于Go语言热修复的讨论,尤其是在一些对服务可用性要求极高的场景下,比如在线游戏服务器、金融交易系统或者7x24小时运行的微服务集群。传统的服务更新流程——停机、部署、重启——带来…

2026/7/17 6:53:01 阅读更多 →

日新闻

2026全国外贸独立站搭建公司推荐排行,含零代码SAAS、AI编程、源码定制

2026全国外贸独立站搭建公司推荐排行,含零代码SAAS、AI编程、源码定制

2026全国外贸独立站搭建公司推荐排行 外贸工厂、工贸企业建设官网,核心需求与普通展示型网站并不相同。除了页面整洁、多语言适配和海外访问体验,企业还要重点考虑数据能否导出、站点能否迁移、源码是否可控、后续费用是否透明,以及更换服务…

2026/7/17 0:02:10 阅读更多 →
HarmonyOS 应用开发《掌上英语》第19篇:3D 翻转动画实现——ArkTS 动画系统全解析

HarmonyOS 应用开发《掌上英语》第19篇:3D 翻转动画实现——ArkTS 动画系统全解析

3D 翻转动画实现——ArkTS 动画系统全解析引言 在移动应用中,卡片翻转动画是最受欢迎的交互动效之一,它能给用户带来直观的"物理世界"操作感。在我们的英语学习 App 的单词学习页面(CourseHomePage.ets)中,就…

2026/7/17 0:02:10 阅读更多 →
2026键盘推荐|IQUNIX EV63多场景适配,不允许有人不知道!

2026键盘推荐|IQUNIX EV63多场景适配,不允许有人不知道!

现在很多用户都需要一款能适配多场景的键盘,既能满足交流码字的需求,又能应对居家电竞的性能需求,最好还得有点小颜值。而大多键盘都只能兼顾其中一两个场景。这次我实测了IQUNIX EV63三款配色(银武士、黑武士、紫罗兰&#xff09…

2026/7/17 0:04:10 阅读更多 →

周新闻

互联网大厂 Java 求职面试:燕双非的搞笑回答与技术探讨

互联网大厂 Java 求职面试:燕双非的搞笑回答与技术探讨

互联网大厂 Java 求职面试:燕双非的搞笑回答与技术探讨 在一个阳光明媚的上午,互联网大厂的面试官坐在桌前,准备迎接他的面试候选人——燕双非,一个以搞笑和幽默著称的程序员。第一轮提问 面试官:燕双非,作…

2026/7/17 3:22:28 阅读更多 →
车载以太网PMA测试设备选型:示波器、VNA、信号源3类仪器关键参数与预算评估

车载以太网PMA测试设备选型:示波器、VNA、信号源3类仪器关键参数与预算评估

车载以太网PMA测试设备选型:示波器、VNA、信号源3类仪器关键参数与预算评估在智能驾驶和车联网技术快速发展的今天,车载以太网作为新一代车载网络的核心传输技术,其物理层性能直接决定了数据传输的可靠性和稳定性。1000BASE-T1作为当前主流的…

2026/7/17 3:01:28 阅读更多 →
VSCode EIDE 插件 2.0:APM32/STM32 项目迁移实战,5步完成Keil工程转换

VSCode EIDE 插件 2.0:APM32/STM32 项目迁移实战,5步完成Keil工程转换

VSCode EIDE 插件 2.0:APM32/STM32 项目迁移实战指南嵌入式开发领域正经历一场工具链的静默革命。当传统Keil用户首次打开VSCode的扩展市场搜索EIDE时,往往会惊讶于这个看似简单的插件竟能重构十余年的开发习惯。本文将揭示如何用五个精准步骤&#xff0…

2026/7/16 23:40:37 阅读更多 →

月新闻