本篇文章8098字,读完约20分钟

雷锋。[人工智能科技评论]出版社:本文是根据杨宇博士在中国人工智能学会第二次前沿研讨会上所作的报告《加强学习的前沿》编写的。雷锋。com在保持初衷不变的基础上略有删减,这一点已得到杨宇博士的纠正和确认。谢谢。全文分为两个部分,这是第一部分。

杨宇,博士,副教授。他的主要研究领域是人工智能、机器学习和进化计算。2004年和2011年,他分别获得了南京大学计算机科学与技术系的学士学位和博士学位。

2011年8月,他加入南京大学计算机科学与技术系和机器学习与数据挖掘研究所(lamda),从事教学和科研工作。2013年获国家优秀博士学位论文奖,2011年获中国计算机学会优秀博士学位论文奖。他发表了40多篇论文,包括许多国际一流的期刊和会议,如人工智能、ijcai、aaai、nips、kdd等。,他的研究成果获得了ideal 16、geco11、pakdd 08等最佳论文奖,以及pakdd'06数据挖掘大赛冠军等。

南京大学俞扬博士万字演讲全文:强化学习前沿(上)

他是《计算机科学前沿》的年轻副主编,也是人工智能领域国际顶级会议的ijcai'15/17、ijcai 16/17宣传主席、icdm 16宣传主席和acml 16研讨会主席的高级项目成员。在天猫的“双十一”推荐比赛中,指导学生赢得了100万个奖项和谷歌奖学金。

以下是杨宇的演讲清单,供读者参考:

1.介绍

第二,马尔可夫决策过程(markov决策过程)

第三,从马尔可夫决策过程到策略搜索

第四,功能估计(策略搜索)

V.策略搜索

六.游戏中的强化学习

七、加强学习总结

八、加强学习资源的推荐

以下是杨宇博士的发言稿:

大家好,我将尽力用直观的方式介绍精读课的三个问题。由于水平有限,难免会有一些不足或不足。请纠正我。

首先,什么是强化学习?

第二,强化学习有哪些算法?这些算法的想法是什么?

第三,在哪里可以使用强化学习?应用它时有什么限制?

首先,介绍从动物的学习过程开始

现在每个人都在谈论人工智能。虽然很难确切地说出什么是智力,但我们知道拥有智力会有一些聪明的表现。例如,有些动物,如狗,可能被认为是聪明的,我们可以训练一只小狗去理解饲养员的指示。训练方法是:饲养员手里拿着食物,然后说“坐下”。当小狗做出符合要求的动作时,它会给它食物。反复训练,大约半个小时,它就会学会听到“坐下”的命令,然后坐下。这个过程是动物的学习过程,它的智能在于它能在一定时间内找到如何适应环境并获得食物奖励。

南京大学俞扬博士万字演讲全文:强化学习前沿(上)

很久以前,许多学者想知道计算机是否能做同样的事情,并自动找出如何适应环境,这就是我们今天所说的强化学习。有句话说,“强化学习是真正的人工智能。”现在我们不评估这个句子是否合适。至少,强化的目的是希望机器能像动物一样适应环境。

从动物学习到机器强化学习,强化学习名称的起源

让我们先解释一下强化学习的名称。为什么称之为强化学习?由于这一过程不断重复和强化认知,英语强化学习中更准确的汉语强化翻译也是“强化”。

类比强化学习和动物学习

训练小狗的过程中有两个要素:

饲养员需要给小狗一些指示,比如让它“坐下”。

饲养员有一些动物非常想要的东西,那就是奖励。对狗来说,奖励就是食物。

对于代理(即计算机),我们希望以类似的方式培训代理。我们对元素进行抽象,可以用下图表示:

现在代理处在一个非常黑暗的环境中,这意味着它不知道这个环境中有什么,这就是我们希望计算机可以通过强化学习做的事情——把它扔进一个未知的环境中,它可以通过处理这个环境来适应这个环境,并学习什么行动是最好的。

代理可以从环境中观察到两件事:

状态。它能观察的环境和它自己的状态;

奖励。当它做出某些行为时,这种环境可能会给它一个奖励。

它根据观察到的状态做出的行为被称为行动或决定;将此操作放入环境后,它将在环境中执行;实施后,环境将会改变。

一般来说,如果根据刚才提到的元素来描述它,那么它对应的变量是:动作集、状态集、奖励函数和决定动作完成后环境发生什么的转移函数。

