强化学习笔记: 应用举例
这里举几个RL的应用场景(当然有更多的)
1 RL & 调参(神经网络结构性参数)
1.1 策略网络
策略网络是一个循环神经网络 (RNN)输入向量 xt 是对上一个超参数做 Embedding 得到的。[向量 x0 是例外;x0 是用一种特殊的方法随机生成的。]循环层的向量 ht 可以看做从序列 [x1,· · ·, xt] 中提取的特征可以把看做第 t 个状态。策略网 络的输出向量 ft 是一个概率分布。根据 ft 做随机抽样,得到动作 at,即第 t 个超参数。
对我们这20个卷积层 ,依次生成每一层的卷积核数量、卷积核大小、步长大小。
在 RNN 运 行 60 步之后,得到 60 个超参数,也就确定了 20 个卷积层的结构。
1.1.1 训练策略网络
在前 59 步,奖励全都是零:。
然后可以用REINFORCE算法更新策略网络参数θ
强化学习笔记:policy learning_UQI-LIUWJ的博客-CSDN博客
1.2 一定要用强化学习吗?
2 RL+SQL 生成
2.1 监督学习的局限性
- 即便两个 SQL 语句高度相似,它们在数据库中执行得到的结果可能完全不同。即便是一个字符的错误,也可能导致生成的 SQL 语法错误,无法执行。
- 哪怕两个 SQL 语句看似区别很大,它们的作用是完全相同的,它们在数据库中执行得到的结果是相同的。
- SQL 的写法会影响执行的效率,而从 SQL 语句的字面上难以看出它的效率。只有真正在数据库中执行,才知道 SQL 语句究竟花了多长时间。
2.2 RL+SQL生成
https://faculty.cc.gatech.edu/~jarulraj/courses/8803-f18/papers/seq2sql.pdf
3 网约车调度
3.0 引子:两个具体的例子
对于图 19.8 中的例子,假如不考虑目的地的热门程度(即附近接单的容易程度),则应该给司机派发上面蓝色目的地的订单,这样可以让司机在较短的时间内取得更高的收入。
但是这样其实不利于司机的总收入:在司机到达冷门地点之后,需要等待较长的时间才会有新的订单。
假如给司机派发下面热门目的地的订单,司机在完成这笔订单后,立刻就能接到下一笔订单;这样虽然单笔收入低,但是总收入高。
对于图 19.9 中的例子,很显然应该把订单派送给冷门地点的司机更合适。热门地点的司机得不到这笔订单几乎没有损失,因为在很短的时间之后就会有新的订单。而这笔订单对冷门地点的司机比较重要,如果没有这笔订单,司机还需要空等很久才有下一笔订单。
3.1 价值学习
3.2 订单派单机制
在学到状态价值函数之后,可以用它来预估任意地点、时间的网约车的价值,并利用这一信息来给网约车派发订单。
主要想法是用负的 TD 误差来评价一个订单给一个网约车带来的额外收益。
在同一时刻,某区域内有 m 笔订单,有 n 个空车,那么计算所有(订单,空车)二元组的 TD 误差,得到一个 m × n 的矩阵。用二部图 (Bipartite Graph) 匹配算法,找订单—空车的最大匹配,完成订单派发。
简单起见,此处设折扣率 γ = 1,那么TD 目标等于:
可以这样理解 TD 目标:
- 假设给该空车派发该订单,那么该笔订单的价值 r = 40 加上未 来的状态价值,一共等于520.
但是司机接这笔订单是有机会成本的;假如不接这笔订单,马上就会有别的订单,可能会获得更高的 TD 目标。这里机会成本是500 用 TD 目标减去机会成本,即负的 TD 目标 ——>这意味着接这笔订单,司机的收入高于期望收入 20 元。
举个例子,在某个区域,当前有 3 笔订单, 有 4 辆空车。计算每个(订单,空车)二元组的 TD 误差,得到图 19.11 中大小为 3 × 4 矩阵。
有了上面的矩阵,可以调用二部图匹配算法(比如匈牙利算法)来匹配订单和空车。 图 19.12(左) 是最大匹配,三条边的权重之和等于 31。图 19.12(右) 也是一种匹配方式,但是三条边的权重之和只有 30,说明它不是最大匹配,因此不会这样派发订单。
强化学习笔记: 应用举例相关推荐
- 强化学习笔记:Q_learning (Q-table)示例举例
1 示例介绍 在右侧有宝藏,探险者到达宝藏所在的位置,就可以获得奖励 比如某一时刻的状态是这个样子的:"-o---T" T 就是宝藏的位置, o 是探索者的位置 如果在某个地点 s ...
- python嵩天课堂笔记_[Python机器学习]强化学习笔记(嵩天礼欣老师mooc第三周)
[Python机器学习]强化学习笔记(嵩天礼欣老师mooc第三周) [Python机器学习]强化学习笔记(嵩天礼欣老师mooc第三周) 目录 强化学习 定义 马尔科夫决策过程 基本元素 值函数 最优值 ...
- 142页ICML会议强化学习笔记整理,值得细读
作者 | David Abel 编辑 | DeepRL 来源 | 深度强化学习实验室(ID: Deep-RL) ICML 是 International Conference on Machine L ...
- 强化学习笔记 DDPG (Deep Deterministic Policy Gradient)
1 总述 总体来讲,和actor-critic 差不多,只不过这里用了target network 和experience relay 强化学习笔记 experience replay 经验回放_UQ ...
- 强化学习笔记:Actor-critic
0 复习 由于actor-critic 是 policy gradient 和DQN的一个结合,所以我们先对这两个进行一个简单的复习: 0.1 policy gradient 强化学习笔记:Polic ...
- 强化学习笔记:PPO 【近端策略优化(Proximal Policy Optimization)】
1 前言 我们回顾一下policy network: 强化学习笔记:Policy-based Approach_UQI-LIUWJ的博客-CSDN博客 它先去跟环境互动,搜集很多的 路径τ.根据它搜集 ...
- 强化学习笔记:Sarsa算法
1 Sarsa(0) Sarsa算法和TD类似,只不过TD是更新状态的奖励函数V,这里是更新Q函数强化学习笔记:Q-learning :temporal difference 方法_UQI-LIUWJ ...
- 强化学习笔记: generalized policy iteration with MC
强化学习笔记: MDP - Policy iteration_UQI-LIUWJ的博客-CSDN博客 强化学习笔记:Q-learning_UQI-LIUWJ的博客-CSDN博客 在policy ite ...
- 强化学习笔记:Q-learning :temporal difference 方法
强化学习笔记:马尔可夫过程 &马尔可夫奖励过程_UQI-LIUWJ的博客-CSDN博客 和MC方法(强化学习笔记:Q-learning_UQI-LIUWJ的博客-CSDN博客)类似,时分TD方 ...
最新文章
- python连接数据库,处理数据结果后生成excel文件
- python程序员工作怎样-python程序员怎样在面试过程中展现自己的基本功
- PXE高效批量安装和Kickstart无人值守安装——真正完成批量自动安装
- Linux下安装和配置solr/tomcat/IK分词器 详细实例二.
- 常见web前台技术之间的关系html,css,javascript...
- django 1.8 官方文档翻译: 3-3-5 编写自定义存储系统
- Spring Boot 第一个程序
- Codeforces Round #249 (Div. 2) A. Queue on Bus Stop
- 重试次数配置_Stelnet(ssh)登陆华为交换机配置教程
- Java笔记之入门(一)
- Java设计模式——模板方法模式(模板方法设计模式)详解
- 服务器 python cant open file_QQ炫舞转服系统-QQ炫舞官方网站-腾讯游戏
- PyCharm 下载安装及配置使用详细图文教程
- 再次领先全国,第一只波士顿机器狗落户上海,等你来撸
- 软件硕士和计算机硕士,详解软件工程硕士和计算机硕士区别
- 2014中国高中排行榜发布 华中师大一附中居首
- 于typedef的用法总结
- BlueTooth: 什么是蓝牙(Bluetooth)
- 整理在翻译与校对Spring 2.0 Reference时使用DocBook时的技巧与注意点
- 大学生游戏静态HTML网页设计 (HTML+CSS+JS仿英雄联盟网站15页)
热门文章
- C# WinForm 工作流设计 工作流程图拖拽设计 +GDI 绘制工作流程图
- 论人工智能历史、现状与未来发展战略
- vue - vue简单实现移动端的table表格
- synplify pro和lattice lse综合同一段verilog代码时的区别
- 统计字符串中每个字符的个数。(原始字符串是:“aabccdeefff”,结果是:a2 b1 c2 d1 e2 f3)
- pvq真值表_真值表等数理逻辑方法的判定功能
- 使用HBuilder将H5的项目打包成手机可安装的webapp程序(.apk)
- CSDN的C1考试,质数问题,一不小心就错失得分
- 什么场景要对象克隆?
- 怎么才能在Mac电脑提醒事项添加提醒事项