【ArchSummit】如何通过AIOps推动可量化的业务价值增长和效率提升?>>> 了解详情
写点什么

李宏毅深度强化学习课程:Deep Q-learning Advanced Tips

  • 2019-12-02
  • 本文字数:1081 字

    阅读完需:约 4 分钟

李宏毅深度强化学习课程:Deep Q-learning Advanced Tips

DDQN


红色线表示 DQN 估计的 Q 值,发现都会比真实的 Q 值要高很多,那么是为什么会 Q 值会被高估?



假设现在有 4 个状态动作对,他们真实的 Q 值其实是相差不大的,但是因为在学习过程中,Q 值是一个估计值,总会有状态动作对的 Q 值会被高估,此时被高估的 Q 值就会被选择出来当做 target。



解决方法就是用两个 Q 值函数(一个是当前的值网络,一个是 target 网络),一个用作动作的选择,一个用作 target Q 值的估计。这样当 Q 值被高估后,选出相应的动作,但只要[公式] 不高估就行。另外一种情况是如果 [公式] 被高估,但是此时被高估的动作也不会被选择到(选择动作是根据另一个 Q 值选的)。


Dueling DQN



其实就是将输出 Q 值改为输出 V 值和 A 值。


那么这样有什么好处呢?



假设有两个 Q 值都希望+1,现在只能动 V 值和 A 值。现在可以让 V 值+1,那么所有的状态动作 Q 值都会改变,这样就不需要采样到所有状态动作对来更新所有的 Q 值,提高了样本的利用率。另外,必须对 A 值加 constraint,使得网络更新 A 值会比较复杂,而去倾向于更新 V 值。常做的方式是将一个动作的所有 A 值加起来为 0。



计算 Q 值的时候(V+A),先将 A 值做归一化。


Prioritized Reply



之前是从样本池中随机抽取一个 batch 训练数据,现在可优先选取 TD 误差较大的样本。TD 误差较大的样本训练价值更高,梯度会更大。


Multi-step



可结合使用 MC 和 TD 更新方法,之前 DQN 方法是存储一个时间步的转移样本 :[公式] ,现在存储 N 个时间步的转移样本。好处:sample 多个 step 的转移样本,Q 的估计值的准确性会提高,但是多个时间步的采样会导致方差变大。


Noisy Net



之前为了探索在动作上加 noise,现在可以在网络参数上加 noise。须注意的是 noise 必须在每个新的 episode 开始时加入,并且在每个 episode 期间没有动作的探索。



epsilon greedy 方法会有一个问题:在同个 state 下,可能会执行不同的动作。但是现实场景中合理的做法应该是同个 state 采取同一个 action。Noisy net 就会在同个 episode 中的同个 state 下,执行相同的动作。


Distributional Q-function



其实 Q(s,a)的值是有一个分布的,不同的分布可能会有同样的 mean 均值(当做 Q 值)。所以用 Q 来表示未来期望总奖赏会丢失一些信息。



直接输出每个状态动作对的 Q 值的分布,这样可以根据 Q 值分布获得很多额外信息,比如可根据动作 Q 值的分布的熵来决定要不要采取该动作??


Rainbow


结合上述的几个 tips




可发现,multi-step 和 priority 比较有用。


参考文献:


https://www.bilibili.com/video/av24


本文转载自 Alex-zhai 知乎账号。


原文链接:https://zhuanlan.zhihu.com/p/72994607


2019-12-02 16:23829

评论

发布
暂无评论
发现更多内容

appuploader不是开发者账号

雪奈椰子

使用 RediSearch 在 Redis 中进行全文检索

AlwaysBeta

redis redisearch

华为负一屏全新体验,实时状态让服务快人一步

最新动态

【腾讯云Cloud Studio实战训练营】如何成为一名合格的Python爬虫“念咒师”(基于ChatGpt)

孤寒者

Python Cloud Studio Python爬虫 念咒师 念咒编程

面部表情识别在安全领域的应用

来自四九城儿

局域网部署,用WorkPlus视频会议保密又安全

WorkPlus

华为正式发布HarmonyOS NEXT开发者预览版,携手开发者共赴鸿蒙生态星辰大海

Geek_2d6073

What's the difference between Maxon WiFi6 4x4 M.2 industrial Wireless Module with QCN9074 & QCN9024?

wifi6module

QCN9074 QCN9024

组织门户支持成员自主公开,快速搭建内容|ModelWhale 版本更新

ModelWhale

云计算 数据分析 API 算力 数据门户

扎根x86市场稳步前进-海光投研报告解读

三掌柜

研究报告

appuploader不是开发者账号

Rust中的高吞吐量流处理

高端章鱼哥

rust 流处理

探索大模型应用,解决企业数字化转型“最后一公里”

中关村科金

海光财报解读:深耕研发,打造技术护城河

程序员海军

研究报告 海光

从海光看国内芯片行业崛起:技术研发是增长关键

打工人!

芯片 芯片行业 海光

HDC.Together 华为开发者大会还有干货,开发者主题演讲明日举行

Geek_2d6073

城市与AI,正待济沧海

脑极体

AI 大模型

盘点国产CPU“六君子”之中科海光发展史

石云升

cpu 微处理器 中科海光

面部表情识别的伦理问题

来自四九城儿

开源社区寻找八月创作之星!你准备好了吗~

Openlab_cosmoplat

人工智能 开源

技术分享 | Selenium多浏览器处理

霍格沃兹测试开发学社

app测试中常用的Android模拟器

霍格沃兹测试开发学社

技术分享 | 白盒测试方法论

霍格沃兹测试开发学社

准确率提升近4%,自研ASR模型助力公安机关筑牢反诈安全网

中关村科金

技术分享 | 网页 frame 与多窗口处理

霍格沃兹测试开发学社

私有化部署企业IM即时通讯:提升效率、防止泄密、高效协同办公

WorkPlus

详解 HashMap 的底层实现原理

树上有只程序猿

Java 数据结构 hashmap 哈希

面部表情识别在教育领域的应用

来自四九城儿

技术分享 | web前端的HTML浅析

霍格沃兹测试开发学社

技术分享 | 黑盒测试方法论-判定表

霍格沃兹测试开发学社

AI +悦数图数据库:图技术与大语言模型 LLM 结合,打造下一代知识图谱应用

最新动态

李宏毅深度强化学习课程:Deep Q-learning Advanced Tips_语言 & 开发_Alex-zhai_InfoQ精选文章