一种不同的学习方式
到目前为止,你在这个阶梯上学到的一切背后都站着一位老师。在监督学习中,有一个由样本组成的数据集,每个样本都带着正确的标签,模型靠梯度下降被推向那些答案。强化学习把这位老师赶走了。没有标准答案——只有一个可以行动的世界,以及一个事后微弱的信号,告诉你事情是变好了还是变坏了。
想象教一只狗去叼回飞盘。你从不把叼飞盘的方程式递给它。它尝试某种动作,你说“好”或者干脆不出声,经过许多次重复,它围绕着能赢得夸奖的行为塑造出自己的举止。强化学习正是把这一过程形式化:一个智能体通过与世界互动、追逐奖励来学会行动。这是边做边学,也是机器学习中最像动物——和孩子——真实学习方式的一个分支。
智能体—环境循环
剥去细节,强化学习就是一个反复运行的循环。智能体—环境循环里有两位角色。智能体观察当前的处境,挑选一件要做的事,环境——智能体之外的一切——接收这个选择,回送一个新的处境外加一个数字。这个数字就是奖励。然后循环再次转动。一刻接一刻,智能体逐渐积累起经验:在哪些处境下做哪些选择往往有回报。
三个词命名了这些活动部件。状态是智能体此刻对处境的了解——棋局的局面、机械臂的关节角度、屏幕上的像素。动作是它在该状态下从可选项中做出的选择。奖励是环境返回的标量反馈。输入状态、输出动作、回送奖励与下一个状态:这就是全部的对话。
loop: state = environment.observe() action = agent.decide(state) # the policy reward, next_state = environment.step(action) agent.learn(state, action, reward, next_state) state = next_state
智能体把状态转化为动作所用的规则就是它的策略——也就是我们最终想要学到的东西。策略可以是一张查找表,也可以是一个把像素映射到按键的神经网络。当环境表现得像一个马尔可夫决策过程——意即下一个状态只依赖于当前状态和动作,而非整段历史——这个循环就在数学上变得可处理,这正是几乎所有强化学习理论都建立在它之上的原因。
奖励并不等于目标
微妙之处在这里。智能体追逐的不是即时奖励——而是长期累计的总奖励,称为回报。现在得零分的一步,可能正是十步之后赢下整局的那一步。为了把今天的奖励与遥远未来的奖励作比较,强化学习使用一个折扣因子,一个略小于一的数字,使奖励越遥远就被压得越小。这让总和保持有限,并温和地鼓励智能体在不忽视未来的前提下偏好更早的回报。
这个长时程的归因问题正是强化学习既困难又有趣的地方。如果你下了四十步后输掉一盘棋,到底哪一步是失误?奖励在最后一次性到来,却必须以某种方式回溯分摊到通向结局的每一个决策上。价值函数及后续阶梯中算法的全套机制,都是为了解决这一个谜题:把功劳与过错分配给那些后果被延迟的动作。
探索还是利用?
由于没有老师,智能体面临一个监督模型永远不会遇到的两难。为了赢得奖励,它应当选择当前认为最好的动作——这就是利用。但它的认识只来自它尝试过的东西,所以真正最好的动作或许是它几乎没怎么试过的那个。要弄清楚,它就必须时不时选一个看起来更差的——这就是探索。这就是探索—利用权衡,对它的平衡无法回避。
每次你在一家熟悉的餐馆点菜,都在亲历这件事。你点那道你知道很棒的菜(利用),还是试试今日特色、冒着失望的风险去博一个新爱好(探索)?这个问题最干净的微缩模型是多臂老虎机:几台赔率未知的老虎机,以及固定次数的拉杆预算。只拉目前赔得最好的那台,你也许永远发现不了更好的;纯随机地拉,你又在重新确认早已知道的事情上浪费筹码。
最简单可用的答案是ε-贪心:大多数时候采取已知最好的动作,但以一个小概率 ε 改为随机选择。在所知尚少时从大量随机开始,随着估计变得清晰让 ε 衰减。它很粗糙,却抓住了全部要义——而且足以让接下来阶梯中基于价值的方法真正运转起来。
强化学习与监督学习的真正不同
人们很容易把强化学习归档为只是带着古怪损失函数的另一种监督学习。它不是,而且三处差异都很深。第一,反馈是评价性的,而非指导性的:奖励告诉你你的动作有多好,却从不告诉你正确的动作本该是什么。监督学习中的标签直接指向答案;而奖励只为你尝试过的那一个打分。
第二,数据不是给定的——智能体自己生成数据。监督模型在一个固定的数据集上训练,数据集在学习期间静止不动。强化学习智能体的经验来自它自己的选择,于是早期糟糕的策略会收集到糟糕的数据,又教出糟糕的策略:这是一个在监督学习里没有对应物的反馈环。第三,样本并不相互独立。每个状态都从上一个状态流出,因此强化学习直截了当地打破了数据点独立同分布这一令人安心的假设。
该记住什么,以及接下来是什么
- 智能体行动,环境以奖励和新状态作出回应,这个循环不断重复——这就是一句话的强化学习。
- 目标是最大化长期回报,而非即时奖励;折扣因子权衡未来与当下。
- 每一步,智能体都必须在利用已知与探索未知之间求得平衡。
- 奖励是评价性而非指导性的,智能体自己制造数据,连续的经验彼此相关——这些在监督学习中都不成立。
在你继续攀登之前,一句诚实的提醒。强化学习强大却出了名地难伺候:它可能需要海量的试错,而那些为人称道的成果——精通围棋、控制反应堆中的等离子体——都倚靠数百万乃至数十亿次练习回合,通常是在失败代价低廉的模拟器里完成的。它不是通往自主性的万能配方,一个在优化奖励的智能体,也并非在任何人类意义上追求目标。带着这幅脚踏实地的图像继续前行。
从这里起,本阶梯变得具体。接下来我们会把“这个状态有多好”这个模糊念头,变成一个精确的价值函数,认识为状态—动作对打分的Q 函数,并用贝尔曼方程把一个价值与紧随其后的价值绑在一起。这些工具解锁了Q 学习,以及与深度网络融合后成为游戏突破背后深度 Q 网络的那些策略方法。你脑中现在已经有了这个循环——其余的一切,都是在学如何把它漂亮地闭合。