(本系列只用作本人笔记,如果看官是以新手开始学习RL,不建议看我写的笔记昂)

今天是2020年2月7日,开始二刷david silver ulc课程。https://www.youtube.com/watch?v=2pWv7GOvuf0&list=PLqYmG7hTraZDM-OYHWgPebj2MfCFzFObQ

还记得去年九月份在YOUTUBE上硬刚david silver课的时候的激情。

david silver课件汇总:(共10节课)

http://www0.cs.ucl.ac.uk/staff/d.silver/web/Teaching.html

课程资料下载(我的蓝奏云):https://www.lanzous.com/b00z7vhcd ,密码david

 强化学习,比较形象地说,是找到求生法则的一门技术。这是我最开始对这门技术感兴趣的原因。我最初对RL感兴趣是因为机器通过这门技术竟然能像智慧生命体一样摸爬滚打学到求生法则并“活”下去。这就很迷了。当时下决心一定要搞清楚是怎么回事。

强化学习把世界抽象为两部分,主观能动体agent和客观环境env。 智能主体,称为agent。相当于生命体。而外部环境称为env(envirnment)。

我们要做的,就是训练这个agent,提升它的智力能力,使之更好的应对env。就像大自然草原上刚出生的一只小鹿,逐渐学会在草原上生存。

将事物的发展变化抽象为一组State序列。每一个State是具体某个时间点的状态。

对于agent。把agent的行为抽象为行为空间A。A可以是离散的可以是连续的。把agent应对环境的反应方案抽象为策略pai:OxA—>[0,1]

对于env。reward激励是agent在做出行为a之后env给agent的feedback。比如说,小鹿吃到草了,那么reward为+1,小鹿被老虎吃了,reward为-99。

一些小总结:

1.强化学习不同于其他机器学习算法,它们的基础理论可以说正交.其他的机器学习算法大多在贝叶斯理论的基础上发展而来.而强化学习是以马尔可夫决策过程MDP<S,A,R,seta,P>为基础而来.它依靠反馈有一定延时的Reward激励信号而学习.

2.马尔可夫性:

未来stage只受当前stage影响,而与过去stage无关,即

