APP下载

学术报告MSRA秦涛:TowardsRobustandEffi

消息来源:baojiabao.com 作者: 发布时间:2026-05-09

报价宝综合消息学术报告MSRA秦涛:TowardsRobustandEffi

不到现场,照样看最干货的学术报告!嗨,大家好。这里是学术报告专栏,读芯术小编不定期挑选并亲自跑会,为大家奉献科技领域最优秀的学术报告,为同学们记录报告干货,并想方设法搞到一手的PPT和现场视频——足够干货,足够新鲜!话不多说,快快看过来,希望这些优秀的青年学者、专家杰青的学术报告 ,能让您在业余时间的知识阅读更有价值。

2018年8月4月,由北京理工大学大数据创新学习中心与中国科学院人工智能联盟标准组联合主办的“2018深度强化学习:理论与应用”学术研讨会,学界与业界顶级专家济济一堂,共同分享深度强化学习领域的研究成果。

微软亚洲研究院资深研究员秦涛以Towards Robust and Efficient Reinforcement Learning为主题进行了报告,以下分享内容根据嘉宾口头分享整理。Towards Robust and Efficient Reinforcement Learning

秦涛,微软亚洲研究院资深研究员/经理秦老师的报告主要是介绍了如何设计更加稳定更加有效率的算法。报告的内容主要分为四个部分:1.Introduction to RL 2.Challenges of robustness and efficiency3.towards robustness unified policy optimization 4.Towards efficiency:trustregion evolution strategies

秦老师首先快速描述了当前强化学习、特别是深度强化学习面临的挑战,主要集中在鲁棒性和样本效率方面。

什么是强化学习?强化学习其实就是研究Sequential Decision process,面临动态系统,在不同的时刻需要做决策。eventually需要maximizeslong term rewards。和监督学习相比,监督学习说x有一个正确的y,直接从正确的x学习就可以了。但是强化学习里面有state,但是没有正确的action。比如下围棋,这个盘面可能有人这样落子有人那样落子,你不知道怎样是最好的,只能take多次action后最终才能知道下棋是赢了、输了还是平了。没有人告诉你正确的action是什么,只能通过不断试错进行学习,可能这个feedback也会是Delay。

如果通过比较数学的方式描述,就是Agent面对一个动态系统或者环境,在t时刻观测到的状态是St,他会take一个action At,这个系统会给一个Reward,就是Rt+1,系统状态会转移到St+1,然后Agent进一步观测到系统的状态,如果是可完全观测的话可以Ot+1=St+1,不完全可观测就是Partial Ot+1不等于St+1。完全可观测的话就是标准的MDP,不完全可观测就是POMDP。两个方向都有很多人研究,更多的可能是MDP,因为MDP更加简单一点。

MDP有五个基本元组(S、A、P、R、γ),描述了MDP的过程。首先是S,s是有限状态集合,一般来说描述的是系统的状态,A是有限Action的集合,p是描述系统的动态性,R是Reward Function,描述的是这个系统环境怎么针对响应,就是Action State来给Reward。Γ is a discount factor∈[0,1]之间的数值,代表了折旧,反映Long Term Reward对现在的影响是多大,比如说有人说给你一万块钱,现在给你还是十年以后给你,对你的作用也是不一样的,反映的是Long Term Discount。

如果我们引入一些函数的概念,特别是现在Deep Learning比较火,引入了一些神经网络来描述S和A。如果S和A是不可数的、是无穷的,也都ok的。还有一个概念是Trajectory。Trajectory就是Agent和System进行Interaction,然后观测一系列的数据,包括State、Action和Reward以及进入下一个时间的State、Action和Reward,就是Agent在系统当中运行的轨迹。

介绍了基本概念以后,有些比较关键的概念大家需要知道。首先是Model,model描述了系统或者环境是什么样子,主要包含两个部分:一种是描述State是怎么转化的,比如当前的State是S,采取了action后的A转移到下一个S’的概率是多少,immediate reward怎么给,当前的S和A下,immediate reward是什么样子。在这里,这个Model和机器学习的Model不太一样,机器学习是把x映射到y,比如svm、decision tree或是神经网络。但在这里,RL或者MDP一般是指环境、state是怎么转化的,reward是怎么给的。大家也可能会mix了,我讲policy时候,我是NN模型,也可能会这么提。

