QUANT[13]强化学习(Reinforcement Learning)学习笔记1

16 篇文章 2 订阅

本节主要是解决运行环境问题,以及强化学习需要的基础性概念

目录

0.1 先来看看强化学习都在干什么

    简单来说,让智能体不断地在定义的环境中做出行为,并且通过反馈的信号来学习产生正确行为的过程

1.1 强化学习与监督学习,非监督学习之间的关系

1.2 强化学习的学习过程

1.3 强化学习的应用方向

1.4 强化学习运行环境和资料汇总

1.4.1 环境

1.4.2 资料

1.4.2.1 首先请阅读这篇文章:

1.4.2.2 推荐使用Richard S. Sutton and Andrew G. Barto: 的Reinforcement learning: an introduction这本书的预印本深入研究RL数学:

 1.4.2..3《Algorithm for reinforcement learning》, Morgan&Claypool

 1.4.2.4《Reinforcement learning and dynamic programming using function approximators》

资源打包dupan下载地址:


0.1 先来看看强化学习都在干什么

    强化学习是机器学习中的一个领域,强调如何基于环境而行动,以取得最大化的预期利益。其灵感来源于心理学中的行为主义理论,即有机体如何在环境给予的奖励或惩罚的刺激下,逐步形成对刺激的预期,产生能获得最大利益的习惯性行为。这个方法具有普适性,因此在其他许多领域都有研究,例如博弈论、控制论、运筹学、信息论、仿真优化、多主体系统学习、群体智能、统计学以及遗传算法。在运筹学和控制理论研究的语境下,强化学习被称作“近似动态规划”(approximate dynamic programming,ADP)。在最优控制理论中也有研究这个问题,虽然大部分的研究是关于最优解的存在和特性,并非是学习或者近似方面。在经济学和博弈论中,强化学习被用来解释在有限理性的条件下如何出现平衡。
 

    简单来说,让智能体不断地在定义的环境中做出行为,并且通过反馈的信号来学习产生正确行为的过程

1.1 强化学习与监督学习,非监督学习之间的关系


强化学习是机器学习的一种方法,同样类似于深度学习,他们之间的关系可以用一幅图简单明了的描述:

 

RL与有监督学习、无监督学习的比较: 
  (1)有监督的学习是从一个已经标记的训练集中进行学习,训练集中每一个样本的特征可以视为是对该situation的描述,而其label可以视为是应该执行的正确的action,但是有监督的学习不能学习交互的情景,因为在交互的问题中获得期望行为的样例是非常不实际的,agent只能从自己的经历(experience)中进行学习,而experience中采取的行为并一定是最优的。这时利用RL就非常合适,因为RL不是利用正确的行为来指导,而是利用已有的训练信息来对行为进行评价。 
  (2)因为RL利用的并不是采取正确行动的experience,从这一点来看和无监督的学习确实有点像,但是还是不一样的,无监督的学习的目的可以说是从一堆未标记样本中发现隐藏的结构,而RL的目的是最大化reward signal。 
  (3)总的来说,RL与其他机器学习算法不同的地方在于:其中没有监督者,只有一个reward信号;反馈是延迟的,不是立即生成的;时间在RL中具有重要的意义;agent的行为会影响之后一系列的data。

1.2 强化学习的学习过程

强化学习它有自己的一套学习方法,下图是强化学习的示意图(非常简单):

 

 

从图上我们可以看到强化学习它由两部分组成:智能体和环境。我们可以这样理解:

俗话解释一下:比如,我们从沙发旁走到门口,当我们起身之后,首先大脑获取路的位置信息,然后我们确定从当前位置向前走一步,不幸运的是我们撞墙了,这明显是个负反馈,因此环境会给我们一个负奖励,告诉我们这是一个比较差的走路方式,因此我们尝试换个方向走(走哪个方向比较好呢,后文会会讲到随机策略、确定性策略等策略决策《强化学习系列(3):强化学习策略讲解》),就这样不断的和环境交互尝试,最终找到一套策略,确保我们能够从沙发旁边走到门口。在这个过程中会得到一个最大的累计期望奖励。

1.3 强化学习的应用方向


   说了这么多,为什么要学习这门技术呢,无非有两种原因,1、找到新方向,继续学术研究;2、将该技术能够实际的用到工业界中,产生效益。还是不谈人生谈技术, 那么强化学习目前有哪些应用呢?目前调查了有以下:
   1、控制类:机械臂控制、视频游戏(CNN获取图像信息,提取特征信息等处理),无人驾驶等

       https://www.youtube.com/watch?v=W_gxLKSsSIE&list=PL5nBAYUyJTrM48dViibyi68urttMlUv7e

       https://www.youtube.com/watch?v=CIF2SBVY-J0

       https://www.youtube.com/watch?v=5WXVJ1A0k6Q

       https://www.youtube.com/watch?v=-YMfJLFynmA

   2、文本序列预测,机器翻译等 https://zhuanlan.zhihu.com/p/22385421, https://zhuanlan.zhihu.com/p/29168803

   3、推荐系统:(https://m.aliyun.com/yunqi/articles/66158,http://geek.csdn.net/news/detail/112318)

还有很多的应用场景,陆续补充,但用一句话总结:只要涉及到智能决策问题,在符合强化学习的学习规则的情况下的都可以使用。


1.4 强化学习运行环境和资料汇总

1.4.1 环境

 

 通过前面这个图我们可以清晰的看到,这里有两大主体

1.Agent

2.Environment

是的,这也是运行环境中的主题

Environment是给agent提供其行为评估和激励信号的程序模块(A toolkit for developing and comparing reinforcement learning algorithms.),自己写当然也是可以的,但是已经有人造好了轮子

OpenAI (gym):http://gym.openai.com/

GitHub /gym:: https://github.com/openai/gym

这上面有很多的控制游戏(过山车,二级立杆,Atari游戏等),并提供了非常好的接口可以学习

 然后Agent,也是有人写过的,而且是与上面的gym相匹配的,我们要做的就是自己改写一下agent的抽象类然后放到上面的gym Environment里面就好

下面推荐一个我自己在用的:

GitHub - keras-rl : Deep Reinforcement Learning for Keras.
https://github.com/keras-rl/keras-rl

这是一个python以及Keras写的项目,上手起来相对容易

1.4.2 资料

1.4.2.1 首先请阅读这篇文章:

所有下载地址见文末

 

它将介绍使用深度Q-Network (DQN)来逼近对解决马尔可夫决策过程至关重要的值函数的思想。

1.4.2.2 推荐使用Richard S. Sutton and Andrew G. Barto: 的Reinforcement learning: an introduction这本书的预印本深入研究RL数学:

所有下载地址见文末

 1.4.2..3《Algorithm for reinforcement learning》, Morgan&Claypool

所有下载地址见文末

 1.4.2.4《Reinforcement learning and dynamic programming using function approximators》

所有下载地址见文末 

 

资源打包dupan下载地址:

链接:https://pan.baidu.com/s/1EP-SdOY0C8gwhHas8gPp4A&shfl=sharepset 
提取码:kdgb 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值