1 GAN (回顾)

GAIL 的设计基于生成判别网络 (GAN)。这里简单地回顾一下GAN,详细的可见NTU 课程笔记 7454 GAN_UQI-LIUWJ的博客-CSDN博客
GAN由生成器 (Generator) 和判别器 (Discriminator)组成,它们各是一个神经网络。
——>生成器负责生成假的样本
——>判别器负责判定一个样本是真是假。
我们的目标是希望生成器生成的内容可以“以假乱真”

1.1 生成器

        生成器记作 a = G(s; θ),其中 θ 是参数。它的输入是向量s,向量的每一个元素从均匀分布或标准正态分布 N (0, 1) 中抽取。生成器的输出是数据(比如图片)x

1.2 判别器

判别器记作,其中 ϕ 是参数。
它的输入是图片 x;输出是介于 0 到 1 之间的概率值,0 表示“假的”,1 表示“真的”。
判别器的功能是二分类器。

1.3 训练生成器

将生成器与判别器相连,固定住判别器的参数,只更新生成器的参数 θ,使得生成的图片 x = G(s; θ) 在判别器的眼里更像真的。

对于任意一个随机生成的向量 s,应该改变 θ,使得判别器的输出尽量接近 1

可以用如下函数作为loss function:

我们希望此时D(x;Φ)越大越好,也就是E(s;θ)越小越好

所以我们用梯度下降来更新生成器的θ

1.4 训练判别器

  • 判别器的本质是个二分类器,它的输出值 表示对图片真伪的预测;

    •  接近 1 表示“真”,
    • 接近 0 表示“假”。
判别器的训练如下图所示。
  • 从真实数据集中抽取一个样本,记作
  • 再随机生成一个向量 s,用生成器生成
  • 训练判别器的目标是改进参数 ϕ,让 更接近 1(真),让更接近 0 (假)。
  • ——>也就是说让判别器的分类结果更准确,更好区分真实图片和生成的假图片。

此时的损失函数如下所示

不难发现,判别器越准确,损失函数F越小

所以我们也用梯度下降更新判别器的θ

1.5 整体训练流程

2 生成判别模仿学习 Generative Adversarial Imitation Learning, GAIL

2.1 训练数据

GAIL 的训练数据是被模仿的对象(人类专家)操作智能体得到的轨迹

数据集中有 k 条轨迹,把数据集记作:

2.2 生成器

GAIL 的生成器是策略网络π(a|s; θ)
策略网络的输入是状态 s,输出是一个向量:
输出向量 f 的维度是动作空间的大小 A,它的每个元素对应一个动作,表示执行该动作
的概率。
给定初始状态 s1,并让智能体与环境交互,可以得到一条轨迹:

其中动作是根据策略网络抽样得到的, 

下一时刻的状态是环境根据状态转移函数计算出来的

2.3 判别器

GAIL 的判别器记作 D(s, a; ϕ)
判别器的输入是状态 s,输出是一个向量:
输出向量的维度是动作空间的大小 A,它的每个元素对应一个动作 a,把一个元素记作:
接近 1 表示 (s, a) 为“真”,即动作 a 是人类专家做的。
接近 0 表示 (s, a) 为“假”,即动作 a 是策略网络生成的。

2.4 GAIL的训练

2.4.1 训练生成器

是当前策略网络的参数。用策略网络控制智能体与环境交互,得到一条轨迹:
用判别器评价的真实情况,越大,说明在判别器的眼里越真实。
我们记第t步的回报为:

于是我们的轨迹可以变成

有不同的方法来更新策略网络的参数θ

在GAIL中,使用的是TRPO

强化学习笔记:置信域策略优化 TRPO_UQI-LIUWJ的博客-CSDN博客

即目标函数为

通过解带约束的最大化问题,得到新的参数

2.4.2 训练判别器

训练判别器的目的是让它能区分真的轨迹与生成的轨迹
我们从训练数据中抽样一条轨迹:

同时用策略网络控制智能体和环境交互,得到另一条轨迹,记作

注意real和fake轨迹的长度可能不一样

同样地,我们希望尽量趋近于1,尽量趋近于0

于是我们定义损失函数

我们希望损失函数尽量小,也就是说判别器能区分开真假轨迹。可以做梯度下降来更新判别器的参数Φ

2.4.3 整体训练流程

每一轮训练更新一个生成器,更新一次判别器。训练重复以下步骤,直 到收敛。