Policy描述了Agent的行为方式,这也是我们想学习的结果,就是会把一个State Map到Action,有了policy以后,拿出任何一个Agent,就会知道,一个Agent怎么在System上有什么Behave,它可以是确定性的,也可以是随机的,取决于环境是什么样子的或者本身的目标是什么。

第三个很重要的概念是Value,也就是EvaluateState或Action,在给了一个policy的时候,Long Term了一个回报,payoff是什么样子的,究竟有多好。V是指Value Function,就是以take assets input,把State作为一个输入,它和output,就是把Long Term Reward把它discount回来,就是Rt+1(马上的Reward),Rt+2会用一个y作为折扣系数现在的时间间隔越长Discount越大,这样Sum起来就是一个总的数值。因为环境State Transition是随机的,所以求期望值。Value可以取在state上面,也可以取在State Action pair上面,一般叫做Q-function。Q-function就是giving当前的S,take A以后,那future A通过policyπ来take,那么Long Term Reward是什么样子的。

在MDP的描述下,序列的决策过程主要有两个Fundamental的问题:一种是Planning问题,当环境系统模型是已知的时候,比如知道Reward怎么来给,Agent主要是在里面进行计算和推导。比如说giving一个policy,或者要找出最优的policy来。但是强化学习要研究的问题是,环境未知的情况下,比如无人驾驶或者打游戏Open的环境当中研究,你不知道背后的state是怎么转移,Reward是怎么给的,只能通过观测和系统的互动收集数据,学习系统是怎么运作的,所以就要Understand是怎么Behave的,这样才能提高自己的Policy。

Planning中涉及两类问题,一类问题是Policy Evaluation,系统本身是已知的,Given Policy之后需要知道对应的每个State究竟有多好。有限Action集合的时候基本上就是解线性方程组,一个找波动点的问题,不停迭代就可以了,但利用的公式主要是bellman最优Equation,根据定义可以有Immediate Reward+Future Reward,Discount乘以γ就可以了。

第二类问题是OpeningControl,就是model已知,系统本身的状态是怎么转移的,reward怎么给的。但是没有给你Policy,只是希望找出最优policy是什么样子的,所以一般用到bellman optimality equation,贝尔曼最优方程一般作用在Q上面的,给一个S Apair,最优值等于Present Reward +Future Reward,针对下一个State Prime取一个θ,然后不停的Max,这样不停迭代,到了最后就可以得到Q -Function,我们可以推导出Policy Function。

这是Planning当中的两个问题,实际应用当中面临的更主要问题是模型是未知的,不能观测到真实的Model,但可以Access System,可以对System进行Interaction,通过collect Data进行学习。现在也有特别多的算法提出,如果大家去各种会议来看,每年都有几百篇的Paper,大体可以分为两个大类:一种就是基于MDP过程的,另一种是完全不Care是什么过程。基于MDP过程又可以分为两类算法:一类叫做Model-free的算法,不需要学习,因为本来Model就是不知道的,但不需要学习这个系统状态究竟怎么转移,直接学习Value Function或者Policy Function,也可以把两者混合,学习得更快更好的Hybrid算法,Value Function中学习最好的是Q-learning或者它的变体DQN,Policy-based的算法,Action如果是连续的时候Policy-based的方法有很多,包括近期两三年提出的各种算法。MDP算法中另一种是Model-based算法,观测到很多数据以后能不能学习出来你的状态是怎么转移的、Reward是怎么给的,Model学习出来就是监督学习的过程,系统本身是稳定的,有了这样一个模型,模型学习出来以后可以用Planning技术来做最优的Policy。最近一两年又有了新的算法,叫做Black Box Atomization,基本就是遗传算法、进化算法和演化算法,每次可以sample出一些参数出来,然后大家Collect Data,进行不停的Evolution。

