
强化学习
以应用为导向,促进算法学习
北木.
交流分享,共同成长
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
标准版的策略梯度算法(Vanilla Policy Gradient)
前言来源于: 标准版的策略梯度算法(Vanilla Policy Gradient)1 背景知识策略梯度(Policy Gradient, PG)方法的核心思想在于是能获得更好的回报的动作的采样概率不断提高,使获得更少回报的动作的采样概率不断降低,从而达到一个最优的策略。2 知识速览标准的策略梯度算法(Vanilla Policy Gradient, VPG)属于在策略(on-policy)算法VPG算法可以被用到离散和连续动作空间中Spinning Up中的实现支持使用MPI的并行执行3 关键表达式转载 2020-08-23 11:00:15 · 5443 阅读 · 0 评论 -
强化学习算法伪代码
基础公式来源累计回报:在t时刻状态下选择行为所获得累计回报,其中每个R都是个随机变量。状态价值函数:状态s下的累计回报是多维随机变量,服从pi分布,因此使用期望累计回报表示该状态的价值。其贝尔曼方程为:状态-行为价值函数:状态行为价值函数相比状态价值函数其区别在于行为已经选定。其贝尔曼方程为:状态价值与状态-行为价值联系:状态-行为价值只是状态价值确定一个行为后的分支。状态-行为价值选定行为后会得到reward,此外该行为下有多种可能的下一状态。互相代入后得到:.转载 2020-08-23 09:05:28 · 981 阅读 · 0 评论 -
Deep Reinforcement Learning —— DDPG原理和算法
背景描述概括来说,RL要解决的问题是:让agent学习在一个环境中的如何行为动作(act), 从而获得最大的奖励值总和(total reward)。 这个奖励值一般与agent定义的任务目标关联。 agent需要的主要学习内容:第一是行为策略(action policy), 第二是规划(planning)。 其中,行为策略的学习目标是最优策略, 也就是使用这样的策略,可以让agent在特定环境中的行为获得最大的奖励值,从而实现其任务目标。行为(action)可以简单分为:连续的:如赛车游戏中的转载 2020-08-19 20:21:48 · 3250 阅读 · 0 评论 -
常见的强化学习面试题及解答(持续更新中ing)
1. 请你讲一下,HMM隐马尔可夫模型的参数估计方法是什么? 学习算法:若训练数据包括观测序列和状态序列,则HMM的学习非常简单,是监督学习;若训练数据只有观测序列,则HMM的学习需要使用EM算法,是非监督学习。大数定理: 假定已给定训练数据包含S个长度相同的观测序列和对应的状态序列{(O1,I1), (O2,I2)…(OS,IS)},那么,可以直接利用伯努利大数定理的结论:频...原创 2020-04-07 22:59:24 · 11909 阅读 · 1 评论 -
深度强化学习之Capstone项目——基于DQN的赛车游戏
引言 本节将介绍一个对抗DQN的实现过程,这基本上与常规的DQN相同,只是将全连接层分解为两个分支,即值分支和优势分支,且这两个分支最终汇聚在一起来计算Q函数。另外,还将分析基于对抗DQN如何训练一个智能体来赢得赛车游戏。 代码实现 1. 环境封装函数 import warningswarnings.filterwarnings('ignore')import numpy as...原创 2020-03-28 19:53:57 · 2301 阅读 · 6 评论 -
深度强化学习之策略梯度和优化(二) — DDPG
DDPG 之前讨论的应用DQN来玩Atari游戏。然而这些都是在离散环境下完成的, 其中具有有限个行为。考虑一个连续的环境空间,如训练机器人行走。在这些环境下,就不能应用 QQQ 学习了,这是因为贪婪策略在每个时间步都需要大量的优化。即使将这一连续环境离散化,也可能会失去一些重要特征,从而最终得到一个庞大的行为空间。在此情况下,很难保证收敛。 为此,使用一种称为行为者评论家的新...原创 2020-03-27 17:40:33 · 1430 阅读 · 0 评论 -
深度强化学习之策略梯度和优化(一) — PolicyGradient
引言 之前所讲的各种强化学习算法,如DQN、DRQN、A3C。在这些算法中,目标都是为了找到正确的策略,以便能够获得最大的奖励。由于Q函数能够得到哪个行为是在某一状态下执行的最佳行为,因此,使用Q函数来寻找最优策略。在策略梯度的方法中,我们可以不适用策略来得到最优策略。 策略梯度 策略梯度是强化学习(RL)中一种令人惊叹的算法,可通过一些参数直接优化参数化的策略。在此之前,已学习了...原创 2020-03-27 15:35:25 · 1609 阅读 · 0 评论 -
深度强化学习之A3C网络—理论及代码(小车上山)
A3C 由于DQN学习过程需要强大的计算能力和大量的训练过程。为此,DeeoMind团队提出了一种新的算法,称为异步优势行为者评论家(A3C)算法,该算法要优于其他深度强化学习算法,因为其需要较少的计算能力和训练时间。A3C的主要思想是通过多个智能体并行学习并整合其所有经验。 A3C网络还可以与其他算法产生更好的精度,在连续和离散行为空间中均有很好的效果。该网络是使用多个智能,且每个智...原创 2020-03-26 17:49:16 · 5907 阅读 · 10 评论 -
DARQN
DARQN 上述,通过增加一个捕获时间依赖性的递归层,改进了DQN架构,这称为DRQN。 那么还能进一步改进DRQN架构吗? 是的。还可以通过在卷积层顶部增加注意力层来进一步改进DRQN架构。那么,注意力层有什么作用呢?在此,注意力就是这个词的字面意思。注意力机制广泛应用于图像文字说明、目标检测等领域。以利用神经网络对图像进行文字说明的任务为例,为了理解图像中的内容,神经网络必须关注图像中...原创 2020-03-26 10:06:40 · 951 阅读 · 0 评论 -
深度强化学习之基于DRQN玩Doom游戏
DRQN 为何在希望DQN按人类水平玩Atari游戏时需要DRQN?要回答这个问题,首先要了解什么是部分可观测马尔科夫决策过程(POMDP)。当对环境只有有限信息时,该环境就称为POMDP。到目前为止,在前面的内容中,已了解一个完全可观测的MDP是已知所有可能的行为和状态,尽管智能体不知道转移概率和奖励概率,但对环境信息是完全已知的,例如,在建一个冰冻湖环境中,完全已知关于环境的所有状态和...原创 2020-03-25 21:13:31 · 1405 阅读 · 0 评论 -
强化学习之时间差分学习(Q-learning篇)
来源于:《Python强化学习实战:应用OpenAI Gym和TensorFlow精通强化学习和深度强化学习》原创 2020-03-17 16:47:26 · 799 阅读 · 3 评论 -
强化学习之时间差分学习(SARAS篇)
原创 2020-03-17 16:46:31 · 337 阅读 · 0 评论 -
强化学习之利用SARAS学习解决出租车问题
''' 利用SARAS学习解决出租车问题 '''"""智能体必须在一个位置上接上乘客并在另一个位置放下乘客。成功放下乘客,那么智能体将会得到奖励+20分,且每经过一个时间步得到-1分。如果智能体错误搭载和放下,则会得到-10分。因此,智能体的目标就是学习在最短时间内在正确的位置搭载和放下乘客,且不会搭载非法乘客。 +---------+ ...原创 2020-03-17 15:38:54 · 451 阅读 · 0 评论 -
强化学习之利用Q学习解决出租车问题
''' 利用Q学习解决出租车问题 '''"""智能体必须在一个位置上接上乘客并在另一个位置放下乘客。成功放下乘客,那么智能体将会得到奖励+20分,且每经过一个时间步得到-1分。如果智能体错误搭载和放下,则会得到-10分。因此,智能体的目标就是学习在最短时间内在正确的位置搭载和放下乘客,且不会搭载非法乘客。 +---------+ |R:...原创 2020-03-16 21:05:03 · 1758 阅读 · 2 评论 -
强化学习之策略迭代求解冰冻湖
理论回顾 [1]. Bellman方程求解[2]. 3.12 Value Iteration - Frozen Lake Problem.ipynb[3]. 强化学习中马尔科夫决策过程和贝尔曼方程[4]. 强化学习之值迭代求解冰冻湖''' 策略迭代求解冰冻湖 '''"""冰冻湖,其中,S是起始位置 F是可通过的冰冻湖 H是必须小心的洞 G是目标 S F F F F...原创 2020-03-15 17:18:32 · 1090 阅读 · 2 评论 -
强化学习之值迭代求解冰冻湖
理论回顾 [1]. Bellman方程求解[2]. 3.12 Value Iteration - Frozen Lake Problem.ipynb''' 值迭代求解冰冻湖 '''"""冰冻湖,其中,S是起始位置 F是可通过的冰冻湖 H是必须小心的洞 G是目标 S F F F F H F H F F F H H F F G目标是找到从S到G的最佳路径...原创 2020-03-15 16:03:21 · 786 阅读 · 2 评论 -
通过虚拟机安装 Ubuntu 系统
所安装的版本信息:VMware-player-15.5.1-15018445ubuntu-16.04.6-desktop-amd64安装前的准备:进入BOIS(联想笔记本,开机出现 LENOVO 之后连续敲击“FN 键+F2键”进入BIOS),找到 Intel Virtualization Technology ,选择 Enabled,表示开启。然后 保存, 退出 即可。否则会出现以下错...原创 2019-12-10 22:18:09 · 577 阅读 · 1 评论 -
Q-learning原理及其实现方法
Q_learning原理及其实现方法声明简介Q_learning算法Q_learning算法流程声明学习博客快乐的强化学习1——Q_Learning及其实现方法,加之自己的理解写成,同时欢迎大家访问原博客简介Q-Learning是一种 value-based 算法,即通过判断每一步 action 的 value来进行下一步的动作,以人物的左右移动为例,Q-Learning的核心Q-Tabl...原创 2019-11-25 21:20:07 · 23328 阅读 · 21 评论 -
基于策略梯度的强化学习方法及算法理论基础
往期博客:基于值函数逼近的强化学习方法 基于值与基于策略: 在值函数的方法中,我们迭代计算的是值函数,然后根据值函数对策略进行改进;而在策略搜索方法中,我们直接对策略进行迭代计算,也就是迭代更新参数值,直到累积回报的期望最大,此时的参数所对应的策略为最优策略。比较一下值函数方法和直接策略搜索方法的优缺点:直接策略搜索方法是对策略\pi进行参数化表示,与值函数方中对值函数进行参数...原创 2019-11-19 20:34:27 · 1672 阅读 · 0 评论 -
Bellman方程求解
这部分内容,由于所看书籍的精彩易懂的讲解,所以将图片放入:原创 2019-11-05 14:50:15 · 2319 阅读 · 1 评论 -
Docker下载安装
Docker可以使应用程序易于部署到生产。假设在本地主机上建立了一个应用程序,其具有TensorFlow和其他一些库,并希望将应用程序部署到服务器中,此时需要在服务器上安装所有这些依赖项。但如果使用Docker,就可以将应用程序及其依赖项封装,称为容器,同时只需要在服务器上利用封装的Docker容器来运行应用程序,而无需使用外部依赖项。从Docker官网下载docker安装文件https://...原创 2019-11-02 10:56:18 · 532 阅读 · 0 评论 -
基于值函数逼近的强化学习方法
强化学习的基本方法有: (1)基于动态规划的方法(模型已知)(2)基于蒙特卡罗的方法(模型未知)(3)基于时间差分的方法(模型未知) 但是, 这些方法有一个基本的前提条件: 状态空间和动作空间是离散的,并且且状态空间和动作空间不能太大。 这些强化学习方法的基本步骤是: 先评估值函数,再利用值函数改善当 前的策略。其中值函数的评估是关键。 注意, 这时的值函数其实是一个表格。对于状态...原创 2019-10-28 19:38:53 · 1307 阅读 · 0 评论 -
如何注册建好的环境,以便通过gym的标准形式进行调用
注册过程大致分为三步: 第一步: 将我们自己的环境文件(笔者创建的文件名为grid_made.py) 拷贝到你的gym安装目录 /gym/gym/envs/classic_control 文件夹中(拷贝在此文件夹中是因为要使用rending模块。当然还有其他方法)我自己的电脑中文件夹的位置是在:D:\Tools software\python\Lib\site-packages\gym\env...原创 2019-10-23 15:11:27 · 1825 阅读 · 2 评论 -
强化学习中马尔科夫决策过程和贝尔曼方程
强化学习的基本原理:从强化学习的基本原理可以看出它与其他机器学习算法如监督学习和非监督学习的一些基本差别。在监督学习和非监督学习中,数据是静态的、不需要与环境进行交互,比如图像识别,只要给出足够的差异样本,将数据输入深度神经网络中进行训练即可。然而,强化学习的学习过程是动态的、不断交互的过程,所需要的数据也是通过与环境不断交互产生的。所以,与监督学习和非监督学习相比,强化学习所涉及的对象更多,...原创 2019-10-15 10:22:58 · 1329 阅读 · 0 评论 -
Policy gradient 算法思想
**Policy gradient ** 不通过奖励值,直接输出行为。可以在一个连续的区间内选择动作。其没有误差来参与反向传递,而是通过reward来增加下一次选中该动作的概率(如果该动作是积极的话)而 **基于的值算法 ** 比如 Q-learning 会在无穷多个动作中计算价值,选择行为的话,吃不消...原创 2019-09-08 21:21:53 · 714 阅读 · 0 评论 -
强化学习--值函数
值函数相对于奖励函数这种即时的衡量方式,值函数是一种长期的衡量方式。值函数就是从当前的状态开始到将来的某个状态下的累计奖励值。 它是一种从当前状态开始到所有可能的状态的长期满意度的衡量 ...原创 2019-08-21 21:04:20 · 2615 阅读 · 0 评论 -
强化学习基本概念及与监督学习的区别
强化学习研究的是智能体agent与环境之间交互的任务,也就是让agent像人类一样通过试错,不断地学习在不同的环境下做出最优的动作,而不是有监督地直接告诉agent在什么环境下应该做出什么动作。在这里我们需要引入回报(reward)这个概念,回报是执行一个动作或一系列动作后得到的奖励,比如在游戏超级玛丽中,向上跳可以获得一个金币,也就是回报值为1,而不跳时回报就是0。回报又分为立即回报和长期回报,...原创 2019-07-20 11:27:41 · 8009 阅读 · 0 评论