强化学习

强化学习 ---baselines项目之 Atari游戏的网络结构解析

二次信任 提交于 2020-02-26 03:11:25
这个baselines项目设计的比较灵活,结构有点复杂。由于项目庞大,各个函数之间又是相互调用,有时候从一个函数追溯下去,可以追溯6,7层,每个函数的超参数又特别多,很容易把人搞晕。 接下来只看DQN部分的源码,其他无关的先不看,沿着一条线分解它!接下来进行一个递归游戏,一层一层的深入探索,探索到尽头再返回,当然中途适当剪剪枝,跟网络图无关的部分先不访问! 首先,我们找 递归入口 ,在deepq下有个 experiments ,这下面全是实例,pong就是一个Atari游戏的实验。 以下是trian_pong的代码 1. from baselines import deepq from baselines import bench from baselines import logger from baselines . common . atari_wrappers import make_atari import numpy as np np . seterr ( invalid = 'ignore' ) def main ( ) : logger . configure ( ) env = make_atari ( 'PongNoFrameskip-v4' ) env = bench . Monitor ( env , logger . get_dir ( ) ) env =

强化学习中的无模型控制

天涯浪子 提交于 2020-02-24 02:08:55
  在上一篇文章 强化学习中的无模型预测 中,有说过这个无模型强化学习的预测问题,通过 TD 、 n-step TD 或者 MC 的方法能够获得值函数,那拿到 value 之后如何获取 policy 呢? Model-Free Control in Reinforcement Learning   在 model free control 中的第一个概念就是 on-policy 和 off-policy ,在现实中的很多问题都是这样的,我们得不到 environment 的白盒模型,我们就需要去与环境互动,获取经验数据,然后基于经验数据进行学习。或者是 MDP 的内部模型已知,但是状态空间、动作太大了无法对其采样。 model free 的方法就可以去解决这个问题。 On-and Off-Policy Learning Two categories of model-free RL   在 model-free 这个设定下面有两个概念,一个是on-policy learning一个是off-policy learning。 On-policy learning    On policy “Learn on the job” ,意思是说马上要给policy喂进来的数据都是刚刚采出来的数据。Learn about policy π \pi π from experience

Deep reinforcement learning with relational inductive biases 笔记

偶尔善良 提交于 2020-02-22 22:46:18
文章目录 前言 背景 Method RL方法 输入模块 关系模块 输出模块 实验 BOX-WORLD Results 前言 这是一个使用结构化特征上关系推理的机制帮助model-free的深度强化学习的方法,提高了表现、学习有效性、泛化性、可解释性。这篇文章的主要贡献就是介绍一种技术,通过关系归纳偏置来表征和推理深度强化学习中agent的状态。 背景 深度强化学习在一些具有挑战性的问题上实现非凡的效果很大程度上是因为其在如何学习和利用潜藏在观察和奖赏信号下的统计数据结构的灵活性。这样的灵活性也会带来低采样效率和除了训练环境特性之外的糟糕的迁移。相比之前在DRL中使用关系归纳偏置,作者不使用问题结构的先验知识,并且不知道需要考虑的特定关系。 Method RL方法 使用A2C 输入模 来源: CSDN 作者: 强殖装甲凯普 链接: https://blog.csdn.net/qq_38163755/article/details/103206294

<强化学习> on policy VS off policy

ⅰ亾dé卋堺 提交于 2020-02-20 13:38:11
默认价值函数为Q(s,a),策略迭代更新为pai <—— epsilon-greedy(Q) policy是agent的属性,决定了agent面对某状态s时会选择哪个行为a value是agent的感觉,代表着agent对某个(s,a)的感觉,感觉它好感觉它不好 强化学习迭代过程中, policy-evaluation是获取agent按照当前policy会产生的所有感觉,即获取Qpai ; policy-improvement是根据感觉Q生成一个更好的policy on policy和off policy是policy_evaluation过程中区分的两种方式 Q(s,a) <——r + lamda * Q(s',a') on policy是我做了这个行为a之后,后继的所有收获都以我的策略我的眼光来估定;td_target = r + lamda * Q(s',a') ,(s',a')产自我的policy off policy是我做了这个行为a之后,后继以别人的眼光别人的策略来固定; td_target = r + lamda*Q(s',a') , (s',a')产自别人的policy 来源: https://www.cnblogs.com/dynmi/p/12334734.html