我们来看Q-Learning,这是非常经典的Value算法,和前面Policy Evaluation的算法有点像,就是对给了一对S A,不停的更新值,希望值的估计得越来越准确。比如说原始的值是Q(S,A)的估计,采取了Action以后,就又新的观测值,可以观测到一个新的Reward,叫做Rt+1,而且还知道我的Future St+1,利用我对将来的估计加上新的观测更新对当前St和At的估计。这是一个Long Term新的估计,利用了当前最新的观测Rt+1,加上对Future的估计得到一个新的估计,新的估计和老的估计Gap有多大。实际算法当中基本上就是两种方式不停迭代,通过当前Q进行Sample一些Data,观测到新的Reward和新的State,根据新的观测利用Q Learning Update(S A)的pair的值,最终得到最优的Value Function。

Policy Gradient就是要知道一个Policy对应的Long Term Reward是多少,不停地测算Trajectory,然后就可以有一个期望,每个Pass和每个Trajectory Sum起来就知道Quality对应的是多少。因为RL本身是要学习到最优的Policy,就是Maximize Data,加大Ct+1,也是一个不停迭代的过程,本身对应的Trajectory的概念都不一样,所以要考虑怎么Sample Data,或者collect Trajectory。

当前由于深度学习的引入,使得DL也是非常Powerful,很多问题得到应用,特别是很多游戏方面取得了非常大的成功,包括神经科学里面DL应用,在Music或者Movie的生成当中Computer Graphic,Healthcare和金融市场也会有很多公司在用这样的RL技术,自然语言处理和机器人就更不用说了。

DL虽然成功,但还是面临着很多挑战,重点Focus在两个方面:第一个是鲁棒性,鲁棒性体现在两个子方面,如果是基于神经网络的算法,本身要看怎么突出神经网络参数,不同的初始化得到的结果也不一样;其次是算法稳定性的问题,不同task上算法表现差异很大。

第二个是样本的效率问题,即需要多少样本才能学得比较好?监督学习就是有人告诉你正确的Action是什么,强化学习当中不知道正确的Action是什么,只能通过不停试错,这样必然带来样本效应,即需要几百万、上千万或者上亿的样本数目才能学得比较好。而大样本带来的问题是训练时间很长,如何解决这个挑战是最近的研究热点。

下面介绍一下相关研究,首先是Towards Robust Enforcement learning,该想法为了提高算法的稳定性。算法原理是把很多弱的算法结合到一块,然后可以做到Robust,或者每个Task要有最好的Model。本来L就是有一个样本效力的问题,每次要把十个算法从头做到尾做一遍,Cost是非常高的,我们也很难接受,所以不是把每个算法从头到尾,更多的是考察gradient,就是把梯度集成起来,有了Collective Data以后可以看一看下一步的Policy是什么样子的。现在的问题是怎么Combine这些算法?可以根据历史的数据来看某个算法历史上表现得多好。

前面的UCD有的时候表现不是很好,是用历史数据衡量新的Policy有多好,对应的数据完全变了,直接这样利用效果是会比较差的,也会很不稳定,因为我们本身就是要提高算法的稳定性,新的Proposal就是有了Process和Trajectory之外就要不同数据来计算gradient,生成新的数据来看有多好,但是不能应用大量的数据,基本也会面临样本效率的问题。Gradient我们会加到原来的Policy上面,然后要看每个新的Policy有多好,同时也会做一些正则化和归一化来处理,减上均值或者碱去均值再除以方差来使可比性更好。将每个Gradient的权重combine一下,然后得到新的Policy,某种程度上和后面提到的Evolution Strateg有关系,但它会更加高效。

针对上述方法,我们做了一些测试。因为Gradient是不同的方法计算出来的,我们会有一个Combination,红色的就是新的算法的结果,包括TRPO、TPO和ACRE,三个方法当中我们的算法基本上是最好的,通过在七个Game里面做的测试,总体来看结果都是最好的,体现了我们想达到的算法稳定性。

我们接下来的工作就是提高样本效率,主要是针对当前的Black Box,Black Box的效率很有问题。和前面的算法不太一样,因为要对Trajectory进行取期望,Evolution Strategy不太一样,不是只看Policy,Policy是有很多随机性的。先假设policy服从高斯分布,再去sample一些新的policy出来,监测policy表现多好,并且policy的概率有多大,对policy求期望。生成不同的梯度或者有些不同的Policy出来。每次Given当前的Policy,然后筛选新的梯度方向和Policy出来,生成并且Evaluate Data,根据新的Policy,加权到θ上面,我们有些黄色的点,然后Sample新的Policy出来,这样迭代Update已有的Policy。

