1.3 强化学习

1.3.1 什么是强化学习

强化学习是机器学习的一个重要分支,它与非监督学习、监督学习并列为机器学习的三类主要学习方法,三者之间的关系如图1.7所示。强化学习强调如何基于环境行动,以取得最大化的预期利益,所以强化学习可以被理解为决策问题。它是多学科多领域交叉的产物,其灵感来自于心理学的行为主义理论,即有机体如何在环境给予的奖励或惩罚的刺激下,逐步形成对刺激的预期,产生能获得最大利益的习惯性行为。强化学习的应用范围非常广泛,各领域对它的研究重点各有不同。本书不对这些分支展开讨论,而专注于强化学习的通用概念。

在实际应用中,人们常常会把强化学习、监督学习和非监督学习混淆,为了更深刻地理解强化学习和它们之间的区别,首先我们来介绍监督学习和非监督学习的概念。

监督学习是通过带有标签或对应结果的样本训练得到一个最优模型,再利用这个模型将所有的输入映射为相应的输出,以实现分类。

图1.7 强化学习、监督学习、非监督学习关系示意图

非监督学习是在样本的标签未知的情况下,根据样本间的相似性对样本集进行聚类,使类内差距最小化,学习出分类器。

上述两种学习方法都会学习出输入到输出的一个映射,它们学习出的是输入和输出之间的关系,可以告诉算法什么样的输入对应着什么样的输出,而强化学习得到的是反馈,它是在没有任何标签的情况下,通过先尝试做出一些行为得到一个结果,通过这个结果是对还是错的反馈,调整之前的行为。在不断的尝试和调整中,算法学习到在什么样的情况下选择什么样的行为可以得到最好的结果。此外,监督式学习的反馈是即时的,而强化学习的结果反馈有一定的延时,很可能需要走了很多步以后才知道之前某一步的选择是好还是坏。

1.强化学习的4个元素

强化学习主要包含4个元素:智能体(Agent),环境状态(State),行动(Action),反馈(Reward),它们之间的关系如图1.8所示,详细定义如下所示。

图1.8 强化学习的4个元素

● 智能体:执行任务的客体,只能通过与环境互动来提升策略。

● 环境状态:在每一个时间节点,智能体所处环境的表示。

● 行动:在每一个环境状态中,智能体可以采取的动作。

● 反馈:每到一个环境状态,智能体就有可能会收到一个反馈。

2.强化学习算法的目标

强化学习算法的目标是获得最多的累计奖励(正反馈)。以“幼童学习走路”为例:幼童学习走路时,没有人指导他应该如何完成“走路”,他需要通过不断的尝试和外界对他的反馈来学习。

在此例中,如图1.8所示,幼童即为Agent,“走路”这个任务实际上包含站起来、保持平衡、迈出左腿、迈出右腿等几个阶段……幼童采取行动进行尝试,当他成功完成某个子任务时(如站起来),就会获得一个巧克力(正反馈);当他做出了错误的动作时,他会被轻轻拍打一下(负反馈)。幼童通过不断尝试和调整,找出了一套最佳的策略,这套策略能使他获得最多的巧克力。显然,他学习的这套策略能使他顺利完成“走路”这个任务。

3.强化学习的特征

强化学习主要包括以下两个特征。

1)没有监督者,只有一个反馈信号。

2)反馈是延迟的,不是立即生成的。

强化学习是序列学习,时间在强化学习中具有重要的意义;Agent的行为会影响以后所有的决策。

1.3.2 强化学习算法简介

强化学习主要可以分为Model-Free(无模型)和Model-Based(有模型)两大类。其中,Model-Free算法又分成基于概率的和基于价值的。

1.Model-Free和Model-Based

如果Agent不需要去理解或计算环境模型,算法就是Model-Free的;相反,如果需要计算出环境模型,那么算法就是Model-Based的。实际应用中,研究者通常用如下方法进行判断:在Agent执行动作之前,它能否对下一步的状态和反馈做出预测。如果能,即是Model-Based方法;如果不能,即为Model-Free方法。

两种方法各有优劣,Model-Based方法中,Agent可以根据模型预测下一步的结果,并提前规划行动路径。但真实模型和学习到的模型是有误差的,这种误差会导致Agent虽然在模型中表现很好,但是在真实环境中可能达不到预期结果。Model-Free的算法看似随意,但这恰好更易于研究者们去实现和调整。

2.基于概率的算法和基于价值的算法

基于概率的算法直接输出下一步要采取的各种动作的概率,然后根据概率采取行动。每种动作都有可能被选中,只是概率不同。基于概率算法的代表是Policy-Gradient,而基于价值的算法输出的是所有动作的价值,然后根据最高价值来选择动作,相比基于概率的方法,基于价值的决策部分更为死板—只选价值最高的,而基于概率的算法即使某个动作的概率最高,但仍有可能不会被选到。基于价值的算法的代表算法为Q-Learning。

1.3.3 强化学习的应用

1.交互性检索

交互性检索是在检索用户不能构建良好的检索式(关键词)的情况下,通过与检索平台交流互动并不断修改检索式,从而获得较准确检索结果的过程。

例如,当用户想要通过计算机搜索一个竞职演讲时,他不能提供直接的关键词,在交互性检索中,机器作为Agent,在不断的尝试中(提供给用户可能的问题答案)接受来自用户的反馈(对答案的判断),最终找到符合要求的结果。

2.新闻推荐

如图1.9所示,一次完整的推荐过程包含以下几个过程:用户点击App底部刷新或者下拉,后台获取到用户请求,并根据用户的标签召回候选新闻,推荐引擎则对候选新闻进行排序,最终给用户推出10条新闻,如此往复,直到用户关闭App,停止浏览新闻。将用户持续浏览新闻的推荐过程看成一个决策过程,就可以通过强化学习来学习每一次推荐的最佳策略,从而使得用户从开始打开App开始到关闭App这段时间内的点击量最高。

图1.9 新闻推荐

在此例中,推荐引擎作为Agent,通过连续的行动(即推送10篇新闻)获取来自用户的反馈(即点击)。如果用户点击了新闻,则为正反馈,否则为负反馈,从中学习出奖励最高(点击量最高)的策略。