强化学习入门(一)

工欲善其事必先利其器。本篇进行强化学习的初步讲解,先不进行 让人脑壳变大的证明。

“Reinforcement learning is an important type of Machine Learning where an agent learn how to behave in a environment by performing actions and seeing the results.”简单讲,强化学习是构建一个智能体,智能体通过与环境进行交互,智能体通过自身的表现,逐步提高自己的姿势水平了。

在本篇文章,你可以get到以下几个技能点:

(1)知道强化学习到底是啥,核心点是什么

(2)三种强化学习算法

(3)深度强化学习,到底在哪里


从环境中学习是我们的本能,比如 进入社会, 成为个社会人儿。。。咳咳,,,现在想象一下,冬天,一个小孩在家看到个正在烧火的壁炉,如果此时他慢慢爬过去,它便会感觉到温暖、舒服与得劲(Positive Reward +1)。那么它可能就会认为爬向着火的壁炉是个正确的选择。

但是,这孩子有点熊,好奇心大,又动手 伸进壁炉里面,那么它可能就被烫哭了(Negative reward -1),它就便认为距离火炉太近是一个脑残的决定。一般讲,此时这个孩子就学会了,适当靠近火炉是温暖的,是个正确的做法;但是离的太近,便可能烫伤自己,是个错误的决定。

这个便是人们学习,认知的过程,强化学习就是一种从行动中学习的计算方法。


强化学习的过程


像图片那样,这是个强化学习应用于学习超级马里奥游戏的例子。强化学习过程可以建模为一个循环,其工作方式如下:

(1)我们的智能体从游戏环境中接收状态 S_{t}

(2)基于状态S_{t},智能体采取了一个动作A_{t}(我们的代理将会向右移动)

(3)游戏环境进入到一个新的状态S_{t+1}

(4)环境为代理提供了一些奖励R_{t}(还活着:+1)

该强化学习过程,循环输出一系列状态,动作和奖励。 智能体的目标是预期累积奖励的最大化。

一 强化学习的核心---奖励假设

老王可能会问了,:“为什么强化学习的核心是奖励这块呢?"

因为强化学习是建立在奖励假设的基础上的,所有的目标都可以通过预期累积奖励的最大化来刻画。这就是为什么在强化学习中,要有最好的行为,我们需要最大化预期的累积奖励。

第t步的累积奖励可以写成:

但是,实际上,我们不能只是添加这样的奖励。更接近t步操作所提供的奖励更有可能发生。

假设你的智能体是这只小老鼠,而你的对手就是猫。目标是在被猫吃掉之前吃更多的奶酪。

正如我们在图中可以看到的那样,我们在附近吃到奶酪的可能性比接近猫的奶酪更容易(因为越接近猫,就越危险)。因此,我们需要对猫附近的奖励进行打折扣,即使它有更多的奶酪。

为了给奖励打折,我们这样做:

我们定义了一个gamma的折扣率。它介于0和1之间。

  • gamma越大,折扣越小。这意味着智能体更关心长期奖励。
  • 另一方面,gamma越小,折扣越大。这意味着智能体更关心短期奖励(最近的奶酪)。

折扣预期奖励公式为:

强化学习的过程,就是平衡 眼前利益 与 长期利益 的过程。


二 情节与连续任务

我们可以有两种类型的任务:情节和连续。

(1)情节任务

在这种情况下,我们有一个起点和一个终点。 这会创建一个集合:状态,行动,奖励和新状态。

例如,想想超级马里奥兄弟,一个情节是 新马里奥游戏开始到结束(当你被杀或者你达到了关卡的末尾)

(2)连续任务

这些是永远连续的任务(没有终端状态)。 在这种情况下,智能体必须学习如何选择最佳操作并同时与环境交互。

例如,使用智能体进行股票交易。 对于此任务,没有起点和终端状态,直到我们决定停止他。


三 蒙特卡罗与TD学习方法


目前主流有两种学习方法:以一个情节为单位收集奖励,进行预期最大期望奖励的计算,蒙特卡罗方法;评估每一步的奖励,时间差异学习。


(1)蒙特卡罗

当这一情节结束时(即智能体到达“终端状态”),求所有奖励之和,看看智能体玩的咋样,

然后,我们对知识进行更新,开始一个新的游戏。智能体在每次知识迭代中,决策水平逐步提高。

举个栗子:

如果我们采取刚才前面讲的老鼠的例子:

1)我们总是从同一个起点开始

2)我们设定终止状态为:猫吃了老鼠或者我们移动了> 20步,我们就会终止这一情节

3) 在情节结束时,我们列出了状态,行动,奖励和新状态。

4) 智能体计算出总奖励G_{t}(看看小老鼠的表现如何)

5) 然后智能体将根据上面的公式更新V_{st}

6)然后用这个新知识开始一个新情节

经过很多次迭代后,小老鼠就会表现的越来越好(当然你参数要调好,这是后话)。


(2)时间差异学习

TD学习它可没有耐心等到情节结束时,再更新最大未来期望奖励,它在情节的进行中,更新知识。

TD方法等到下一步长,进行知识更新。在时间t+1,它们使用观察到的奖励 R_{t+1} 和当前估计值V(S_{t+1})

本篇讲到这,下一节讲,强化学习的具体计算。本篇文章主要内容来源于,medium.freecodecamp.org,后面会进行本篇再进行丰富补充。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值