因为深度神经网络是基于Gradient的方法,需要做BP。但是此方法不需要BP,只要每次Sample不同的梯度方向,找到随机的点,然后得到观测,然后在不同的机器上面Collect Data,计算Performance。这样其并行度也非常高,类似于把很多Gradient Combine到一块,但是其Robust效率很低,因为很多样本是随机生成,可能很好或很差。因为每个Policy方向需要新的数据Evaluate,生成的数据只用了一次Update,导致样本的效率特别低。我们的想法就是生成数据以后对Policy Update多次,重新使用历史数据,这是我们的工作重点。

我们想重用历史数据就需要做重要性采样,本来是在新的θ周围Sample X,如果是旧的θ来做更新其概率是不一样的,因为X本身是新的θ去做期望。如果X是旧的θ Sample出来的,那就必须要对概率做一个校正,这样会有数值稳定性的问题,因为参数维度很高,如果每一个维度是五或者十的十次方,就会带来数值的不稳定问题,导致要么爆掉,要么消失,所以学习不稳定,不会收敛,速度很慢。

我们需要通过技术手段解决这种不稳定性的问题,我们会有θ个参数,可以认为是新的Policy,通过X1到Xi来表示前i维,现在要看另外一种Value Function,在这里定义的是会先Fix前面i维不变,只看后面的i+1维,定义Advantage function来看Value是多少。我们想知道新的Policy和旧的Policy对应的Reward会差多少,可以表明二者之间的Gap,然后可以通过一堆Function加起来计算维度,一直计算到前面D+1维。

我们本来是想找新的Policy,做了一些推导,分成两个部分:一部分就是前面i维,另一部分是i+1维,后面的D维不用切。现在还面临一个问题,因为θ是未知的,应该怎么优化?我们就是利用Local机制,本来前面的期望是对新的θ来做,做法就是前面的i到D-1的期望,不要用新的θ来求期望,而是用旧的θ来求,然后做了一个Local机制,Xi+1还是从θ里面出来,把未知变数近似优化,通过旧的Policy替代,中间的i+1维的期望还是用新的来做。

因为θ本身是已知的,第一重的期望是比较好做的,但要看中间i维的问题,不存在稳定性的问题,某种程度上把这种问题解决掉了。因为近似可能差得太远,最终可能会对Performance产生很大的影响。为了保证近似度比较好,我们必须要求Gap越小越好,可以在小的区域当中来做近似,更加长远的可能就不能做近似了。通过我们的实验结果,发现要比传统的实验算法更好。红色曲线也是我们的结果,初步的实验都差不多,样本的效率会更高,上升得也更快。

除了强化学习外,我们还在人工智能、机器学习的其他方向有很深入的研究,包括深度学习、对偶学习、轻量级机器学习、机器学习系统和算法的自动化、机器翻译,并与与多家公司合作是人工智能技术落地。特别是今年3月份,我们的机器翻译技术使得中英文新闻翻译在标准测试集上达到了人类水平,是一个很了不起的成绩。

最后打一个广告,我的团队正在招聘,欢迎对机器学习研究特别是深度学习强化学习感兴趣的同学加入我们,简历可发送taoqin@microsoft.com。

精彩的学术报告背后,是一群优秀的学术人才。都说搞学术的人需要“超凡脱俗”,需要耐得住清贫寂寞,其实……芯君想说:完全不需要这样啊!比如,马上申请2018百度奖学金——是的,百度为每位具有AI才能的“潜力股”学术精英们提供了广阔的平台资源和发展空间,为其提供20万研究资金支持,帮助优秀学子全身心投入科研工作,心无旁骛地进行科学探索。

还等什么,你——未来的学术之星,赶快申请报名吧!

留言 点赞 发个朋友圈我们一起探讨AI落地的最后一公里

如需转载,请后台留言,遵守转载规范





2018-08-13 23:31:00

相关文章