<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>域适应 on WorldSense 技术笔记</title><link>https://worldsensetech.com/zh/tags/%E5%9F%9F%E9%80%82%E5%BA%94/</link><description>Recent content in 域适应 on WorldSense 技术笔记</description><generator>Hugo</generator><language>zh-CN</language><lastBuildDate>Wed, 05 Aug 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://worldsensetech.com/zh/tags/%E5%9F%9F%E9%80%82%E5%BA%94/index.xml" rel="self" type="application/rss+xml"/><item><title>Sim-to-Real太难？世界模型驱动的自适应迁移方法</title><link>https://worldsensetech.com/zh/articles/sim-to-real-transfer/</link><pubDate>Wed, 05 Aug 2026 00:00:00 +0000</pubDate><guid>https://worldsensetech.com/zh/articles/sim-to-real-transfer/</guid><description>&lt;p&gt;这是世界模型系列文章的第四篇。前三篇我们聊了世界模型的基本概念、RSSM的核心原理、以及具身智能的入门路径。今天聊一个更偏实战的话题：仿真里训练的策略，到底怎么部署到真实机器人上？&lt;/p&gt;
&lt;p&gt;这个问题困扰了机器人AI领域将近十年。世界模型在仿真环境里表现惊艳——DreamerV3的样本效率比传统RL高出10-100倍。但一旦部署到真实机器人，性能往往下降30-50%。这个差距，就是著名的&amp;quot;Sim-to-Real Gap&amp;quot;。&lt;/p&gt;
&lt;p&gt;这篇文章，我想从工程师的视角，聊聊这个问题为什么难，以及世界模型提供了哪些新的解决思路。&lt;/p&gt;
&lt;h2 id="sim-to-real的三大挑战"&gt;Sim-to-Real的三大挑战&lt;/h2&gt;
&lt;p&gt;先搞清楚问题出在哪里。仿真和真实世界之间的差距，主要来自三个方面：&lt;/p&gt;
&lt;h3 id="1-域偏移domain-shift"&gt;1. 域偏移（Domain Shift）&lt;/h3&gt;
&lt;p&gt;仿真器的物理参数和真实世界不可能完全一致。摩擦系数差0.1、质量差5克、电机响应慢10毫秒——这些微小差异在仿真里看不出来，但策略部署后会被放大。&lt;/p&gt;
&lt;p&gt;更麻烦的是，这些参数往往是未知的。你不知道真实世界的精确摩擦系数是多少，只能猜一个范围。&lt;/p&gt;
&lt;h3 id="2-未建模动态unmodeled-dynamics"&gt;2. 未建模动态（Unmodeled Dynamics）&lt;/h3&gt;
&lt;p&gt;仿真器只能模拟已知的物理规律。但真实世界有很多&amp;quot;意外&amp;quot;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;柔性物体的形变（比如抓取一块布料，布料的褶皱无法精确预测）&lt;/li&gt;
&lt;li&gt;接触非线性（两个表面接触时的粘滑效应、微小振动）&lt;/li&gt;
&lt;li&gt;传感噪声（相机图像的光照变化、力传感器的漂移）&lt;/li&gt;
&lt;li&gt;外部干扰（有人碰了一下桌子、地面轻微震动）&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这些动态在仿真里要么被简化，要么完全忽略。策略在仿真里学的是&amp;quot;理想世界&amp;quot;的规律，到真实世界就懵了。&lt;/p&gt;
&lt;h3 id="3-安全约束safety-constraints"&gt;3. 安全约束（Safety Constraints）&lt;/h3&gt;
&lt;p&gt;在仿真里，策略可以随便试错——撞坏了重启就行。但在真实世界，机器人撞坏了是真坏了，还可能伤到人。&lt;/p&gt;
&lt;p&gt;这意味着部署到真实世界的策略必须满足安全约束：不能超出关节限位、不能产生过大的力、不能进入危险区域。这些约束在仿真训练时往往没有被充分考虑。&lt;/p&gt;
&lt;h2 id="传统方法域随机化的局限性"&gt;传统方法：域随机化的局限性&lt;/h2&gt;
&lt;p&gt;过去几年，Sim-to-Real迁移的主流方法是域随机化（Domain Randomization）。&lt;/p&gt;
&lt;p&gt;思路很直觉：既然不知道真实世界的精确参数，那就在仿真里随机化这些参数。训练时，每次episode都用不同的摩擦系数、质量、光照条件、传感噪声。策略在这么多&amp;quot;不同的世界&amp;quot;里训练，总有一个和真实世界接近。&lt;/p&gt;
&lt;p&gt;这个方法确实有效。OpenAI的Rubik&amp;rsquo;s Cube机器人（2019年）就是用域随机化实现的——在仿真里训练，直接部署到真实世界，成功率达到90%以上。&lt;/p&gt;
&lt;p&gt;但域随机化有几个根本性的局限：&lt;/p&gt;
&lt;p&gt;第一，随机化范围难确定。如果范围太小，覆盖不到真实世界的参数；如果范围太大，策略会变得过于保守，什么都做不好。&lt;/p&gt;
&lt;p&gt;第二，只能处理已知的不确定性。域随机化只能随机化你&amp;quot;知道要随机化&amp;quot;的参数。但未建模动态（比如柔性形变）你根本不知道该怎么随机化。&lt;/p&gt;
&lt;p&gt;第三，样本效率低。为了覆盖足够大的参数空间，需要大量的训练数据。对于复杂的机器人任务，训练时间可能长达数周。&lt;/p&gt;
&lt;h2 id="新思路用世界模型作为桥梁"&gt;新思路：用世界模型作为&amp;quot;桥梁&amp;quot;&lt;/h2&gt;
&lt;p&gt;世界模型为Sim-to-Real迁移提供了一个全新的思路：不让策略直接从仿真跳到真实世界，而是让世界模型作为中间的&amp;quot;桥梁&amp;quot;。&lt;/p&gt;
&lt;p&gt;核心思想是：世界模型学习了环境的动态规律。如果这个世界模型足够好，它应该能同时模拟仿真环境和真实世界。策略在世界模型的&amp;quot;想象空间&amp;quot;中训练，而不是在仿真器中训练。这样策略学到的不是&amp;quot;仿真世界的规律&amp;quot;，而是&amp;quot;更通用的环境规律&amp;quot;。&lt;/p&gt;
&lt;p&gt;具体来说，世界模型驱动的Sim-to-Real迁移有三个关键机制：&lt;/p&gt;
&lt;h3 id="机制一世界模型驱动的域适应"&gt;机制一：世界模型驱动的域适应&lt;/h3&gt;
&lt;p&gt;传统域随机化是在仿真器层面随机化参数。世界模型方法则是在模型层面做适应。&lt;/p&gt;
&lt;p&gt;流程是这样的：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;在仿真环境中收集大量数据，训练一个世界模型&lt;/li&gt;
&lt;li&gt;在真实世界中收集少量数据（可能只有几分钟的演示）&lt;/li&gt;
&lt;li&gt;用真实数据微调世界模型，让它&amp;quot;适应&amp;quot;真实世界的动态&lt;/li&gt;
&lt;li&gt;在适应后的世界模型中重新训练策略&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;这个方法的优势在于：世界模型的参数量远小于仿真器的参数量。微调世界模型比重新校准仿真器快得多，而且只需要少量真实数据。&lt;/p&gt;
&lt;p&gt;举个例子：一个机械臂抓取任务，仿真里训练的世界模型预测的摩擦力是0.3，但真实世界的摩擦力是0.35。传统方法需要重新校准仿真器的摩擦参数，可能需要几个小时。而世界模型方法只需要用真实数据微调几轮，模型就能学会正确的摩擦力，可能只要几分钟。&lt;/p&gt;
&lt;h3 id="机制二渐进式信任迁移"&gt;机制二：渐进式信任迁移&lt;/h3&gt;
&lt;p&gt;即使世界模型适应得很好，直接把策略部署到真实世界还是有风险。渐进式信任迁移的思路是：分阶段部署，每一步都有安全约束。&lt;/p&gt;
&lt;p&gt;具体分为三个阶段：&lt;/p&gt;
&lt;p&gt;阶段一：纯仿真训练&lt;/p&gt;
&lt;p&gt;策略完全在世界模型的想象空间中训练。这个阶段策略可能还不稳定，但没关系，因为在仿真里。&lt;/p&gt;
&lt;p&gt;阶段二：混合环境训练&lt;/p&gt;
&lt;p&gt;策略在仿真和真实世界之间交替训练。比如奇数episode在仿真里跑，偶数episode在真实世界里跑。真实世界的episode中，加入安全约束（比如限制速度、限制力的范围）。&lt;/p&gt;
&lt;p&gt;这个阶段的关键是信任度评估：世界模型会预测&amp;quot;在真实世界中执行这个动作的后果&amp;quot;。如果预测的不确定性太高，就降低策略的探索强度，或者切换到更保守的行为。&lt;/p&gt;
&lt;p&gt;阶段三：真实世界部署&lt;/p&gt;
&lt;p&gt;策略完全在真实世界中运行。但世界模型仍然在后台运行，持续预测环境动态。如果预测和实际观测偏差太大，触发安全机制（比如减速、停止、请求人工干预）。&lt;/p&gt;
&lt;p&gt;这种渐进式的方法，核心优势是安全。每一步都有安全保障，不会出现&amp;quot;仿真里好好的，一部署就撞坏&amp;quot;的情况。&lt;/p&gt;
&lt;h3 id="机制三在线模型适配"&gt;机制三：在线模型适配&lt;/h3&gt;
&lt;p&gt;即使部署成功了，真实世界还在不断变化。温度变了、零件磨损了、桌面被移动了——这些都会影响策略的性能。&lt;/p&gt;
&lt;p&gt;在线模型适配的思路是：部署后，世界模型持续从真实数据中学习，不断修正自己的预测。&lt;/p&gt;
&lt;p&gt;具体做法：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;策略执行动作时，世界模型同时预测下一个状态&lt;/li&gt;
&lt;li&gt;真实传感器返回实际观测&lt;/li&gt;
&lt;li&gt;比较预测和实际观测，计算误差&lt;/li&gt;
&lt;li&gt;用这个误差更新世界模型的参数（在线学习）&lt;/li&gt;
&lt;li&gt;更新后的世界模型用于下一步的预测和策略更新&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这个机制让策略能够持续适应环境变化。比如机械臂的关节随着使用会磨损，摩擦力会逐渐变化。在线适配的世界模型能捕捉到这种变化，策略也能相应调整。&lt;/p&gt;
&lt;h2 id="安全约束控制屏障函数"&gt;安全约束：控制屏障函数&lt;/h2&gt;
&lt;p&gt;前面提到了安全约束，这里展开说一下具体的实现方法。&lt;/p&gt;</description></item></channel></rss>