强化学习笔记
你的宣妹
喜欢打游戏、看动漫的程序媛。
展开
-
【莫烦强化学习】视频笔记(五)1.什么是策略梯度?
第12节 什么是策略梯度——《强化学习笔记》12.1 策略梯度简介之前在【莫烦强化学习】视频笔记(一)2. 强化学习方法汇总中有提到过,强化学习的一种分类方法是基于概率的方法和基于价值方法,其中 策略梯度 是一种基于概率的方法。之前所学到的Q学习、SARSA学习、DQN等都是根据奖励值(奖惩)来进行行为选择的,选择价值较高的行为。而策略梯度则不需要看奖励值,直接输出对应的行为。更多的,可以通过为其添加神经网络的方式来预测行为。优点:可以在连续区间内挑选动作(比如动作是角度等等,是个连续的量),而基原创 2020-08-04 21:15:31 · 245 阅读 · 0 评论 -
【莫烦强化学习】视频笔记(四)2.DQN实现走迷宫
第11节 DQN实现走迷宫上一节已经详细介绍了DQN的两大利器:REPLAY BUFFER(经验回放机制)和冻结Q-target(目标网络,两个网络中用来估计真实Q值的网络),这里给出DQN的伪代码,方便后面的编程实现。11.1 主循环DQN伪代码如下:主循环的主要代码就是上面的更新过程,其它诸如DQN类等代码后续补充。主循环要注意的是,这里的两个网络和REPLAY BUFFER的用处,都是为了切断马尔可夫序列元素之间的关联性。对于网络的编写、网络参数更新主函数都不做考虑,中间存储到REPL原创 2020-07-30 23:21:06 · 3236 阅读 · 4 评论 -
【莫烦强化学习】视频笔记(四)1.什么是DQN?
第10节 什么是DQN?DQN(Deep Q Network)深度Q网络,实际上是将强化学习和深度学习的神经网络相结合的一种学习方式。为什么要提出这一种学习方法呢?因为传统的离散表示有一个瓶颈:当状态十分复杂的时候,多到可以填满线性轴的时候,离散表示方法会占用大量空间,而且计算十分复杂,搜索很耗时。但是,恰好神经网络可以做到。10.1 神经网络的作用可以把状态动作对 (s,a)(s,a)(s,a) 当作输入值,直接经过神经网络生成Q值,就不需要在表格中查找了。这里有可选的两种方式:输入状态动作原创 2020-07-24 22:53:12 · 726 阅读 · 0 评论 -
【莫烦强化学习】视频笔记(三)3.SARSA(lambda)
第9节 SARSA(lambda)9.1 SARSA(lambda)简介通过之前的学习,我们了解了什么是SARSA,它是一种On-Policy(同策略)的单步更新的算法,在环境中,我们每走一步就更新一次Q表,那么我们可以说,这样的更新方式叫做SARSA(0)。那么走完一步,再走一步,才进行更新,就可以叫做SARSA(1)。那么极端一些,等到整个episode结束才进行更新,那么就叫SARSA(n)(假设该episode n步结束),那么lambda就是我们想要更新的步数,记为SARSA(lambda原创 2020-07-21 16:33:44 · 238 阅读 · 0 评论 -
【莫烦强化学习】视频笔记(三)2.SARSA学习实现走迷宫
第8节 SARSA学习实现走迷宫之前一篇文章已经介绍过Q学习实现走迷宫的程序编写,对Q学习的整个过程也有了更加深刻的了解,文章链接:【莫烦强化学习】视频笔记(二)3.Q_Learning算法实现走迷宫这里只介绍与Q学习不同的(需要修改的)代码部分,最后给出整个源代码,如有错误请各位批评指正,感谢~8.1 SARSA-Learning类之前介绍的Q-Learning类,有初始化、选择动作、学习更新参数、查看状态是否存在四个模块,其中初始化(全局参数)、选择动作、查看状态是否存在这几个函数部分的功能原创 2020-07-20 22:05:46 · 611 阅读 · 1 评论 -
【莫烦强化学习】视频笔记(三)1.什么是SARSA?
第7节 什么是SARSA?SARSA是与Q学习类似的算法,关于Q学习的介绍在之前的笔记中,这里主要阐述:【莫烦强化学习】视频笔记(二)1. 什么是Q-Learning?与Q学习一样,SARSA学习也使用盗了“Q表”,通过更新Q表进行学习。如上图所示,SARSA学习的更新也有两个部分:现实Q值与估计Q值。估计Q值是直接从Q表中选择的,但是现实Q值的估计方法与Q学习不同。首先,我们有一个序列S、A、R、S‘、A’,当估计真实值的时候需要选择S‘的下一个动作A’,而动作A‘不是选择Q表中值最大的,而是原创 2020-07-20 17:06:55 · 301 阅读 · 0 评论 -
【莫烦强化学习】视频笔记(二)3.Q_Learning算法实现走迷宫
第6节 Q学习实现走迷宫我们要实现的走迷宫的可视化界面像下面视频所展示的一样,红色的探索者要走到黄色圆圈所在的“” 通过强化学习学习走迷宫 ...原创 2020-07-15 23:03:29 · 1220 阅读 · 0 评论 -
【莫烦强化学习】视频笔记(二)2.编写一个Q学习的小例子
第5节 编写一个Q学习的小例子本节使用python编写一个简单的Q学习例子,来体会Q学习中各种参数及更新过程。最后的效果是什么样的呢?这次要编写的是机器人寻宝,是一个线性的环境,o代表机器人,T代表终点,也就是宝藏所在处,当然也可以使用自己的符号表示。环境(只是外表,奖励值也是环境的一部分,但是是不可见的)长下面这样:-o---T这只是一个示例,空间长度是6,也可以自定义环境,更好的也可以是手动输入环境。最终会以命令行的形式不断更新显示环境,到达终点算作一次过程(episode),每挪动一个原创 2020-07-14 01:35:47 · 800 阅读 · 0 评论 -
【莫烦强化学习】视频笔记(二)1. 什么是Q-Learning?
【莫烦强化学习系列视频】笔记本第4节 什么是Q-Learning?我们的行动准则:好的行为能够获得奖励,不好的行为会获得惩罚。我叫小明,是某大学本科新生,上课的第一天,你并不知道上课走神会挂科,你坐在第一排,你有两个选择:听课和走神,你选择连续走神,老师给你挂了。你记住了这次惨痛的教训,重修的时候持续认真听讲(当然这是极端情况)。当前有一个Q表,如下面图所示:Q表中是每一个状态(s1,s2,……s_1,s_2,……s1,s2,……),所对应的是所有动作(a1,a2,……a_1,a_2,……a1原创 2020-07-05 22:41:00 · 459 阅读 · 0 评论 -
【莫烦强化学习】视频笔记(一)3. 为什么用强化学习?
【莫烦强化学习系列视频】笔记本第3节 为什么用强化学习?强化学习是机器学习中的一个大的分支,随着近些年的发展,强化学习也多与深度学习相结合。总的来说,强化学习就是让你的计算机从无到有地学习,不需要任何“监督(Um……基本上就是自学,从小白到大佬的意思)参考”来进行学习如何选择动作,如何行动才能获得给更高的回报。之前说过,强化学习具有**“分数导向性”**。下面是一些强化学习的小例子,其中环境就是比如迷宫,哪里是起点,那里是墙,哪里是终点(这些都可以叫做状态),还有状态转移概率,可视化等等,动作比如东南原创 2020-07-04 21:56:10 · 453 阅读 · 0 评论 -
【莫烦强化学习】视频笔记(一)2. 强化学习方法汇总
【莫烦强化学习系列视频】笔记本第2节 强化学习方法汇总本节的目的更多是对强化学习的方法及特征有初步的了解。我们可以通过将强化学习方法分类,来逐一理解。首先是通过是否需要理解环境(环境给我们什么就是什么),能够分为无模型的强化学习方法和基于模型的强化学习方法。假设这里有一个机器人和一个星球X。无模型的强化学习方法(Model-Free): 不需要理解环境,机器人对星球X一无所知,机器人扔了一颗原子弹,但是由于环境未知,把自己也炸死了。基于模型的强化学习方法(Model-Based) : 机器人通原创 2020-07-04 21:12:05 · 469 阅读 · 0 评论 -
【莫烦强化学习】视频笔记(一)1. 什么是强化学习?
【莫烦强化学习系列视频】笔记本第一节 什么是强化学习?我们人类在进行学习时,总是从一开始什么都不知道,经过不断的尝试与纠错,最终获得正确解决问题方法的过程,这就可以看作一个强化学习过程。实际,强化学习的例子很多:Alpha-Go在围棋场上战胜人类的高手 Alpha-Go 百度百科让计算机学习如何玩一些经典的游戏,如Atari游戏:????这些都是让计算机不断地尝试并学习行为准则,以赢得围棋棋局或者在打砖块游戏中得到高分。如何学习?想象此刻有一个虚拟的老师正在教计算机如何学习,但是他只原创 2020-07-04 01:21:48 · 397 阅读 · 0 评论