对于代理人来说,选择和做出决策的能力被称为策略。这个策略意味着观察环境处于什么状态,并选择采取什么行动。这里的策略实际上与监督学习中的模型相同。

第一次强化学习从主体的角度审视其环境和行为

当他第一次睁开眼睛时,他看到的环境是一个初始状态。

根据这种状态,代理人采取了行动。我们将策略写成π,π将根据当前状态选择一个动作,然后在环境中实现它。

在执行之后,这个环境将经历一个状态转换并改变到下一个状态。同时,它还会给代理人一个奖励或奖赏。

最后,代理继续根据新状态决定下一步要做什么。

因此,从代理的角度,我看到什么状态,然后决定做一个相应的动作并接收一个返回,然后做一个动作并在下一个状态接收一个返回,等等。

所以你可以清楚地看到:

首先,这个代理完成了学习过程,但没有做出一个决定。事实上,它需要做的是一系列的决定。

第二,我们如何判断代理策略?判断的一般形式是它能得到多少回报。每一步都可能有回报,所以判断的形式是将总回报相加,看看它有多大。

长期累积奖励有几种计算方法。例如,我们可以把所有的总测试步骤加起来,或者我们可以用贴现的方法让它采取无限个步骤。然而,我们应该考虑重量,而不是根据原始价值加起来,这将由于时间的推移而产生折扣。

为什么我们在计算总回报时要考虑权重?

一方面,数学上更容易处理;另一方面,这意味着在许多实际应用中,我们对未来价值的估计可能会打折扣。举个例子:

如果你今天能赚100元,或者下个月能赚200元,你必须从这两个决定中选择一个。你今天可以选择拿100元。将来,对你来说可能会更安全。下个月会发生什么还不知道,所以在一些应用中会考虑折扣,但是在不同的应用中应该考虑具体的需求。

代理人应该做的是找到一个能带来最大长期累积回报的策略。

通过设置奖励,我们可以定义代理做不同的事情。就像刚才训练这只小狗一样,我们可以给它一个食物,让它跌倒或站起来。

找到最佳策略的两个例子

事实上,强化学习的框架只是一个一般的框架,其中可能包含许多问题。这里有两个例子。

第一个例子:寻找最短路径的问题。

如下图所示,我们需要找到从s到t的最短路径。这是一个非常简单的问题。这里我们演示如何解决将最短路径转化为强化学习的问题。我们可以做到这一点:

首先定义状态和动作:

将每个节点视为一个状态;

将每个节点上的连通边作为在这种状态下可以完成的动作。

在定义了状态和动作之后,我们需要找到最短的路径,也就是说,我们需要找到权重最小的路径。

通常,强化学习是为了最大化回报,所以在这里我们取路径上权重的负值,让它最大化这个负值。一个小变化是,测试将指出一个围绕自身循环的单个节点。

接下来,我们开始寻找最佳策略。让我们假设我们能找到最好的策略。最好的策略是什么?也就是说,从s开始,我们每走一步都选择走哪边,这样可以最大化总回报。我们可以看到这里有一个100,非常大,所以我们必须去T,摆脱100的意外情况,上面粗线所示路径的奖励应该是最大的。

对于最优策略,它们对应于最优路径。我们不在乎如何解决这里的最优策略。

第二个例子:最大化任何函数

我们展示了如何使用强化学习来解决最短路径问题。此外,强化学习还可能包含许多其他问题。

例如,我们希望在0和1的n维空中最大化函数f。这不是一个容易解决的问题,特别是它没有说明f是什么,换句话说,它可以是任何东西。

这个问题也可能成为强化学习的问题。如何改变它?

我将初始状态设置为空设置;此时,有两个动作。向左就是加0,向右就是加1,向左就是加0,向右就是加1;离开n层后,顶层是0和1空之间的所有组合,对应于所有可能的解决方案。

我们还需要设置一个奖励——中间层的每一个奖励都是0,只有最后一层的奖励是F。这使得有可能最大化奖励和F,如果有一个最优的强化学习策略,可以找到节点的最优路径。

通过这个例子,我想表达一点——如果我们面临的学习问题相对简单,就没有必要加强学习。仅仅因为它在市场上很热,我们不能通过强化学习来解决过去的一些问题。

总结强化学习和计划的区别,强化学习和计划的区别是什么?