readme.txt + 话题收集

痴心易碎 提交于 2020-02-20 03:12:39
大家好!!这里整理我博客中的文章链接,大家可以选择感兴趣的阅读,当然不喜勿喷,另外如果大家有想要了解的技术内容/教程,也可以留言或者私信我,我会选择大家都比较认同的,而我又碰巧了解的去更新文章(就算不了解可能也会现学现卖( ▽ ),大家一起学) 一、四足机器人 1、cpg 下面这两篇文章介绍了最基础的控制信号生成,即cpg控制网络,之所以称为网络是因为各条腿的信号是相互耦合的。这两篇文章中简单讲述hopf振荡器的数学原理,并且利用其变形以满足我们的控制需求,最终实现了四足机器人的行走以及不同步态转换。 波士顿动力真的无可企及吗?一步步剖析四足机器人技术(一) 波士顿动力真的无可企及吗?一步步剖析四足机器人技术(二) 2、minitaur 这三篇文章介绍了如何利用强化学习使得四足机器人minitaur学会行走,主要是对 论文 的解读,以及相关代码的讲解与实现,该论文提出的方法使得我们可以直接将在仿真环境中训练好的决策模型直接移植到现实中使用而无需进行迁移学习或者调参 urdf文件结构讲解 以四足机器人minitaur为例 强化学习实现minitaur运动控制——介绍篇 强化学习实现minitaur运动控制——决策模型篇 强化学习实现minitaur运动控制——仿真环境篇 二、强化学习 既然上一部分需要利用强化学习训练我们的机器人,那肯定是少不了对强化学习相关概念以及算法的介绍的

【转载】AutoML研究分析

自作多情 提交于 2020-02-14 00:56:13
参考简书文章 AutoML研究分析 ,少有改动 文章目录 1. Auto Keras 2. 其它AutoML产品(工具包) 2.1 AutoWEKA 2.2 Auto-sklearn 2.3 H2O AutoML 2.4 Google Cloud AutoML 3. AutoML实现原理分析 3.1 NAS 3.1.1 搜索空间 3.1.2 搜索策略 3.1.3 性能评估策略 3.1.4 NAS未来的方向 3.1.5 NAS的演进 3.2 Hyper-parameter optimization 3.3 Meta-Learning 3.4 算法相关 3.4.1 强化学习 3.4.2 进化算法 3.4.3 贝叶斯优化 4. AutoML应用场景 参考材料 AutoML全称是automated machine learning,下面有一段AutoML不是什么的描述: AutoML is not automated data science. While there is undoubtedly overlap, machine learning is but one of many tools in the data science toolkit, and its use does not actually factor in to all data science tasks.

强化学习(2) 动态规划(Dymatic Progressing)

核能气质少年 提交于 2020-02-08 16:09:18
1. 1 同步价值迭代 动态规划来解决强化学习的规划问题。 在已经了解了状态、行为空间、转移概率矩阵、奖励等信息的基础上,判断一个策略的价值函数。或者判断策略的优劣寻找最优的策略。 一般强化学习是不知道上述的一些动力学环境,而且复杂的问题无法通过动态规划解决。 动态规划思想是把复杂问题变成求解子问题,最终再得到整个问题。子问题的结果一般需要保存以备后用。如果某个子问题重复出现,就可以重复使用结果。 马尔科夫决策过程最终用贝尔曼方程描述,贝尔曼方程是递归定义的。可以使用动态规划求解。 1.1. 概念: 预测prediction :已知MDP和一个策略 π \pi π ,或者MRP,求解该策略的 价值函数 v π v_\pi v π ​ 。 控制control :已知MDP,求最优的价值函数 v ∗ v_* v ∗ ​ 和 π ∗ \pi_* π ∗ ​ ,为了寻找最优策略 1.2. 预测 1.2.1. 策略评估 Policy evaluation 给定策略,求这个策略下状态价值函数。 方法:同步迭代联合动态规划的算法 任意 的 状态价值函数 开始,按照给定 策略 ,通过 贝尔曼方程 、 状态转移概率、奖励 ,同步迭代更新 状态价值函数 ,到 收敛 为止。就可以得到这个策略的最优状态价值函数。 重点:在一个迭代周期如何更新 每一个状态 的价值 这个算法一定可以收敛形成一个稳定的价值函数

