本文先介绍4种生成式模型的基本概念与应用 后续文章会对每个模型具体分析
欢迎关注后续文章
感谢点赞关注
1. 生成模型的概念
生成模型的核心目标是:学习数据分布,并从中采样生成新的样本。
如果数据记为 x ,生成模型学习的是:
p(x):无条件生成 p(x∣c):条件生成
输出不是唯一答案,而是一个分布 能通过 sampling (从分布中采样)生成多个合理结果 特别适合处理一对多、多模态问题
应用场景:图像生成 轨迹生成 抓取姿态生成 机器人动作生成
与传统回归的区别
传统回归常用 MSE,但在生成任务中,一个输入往往对应多个合理输出。如果直接做回归,模型容易输出 “平均结果”,导致结果模糊、不自然,甚至不可执行。
因此,生成模型更关注:
样本是否真实
是否具有多样性
是否符合真实数据分布
2. 生成模型的方法
(1)GAIL
GAIL(生成对抗模仿学习)把模仿学习写成一个类似 GAN 的对抗过程。
目标不是直接回归专家动作,而是让智能体生成的状态 - 动作分布尽量接近专家演示数据。
它包含两部分:
策略 π :根据状态输出动作,负责生成行为
判别器 D :判断某个状态 - 动作对来自专家还是来自当前策略
工作过程 判别器学习区分:“这是专家的行为” 还是 “这是智能体生成的行为” 策略则不断更新,试图产生更像专家的行为去骗过判别器 最终,策略生成的轨迹分布接近专家轨迹分布
直观理解 GAN 是生成 “假图片” 去骗判别器;GAIL 是生成 “假专家行为” 去骗判别器。
优点 不需要显式恢复奖励函数 适合从专家演示中直接学习行为分布 能学到比简单行为克隆更长时序、更符合整体轨迹分布的策略
缺点 训练复杂,涉及对抗训练 + 强化学习 样本效率通常较低 训练稳定性不如纯监督学习方法
应用 机器人模仿学习 轨迹生成 控制策略学习
(2)VAE
VAE(变分自编码器)是一种概率生成模型,通过学习隐变量分布来生成数据。
主要包括两部分:
编码器:把输入 x 编码为一个隐变量分布,通常输出均值和方差 解码器:从隐变量 z 中重建或生成数据 即: z∼N(μ,σ2)
这说明 VAE 学到的不是一个固定表示,而是一个概率分布表示。
核心思想 把复杂的数据变到一个较低维、连续的隐空间中。在这个隐空间里,相近的点对应相似的数据。因此可以通过从隐空间采样,再经过解码器生成新样本。
训练目标 VAE 的损失通常由两部分组成:
重建损失:保证生成结果尽量接近原始数据 KL 散度:约束隐变量分布接近标准高斯分布
这样可以保证:
隐空间比较规整 采样和插值都更方便
优点 训练稳定 有明确概率解释 隐空间连续,适合做条件生成、插值和多样化采样
缺点 生成结果有时较平滑、较模糊 细节质量通常不如强对抗模型或扩散模型
应用 图像生成 动作 / 轨迹生成 抓取姿态生成 潜变量建模
(3)ACT
ACT (Action Chunking Transformer) 是一种面向机器人操作的生成式策略学习方法,核心思想是:不只预测单步动作,而是一次生成一段连续动作(action chunk)。
传统策略常常根据当前观测只输出一步动作,
缺点:
对误差敏感 动作不连续 长时任务中累积误差较大
ACT 的做法是:
输入当前观测(如图像、机器人状态),一次预测未来若干步动作序列,再执行其中的一部分或滚动更新,也就是说,它把动作生成看成一个序列生成问题。
为什么属于生成式方法 对于同一个任务状态,往往存在多种合理动作序列。ACT 不再只做单点回归,而是学习动作序列分布,从而更适合处理多模态操作行为。
ACT 通常结合:
Transformer:建模长时序依赖关系 chunking:把多个连续动作打包预测 有时还会结合 VAE latent 来表示动作风格或动作模式,从而提升多样性和鲁棒性
优点 能更好建模长时序动作 生成的动作更平滑、更连贯 在机器人模仿学习和操作任务中效果较好 比单步行为克隆更适合复杂操作任务
缺点 需要较多演示数据 对训练数据质量较敏感 如果完全用回归训练,多样性建模能力可能有限,因此常与 latent variable 方法 结合
应用 机械臂操作 模仿学习 长时序任务执行 视觉条件动作生成
(4)扩散模型
扩散模型(Diffusion Model)的核心思想是:先把真实数据逐步加噪,再学习如何从噪声逐步恢复出数据。
正向过程:加噪 从真实样本出发,经过很多步逐渐加入高斯噪声,最后把数据变成接近纯噪声。
即:
开始时是真实数据 一步步加入小噪声 最后变成随机噪声
逆向过程:去噪生成 训练一个模型学习每一步如何去掉噪声。
生成时:
从随机噪声开始 按照模型一步步去噪 最终生成一个新样本 因此扩散模型本质上是一个 “噪声到数据” 的生成过程。
对于每一步,模型只需要解决一个相对简单的去噪问题,因此训练通常比较稳定,也容易得到高质量样本。
优点 生成质量高,细节丰富 训练比 GAN 更稳定 很适合条件生成,如图像生成、轨迹生成、动作生成
缺点 采样较慢,需要多步迭代 计算成本较高
应用 图像生成 视频生成 轨迹规划 机器人动作生成 抓取姿态生成
GAIL:通过对抗训练学习接近专家的行为分布,适合模仿学习 VAE:通过隐变量分布建模数据,训练稳定,适合多样化生成 ACT:把动作看成序列,一次生成一段动作,适合机器人长时任务 扩散模型:通过逐步去噪生成样本,质量高但速度较慢