首先,强化学习所看到的世界是一个黑箱,但是这个世界对于计划来说是非常清楚的。例如,我们的最短路径,所有的节点,点和权重都是已知的;对于强化学习,如何转移状态,什么是边缘权利系统,甚至什么状态需要自己探索和发现。

第二,规划问题可能是一个解决办法和一条道路;强化学习的解决方案是一个模型。就像监督学习一样,如果你进入任何状态,强化学习会告诉你应该做什么决定。因此,除了给出最佳路径上的每个状态和每个节点应该走哪条路,实际上任何节点都可以告诉我如何从这个节点到达目标。

强化学习和监督学习的区别刚才,强化学习和监督学习有许多相似之处,例如,模型实际上是相同的。他们之间有什么区别?

监督学习通常是一种开环学习。

通常,监督学习任务从环境中收集一批数据;

然后我们使用监督学习算法从数据中生成模型。

最后,我们可以用这个模型来做预测。

但是对于强化学习来说,它面临着一个闭环学习。

首先,数据也是从环境中生成的;

使用强化学习算法从数据中生成模型;

应该将模型放回环境中运行,然后生成新数据,并重复上述步骤。

因此,一般来说,它们之间的主要区别是开环学习和闭环学习。这种差异带来了许多具体的差异:

首先,在监督学习中,数据被分为观察特征值和标签。这个标记的意思是在看到这样一个观察值和特征后应该做什么样的预测。

但是在强化学习中,这些数据起初是一个序列。做了一个动作后,有什么状态,有一个反馈值和一个新的状态。虽然在这个序列中有反馈奖励,但是这个奖励不能告诉我们应该采取什么行动,只能对当前策略有一个评估值。当我们把所有的奖励加起来作为对当前策略的评估时,我们可以知道策略做得有多好,但是我们不知道我们应该采取什么行动是最好的。这也是数据上的两个差异。

南京大学俞扬博士万字演讲全文:强化学习前沿(上)

此外,强化学习算法不同于监督学习算法。这两种型号可能相同。监督学习可以是决策树、神经网络或模型,这在强化学习中是一样的。

综上所述,两者的核心区别在于强化学习应该考虑其自身对环境的影响。

强化学习的应用:经典应用

由于强化学习具有序列预测和序列学习的功能,所以它过去的主要应用领域是机器控制,如直升机控制。

在直升机的应用中,代理是直升机,环境是其飞行的空域,状态可以是直升机的高度、速度、姿态等,而决策是操纵杆命令。我们希望直升机能按照我们想要的轨迹飞行,但是它不会掉下来。这些目标可以用来奖励直升机学习实时控制直升机运动的策略。

更多应用

有许多现实世界的应用程序,它们背后的问题都符合强化学习的问题设置。例如,股票市场预测和商品推荐。

1、股市预测

首先,这是一系列的决定,必须做出许多决定。每一个决策行为都取决于股票市场的当前状态。这些行为可以是购买、出售和观看。

那么为什么这个问题是一个强化学习的问题呢?还有许多顺序决策问题可能不是强化学习。我们如何判断顺序决策是否是强化学习?关键因素是决策在被放入环境后是否会改变环境。

在股票市场交易时,交易的时刻将决定股票价格,这相当于改变环境的决策。有时可能只有很少的交易,这也会导致其他投资者对股市的预期,从而影响股市的走势。

2.另一个例子是产品推荐

为什么推荐会被认为是一个强化学习的问题?推荐系统将推荐的展品放在网页上,用户的购买行为与推荐行为相关联。对于推荐的展品,即使它们很普通,也能被许多顾客看到,而优秀的产品如果不被推荐就可能不会被追求。一般来说,决策会影响整个系统。

3.最近的应用

在处理结构化数据时,例如进行自然语言处理,将离散结构的知识库应用到学习系统中,我们将面临一个问题,即我们所面临的语言或知识库很难集成到可微模型中。最近,一些研究者提出了一些方法,将句子输出的单词或知识库中的操作作为强化学习的行为,从而通过强化学习将某些方法的可微性融入到整个可微学习系统中。根据深度学习中的端对端训练的流行说法,在加入强化学习的框架后,整个系统可以转化为端对端的学习。

南京大学俞扬博士万字演讲全文:强化学习前沿(上)

