强化学习
Xurui_Luo
这个作者很懒,什么都没留下…
展开
-
强化学习 DQN 实战GYM下的CartPole游戏
代码和解释安装依赖!pip uninstall -y parl # 说明:AIStudio预装的parl版本太老,容易跟其他库产生兼容性冲突,建议先卸载!pip uninstall -y pandas scikit-learn # 提示:在AIStudio中卸载这两个库再import parl可避免warning提示,不卸载也不影响parl的使用!pip install gym!pip install paddlepaddle==1.6.3!pip install parl==1.3.1原创 2020-06-22 16:37:43 · 1369 阅读 · 1 评论 -
讲清楚Sarsa和Q-learning的对比,各自起作用的场景
两者的区别两者的区别就在于Q值的更新公式上:SarsaQ(st,at)=Q(st,at)+α∗(rt+γ∗Q(st+1,at+1)−Q(st,at))Q\left(s_{t}, a_{t}\right)=Q\left(s_{t}, a_{t}\right)+\alpha^{*}\left(r_{t}+\gamma^{*} Q\left(s_{t+1}, a_{t+1}\right)-Q\left(s_{t}, a_{t}\right)\right)Q(st,at)=Q(st,at)+α∗原创 2020-06-20 01:55:14 · 1365 阅读 · 0 评论 -
强化学习 Q-learning 实战GYM下的CliffWalking爬悬崖游戏
CliffWalking如下图所示,S是起点,C是障碍,G是目标agent从S开始走,目标是找到到G的最短路径这里reward可以建模成-1,最终目标是让return最大,也就是路径最短代码和解释import gymimport timeimport numpy as np class QLearningAgent(object): def __init__(self, obs_n, act_n, learning_rate=0.01, gamma=0.9, e_greed=原创 2020-06-19 23:45:00 · 5265 阅读 · 1 评论 -
强化学习 Sarsa 实战GYM下的CliffWalking爬悬崖游戏
CliffWalking如下图所示,S是起点,C是障碍,G是目标agent从S开始走,目标是找到到G的最短路径这里reward可以建模成-1,最终目标是让return最大,也就是路径最短代码和解释import gymimport numpy as npimport time# agent.pyclass SarsaAgent(object): def __init__(self, obs_n, act_n, learning_rate=0.01, gamma=0.9, e_原创 2020-06-18 23:29:52 · 3156 阅读 · 3 评论 -
强化学习中,gym的核心接口environment, 以及 render(), reset(), step() ,ob等
gym的核心接口是environment,核心方法如下reset():重置环境状态,回到初始环境,方便下一次训练step(action):完成一个时间步,返回4个值observation:object, 对环境的观测reward:float,即时的奖励done:bool 是否需要重置环境(如游戏这个时间步后游戏结束)info :dict 用于调试诊断信息render():重绘环境图像...原创 2020-06-18 20:31:50 · 5249 阅读 · 2 评论 -
强化学习中的游戏atari 和 mujoco
atari:离散动作空间(如‘上’,‘下’两个动作)mujoco:连续动作空间(如赛车的速度,一个连续的值)原创 2020-06-18 20:21:33 · 827 阅读 · 0 评论 -
强化学习的state和observation
state:全局的状态,是全局的observation:agent的观测,是局部的如果是单一agent的场景下,state和observation并没有区别如果是多agent的场景下,则每个agent的observation与全局的state是不一样的原创 2020-06-18 19:46:54 · 2662 阅读 · 0 评论 -
强化学习中的动态规划三种算法Iterative Policy Evaluation, Policy Iteration, Value Iteration
迭代策略评估(Iterative Policy Evaluation)解决的是 Prediction 问题,使用了贝尔曼期望方程(Bellman Expectation Equation),每次迭代的策略都是一样的,比如都是每个action可能性一样策略迭代(Policy Iteration)解决的是 Control 问题,实质是在迭代策略评估之后加一个选择 Policy 的过程,使用的是贝尔曼期望方程和贪心算法价值迭代(Value Iteration)解决的是 Control 问题,它原创 2020-06-12 11:10:48 · 796 阅读 · 0 评论 -
蒙特卡洛树搜索——比谁想的远
前言到现在还记得高中物理老师说过的话,“真正的高手,他能想到很远的地方”。就比如下围棋,越是牛X的人,能在大脑中模拟出之后很多步棋局的形势,几十步甚至几百步都有可能。而蒙特卡洛树搜索MCTS(Monte Carlo Tree Search)也正是这个思路的一个应用。一个下棋的树模型如下。每个状态下,我有很多个选择,完成一个选择后进入下一个状态,我又有很多个选择。直观上理解,也可从图上看出,随着树的深度增加,每个状态下的子结点越来越少,最终也会达到一个终止结点。四个步骤结点选择 Node Sele原创 2020-06-10 12:26:15 · 337 阅读 · 0 评论 -
强化学习的DDPG
论文链接动机处理连续动作空间下,参数过多,运算过于复杂的问题。想象一下,一个机器人每个时间步有7个动作,如腿、胳膊等各个关节。你可以调整的是每个部位对应电机的电压。先简单看作每个动作有3个动作状态,{-k,0,k},那么每个时间步就对应有37=21873^7=218737=2187个动作空间。如果将k这个数字更细粒度划分的话,动作空间将会非常庞大。因此,面对这样的情况,DDPG提出了新的方法。其关键在于改变策略函数。实现论文引入了一个新的策略函数μθ(a∣s)\mu_\theta(a|s)μθ原创 2020-06-09 12:14:57 · 280 阅读 · 0 评论