【RL大家说】栏目旨在于为RL研究者、爱好者推荐/分享“强化学习”领域的个人观点、看法以及想法,推动大家学术交流、思维碰撞等,所有观点仅代表原作者个人看法,请大家互相包容学习。
强化学习领域目前遇到的瓶颈是什么?
俞扬 机器学习话题下的优秀答主
https://www.zhihu.com/question/449478247/answer/2001407526
题主问这个领域的瓶颈,我觉得瓶颈是:
没法用
并没有问题。包括我们也在努力让强化学习变得好用通用,但目前依然是这个领域的瓶颈。另外游戏在我眼中不算是落地应用。
====== 再次更新
明确一下,我说的没法用是指现在主流学术研究。我们自己不但能用,而且用得很好。
本来就是打算吐槽一下现在的paper,没想到还引出了不少看笑话的。我说我跟滴滴合作,但是我没做调度任务,某些说我们调度做得一下就下线了,真是莫名其妙。
====== 更新
好多留言说明了“没法用”反映出大家的心声。实际上强化学习这个古老的研究领域2016前在国内一直比较冷的根源就是没法用。研究领域大家也都清楚强化学习算法样本利用率低,然后做出了很多改进,但是要改进到什么程度才能有用呢,其实根据我们的经验有一个标准:
零试错:一次试错不能有,上线即能发挥效果,还要明显优于基线
offline RL是个正确的方向,但是目前的主流研究也有很多明显的弯路,可能发论文与做落地本身就是不同的事,大家的关心点不可能完全一致吧。
说没法用只是吐个槽,要想发论文,就只能沿着所谓的SOTA来改进,即使是看起来没有希望的方向。
另外就是我们的落地越来越多,不再想着去说服别人RL可以用了
WYJJYN AI与机器人,著作《深度强化学习落地指南》
https://www.zhihu.com/question/449478247/answer/1783184941
从三月份至今很长一段时间,这个问题下都只有我一个人的回(tu)答(cao),俞老师昨天仅用三个字就引爆了关注度,连机器之心也赶来凑热闹了。
OpenAI雄心勃勃的机器人计划失败了:强化学习没法用?55 赞同 · 9 评论文章
同为从业者,我多少能体会俞老师的感受,尤其在实际场景中收获成功经验后,面对几乎一边倒的唱衰难免意不平。然而极端言论有市场,理智声音无人听,即使技术领域也是如此。
我一介小透明,虽然心血来潮写过名为《深度强化学习落地方法论》的专栏,但回答相关问题时多用吐槽模式,还换了张头像以示躺平。
而俞老师作为RL领域的旗帜和落地先行者,一直以来都在扮演战士的角色,努力引导大众的认知。也正因为如此,他那句一反常态的吐槽才会挑动所有人的神经。
在我看来,有瓶颈不可怕,可怕的是大家都人云亦云。我们都学过唯物主义,要相信量变终会引起质变。
在此之前,学术界就应该持续创新,在理论层面寻求突破;工业界就应该因地制宜,努力制造“落地提前量”。
原回答:
核心瓶颈有三点:探索效率、样本利用率和可迁移性。
长远来看,根本的解决途径在于引入一种利用离线世界模型的机制,像人一样带着常识去探索、学习和举一反三,Model-Based DRL是希望相对不那么渺茫的方向。
不过要是真能做到这一点,离AGI也不远了
强化学习的数据来自agent跟环境的各种交互。对于数据平衡性问题,监督学习可以通过各种补数据加标签来达到数据平衡。但这件事情对强化学习确实非常难以解决的,因为数据收集是由policy来做的,无论是DQN的Q-network还是AC架构里的actor,它们在学习过程中,对于任务激励信号的理解的不完善的,很可能绝大部分时间都在收集一些无用且重复的数据。
举个例子,比如一个走迷宫任务,分为A、B两个房间,agent需要从A出发,到B中拿到钥匙。从A走出去大约需要100步,这意味着需要收集房间B
李子牛 Research is for fun!
https://www.zhihu.com/question/449478247/answer/2208561959
从研究的角度,Atari和Mujoco这些benchmark是随机的初始状态和确定性转移,与大多数tabular的理论上的进展(随机转移)不匹配。比如,理论解释MBRL好的原因和实际MBRL的原因有很大的GAP。
开玩笑地说,可以理解为两波人在各玩各的。
评论区指出Mujoco的环境转移存在争议。关于随机转移再补充一点,随机转移的下一个状态的可能选择(确定性转移: |S'| = 1; 最坏的随机转移|S'| = S)对不同算法实际性能和理论研究也有很大影响。Atari和Mujoco的下一个状态的可能选择显然不是很大。
毫末智行
https://www.zhihu.com/question/449478247/answer/2000015265
以下回答来自毫末智行智能算法组 吕迪,重点从强化学习目前存在的问题与解决方案两方面回答。
在思考”强化学习目前存在的问题”这个问题之前,需要首先明确:
一、究竟想要一个什么样的RL policy?我们认为,理想的强化学习策略应该至少具备这样4个特点:
1、安全(最重要的控制目标,避免灾难性的安全事故)。
2、稳定性(降低策略方差以获得更平滑的输出)。
3、目标化的探索(避免智能体学习到存在安全隐患的高奖励策略)。
4、规则化的动作(可以避免策略输出的大多数的不合理动作)。
但在目前阶段,要得到理想的强化学习策略策略,面临的主要困难还有:
1、强化学习的回报函数无法兼顾策略安全性与稳定性;
2、策略的探索与输出难以预测和约束;
3、难以灵活的应对动态的多目标控制问题。
1、强化学习的回报函数无法兼顾策略安全性与稳定性
强化学习获得的策略侧重于基于状态映射奖励最高的动作,其目标函数无法兼顾策略安全性和稳定性,其原因是产生事故的极端事件是稀疏的,存在安全隐患的策略同样可以符合求取最大化情节奖励的优化期望,目前所使用的保证安全的方法是加重对稀疏的极端事件的惩罚,但这会增大将要估计的参数的方差和学习问题的样本复杂性,这必然会影响策略的稳定性。
但不幸的是,目前用于解决连续动作空间任务的强化学习算法大都是基于策略梯度的、旨在通过训练使策略最大化情节累计回报的算法,但在这种情况下,梯度估计的方差却会随时间的推移被放大。已经确定的是,梯度的高方差会极大的影响策略的稳定性,但若要保证对稀疏的极端事件的有效惩罚,则必然会增大梯度估计的方差。而且目前常用的减少方差的基线法并不能为该问题提供足够的补救措施,因为这种方式只能将高方差从回报函数转移到基线常数上,而无法消除方差,这样基线估计也将同样存在数值不稳定性。此外,如果发生事故的概率为p,那么意味着我们平均至少要采样1 / p个序列才能获得1次发生事故的样本,旨在通过训练最大化的算法,这意味着若要获得一次产生极端事件的轨迹样本,算法至少平均要面临1 / p次的采样下限。
2、策略的探索与输出难以预测和约束。要实现目标化的探索与规则化的动作,需要对动作添加约束,而这一约束不存在于目前强化学习依赖的“感知→控制”映射过程中。
在真实道路场景下,感知-控制的逻辑映射过程往往会具有模糊性,其主要原因是完成驾驶 任务所需的正确决策往往无法仅凭感知输入单独推断获取。在这种情况下,从信息输入到控制命令输出的映射不再是一个明确的映射函数,此时策略网络的拟合必然会遇到困难。由于训练者无法直接控制网络决策行为判断的方式,即使现有算法的训练网络可以通过记录时序信息推测部分动作出现的概率,但仍由此无法推断出正确的规则。这种感知-控制映射过程中的模糊性,会造成控制网络输出不符合类人逻辑的危险动作。此时,应用马尔可夫决策过程的前提条件不再成立。
同样的,感知-控制映射过程中的模糊性也无法通过拓展端到端控制算法至部分可观察马尔可夫决策过程的方式完全解决。规则空间中的类人逻辑是人类社会经过长期驾驶实践获取的经验法则,其不存在于无人驾驶系统此刻或任何之前时刻的观测中,也无法通过车辆对自身驾驶行为的观测统计得出。因此,通过记录时序上的历史状态也无法真正解决感知-控制映射过程中的这一模糊性。当前无人驾驶策略的输出仅依赖感知信息,由于信息输入的不完整,导致感知-控制的映射不再是一个明确的映射函数。而“感知-控制映射具有模糊性,会使无人驾驶策略缺乏人类驾驶时所遵循的驾驶逻辑与社会智能。因此,如何实现无人驾驶的类人逻辑是无人驾驶端到端控制亟待解决的问题。
3、在动态的任务执行过程中,策略的安全性与稳定性等控制目标间的关系是动态的(即策略执行的一般是目标间关系一直在动态变化的多目标任务),目前的算法很难去灵活的考虑这种动态的多目标控制问题。
在现实世界中,人类驾驶员执行控制任务的实际过程中,对控制任务的目标除了全局期望(如完成任务、安全控制、平顺控制等)外,还应存在能适应环境变化的动态期望(如控制动作的平顺程度、避障动作的激烈程度等),目前的算法在学习策略时只侧重于映射能获得最高累计回报的动作,没有考虑这种动态期望,所以无法根据环境状态自适应的调整策略的控制方式。这些问题严重制约了无人控制策略的效果与应用。
控制策略的优化过程中,一般存在着恒定的全局期望,全局期望一般由多个控制目标组成,如无人驾驶场景的高效驾驶、安全驾驶与平顺驾驶等。
按一般的多任务学习或多目标优化的方法,在建立了对系统的全局期望后,应该根据系统状态(如是/否符合帕累托效率),使用组合线性优化或求解帕累托最优值的方法,为各目标分配权重进行求解。这种方法也许可以得到符合先验假设的最优解,但是却忽略了多目标之间的关系是动态的,如:汽车在正常行驶时,平顺驾驶有助于保证驾驶安全,但在紧急避障时,又必须牺牲平顺驾驶的性能去做出剧烈的制动或转向去保证驾驶安全。这种动态的关系决定了策略必须要具有能够应对环境改变与任务间动态关系的灵活性,而要使策略学习到这种灵活性,就必须在策略的优化过程中建立能促使智能体学习更适应环境的行为模式的“动态期望”。
面对以上问题,有哪些解决方案呢?
目前,对于以上问题的常用补救措施有:
使用某种方法去更充分地探索环境(如SAC,使用了最大熵RL与随机策略改进了TD3);
使用某种规则输入去约束智能体的探索与动作输出去保障安全,比如各种model-based RL,比如使用预训练动作进行约束的Shield-based方法等,模仿学习中使用人类输入约束策略收敛也算是规则的一种,虽然其主要目的并不一定是保障安全。这种规则化探索与输出的改进方式主要用于改进问题1与问题2;
在reward函数的设置上进行改进。在强化学习中,大部分因reward function设置不当,导致agent只关心累计奖励,而无法完成研究人员预期的训练目标的问题,都可归类为reward hacking问题(详情可见OpenAI关于reward hacking问题的博客:OpenAI function的重参数化、逆强化学习IRL等,其中,IRL基于人类示范学习reward,因为神经网络拟合出的价值函数是连续的,所以稀疏的灾难性惩罚增大策略方差的问题可得到极大缓解,而且在某些难以人为规则化的复杂场景中,逆强化学习仍可以根据示范直接学习reward,这种能力是其他改进方法所不具备的,因此逆强化学习也是目前最受认可的对于reward hacking问题的改进方法之一(也可用于改进问题1与问题3)。
锅包肉与chowder Data Science/SDE
https://www.zhihu.com/question/449478247/answer/2003449520
看到俞老师的回答,很想啰嗦两句。
首先说一下我在实践中的几个观察。第一,越原始的方法效果越好,比如RL里落地应用最多的应该是mab系列的方法以及基于value function的优化。前者在各大互联网公司的业务里算是基础标配算法了,后者我印象里最精彩的落地应用是滴滴的派单算法,应该是结合了value function和传统匹配算法(KDD有文章可以看看,简单但有效实用)。反而一些fancy的方法在实际中落地很困难,这里还是要吹一波俞老师,俞老师那个把GAN和RL按在一起的方法又暴力又有效,是我见过的RL落地中最好玩的东西之一了(而且俞老师确实做的不是调度,调度算法是另外的搞法)
第二,和俞老师的说法一样,online没啥用……尤其是上了深度学习之后online更没用了。收集数据速度快的线上场景需要低延迟和高QPS的算法,但是很多时候深度学习serving的速度/成本都会受到限制。如果对延迟和QPS要求不高的场景,一般收集数据速度都比较慢,不适合online更新模型。当然,俞老师说的0试错也是一个重要原因。
最后就是什么叫落地的问题。在我看来,落地的意义是沉淀出一套开箱可用的方法论,比如未来强化学习真正大规模落地,它的场景应该是只要有一个基于长期价值优化的问题,我可以找到合适的包,调包就能解决80%的优化空间。但是现在强化学习只能说在这条路上刚刚起步,距离成为类似gradient boosting或者causal inference抑或CNN之类的开箱即用的好用工具还很远。
Tsesea Idea is cheap!
参考清华大学李升波老师的强化学习书籍《REINFORCEMENT LEARNING FOR DECISION-MAKING AND CONTROL》,提到In a narrow sense, RL is a goal-oriented sequential decision algorithm that learns from the trial-and-error interaction with the environment. Now, its connection with optimal control is well understood. Both of them seek to optimize (either maximize or minimize) a certain performance index while subjecting to a kind of representation of environment dynamics. The difference is that optimal control often requires an accurate model with some assumptions on formalism and determinism. In contrast, the trial-and-error learner requires to collect experience from the unknown environment. Despite a few successes, RL methods are still confronted with a variety of challenges when deploying it into practical problems, for example, exploration-exploitation dilemma, uncertainty and partial observability, temporally delayed reward, infeasibility from safety constraint, entangled stability and convergence, non-stationary environments, and lack of generality.
胡可可 人工智能,计算机科学
https://www.zhihu.com/question/449478247/answer/2003310574
强烈反对俞扬老师以偏概全的回答。强化学习只能说在某些领域还不能用,在某些领域其实还是能用的,目前在很多领域还在探索当中。
强化学习能用的领域:对试错成本低的领域,比如游戏AI行业和芯片设计行业。游戏AI的能力在前几年的各种游戏AI与人类顶尖选手的对弈过程中已经展示得很充分了。这也是为什么现在有大量的科研人员投入强化学习领域的原因之一。另外,近年来,强化学习对于辅助工业设计,例如芯片的布局布线任务也有很好的应用。俞扬老师一个“没法用”,是对强化学习内行人努力的否定,会加深外行人对强化学习价值的低估,是一种对本领域极其不负责任的说法。强化学习目前已有落地应用,而且也还在探索更多能落地的应用。
强化学习目前还不能用的领域:试错成本高的领域,比如医疗,机器人等。对于这些领域,目前大家也是在想办法去克服。无论是通过离线强化学习从数据中学习,还是通过设计尽可能接近现实场景的模拟器。没有绝对完美的技术,只有更好的技术。只要相信强化学习本身的能力,我们就会克服一切困难,把强化学习的能力应用在还未落地的场景中。
强化学习的瓶颈是什么?我觉得还是对人类已有知识的利用程度不够。人类有很多的知识积累,人类从出生到成长到为一个全面的人,都会经历过很长的对以往知识的学习和利用的过程。现在的强化学习,也在探索利用以往的知识进行学习。比如利用已有的含有专业知识策略下的数据、融入已有的传统算法等等。
强化学习还在发展当中,我们需要更多的人加入进来,一起实现人工智能的伟大愿景,而不是为了博取眼球,给所有人泼冷水。俞老师作为该领域有一定建树的老师,更应该做好社会舆论的引导和促进强化社区的发展。谢谢。
====== 更新
我的回答已经很辩证的看待强化学习目前的应用状况了,评论区有些外行“杠精”非得说,我没给出强化学习“有用”的事实依据。那我就手动整理一下目前强化学习在企业中的实际应用。
【游戏行业】
强化学习的第一应用,就是游戏行业。网易伏羲实验室,把强化学习应用到设计游戏AI,提升NPC多样性,提供AI托管等等。更多应用可以查看伏羲实验室官网:网易伏羲--国内专业从事游戏与泛娱乐AI研究和应用的顶尖机构。
另外,腾讯AI Lab也为王者荣耀团队开发了高水平的对战AI,帮助解决游戏冷启动问题和提升用户留存率。
【推荐领域】
POLIXIR:让强化学习走出游戏环境——俞扬,2020年CCF-IEEE CS青年科学家奖获得者
这是俞老师在阿里用强化学习做的推荐应用,俞老师说强化学习"没法用",意思是这个提升是造假?现在各家有推荐搜索业务的公司,都在探索强化学习的应用,想用强化学习解决传统监督学习所不能处理的多步决策问题。强化学习在推荐领域上的铺开应用,基本上也是后面几年能预见的事了。
以上内容均代表各位原作者观点,本文仅为大家提供转载分享,仅供学习交流使用!