深度强化学习入门笔记

泪湿孤枕 提交于 2020-02-07 01:18:21
一、深度强化学习( DRLDRLDRL) 传统强化学习:真实环境中的状态数目过多,求解困难。 深度强化学习:将深度学习和强化学习结合在一起,通过深度神经网络直接学习环境(或观察)与状态动作值函数Q(s,a)之间的映射关系,简化问题的求解 Deep Q Network(DQN) Deep Q Network(DQN):是将神经网络(neural network)和Q-1earning结合,利用神经网络近似模拟函数Q(s,a),输入是问题的状态(e.g.,图形),输出是每个动作a对应的Q值,然后依据Q值大小选择对应状态执行的动作,以完成控制。 神经网络的参数:应用监督学习完成 DQN学习过程      DQN算法流程 来源: https://www.cnblogs.com/tianqianlan/p/12271683.html

强化学习和自动编码机

自闭症网瘾萝莉.ら 提交于 2020-02-06 05:58:17
softmax损失函数 交叉熵函数: C = − ∑ i y i l n ( a i ) , a i 是 o u t p u t C = -\sum_i y_iln(a_i), ~~~ a_i是output C = − i ∑ ​ y i ​ l n ( a i ​ ) , a i ​ 是 o u t p u t “拯救公主” 强化学习目标 : 找到这样一中策略,使得所有步数产生的累计奖励和最大。 Q-Learning Bellman方程: Q ( s , a ) = Q ( s , a ) + α ∗ [ R ( s , a ) + γ ∗ m a x a , ( Q ( s , , a , ) ) − Q ( s , a ) ] Q(s, a) = Q(s, a) + \alpha * [R(s, a) + \gamma * max_{a^,}(Q(s^,, a^,)) - Q(s, a)] Q ( s , a ) = Q ( s , a ) + α ∗ [ R ( s , a ) + γ ∗ m a x a , ​ ( Q ( s , , a , ) ) − Q ( s , a ) ] Actor-Critic Q表用神经网络替代; TD(时间差分,融合了蒙特卡洛法和动态规划): T D = v ( s t ) − [ α ∗ r ( s t , a t ) + v ( s

turtlebot3 深度强化学习踩坑

余生颓废 提交于 2020-02-05 07:40:52
1、Anaconda2 安装 ROS 1中使用的是 python2.7,所以在地址: https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/#linux 中下载 python2.7版本的Anaconda2 ,安装过程如下: chmod +x Anaconda2-5.2.0-Linux-x86_64.sh bash Anaconda2-5.2.0-Linux-x86_64.sh 安装完成后,执行下面指令, 如果可以看到 Python 2.7.xx :: Anaconda, Inc…,说明安装成功。 source ~/.bashrc python -V 接下来配置环境变量 PYTHONPATH,编辑 ~/.bashrc ,修改或者添加内容如下: export PYTHONPATH="/home/wxm/anaconda2/lib/python2.7/dist-packages:$PYTHONPATH 2、Tensorflow、Keras等安装 本文中用到的机器学习算法是DQN(Deep Q-Learning),基于Tensorflow与Keras开发,为了避免包冲突,在Anaconda中构建虚拟环境(取名为py2): conda create -n py2 pip python=2.7 在虚拟环境(envs