强化学习

DRL强化学习:

拥有回忆 提交于 2019-11-28 16:39:48
IT博客网 热点推荐 推荐博客 编程语言 数据库 前端 IT博客网 > 域名隐私保护 免费 DRL前沿之:Hierarchical Deep Reinforcement Learning 来源:互联网 发布: 域名隐私保护 免费 编辑:IT博客网 时间:2019/08/26 23:49 1 前言 如果大家已经对DQN有所了解,那么大家就会知道,DeepMind测试的40多款游戏中,有那么几款游戏无论怎么训练,结果都是0的游戏,也就是DQN完全无效的游戏,有什么游戏呢? 比如上图这款游戏,叫做Montezuma’s Revenge。这种游戏类似超级玛丽,难在哪里呢?需要高级的策略。比如图中要拿到钥匙,然后去开门。这对我们而言是通过先验知识得到的。但是很难想象计算机如何仅仅通过图像感知这些内容。感知不到,那么这种游戏也就无从解决。 那么这篇文章: Hierarchical Deep Reinforcement Learning: Integrating Temporal Abstraction and Intrinsic Motivation 时间:2016年4月20号 来源: arXiv.org 尝试解决这种问题。 2 文章思路 它的思路很简单,就是弄一个两个层级的神经网络,顶层用于决策,确定下一步的目标,底层用于具体行为。 不得不说,这个想法显而易见(本人也想过啦)但是

强化学习(Reinforcement Learning)中的Q-Learning、DQN,面试看这篇就够了!

て烟熏妆下的殇ゞ 提交于 2019-11-27 18:55:00
1. 什么是强化学习 其他许多机器学习算法中学习器都是学得怎样做,而强化学习(Reinforcement Learning, RL)是在尝试的过程中学习到在特定的情境下选择哪种行动可以得到最大的回报。在很多场景中,当前的行动不仅会影响当前的rewards,还会影响之后的状态和一系列的rewards。RL最重要的3个特定在于: 基本是以一种闭环的形式; 不会直接指示选择哪种行动(actions); 一系列的actions和奖励信号(reward signals)都会影响之后较长的时间。 强化学习(Reinforcement Learning, RL),又称再励学习、评价学习或增强学习,是 机器学习 的范式和 方法论 之一,用于描述和解决 智能体 (agent)在与环境的交互过程中通过学习策略以达成回报最大化或实现特定目标的问题 [1] 。 上图中agent代表自身,如果是自动驾驶,agent就是车;如果你玩游戏它就是你当前控制的游戏角色,如马里奥,马里奥往前走时环境就一直在发生变化,有小怪物或者障碍物出现,它需要通过跳跃来进行躲避,就是要做action(如向前走和跳起的动作);无人驾驶的action就是车左转、右转或刹车等等,它无时无刻都在与环境产生交互,action会反馈给环境,进而改变环境,如果自动驾驶的车行驶目标是100米,它向前开了10米,那环境就发生了变化

《深度学习入门基于Python的理论与实现》PDF代码学习指导

て烟熏妆下的殇ゞ 提交于 2019-11-27 17:10:32
入门神经网络深度学习,推荐学习《深度学习入门:基于Python的理论与实现》,这本书不来虚的,一上来就是手把手教你一步步搭建出一个神经网络,还能把每一步的出处讲明白。理解神经网络,很容易就能入门。 深度学习真正意义上的入门书,深入浅出地剖析了深度学习的原理和相关技术。书中使用Python3,尽量不依赖外部库或工具,从基本的数学知识出发,带领读者从零创建一个经典的深度学习网络,使读者在此过程中逐步理解深度学习。 《深度学习入门:基于Python的理论与实现》中文版PDF,314页,带目录标签,文字可复制。配套源代码。 下载: https://pan.baidu.com/s/1Ew_WvDQljWZ_YnGW-VDlsA 提取码: mh49 推荐非常适合入门神经网络编程的一本书《Python神经网络编程》,主要是三部分: 介绍神经网络的基本原理和知识;用Python写一个神经网络训练识别手写数字;对识别手写数字的程序的一些优化。 清晰易懂,只用了一点数学(目标读者是高中生,书中稍许用到的微积分知识,在附录也有解释),就把神经网络的构造和原理讲得很清楚。讲完理论,作者在书的第二部分进入实践,一步步编写了一段应用神经网络模型识别手写数字的代码,几乎每一步都伴有详细讲解。个人感觉是,如果预先有一点点python的知识,会更容易理解这些代码。第三部分篇幅不长,主要是在某些方面略作延伸

【强化学习】多臂赌博机问题(MAB)的UCB算法介绍

半城伤御伤魂 提交于 2019-11-27 13:55:50
UCB算法 UCB在做EE(Exploit-Explore)的时候表现不错,但是一个不关心组织的上下文无关(context free)bandit算法,它只管埋头干活,根本不观察一下面对的都是些什么样的arm。 UCB算法要解决的问题是: 面对固定的K个item(广告或推荐物品),我们没有任何先验知识,每一个item的回报情况完全不知道,每一次试验要选择其中一个,如何在这个选择过程中最大化我们的回报? UCB解决这个Multi-armed bandit问题的思路是:用置信区间。置信区间可以简单地理解为不确定性的程度,区间越宽,越不确定,反之亦反之。 每个item的回报均值都有个置信区间,随着试验次数增加,置信区间会变窄(逐渐确定了到底回报丰厚还是可怜)。 每次选择前,都根据已经试验的结果重新估计每个item的均值及置信区间。 选择置信区间上限最大的那个item。 “选择置信区间上界最大的那个item”这句话反映了几个意思: 如果item置信区间很宽(被选次数很少,还不确定),那么它会倾向于被多次选择,这个是算法冒风险的部分; 如果item置信区间很窄(备选次数很多,比较确定其好坏了),那么均值大的倾向于被多次选择,这个是算法保守稳妥的部分; UCB是一种乐观的算法,选择置信区间上界排序,如果时悲观保守的做法,是选择置信区间下界排序。 UCB1算法