分享
深度学习(4)强化学习
输入“/”快速插入内容
深度学习
(
4
)
强化学习
原文地址:
https://developer.nvidia.com/blog/deep-learning-nutshell-reinforcement-learning/
作者:
Tim Dettmers
发表时间:2016年9月8日
本章是《深度学习简介》系列的第 4 部分,我将深入探讨强化学习。强化学习是机器学习的范式和方法论之一,用于描述和解决智能体(agent)在与环境的交互过程中通过学习策略以达成回报(或奖励)最大化。
《深度学习简介》对深度学习基本概念进行了高水平概述,目的是启发对基本概念而非数学和理论细节的了解。尽管数学术语有时很有必要且利于进一步理解,但本章尽可能使用类比和图像以便易于理解,从而形成深度学习领域的直观综述。之前的文章涵盖了
深度学习的核心概念
、
深度学习:训练及历史
以及
序列学习
。
强化学习
还记得你是如何学会骑自行车的吗?很可能有一个成年人站在你身后或跟在你身边,鼓励你迈出第一步,并在你绊倒或摔倒时帮助你重新上车。但向孩子解释如何骑自行车是非常困难的,再好的解释对从未骑过自行车的人来说也没什么意义:你必须自己去感受。所以如果你不能解释如何骑上自行车的,又怎么能学会骑自行车呢?事实上,你是在不断地通过尝试进行学习,你很可能会跌倒,或至少可能会突然停下然后不得不控制好自己。你会不断跌倒或跌跌撞撞——直到你突然掌握了一些诀窍,能在你再次跌倒前前进几米了。
在这个学习过程中,针对我们的表现,反馈信号要么是痛苦的:“哎哟!我摔倒了!好痛啊!下次我会避免做导致这种情况发生的事情!”,要么带来奖励:“哇!我正在骑自行车!这感觉棒极了!我只需要继续做我现在正在做的事情!”
53%
学习骑自行车需要试错,就像
强化学习
一样。(视频由马克·哈里斯提供,他说他作为父母正在“学习强化”。)
47%
在
强化学习
的问题上,我们认为存在一个
智能体
(agent)在尝试通过决策来最大化其所能收到的奖励
。
因此,获得最大可能奖励的智能体可以被视为在给定状态下执行了最佳操作。这里的智能体指的是抽象实体,它可以是执行任何动作的对象或主体:自动驾驶汽车、机器人、人类、客户支持聊天机器人、围棋玩家。智能体的状态是指其在抽象环境中的位置和状态;例如,虚拟现实世界中的某个位置、建筑物、国际象棋棋盘或赛车道上的位置和速度。
为了简化
强化学习
问题和解决方案,通常会简化环境,使
智能体
只了解对决策重要的细节,而忽略其他部分。就像骑自行车的例子一样,
强化算法只有两个反馈源可供学习:惩罚(摔倒的疼痛)和奖励(骑几米的刺激)
。如果我们将惩罚视为负奖励,那么整个学习问题都将是关于探索环境和经过一个又一个的状态来尝试最大化我们的 agent 所得到的奖励,直到达到目标状态(自动从 A 驾驶到 B;赢得一场国际象棋比赛,通过聊天解决客户问题):简而言之,这就是强化学习。
价
值函数
强化学习是通过正向和负向奖励(惩罚或痛苦)来学习怎样选择产生最大累积奖励的行动的算法。为了找到这些行动,首先需要考虑当前环境中最有价值的状态。例如,在赛道上,终点线是最有价值的(这里好像就是你冲刺要达到deadline的前一步,这个状态肯定最有价值),即奖励最多的状态,并且在赛道上的状态比在赛道外的状态更有价值。(其实这里面就是递归的思想,当你找到了最有价值的状态,你只需要想办法得到这个状态就好了)
一旦我们确定了哪些状态是有价值的,我们就可以为不同的状态赋予“奖励”值。例如,对汽车位置偏离赛道的所有状态给予负奖励;完成一圈收到一个正奖励;当汽车超越当前的最佳圈速也收获一个正奖励;等等。我们可以将状态和奖励当成一个离散函数。例如,赛道可以用 1×1 米的网格表示。网格上的奖励由数字表示。例如,目标状态的奖励可能是 10,偏离赛道的奖励为 -2,而所有其他奖励为 0。假设这个函数是 3 维的,那么我们可以想象最佳的行动是让函数的值越高越好(即最大奖励)的行动。
对于每个状态,都存在中间状态,这些状态不一定是有奖励的(奖励 为0),但是它们是通往奖励状态的必经之路。例如,您需要通过第一个转弯才能完成一圈比赛,或者你必须跑完一圈才能提高圈速。
训练或拟合的价值函数将局部奖励值赋给中间状态,完成第二轮比第一轮更有价值,因为第二轮更接近下一个目标的状态。价值函数通过提供中间奖励来帮助智能体做出正确的决策,使智能体更容易判断下一步要移动到哪个状态。