模仿学习2.7:diffusion

概念

以专家示范轨迹 为训练数据,通过扩散模型的**「逐步加噪 - 条件去噪」**生成范式,学习并输出符合专家行为分布的连续动作序列的模仿学习方法

核心目标:从专家示范的(状态 - 动作)轨迹中,学习一个从环境状态到执行动作的映射策略,让智能体复现专家的行为

核心能力:通过「前向逐步给数据加高斯噪声,反向训练去噪网络还原数据」的流程,精准拟合高维、复杂、多模态的数据分布,训练稳定性远优于 GAN 等生成模型

工作流程

1. 训练阶段(学习专家行为分布)

  • 数据预处理:收集专家示范轨迹,整理为「环境状态序列(含当前 / 历史状态)+ 对应未来多步动作序列」的配对数据,动作序列是扩散模型的生成目标。

  • 前向加噪过程:对专家的真实动作序列,逐步添加高斯噪声,经过 T 步后,纯动作序列被完全破坏为随机高斯噪声。

条件去噪训练:训练一个条件去噪神经网络,输入为「加噪后的动作序列、当前加噪步数、环境状态条件」,训练目标是精准预测当前步添加的高斯噪声。通过迭代训练,模型学会在给定状态下,从噪声中还原出专家的动作分布。

2. 推理阶段(策略执行)

  • 从随机高斯噪声出发,作为初始的动作序列;

  • 基于当前实时的环境状态,通过训练好的去噪网络,执行 T 步逐步去噪,最终还原出符合专家行为的完整动作序列;

  • 一般取序列的第一个动作在环境中执行,之后进入新的环境状态,重复上述去噪生成流程,实现闭环的连续决策。

相关推荐
Godspeed Zhao4 小时前
从零开始学AI25——无监督学习之层次聚类
学习·机器学习·聚类
David猪大卫11 小时前
【C++修炼】map 和 set 的使用
c语言·开发语言·数据结构·c++·经验分享·笔记·学习
HPtiger11 小时前
C++ 入门笔记:从 C 到 C++ 的核心过渡(命名空间、输入输出、缺省参数、重载、引用、内联)
c语言·c++·学习
fengci.12 小时前
CTF2MISC中等部分
开发语言·前端·学习
YueTann14 小时前
mgtv5th-baseline学习
学习
蒸蒸yyyyzwd15 小时前
从后端面经学到的 3 个知识
笔记·学习
17岁的勇气15 小时前
Unity Shader unity文档学习笔记(二十二):shader变体
笔记·学习·unity
路灯上の马陈18 小时前
Java 内部类 学习笔记
笔记·学习
前进的李工18 小时前
Agent 学习笔记 12:Agent 的工具应该怎么设计
人工智能·笔记·学习·agent·工具调用·skill·工具设计
li星野18 小时前
从 DICOM 到声学属性学习记录:HU 值怎么变成密度和声速
学习