模仿学习笔记:生成判别模仿学习 Generative Adversarial Imitation Learning, GAIL相关推荐

  1. 论文精读:Generative Adversarial Imitation Learning(生成对抗模仿学习)

    生成对抗模仿学习论文分享(Generative Adversarial Imitation Learning) 1.背景介绍 1.1.论文背景 这篇论文是2016年由斯坦福大学研究团队提出的,两位作者 ...

  2. 【强化学习】GAIL生成对抗模仿学习详解《Generative adversarial imitation learning》

    前文是一些针对IRL,IL综述性的解释,后文是针对<Generative adversarial imitation learning>文章的理解及公式的推导. 通过深度强化学习,我们能够 ...

  3. Generative Adversarial Imitation Learning分析

    目录 Generative Adversarial Imitation Learning论文分析 Abstract Introduction Background Characterizing the ...

  4. 从《西部世界》到GAIL(Generative Adversarial Imitation Learning)算法

    原文链接:https://blog.csdn.net/jinzhuojun/article/details/85220327 一.背景 看过美剧<西部世界>肯定对里边的真实性(fideli ...

  5. AAAI 2021-TextGAIL:Generative Adversarial Imitation Learning for Text Generation

    原文链接​https://arxiv.org/abs/2004.13796 介绍motivation 1)Exposure bias problem of MLE 2)The text generat ...

  6. 生成对抗网络 – Generative Adversarial Networks | GAN

    生成对抗网络 – Generative Adversarial Networks | GAN 生成对抗网络 – GAN 是最近2年很热门的一种无监督算法,他能生成出非常逼真的照片,图像甚至视频.我们手 ...

  7. 生成对抗网络(Generative Adversarial Networks)

    参考  生成对抗网络(Generative Adversarial Networks) - 云+社区 - 腾讯云 目录 一.生成对抗网络原理 1.模型的起源 2.模型的结构和损失函数 二.对GAN的改 ...

  8. 论文理解【IL - 数据增广】 —— Adversarial Imitation Learning with Trajectorial Augmentation and Correction

    标题:Adversarial Imitation Learning with Trajectorial Augmentation and Correction 发表:ICRA 2021 文章链接:Ad ...

  9. 论文翻译 —— Adversarial Imitation Learning with Trajectorial Augmentation and Correction

    标题:Adversarial Imitation Learning with Trajectorial Augmentation and Correction 会议:ICRA 2021 文章链接:Ad ...

最新文章

  1. MySQL 5.7 中TIMESTAMP with implicit DEFAULT value is deprecated错误
  2. day-44mysql
  3. 关于 SAP 电商云首页加载时触发的 OCC API 请求
  4. Discuz!NT博客非官方升级!!
  5. uniapp /deep/设置uni-app组件样式时 h5生效 小程序失效问题解决
  6. 面试项目亮点_当面试官谈到项目经验的时候,你知道怎么回答吗?怎么反过来控制面试流程?...
  7. MySQL Online DDL 方案剖析
  8. 文件怎么更新_iOS屏蔽更新描述文件以及超级详细安装方法分享
  9. 【算法】非线性动力学混沌、分岔图、最大李雅普诺夫指数等
  10. intel AVX / AVX2指令学习资源
  11. 你想要的宏基因组-微生物组知识全在这(1905)
  12. Ajax请求前显示的等待图标
  13. 请为横线处选择合适的程序使得程序的运行结果是123 ( )
  14. 祝愿天下所有运维的服务器永不宕机!
  15. 让你的Linux支持WEB修改密码(转)
  16. 数据挖掘十大经典算法个人总结
  17. 由点及面,一叶知秋——集合大家族
  18. 解决pip install (包名)报错问题
  19. Aspose.PDF for Java 20.x
  20. iframe嵌入网页的用法

热门文章

  1. 没文凭能学IT技术吗_学完能找到工作吗?能的
  2. dnspod每步nat123及3322动态域名同类网络辅助软件对比
  3. Struts2中关于There is no Action mapped for namespace / and action name的错误解决
  4. 高考415分能上计算机网络的学校吗,2021年高考415分文科能上什么学校 文科415分左右的大学有哪些...
  5. AI医药方向论文总结(包含DDI和DDS,重点分析药物联合预测)
  6. React 源碼解析 - Fiber/Reconcile 系列:Fiber 與 Diff
  7. 极域卸载就不能安装显示错误码2083
  8. 红色景点,纪念馆打卡拍照小程序,打卡完成任务,JavaScript 循环 i < cars.length;
  9. CODE【VS】1553 互斥的数(hash表+map函数)
  10. 计算机考试准考证打印时间