本篇文章10920字,读完约27分钟
雷锋。(公开号码:雷锋。【人工智能科技评论】出版社:根据杨宇博士在中国人工智能学会人工智能分会第二届人工智能前沿研讨会“机器学习前沿”上的报告,雷锋。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.策略搜索
六.游戏中的强化学习
七、加强学习总结
八、加强学习资源的推荐
第一部分介绍前两节的内容,以下是下一部分的内容:
3.从马尔可夫决策过程到强化学习在强化学习任务中,回报和转移是未知的,需要通过学习获得。有两种具体的解决方案:
一是恢复奖励功能和转移功能。首先恢复mdp,然后在mdp上求解策略。这种方法称为基于模型的方法,这里的模型是指mdp。
还有一种相应的方法,即无模型方法,即非还原奖励和转移。
基于模型的方法在这种方法中,代理维护模型,然后从模型中求解策略。
从随机策略开始,将策略放入环境中运行,并从运行序列数据中恢复mdp。因为序列数据可以提供环境转移和回报的监控信息,所以简单地做一个返回就可以知道一个状态移动到哪里以及它可以得到什么回报。
这里有一个非常简单的环境探索方法——RMAX,它使用了非常简单的计数返回模型。
虽然看起来很简单,但是恢复mdp的样本复杂度是状态数的平方,这比上面提到的解决策略的复杂度要高得多。由此可以看出,学习mdp的复杂性极高,因此很多研究工作都集中在无模型学习上。
无模型学习简单介绍了两种方法。一种叫做蒙特卡罗抽样法,另一种叫做时间差分法
蒙特卡罗抽样方法简介
无模型学习类似于前面提到的策略迭代。首先,评估当前的战略;第二,改进目前的战略。
第一步是评估战略
在mdp中评估策略时,因为奖励和转移是已知的,所以我们可以使用这两个函数直接计算评估值。现在这些功能我都不知道,那我该怎么办?
这个Q值函数实际上是一个期望值,所以直接用抽样代替期望值是可以的。换句话说,采取这个策略在环境中运行,看看会有什么结果。
例如,跑步后,我得到一个轨迹:首先,太阳出来了,然后是多云,最后出来了;第二次跑得到一条跑道,第三次跑得到一条跑道。最后,我们得到了很多足迹。我知道每一个轨道的回报,然后平均这些轨道的回报作为这个策略的价值函数的估计,并使用频率来接近期望值。
第二步是更新/改进策略
这样,我们就可以评估策略的质量。在评估一个策略之后,你可以采取Q值函数所指示的最佳行动作为一个新策略,并且更新过程是相同的。
整个算法编写起来相对简单。我们需要采集m个样本,并在每次运行时将当前策略带入环境中。然后我们将得到一个序列,根据这个序列对奖励求和,然后更新Q值,这是历史上采样的平均值,c是计数。
在一个轨迹下降之后,更新Q值,然后进行第二个轨迹,从而实现独立于mdp模型的强化学习方法。
然而,这种方法缺乏环境探索,很难更新战略
然而,存在一个问题——如果获得了确定性策略,则100个样本的轨迹可能都是相同的,这导致无法评估该策略在所有状态下的性能,因此不可能改进该策略。这里的关键在于它缺乏对环境的探索。
如何探索环境以获得最大回报?
如何探索?我们可以考虑一个最简单的强化学习问题:一个状态,两个动作,一个有较高的回报,一个有较低的回报,但这两个回报来自两个分布。此时你会选择什么行动,或者你会做什么来获得最大的回报?这实际上是强盗模型。
在一个极端,尝试100次,每个动作做50次。这时,我可能知道哪个行动更好,但回报可能不是最高的,因为做了10次后,我已经知道第一个行动的回报更高,如果剩余投资平均分配,我不会得到最大回报。
在另一个极端,尝试两个动作中的每一个,看看哪一个有最高的回报,然后把剩下的98个动作都扔进最高的回报。这种方法也不好,因为它只尝试过一次,而且估计的回报非常不稳定。
第一种情况是有足够的勘探,第二种情况是有更好的投资,但没有太多的勘探。我们需要在这两点之间找到平衡。
有很多方法可以解决这个问题。第一个简单的方法是,概率为1-ε,如果你现在喜欢的话,投资它,剩下的ε概率是完全随机的,每个动作都尝试过。这种方法叫做ε-贪婪。
这种方法可以保证所有的状态都有一定的概率,即使概率很小,都可以被访问。因此,在运行一段时间后,它可以找到最佳策略。
然而,这种方法也有缺点,即需要指定一个ε值。通常,该值应不断衰减,直到收敛到更好的结果。还有一个效率问题。例如,甲试了10次后的平均回报率为10,000,乙试了10次后的平均回报率为0.1。这时,没有必要再去尝试,因为距离很远。但是,对ε-贪婪的探索不会停止,所以还有其他方法,比如SoftMax,它会考虑Q值本身。如果两个动作的值非常不同,探索的概率就非常小。理论上,另一个很好的方法是ucb(置信上限):
首先,考虑Q值。如果Q值本身很不一样,探索的可能性很小;
其次,要考虑探索的次数。如果探索次数少,置信水平可能低,如果探索次数多,置信水平将高。
因此,根据q值加上置信上限,动作将自动平衡。
然而,最常用的方法是第一ε-贪婪方法。给出一个策略π后,将其转化为一个探索策略,即随机选择一个动作,并将这个策略与探索一起放入蒙特卡罗算法中。而且,这条轨迹不是从π生成的,而是从π ε随着探索而生成的,这可以保证策略能够不断更新。
以下描述了开/关策略:通过探索或不通过探索来学习策略。
你可能经常听到开/关政策这个词。
在蒙特卡罗抽样中,采用π ε策略进行抽样,这不是π,而是π ε带探索。因为用于评估的数据是从探索策略中产生的,而不是从我们想要学习的策略中产生的。这种差异将导致探索成为战略的一部分。这种采样和更新策略是相同的。该算法称为策略。
但大多数时候,我们想学习的是没有探索的战略,也就是说,我们需要从有探索的战略中取样,但只有战略本身,即脱离政策,才是更新的。这里的一个问题是采样不是来自当前的策略,并且常用的重要性采样技术将采样分布改变为期望的分布。我们可以通过增加权重来修改策略的分布,然后将这个分布添加到特定的算法中。也就是说,通过给奖励增加一个权重,这个算法变成了一个非策略算法,这样它就能自己学习π。
蒙特卡罗算法概述一般来说,蒙特卡罗算法不是一种有效的算法,但它可以表现出无模型算法的特点。
我们必须评估这个策略,然后在评估后找到改进方向,我们可以改进这个算法;在这里,为了有效地更新策略,有必要引入对环境的探索;在探索环境时,我们应该注意开/关政策的两个概念。
此外,蒙特卡罗算法有一个明显的缺陷:在模型更新之前必须得到整个轨迹。
时差法;时间差分法
我们能每一步都更新模型吗?蒙特卡罗算法有一个性质,即当Q值更新时,平均值实际上也更新了。
更新后的平均值也可以写成:μt= μt-1+ α(xt_ μt-1),这意味着我们刚刚更新的是q值(公式如下图所示),其中r?Q(st,at)被称为蒙特卡罗误差。正如我们所知,Q是对回报的估计,而R是走完这条路后的真正回报。换句话说,q值d的更新是实际值和估计值之间的差值,即蒙特卡罗误差。
在td算法中,我们一步一步地得到一个真正的奖励,然后我们没有回头,所以我们不知道以后的真正奖励是什么,但是我们可以通过以前的Q值来估计未来的奖励。这两个值加起来就是当前已知的信息,该信息被用来替换这个R以减去旧的估计值。我们称这个过程为时间序列差异。
如果你使用蒙特卡洛,你需要先去终点。在知道总体结果之后,可以计算出每个步骤的差异;对于tdl,它只需要记录一步信息,所以它可以在线更新自己。
sarsa
动态规划记录所有状态之上的信息。用td errpr代替蒙特卡罗方法的误差,可以得到一种新的td方法的强化学习方法。这种方法不是收集整个轨迹,而是使用tdl根据探索的策略更新Q值,每一步更新当前策略的评价,然后更新策略。该算法称为sarsa,属于on策略,但成为off策略。只需进行一次修改,用非探索性策略计算td误差,得到q学习算法。
sarsa v.s. q-learning
这是一个格攀问题,是一个典型的经典强化学习问题。
动作是走上走下,左走右走,每走一步奖励-1。从初始状态到最终状态,有必要采取最短的方式使回报最大化。照片中有一座悬崖。一旦你到达悬崖,回报将是最小的,你必须回到最初的状态。
在这里使用policysarsa将有一定的可能性去探索,它可能会落到这个悬崖下面,所以回报将相对较小;有了q学习,因为最终的策略是没有任何探索和随机性的,路径是最短的。
这就是两种强化学习算法的区别。正如你在学习过程中所看到的,q学习的价值很低,因为你在学习的时候必须带着探索性的学习,所以你必须在训练过程中不断的训练。
另外,上面提到的td错误更新是一步之后的更新。事实上,两步更新和N步更新都是可能的。因此,有一种方法可以完成许多步骤,并根据概率权重来综合它们。合成后,我们得到一个名为λ-return的td,它是一个步骤,两个步骤和多个步骤。
四.价值函数近似刚才提到的所有问题都可以用表格表示。但是许多真实的环境不能用表格来表达。因此,在强化学习发展的早期阶段,它已经无法将其应用于大规模的实际问题。后来,每个人都在思考如何把这种强化学习放在连续状态的空,甚至放在动作连续的情况下,比如控制直升机。
每个人都可能认为强化学习和监督学习的学习过程有很大的不同,算法和模型似乎完全不同。然而,进入连续状态后的空,他们之间会有许多相似之处。
在离散状态下,价值函数或战略可以用表来表示;然而,进入连续状态的空必须用函数近似来表示。这种方法称为价值函数逼近。
例如,我们可以用线性函数来表示它。V的值是低于状态S的值,状态S有一个特征向量φ(s)。V值表示为线性参数乘以特性的内积。Q值中有一个动作。假设动作是离散的,一种方法是将动作和状态放在一起成为一个特征,另一种方法是为每个动作建立一个单独的模型。
当遇到连续性空问题时,用近似法表示价值函数v和q似乎是很自然的,但经过近似后,就会发现许多以前的理论结果是站不住脚的。
但是现在我们先不关心这些问题,在我们做了一个近似之后,我们怎么能学习它们呢?我们想知道的是,这里的q值是在q值近似后,它将尽可能接近真实的q值。如果你已经知道了真实的Q值,你怎么去接近它?最简单的方法是最小二乘回归。解决办法之一是求导。求导后,导数表示为实际Q值和估计Q值之差,然后乘以Q值模型的导数。可以看出,导数表达式的含义与以前的模型蒙特卡洛误差和td误差一致,只是参数W被更新了。将这种更新方法应用到q学习中,其他地方没有改变,只得到了用价值函数近似的q学习方法。
这个模型使用什么功能?最简单的是使用线性函数。然而,线性函数有许多限制,因此有必要努力进行特征设计,这需要良好的手工设计。
将其转化为非线性函数,常用的方法是用神经网络直接表示Q值。更新时,也很简单,只需要将梯度转移到神经网络中,因为神经网络本身的bp算法就是寻找梯度。
有一些方法可以通过批量学习来改进。例如,当我们训练一个近似模型时,对样本的训练可能是不稳定的,所以我们可以使用批处理模型来累积一批数据来训练这个模型。
刚才提到的所有训练方法都是先估计V或Q的值,然后从中得出这个策略。我们称这种方法为基于价值函数的强化学习方法。
V.策略搜索
价值函数估计方法的问题:策略退化,但价值函数估计会有问题——这种方法可以收敛到最优策略,但前提必须用表表示;如果使用函数逼近,将会出现策略退化,也就是说,Q值的估计越大,策略越差。
举个简单的例子,有两种状态,一种是状态1,另一种是状态2,状态1的特征是2,状态2的特征是1。我们设置奖励,使得状态2的最优v值大于状态1的最优v值。此时,如果用一个线性函数来表示这个v,也就是说,w乘以只有一维的特征。最优v值2大于1,1的特征值较高,2的特征值较小,因此最优w应该是负数,这将使v(2)大于v(1 ),从而可以导出最优策略。
然而,基于价值函数的方法是使价值尽可能接近最优价值,而最优价值是正的,这将导致这个价值必须是正的,并且不能获得最优策略。价值函数估计得越准确,策略就越糟糕,这被称为策略退化。
通过策略搜索解决策略退化问题为了避免策略退化,我们的方法是直接找到策略,这就是策略搜索。
首先,将策略参数化。对于离散的动作,参数可以像吉布斯策略一样,即每个动作都有一个参数,然后统一起来使每个动作都有一个概率。如果是连续动作,可以用高斯分布来描述。这个参数,我写在这里,是一个线性过程,但它也可以被神经网络代替。
直接优化策略参数以获得最大总回报的方法是策略搜索。
策略搜索的优势与基于价值函数的方法相比,策略搜索的优势和劣势是什么?
首先,它可以处理连续状态和动作;
第二,高维数据的整体性能更好。
第三,我们可以直接学习随机策略
第四,策略搜索和监督学习的兼容性更好。
第三点很有用,比如玩“剪刀石头布”,如果你选择确定性策略,你肯定会输;你必须有可能取得胜利。
这里有另一个例子来解释为什么我们需要随机策略。
骷髅代表来到这里死去;最好的策略一定是走到中间,但是这里有两个灰色网格,这代表着观察不完全的状态,也就是说,我不知道去了灰色网格之后是向左还是向右;
如果此时使用确定性策略,它只能是左或右,并且只能是确定的,因此可能会遇到无法通过的路径。
如果我们使用随机策略,向左向右的概率是50%,所以无论我们走哪条路,我们总能达到目标。
这也反映了策略搜索的优势。
第四,策略搜索和监督学习的兼容性更好。
这个策略用参数来表示,它的目标是最大化回报。最大化回报意味着列举空.的所有赛道因为策略有一定的概率产生这些轨迹,在一定的状态下,策略做出相应动作的概率是由策略决定的。将所有轨迹上的所有动作的概率相乘,以获得产生该轨迹的概率。因此,它的总体预期回报是所有轨道的预期,即通过将每个轨道的概率乘以每个概率获得的回报,这是写总回报的另一种方式。这篇文章的优点是它与策略参数的目标有关,所以我可以直接推导出解决策略的报酬。另一种写作方式是稳定分布,它完全等同于上面的方式,意思完全一样,所以我在这里跳过它。
策略搜索也存在一些不足,一是存在很多局部最优解,失去了全局最优解的收敛性保证;二是训练过程的方差很大。
早期策略推导的方法:有限差分法
我相信每个人都可以进行衍生,但有一种方法你可能以前没有见过——有限差分法,这是早期用于战略衍生的一种方法。
何时将使用有限差分?可能是这个系统太复杂了,不容易推导出来,所以我们可以用一种简单的方法来处理这个导数。要得到参数θ,θ的导数是看它绕哪个方向走得更快,所以给θ加上一个小扰动值,对θ周围的局部区域进行采样,样本增长最快,这个方向被认为是导数方向。这是最简单的方法,当然,这种方法有很多缺陷,特别是在高维的情况下,这就需要大量的采样,所以更直接的方法是直接求导。
最后得到一个导数,导数形式如下:
e是期望值,1比t表示考虑t步的轨迹。策略输出值的对数被视为每个轨迹的导数,然后乘以实际报酬(报酬不取对数)。奖励是一个常数,即由轨迹获得的奖励值。
期望可以通过抽样来近似。在一个策略之后,运行一些轨迹,然后计算平均梯度作为梯度期望的近似值。
正如我们刚才所说的,这种方法有一个很大的缺陷,那就是它的方差很大,而且基本上不可能通过直接更新vallina策略梯度得到一个好的策略,因为它的方差太大而且不稳定。
控制方差1的方法。有很多方法可以通过关键因素来控制差异,其中一种方法叫做关键因素。通过直接推导等方式找出策略,称为行动者;;评估价值函数并利用它来评估战略是至关重要的,这意味着它是一个评估者。
我们需要维护一个价值函数Q的模型。此外,当使用导数方法寻找策略的梯度时,我们不直接使用报酬,而是使用criitic提供的Q值。因此,影评人坚持两种模式,第一种是策略模式,第二种是Q函数模式。
当Q函数近似时,公式与上面的导数形式相同,其中经验奖励用Q值代替。当计算策略梯度时,Q值是一个常数,不更新。它有自己的更新方法,通常是真实的Q值。
控制差异的方法2。引入偏差项控制方差的另一种形式是引入偏差项。只要这个函数是一个只与状态相关而与动作无关的函数,它的积分为0,这并不影响梯度方向,但会影响梯度方差。
对于一个简单的形式,我们可以直接找出什么是最佳偏差。在更一般的形式中,我们可以用v来代替偏差。因为v的值是对状态的估计,与动作无关,所以当它被引入积分时,它将是0。
引入V的值,下面的Q变成q-v,称为优势函数,这意味着在这种状态下,V的值相当于一个平均值,而Q的值指的是一个动作比平均值高多少。利用优势函数将使策略梯度化后的方差控制更好。只有当方差得到很好的控制,这种算法才能真正工作。
其他提高梯度的方法包括自然政策梯度。在监督学习中,随机梯度很容易并行。最近,有一些理论著作,也讨论了它的并行性不会影响它的理论性质。在策略梯度中,我们也可以并行地做这个梯度,以便使它更快。
也有直接推导策略的方法,如无导数优化。无论强化学习在做什么,该方法都直接优化策略中的参数。优化参数后,尝试该策略并获得具体值。
这样,优化后的算法可以通过总的奖励值来调整模型中的参数。一般来说,它不如使用梯度策略有效。由于忽略了中间过程,它对特别复杂的问题有更好的效果,比如俄罗斯方块游戏。
游戏中强化学习的最后一部分是关于强化学习和游戏。
你为什么谈论游戏?一方面,这是因为游戏中需要克服的一些问题在实际应用中经常会遇到;另一方面,使用游戏完成强化学习任务的成本相对较低。
游戏促进深度强化学习的发展
2015年,deepmind利用deep network直接从雅达利游戏的屏幕图像中训练强化学习,直接推动了“深度强化学习”的发展。
使用深层神经网络,并将其作为战略模型置于政策梯度中;或者把它放在基于价值函数的方法中作为价值函数q值的估计。这种方法被称为深度强化学习。
事实上,深度强化学习的大量工作是研究如何使网络更加稳定。特别是当输入数据较少时,网络方差的波动会较大。这可以通过“延迟更新”来解决——如果使用深层神经网络,每一步更新模型都会导致模型的大幅抖动。例如,使用“延迟更新”,您可以更新神经网络,而无需在100步内更新策略。这种神经网络不投入新的策略,然后在神经网络有相对稳定的上升后更新策略。另外,不要扔掉积累的数据,拿出来让这个神经网络更稳定。这两种技能在q-learning中结合在一起,这就是dqn。
深度q网络(dqn)
Dqn可以说是第一个提出深度强化学习的算法,也可能是最广为人知的算法。基本上,它的整体结构是一个带有近似函数的q学习,但cnn被用作一个近似函数。
玩这个游戏的时候,它有一百万张唱片的历史。每次我们训练神经网络,我们应该抓住32个人,训练他们一次。在训练之后,我们不应该更新策略,而是在一定的步骤之后更新策略。此外,我们不是直接从屏幕上获取一帧图像,而是将历史上的几帧屏幕放在一起,得到当前帧和前几帧的大致图像,作为有线电视新闻网的输入。然而,在最近的一些工作中,这个过程已经被递归神经网络所取代,而不是把几个层放在一起,几个帧被输入到lstm网络中。
许多使用强化学习寻找策略的游戏都比其他游戏玩得好,玩得好的优势主要体现在反应速度上。然而,在需要深入思考逻辑关系的游戏中,没有人能在强化学习中做得很好。
让我们看看它的游戏报告结果。
这里,“有重放”和“无重放”是指是否使用历史数据,而“有目标q”和“无目标q”使用有线电视新闻网或线性网络。我们可以看出,神经网络的贡献在这里并不是最大的。如果只用神经网络代替重播,效果不如重播,而只用线性模型代替有线电视新闻网。当然,最好同时使用深度模型和强化学习,这样可以完成一些过去不能完成的事情。
alphago系统的基本框架是蒙特卡罗树搜索,这是一种经典的树搜索方法。但是,单靠蒙特卡罗树搜索并不能取得好的结果,只有树搜索只能达到业余的五六段。alphago的一个创新点是引入强化学习来提高搜索树的深度和宽度。
有三种神经网络。
第一个策略网络在扩展蒙特卡罗树以搜索节点时发挥作用。该网络通过策略梯度法进行训练。
第二个是一个小的神经网络,在蒙特卡罗树搜索中进行深度搜索时会用到它,这样可以快速计算。这个小网络是通过监督学习来学习的。
第三个网络用于校正该值。它是通过强化学习过程中产生的数据来学习的。
因为每个人都熟悉dqn,所以当尝试深度学习时,首先想到的大多数算法都是dqn。然而,由于这是一种基于价值函数估计的强化学习方法,这种方法可能无法在稍微复杂一点的应用环境中工作,人们会觉得dqn在强化学习中不是那么有效。然而,deepmin也在玩Go游戏,其强化学习方法已经改为策略梯度,而且未来的许多算法主要是基于策略梯度的,所以用这种方法来处理复杂的问题比较好。
在其他游戏中的应用正是因为在计算机中模拟游戏的成本非常低,所以研究人员继续使用游戏来发展强化学习。例如,它可以用在3d第一人称射击游戏中,在那里你可以环游世界并找到东西。去年,有一个“末日”游戏竞赛,参与者用电脑控制他们的角色,从第一个角度用3d拍摄。通过强化学习,参赛者可以控制自己的角色,让他们做一些动作。由于这个游戏的复杂环境,在玩游戏的过程中出现了一些创新的方法。
例如,在游戏中,如果一个密集的学习是直接在游戏环境中进行的,那么拿起医疗包和武器就太复杂了。其中一个团队采用了这种方法:他们让强化学习从简单到复杂,一步一步地学习——首先学习一种策略,比如拿起医疗包,然后学习如何射击,以及如何在这种策略的基础上射击敌人。
事实上,游戏中有很多非常困难的挑战,其中一个叫做星际争霸。这个游戏已经有很多年的历史了,现在包括deepmind在内的很多人都想在这样复杂的游戏中表现的更好,因为这个游戏的复杂性和很多实际应用一样大,即使人们学习这个游戏,也需要很长时间才能学会。过去,人们使用强化学习,但只有一个小问题先解决了。例如,我派了三个士兵互相攻击,试图看看这六个士兵是如何战斗的。这是一场非常地方性的战斗,但是学习这样的东西是非常好的。如果你想了解整个游戏,它涉及到很多问题。首先,它的规模比围棋大得多;第二,有很多对手的信息是无法观察到的,比如敌人的行动。虽然在今年年初,德州扑克机器已经击败了人类玩家,德州扑克实际上是一个非常简单的纸牌游戏。为了指挥200多个单位在大规模的游戏任务中做连续的运动而不观察对手的信息,要走几十万步需要半个多小时,目前还不太好。
七、加强学习总结
前面的介绍只是强化学习的一小部分,而强化学习还包括很多内容:
例如,如果在mdp中有一个不可观察的情况,它不属于马尔可夫,并且有一个特殊的方向,比如pomdp来解决这个问题。
还有从演示中学习,这意味着人们首先进行演示,然后从演示数据中教授代理。例如,阿尔法戈在训练开始时并没有直接加强学习,而是首先收集了大量人类对抗的数据。
有许多不同的方法来设计奖励函数。
这里有两个大家都关心的问题。
第一个问题:强化学习成熟吗?强化学习问题中算法的选择。
如果遇到简单的强化学习问题,可以使用基于价值函数的方法,如dqn,对于更复杂的问题,可以使用策略梯度的方法作为策略梯度。
但是,从目前的发展情况来看,强化学习的成熟度还远远不够,也就是说,在强化学习领域,空还有很大的改进,有可能做出性能更好的新算法。但是大规模的问题仍然难以解决。如此大的规模意味着它所在的州空很大,步数也特别大。
第二个问题:在实际领域应用强化学习会遇到哪些瓶颈?
1.需要探索强化学习,这在许多情况下会带来风险。
以推荐股票为例。我已经有了一个好的推荐策略,每天可以给我带来100万的收入。但是现在为了训练和加强学习,我们应该探索和尝试一些随机股票。如果你被告知这种探索将导致今天数百万人的损失,并且你可以在一个月内赚回1亿美元,那么你应该衡量看着这里的表面的风险有多高,并敢于使用它。
2.为什么强化学习在许多游戏中使用得更多?
游戏在计算机中运行,速度快,成本低。如果它在现实世界中运行,例如,在推荐系统线上,它必须处理现实环境。它的学习过程需要不断探索,在现实环境中部署可能会遇到很多麻烦。如果有一个更好的模拟器,这些麻烦可以减少;此外,如果有更好的监督学习数据,我们也可以制定一个初始策略,但这个策略可能会从稍高一点的地方开始。作为一个机器人,也有一个机器人模拟器,所以它通常是先在模拟器中完成,然后把策略输入机器人学习。但是其他现实世界的问题在模拟器中可能不太好。
强化学习资源推荐书籍强化学习的书籍不多。最经典的书是理查德·萨顿的教科书;杉山正史的书是一部专著;强化学习:最先进的属于语料库,它涵盖的范围很广,但需要读者有一定的基础;还有一些关于mdp的书;此外,强化学习也在《机器学习》一书中提到。
Openaigym是一个在线资源,是一个基本的强化学习平台,有许多环境可供研究者进行实验,这极大地促进了这一领域的发展。阿尔法戈的技术总监大卫·西尔弗也有一个在线教学视频,非常好。
关于强化学习的论文主要发表在人工智能期刊和会议上,如人工智能、jair、jmlr、机器学习、jaamas等。和会议,如ijcai、aaai、nips、icml、iclr、aamas、iros等。
以上是杨宇博士的演讲。请继续关注雷锋。
雷锋原创文章。严禁擅自转载。详情请参考转载说明。
来源:搜狐微门户
标题:南京大学俞扬博士:强化学习前沿(下)
地址:http://www.shwmhw.com/shxw/61591.html