第二,马尔可夫决策过程(markov decision process)强化学习的基本数学模型——马尔可夫过程你可能听过很多单词,包括mdp、q-learning和许多算法的名称。在我的报告中,我将简要介绍强化学习发展的过程以及在其中会遇到什么问题。

强化学习历史悠久,其中早期强化学习与其数学模型mdp有很大关系。首先让我直观地介绍一下mdp。

mdp的直观介绍

在mdp(马尔可夫决策过程)中有三个词,其中过程“过程”是一个代表时间变化的变量,而马尔可夫“马尔可夫”表明这种变化没有记忆效应,下一步去哪里只取决于当前状态。马尔可夫过程可以用图来描述,图上的每一点都是这个状态。它有许多方面,表明它可以做的行动。对于每个状态,边的概率之和是1。这是从它的状态和转变的观点来看的。

南京大学俞扬博士万字演讲全文:强化学习前沿(上)

我们也可以从时间的角度来看待它。例如,它现在处于某个状态,而在下一个时刻,它将根据不同的转移概率转移到不同的状态。随着时间的变化,我们进入下一个时刻的状态,这就是所谓的地平线视角。

平稳分布什么是稳定分布?

大多数马尔可夫过程将具有稳态分布,这意味着当时间很长甚至是无限长时,大多数马尔可夫过程将收敛到一个平衡分布,并且不会随时间而改变。

例如,今天天气晴朗。在确定了晴天、阴天和雨天的过渡概率后,30天后晴天、雨天或阴天的概率与今天是否是晴天无关,它会收敛到一定的概率分布。

马尔可夫奖励过程?

马尔可夫奖励过程是当状态转移时,除了刚才描述的转移概率之外,还有一个奖励。

假设天气总是晴朗的,这样跑步后我能得到的总回报是多少?这个总回报可以用一个符号v来表示。根据我们前面的描述,我们可以有不同的计算方法,比如把它们加起来或者打折加起来。

如何计算长期回报?我们从初始状态开始,分别按照0.2、0.7和0.1转移到不同的状态,并根据新的概率将该状态下的总返回值相加,得到该状态的返回值。这相当于展开此步骤后的累加。这成为递归公式,即,步骤0成为步骤1中要计算的步骤,步骤1成为步骤2中要计算的步骤。

算法中有一种加速计算方法,称为动态规划,它是逆向计算的。

可以理解,首先,将最后一层(第t层)的v值设置为0,反向计算第t-1层的v值,然后反向计算第t-2层...重复这个公式t次。

有t级台阶,也有无限级台阶。让我们假设我们站在无穷远的最后一点,这个点在每个状态下仍然是0,然后计算什么是无穷远-1步,无穷远-2步,然后返回无穷多步。然而,算法无法实现这一过程。事实上,算法不需要无限后退,因为有一个折扣,也就是说,在一定数量的后退之后,这个值将是固定的。

马尔可夫决策过程是如何形成马尔可夫决策过程的?

对于马尔可夫过程和马尔可夫决策过程,我们只能观察其运算结果,而不能干涉其运算过程。添加决定后,我们可以进行干预。这就是马尔可夫决策过程。不同的动作决定了不同的转移概率,所以现在我们可以在每个状态下选择不同的动作。

从马尔可夫决策过程的横向角度看,由于每个状态可能做不同的动作,转移概率也不同。

一般来说,马尔可夫决策过程有四重含义,即状态、行为、报酬和转移。

这四重学习与强化学习中的四重学习是一样的,所以早期的强化学习完全是基于mdp的,也有必要找到一个策略。这种策略是选择具有不同概率的不同动作,或者一种确定性策略,并在一种状态下输出一个动作。

早期强化学习的策略和特点

早期的策略由一个表来表示,它记录了每个状态下的动作,这是一个非常简单的模型。这个模型经常用于强化学习。在监督学习中,该模型使用较早,但在实际应用中很少使用,因此很快被淘汰。

它的特点是表达能力强,但前提是动作和状态是离散的。为什么表达能力极强?例如,对于确定性策略,每个状态下的动作可以直接修改,而不影响其他状态的动作,因此其表达是灵活的。许多早期强化学习的理论都是基于这个表达式。虽然它不实用,但它的理论性很好。

如何求解马尔可夫决策过程中的最优策略?

我们首先要计算马尔可夫决策过程中给定策略的总回报。