3.agent状态  &  env状态   辩解(摘自叶强知乎)

  • 完全可观测的环境 Fully Observable Environments(个体对环境的观测 = 个体状态 = 环境状态

正式地说,这种问题是一个马儿可夫决定过程(Markov Decision Process, MDP)

  • 部分可观测的环境 Partially Observable Environments(个体状态 ≠ 环境状态

个体间接观测环境。举了几个例子:

  1. 一个可拍照的机器人个体对于其周围环境的观测并不能说明其绝度位置,它必须自己去估计自己的绝对位置,而绝对位置则是非常重要的环境状态特征之一;
  2. 一个交易员只能看到当前的交易价格;
  3. 一个扑克牌玩家只能看到自己的牌和其他已经出过的牌,而不知道整个环境(包括对手的牌)状态。

正式地说,这种问题是一个部分可观测马儿可夫决策过程。个体必须构建它自己的状态呈现形式,比如:记住完整的历史: 

这种方法比较原始、幼稚。还有其他办法,例如 :

1. Beliefs of environment state:此时虽然个体不知道环境状态到底是什么样,但个体可以利用已有经验(数据),用各种个体已知状态的概率分布作为当前时刻的个体状态的呈现:

2. Recurrent neural network:不需要知道概率,只根据当前的个体状态以及当前时刻个体的观测,送入循环神经网络(RNN)中得到一个当前个体状态的呈现:

4.两对儿哲学理念辩解

4(1).预测和控制 Prediction & Control

预测:根据一个给出的POLICY,评价未来。可以看成是求解在给定策略下的价值函数(value function)的过程。

  |——How well will I(an agent) do if I(the agent) follow a specific policy?

控制:找到最大化未来奖励的方案。

  |——同样的条件,在所有可能的策略下最优的价值函数,最优策略是什么?

4(2).探索和利用 Exploration & Exploitation

在线广告推广时,显示最受欢迎的广告和显示一个新的广告;

油气开采时选择一个已知的最好的地点同在未知地点进行开采;

玩游戏时选择一个你认为最好的方法同实验性的采取一个新的方法。

5.学习和规划 learning & planning

learning和planning是设计一个RL算法以及理解一个RL算法要考虑的两个哲学概念。

learning就是去获知R(s,a)=?,planning就是根据已知迭代优化agent。

我们去设计一个RL算法,

如果env是给出的,那只搞planning就完了。

如果env没有给出,那肯定要先有learning再搞planning。

env给出与否    =   R(s,a) for any (s,a)是否给出

<强化学习>开门帖的更多相关文章

  1. 深度强化学习——连续动作控制DDPG、NAF

    一.存在的问题 DQN是一个面向离散控制的算法,即输出的动作是离散的.对应到Atari 游戏中,只需要几个离散的键盘或手柄按键进行控制. 然而在实际中,控制问题则是连续的,高维的,比如一个具有6个关节 ...

  2. DRL强化学习:

    IT博客网 热点推荐 推荐博客 编程语言 数据库 前端 IT博客网 > 域名隐私保护 免费 DRL前沿之:Hierarchical Deep Reinforcement Learning 来源: ...

  3. 强化学习之四:基于策略的Agents (Policy-based Agents)

    本文是对Arthur Juliani在Medium平台发布的强化学习系列教程的个人中文翻译,该翻译是基于个人分享知识的目的进行的,欢迎交流!(This article is my personal t ...

  4. 深度强化学习中稀疏奖励问题Sparse Reward

    Sparse Reward 推荐资料 <深度强化学习中稀疏奖励问题研究综述>1 李宏毅深度强化学习Sparse Reward4 ​ 强化学习算法在被引入深度神经网络后,对大量样本的需求更加 ...

  5. 【整理】强化学习与MDP

    [入门,来自wiki] 强化学习是机器学习中的一个领域,强调如何基于环境而行动,以取得最大化的预期利益.其灵感来源于心理学中的行为主义理论,即有机体如何在环境给予的奖励或惩罚的刺激下,逐步形成对刺激的 ...

  6. 强化学习之 免模型学习(model-free based learning)

    强化学习之 免模型学习(model-free based learning) ------ 蒙特卡罗强化学习 与 时序查分学习 ------ 部分节选自周志华老师的教材<机器学习> 由于现 ...

  7. (译) 强化学习 第一部分:Q-Learning 以及相关探索

    (译) 强化学习 第一部分:Q-Learning 以及相关探索 Q-Learning review: Q-Learning 的基础要点是:有一个关于环境状态S的表达式,这些状态中可能的动作 a,然后你 ...

  8. 强化学习读书笔记 - 02 - 多臂老O虎O机问题

    # 强化学习读书笔记 - 02 - 多臂老O虎O机问题 学习笔记: [Reinforcement Learning: An Introduction, Richard S. Sutton and An ...

  9. 强化学习读书笔记 - 05 - 蒙特卡洛方法(Monte Carlo Methods)

    强化学习读书笔记 - 05 - 蒙特卡洛方法(Monte Carlo Methods) 学习笔记: Reinforcement Learning: An Introduction, Richard S ...

随机推荐

  1. phpstudy后门复现(9.29第十五天)

    本人转自:https://www.cnblogs.com/yuanshu/p/11613796.html 一.漏洞位置 程序自带的PHP的php_xmlrpc.dll模块中有隐藏后门,受影响的版本有p ...

  2. MVC将Base64 保存为图片

    前台传来Base64字符串.本来可以直接保存数据库返回给图片 但是这样对数据库负担太重 传输也费时间.一搬都是存个地址在数据库 public ActionResult Injpg(string bas ...

  3. FreeImage库的学习和使用

    1.FreeImage_SetPixelColor x横轴方向 y纵轴方向 左下角是(0, 0)

  4. 下页小希学MVC5+EF6.2 学习记录二

    目的:1 学习mvc+ef 2  写下日记也是对自己的督促 从前端的UI开始 MVC分离的比较好,开发顺序没有特别要求,先开发哪一部分都可以,这次我们主要讲解前端UI的部分. ASP.NET MVC抛 ...

  5. java集合对象区别一

    Vector和ArrayList 1.vector是线程同步的,所以他也是线程安全的,而ArrayList是线程异步的,是不安全的.如果不考虑到线程的安全因素,一般用ArrayList效率较高. 2. ...

  6. Vue.js(2)- 过滤器

    概念:过滤器本质上就是一个函数,可被用作一些常见的文本格式化. 过滤器只可以用在两个地方:mustache 插值表达式和 v-bind 表达式. 过滤器应该被添加在 JavaScript 表达式的尾部 ...

  7. HDU 1226 超级密码(BFS) (还需研究)

    Time Limit:10000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Status Desc ...

  8. 吴裕雄--天生自然C++语言学习笔记:C++ 数据类型

    使用编程语言进行编程时,需要用到各种变量来存储各种信息.变量保留的是它所存储的值的内存位置.这意味着,当创建一个变量时,就会在内存中保留一些空间. 可能需要存储各种数据类型(比如字符型.宽字符型.整型 ...

  9. 吴裕雄--天生自然 JAVASCRIPT开发学习:for 循环

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  10. UML-线程标示法

    继续前一章<缓存策略>,既然用缓存,那如何保证数据同步呢?即:缓存里的数据和DB里的数据一致. 解决:LocalProducts每隔N分钟查询并更新它的缓存(定时器) 如果LocalPro ...