强化学习入门……的入门

这里写图片描述
强化学习是机器学习里面非常重要的一个派别。智能体 (agent) 会不断执行一些操作,通过结果来学习,在不同的环境中分别应该采取怎样的行动。

在一系列教学文章里,我们可以了解不同的架构,来解决强化学习的问题。Q学习,深度Q网络 (DQN) ,策略梯度 (Policy Gradients) ,演员-评论家 (Actor-Critic) ,以及近端策略优化 (PPO) 都是将要涉及的算法。

这是本系列的第一篇文章,你可以抓住的重点有:

  • 什么是强化学习,以及为什么奖励最重要
  • ·强化学习的三种方式
  • 深度强化学习的“深度”是什么意思

以上几点,在进入强化学习的复杂世界之前,可能还是有必要了解一下。
这是个友好的引子

强化学习的中心思想,就是让智能体在环境里学习。每个行动会对应各自的奖励,智能体通过分析数据来学习,怎样的情况下应该做怎样的事情。
这里写图片描述
其实,这样的学习过程和我们自然的经历非常相似。想象自己是个小孩子,第一次看到了火,然后走到了火边。

你感受到了温暖。火是个好东西 (+1) 。
这里写图片描述
然后就试着去摸。卧槽,这么烫 (-1) 。这里写图片描述
结论是,在稍远的地方火是好的,靠得太近就不好。

这就是人类学习的方式,与环境交互。强化学习也是一样的道理,只是主角换成了计算机。
这里写图片描述
比如,智能体要学着玩超级马里奥。强化学习过程可以用一个循环 (loop) 来表示:

  • 智能体在环境 (超级马里奥) 里获得初始状态S0 (游戏的第一帧) ;
  • 在state 0的基础上,agent会做出第一个行动A0 (如向右走) ;
  • 环境变化,获得新的状态S1 (A0发生后的某一帧) ;

  • 环境给出了第一个奖励R1 (没死:+1) ;

  • 于是,这个loop输出的就是一个由状态、奖励和行动组成的序列。

而智能体的目标就是让预期累积奖励最大化。
问题来了,目标为什么是预期累积奖励最大化?

因为,强化学习原本就是建立在奖励假说的基础之上。想表现好,就要多拿奖励。

每一个时间步 (time step) 的累积奖励都可以表示为:

Gt=k=0TRt+k+1 G t = ∑ k = 0 T R t + k + 1

不过,我们没有办法把奖励直接相加。因为游戏里,越接近游戏开始处的奖励,就越容易获得;而随着游戏的进行,后面的奖励就没有那么容易拿到了。

把智能体想成一只小老鼠,对手是只猫。它的目标就是在被猫吃掉之前,吃到最多的奶酪。
这里写图片描述
就像图中,离老鼠最近的奶酪很容易吃,而从猫眼皮底下顺奶酪就难了。离猫越近,就越危险。

结果就是,从猫身旁获取的奖励会打折扣,吃到的可能性小,就算奶酪放得很密集也没用。

那么,这个折扣要怎么算呢?

我们用γ表示折扣率,在0和1之间。

  • γ越大,折扣越小。表示智能体越在意长期的奖励 (猫边上的奶酪) 。
  • γ越小,折扣越大。表示智能体越在意短期的奖励 (鼠边上的奶酪) 。

这样,累积奖励表示出来就是:
这里写图片描述
简单来说,离猫近一步,就乘上一个γ,表示奖励越难获得。

  • 片段性任务还是连续性任务

强化学习里的任务分两种。
片段性任务 (Episodic Tasks)

这类任务,有个起点,有个终点。两者之间有一堆状态,一堆行动,一堆奖励,和一堆新的状态,它们共同构成了一“集”。

当一集结束,也就是到达终止状态的时候,智能体会看一下奖励累积了多少,以此评估自己的表现。

然后,它就带着之前的经验开始一局新游戏。这一次,智能体做决定的依据会充分一些。
以猫鼠迷宫为例的一集:

  • · 永远从同一个起点开始

    · 如果被猫吃掉或者走了超过20步,则游戏结束

    · 结束时,得到一系列状态、行动、奖励和新状态

    · 算出奖励的总和 (看看表现如何)

    · 更有经验地开始新游戏

集数越多,智能体的表现会越好。

这里写图片描述
小老鼠可以吃到无穷多块分散的奶酪 (每块+1) 。但在迷宫上方,有许多堆在起的奶酪(+1000) ,或者看成巨型奶酪。

如果我们只关心吃了多少,小老鼠就永远不会去找那些大奶酪。它只会在安全的地方一块一块地吃,这样奖励累积比较慢,但它不在乎。

如果它跑去远的地方,也许就会发现大奖的存在,但也有可能发生危险。

程序猿需要设定一种规则,让智能体能够把握二者之间的平衡。

  • 强化学习的三种方法
    • 基于价值 (Value-Based)
      这种方法,目标是优化价值函数V(s)。

价值函数会告诉我们,智能体在每个状态里得出的未来奖励最大预期 (maximum expected future reward) 。

一个状态下的函数值,是智能体可以预期的未来奖励积累总值,从当前状态开始算。
这里写图片描述

  • 基于策略 (Policy-Based)
    • 这里写图片描述这种方式,会直接优化策略函数π(s),抛弃价值函数。

策略就是评判智能体在特定时间点的表现。
把每一个状态和它所对应的最佳行动建立联系。

策略分为两种,

· 确定性策略:某一个特定状态下的策略,永远都会给出同样的行动。

· 随机性策略:策略给出的是多种行动的可能性分布。
这里写图片描述
这里写图片描述

  • 基于模型 (Model-Based)
    这种方法是对环境建模。这表示,我们要创建一个模型,来表示环境的行为。

    问题是,每个环境都会需要一个不同的模型 (马里奥每走一步,都会有一个新环境) 。这也是这个方法在强化学习中并不太常用的原因。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值