这与计算马尔可夫收益过程中的总收益是一样的,因为一旦给出了策略,它的转移分布就已经完全确定了。这退化成一个马尔可夫回报过程,也就是说,给定一个策略,我们用和以前一样的方法计算回报。有点不同的是,它的转换是根据策略给出的动作概率进行的。因此,当写V时,在V的右上角写一个π,这表明我们当前的固定策略是什么。在给出不同的策略后,我们要计算的V值的结果是不同的。这个v值的意思是从s的部分开始,看它在走了很长一段时间后会返回什么。

南京大学俞扬博士万字演讲全文:强化学习前沿(上)

然而,如果我们只计算V值,从它得出策略就不太方便了。它表示总回报,但我们想知道在每个州哪个行动更好。如果你只知道v的值,你就不能直接知道在当前状态下选择哪个动作。你只能尝试每一个动作,进入下一个状态,看看哪一个动作在下一个状态下产生最佳的v值,然后使用哪一个。这更麻烦。

为了避免麻烦,我们经常使用q值函数。q值函数比v函数多一个动作输入,它需要估计的是,在状态s完成动作a之后,它将继续遵循这个策略π,它的返回是什么。使用q值函数,在看到状态s后,把每个a带进来,看看哪个a有一个大的q值,然后使用哪个a。所以你可以直接决定在当前状态下使用哪个动作。

Q和V之间有直接的对应关系。如果根据策略选择动作,平均Q值就是V值。

计算最佳策略

最佳策略存在吗?

当我们考虑最优策略时,我们想知道是否会有一个在所有状态下都表现最好的策略,或者我们是否只能找到一个在大多数情况下表现最好的策略,但是它的价值在单个状态下几乎更差。事实上,前者是存在的,这个结论依赖于策略需要用表格来表达的假设。因为它是用表格表达的,所以它的表达能力足够强。

对应于最优策略的v值是最优v值,对应的q值是最优q值。如何获得最佳策略?v和q之间有一定的关系,所以我在这里直接给出两个方程,一个是用q值计算q值,另一个是用v值计算v值。只要把Q和V之间的最佳关系带入Q和V之间的一般关系,就可以直接得到。

最优策略的两种算法

有了这两个方程,我们就可以得到最优策略。

第一种方法:首先评估给定策略有多好,然后找到改进的方向。

这个算法意味着计算你给出的策略的V值,然后用这个等式更新策略。更新后,计算V值并更新策略,以保证策略最终收敛到最优策略。当然,前提是您使用这个表状态表示,即有许多状态和许多动作。对应于这种方法的方程是刚才的第一个方程。该算法可能效率低下,因为它需要不断评估更新的策略。这种方法被称为策略迭代。

南京大学俞扬博士万字演讲全文:强化学习前沿(上)

第二种方法是通过V值直接更新V值,这叫做值迭代。

根据这两个方程,有两种方法来计算最优策略。这是为了纪念实际上发明了动态编程的提议者贝尔曼。

最优策略的复杂性是什么?

此外,我们看到这样一个解决最佳策略的过程。它的复杂性是什么?它的复杂性是状态数乘以动作数o(|s|*|a| ),这已经是一个非常简单的mdp(确定性mdp)。从状态和动作的数量来看,这种复杂性似乎是一种线性复杂性,而且复杂性不高。我们之前说过强化学习是一个解决最优策略的np难问题,那么有什么区别呢?不同之处在于,在衡量一个问题的复杂性时,它不是根据它有多少个国家来衡量的,而是根据空.国家之间的差异来衡量的于是贝尔曼发明了一个词,叫做“空间灾难”。如果我们用维度来衡量这种复杂性,它是一个非常高的复杂性。例如,对于Go,它的维数是19×19,但它的有效态数超过10的170次方。

南京大学俞扬博士万字演讲全文:强化学习前沿(上)

本文简要介绍了如何在多目标决策和马尔可夫决策中寻找策略。然而,mdp不是强化学习,因为它的四重已经被给予,特别是奖励和转移。如果你给它一个状态和动作,你就可以计算出奖励值;转移是一样的。进入一个状态或动作后,它会告诉你转移的状态是什么。

本文是杨宇博士《加强学习的前沿》的第一部分。请注意雷锋的后续内容。

雷锋原创文章。严禁擅自转载。详情请参考转载说明。

来源:搜狐微门户

标题:南京大学俞扬博士万字演讲全文:强化学习前沿(上)

地址:http://www.shwmhw.com/shxw/63392.html