本文转载知乎提问(联系侵删), 原文:https://www.zhihu.com/question/404471029
原文:https://www.zhihu.com/question/404471029/answer/1755948468
做过两年多RL,发过几篇顶会,以及有幸与国内top的游戏公司合作过,落地这块有一定的经验。尝试用大白话说点本质问题。不被广泛应用的原因是:
数据收集过程不可控
跟监督学习不一样,强化学习的数据来自agent跟环境的各种交互。对于数据平衡性问题,监督学习可以通过各种补数据加标签来达到数据平衡。但这件事情对强化学习确实非常难以解决的,因为数据收集是由policy来做的,无论是DQN的Q-network还是AC架构里的actor,它们在学习过程中,对于任务激励信号的理解的不完善的,很可能绝大部分时间都在收集一些无用且重复的数据。
举个例子,比如一个走迷宫任务,分为A、B两个房间,agent需要从A出发,到B中拿到钥匙。从A走出去大约需要100步,这意味着需要收集房间B里的state-transition信息,需要先解决怎么绕出A。而学习在B中拿到钥匙这个目标,需要收集大量的重复经验。这些重复经验的规模很可能远远大于房间B中学习拿到钥匙所收集的数据。虽然有prioritized replay buffer来解决训练优先级的问题,但实际上是把重复的经验数据都丢弃了。在实际应用中,面对一些稍微复杂点的任务还是需要收集一大堆重复且无用的数据。这也是DRL sample efficiency差的原因之一。
环境限制
DRL问题中,环境都是从初始状态开始,这限制了很多可能的优化方向。比如在状态空间中,可以针对比较“新”的状态重点关注,控制环境多到这个状态。但目前的任务,很多环境的state-transition function都是stochastic的,都是概率函数。即便记录下来之前的action序列,由于环境状态转移的不确定性,也很难到达类似的状态。更别提policy本身也是stochastic的,这种双重stochastic叠加,不可能针对“重点”状态进行优化。
同时这种限制也使得一些测试场景成为不可能。比如自动驾驶需要测试某个弯道,很难基于当前的policy在状态空间中达到类似的状态来重复测试policy在此状态下的鲁棒性。
玄之又玄,可解释性较差
本来Q-learning就是一个通过逐步学习来完善当前动作对未来收益影响作出估计的过程。加入DNN后,还涉及到了神经网络近似Q的训练。这就是“不靠谱”上又套了一层“不靠谱”。如何验证策略是正确的?如何验证Q function是最终收敛成为接近真实的估计?这些问题对于查表型的Q-learning来说,是可以解决的,无非就是工作量的问题。但对于大规模连续状态空间的DQN来说,基本上没法做。论证一个policy有效,也就是看看render以后的效果,看看reward曲线,看看tensorborad上的各个参数。连监督学习基本的正确率都没有。然后还要根据这些结果来调reward function,基本上都在避免回答why这个问题。
随机的探索
DRL的探索过程还是比较原始。现在大多数探索,epsilon-greedy,UCB都是从多臂老虎机来的,只针对固定state的action选择的探索。扩展到连续状态空间上,这种随机探索还是否有效,在实际落地过程中,还是要打个问号。因为也不能太随机了。大家都说PPO好,SAC强,探索过程也只不过是用了stochastic policy,做了个策略分布的熵的最大化。本质还是纯随机。虽然有些用好奇心做探索的工作,但也还是只把探索任务强加给了reward,指标不治本。
比如在自动驾驶任务中,学习车不上马路牙子这件事情。DRL的探索策略是,我开车的时候都正常开,突然有一刹那我想来点新鲜的,拐到马路牙子上探索一下上马路牙子是什么后果(reward -1000!)。然后它并没有学乖,通常要在类似位置上几千几万次马路牙子才能涨点记性,因为这个规模的数据才能回传给之前的状态转移,通过大规模训练影响决策。然而,因为探索概率还在,下次碰上随机时刻,又要上一下。这只是针对样式A的马路牙子,对于样式BCDEF,都要重复类似过程才能最终训出来一个看起来不错的司机。人类不一样,成年了(多年的智力开发),教练说别上马路牙子,基本上通过几次低速的左拐右拐就能完全胜任这个任务。DRL对于Q的估计过程过于粗暴,不会像人类那样总结出来“只要是马路牙子就不能上”这样形式化的概念,而是收集海量马路牙子的案例,来训练状态操作空间中对于类似的与之关联的操作的估计。
所以总结一下,当前DRL的实际科研的进步速度要远远慢于大众对于AI=DL+RL的期望。
能解决的问题:
固定场景:状态空间不大,整个trajectory不长
问题不复杂:没有太多层次化的任务目标,奖励好设计
试错成本低:咋作都没事
数据收集容易:百万千万级别的数据量,如果不能把数据收集做到小时级别,那整个任务的时间成本就不太能跟传统的监督相比
目标单纯:容易被reward function量化,比如各种super-human的游戏。对于一些复杂的目标,比如几大公司都在强调拟人化,目前没有靠谱的解决方案
领域来讲也就只有游戏了,而且是简单游戏,比如固定场景、小地图上的格斗,比如街霸、王者之类。要是大地图、开放世界的话,光捡个枪、开个宝箱就能探索到猴年马月了。
而且现在游戏的落地,也没想象中那么fancy,基本没有图像类输入,全是传感器类的内部数据,所以同类型任务的训练难度还没到Atari级别。比如敌方英雄冷却时间,人类是记住之后估算的,强化agent可以直接拿到实际值(这种非视觉的输入很欺负人,比如LOL的各种躲技能脚本)。其实有点类似作弊,很多行业内应用都是类似的trick搭起来的。(这里提一句,如果质疑其公平性,其实有些落地项目都不能严格说是super human的)而且训练代价超级高,特别是解决收集数据+探索,耗的CPU用量真的烧钱。最近这几年时间,DOTA2和星际基本上是游戏领域内到顶的落地了。
给大三大四研一的,想做强化的同学们一点信息:
强化学习岗位很少,因为落地难+烧钱,基本只有几个头部游戏公司会养一个规模不大的团队。
纯强化的技术栈不太好跳槽,除了游戏外,别的领域很难有应用。
20年huawei的强化夏令营,同时在线也有好几万人,想想这规模,未来几年这些研究生到job market会多卷。。。
建议是,做强化的尽量读博走研究道路,找工作要结合领域,比如游戏AI,多看点行为树之类的,这样找工作要容易一些。
有同学问推荐,我的建议是以推荐为主,RL为辅的姿态来看待这个事情。
原文:https://www.zhihu.com/question/404471029/answer/2485186947
这正好是我的团队的方向,所以在不涉及公司内部信息的情况下大概说一下我的展望。我大概读了一下这个问题之下的大部分回答,我觉得可能有些过于悲观。我还是可以负责任的说,目前RL已经成熟的算法已经有部分可以直接上应用了(是真的应用,不是模拟器的那种)。我希望我的这个回答可以为大家增加一些信心吧。
强化学习我将它分为两个大部分来讲吧,一个是online RL,另一部分是offline RL。我分别一个一个的说,他们的应用场景很不一样。
Online Reinforcement Learning
先来说一下online RL。Online RL顾名思义就是说有一个environment是RL Agent一直可以交互并且获得experience的。这些experience可以为Agent后续的policy提供数据基础。也就是说,当Agent能够学到一个新的policy之后,它可以立刻将新的policy直接放到真实环境中来实验,来看自己的新policy是否有提升。在这个setting下,我将整个RL需要解决的问题分成两个大块,探索(Exploration)和多步决策(Sequential Decision Making)。
探索(Exploration): 说句实话,在Online RL里面不加探索,然后直接用过往数据做一个warmup然后直接greedy或者epsilon greedy来和environment交互又一点耍流氓哈哈。我先讲一下没有planning情况下,单步决策的bandit问题下的探索。探索的主要目的是要降低不确定性(uncertainty),这样可以为未来的决策提供更好的confidence。一般情况下,常规的LinUCB已经可以起到很好的效果了,但是目前来说有一个比较大的gap是如何在深度神经网络的情况下解决uncertainty estimation的问题。目前有一条research agenda是要完成在深度神经网络下的不确定性估计。值得提的一句是,这里的uncertainty指的更多是epistemic uncertainty,即Agent对于environment的估计本身的不确定性,而不是environment本身的随机性带来的不确定性。这条research agenda也是我自己的一个研究方向,所以之后我在自己的主页也会给大家带来更多的研究进展。在实际应用中,单步决策的探索其实已经带来了很多的应用成果了,比如:
Li, Lihong, et al. "A contextual-bandit approach to personalized news article recommendation."Proceedings of the 19th international conference on World wide web. 2010
(其他的很多结果目前和这个都大差不差,就不列举了)
我其实刚接触exploration的时候,对于在推荐系统中exploration的使用之少十分吃惊,因为在这个方向是可以被当作一个online exploration的environment的。我觉得在这个方向之后会有很多的机会。对于多步探索,我觉得目前还有点早,我之前也写了一篇论文写了在推荐系统中多步探索的重要性,但我觉得在大环境还没有接受单步探索的情况下,接受多步探索的可能性不太大。
多步决策(Sequential Decision Making):这个其实是RL里面最容易理解的方向了,所有人都知道,但是我看到太多人忽视上面说的第一步而直接上这一步。如果是这样做的RL,我基本肯定会fail。原因不是RL不能用,而是使用者拿错了说明书lol。在多步决策的过程中,如果说一直是采取的单纯的exploitation,或者仅仅是epsilon-greedy,那所有的RL算法都是exponential to time step的sample complexity,甚至于是无限的sample complexity。这样的情况下,online RL根本就不可能会work。更别说在大多数的真实环境中,reward还比较sparse,这样就更不可能能成了。目前来说,多步决策最有用的方向还是在于Black Box Optimization,也就是在硬件和一个既有环境下做优化。在很多NP-hard的问题下,RL能够比非常冗长的优化算法能够更快的得到更好的解。这个方向我的团队过往得到过很多成果,市面上可以看到的有Nvidia的GPU架构设计,Deepmind为Youtube做的视频压缩。这边给一个链接:MuZero’s first step from research into the real world。这是最近才出来的。
我认为多步决策在更加复杂的,特别是在跟人交互的环境下要成功,还需要一些努力,特别是和探索的结合。我的研究方向和这个也很相关,之后也会更多跟大家分享。我对于这个方向最后会成功还是有很大信心的。
在online RL的最后我再说一下,其实目前的成功很有限的另一个原因在于环境本身的随机性以及对于value function的设计的单一。多数系统和人机交互的环境下,目的大多不是单一的,随机性也很高。这一部分理论方面还有待提升,可以多关注General Value Function (GVF)和Option的研究进展。
Offline Reinforcement Learning
和online RL的最大区别是,online一直有一个environment可以交互,而offline只有一个有限的数据集,得从里面学到一个policy,然后直接deploy,看结果。我觉得在Offline的领域,我能够看到通常被踩的两个大坑。1. 没有管新的policy和现有的policy的差距,2. 数据本身的收集方式。
决策距离(Policy Distance):我用一个相对比较抽象的方式来解释这个问题,因为这个问题本身可以挖的数学方向实在太多了。总的来说,这个方向和off-policy policy evaluation(OPE)有关。简单来说,如果说你在数据上学到的决策方案和你收集数据本身使用的决策方案差距很大的话,你麻烦就大了。如果你把这样一个policy在没有做OPE的情况下就自信的放进系统中,那不给你搞崩就不错了。这个现象的背景是importance sampling,因为如果你收集数据的policy和新的policy的support概率很不一样,甚至于support本身不同,那你新算法结果的variance会爆炸,甚至于会达到无穷大(如果support本身不同的话)。在做offline RL的时候,我们一般会推荐pessimism principle,这个跟online很不一样。这边给一篇paper参考:Kumar, Aviral, et al. "Conservative q-learning for offline reinforcement learning."Advances in Neural Information Processing Systems33 (2020): 1179-1191. 这篇文章也有一些后续可以去关注Sergey的组的后续研究。
数据收集:因为offline RL是基于已有policy收集的数据的,那用哪种已有policy变得尤其的重要。基于importance sampling的理论,最小variance的做法是用uniformly random的policy。在这种情况下才能保证数据收集policy的support能够包含任何新的policy的support,并且使得variance在未知新的policy的情况下最小化(可以想象成在没有conditioned on新的policy的情况下的expected variance)。如果说现在的数据集是用了一个不是随机的policy,并且有些policy还是deterministic的,那太可惜了,大概率新的policy是没法用的,因为根本不知道这个新的policy的好坏。这也是为什么好多人抱怨说RL从线下数据集里面训练出来没有用的原因了。(其实你可以发现这个问题和上一个决策距离的问题是有本质联系的。)
在offline RL的最后我想说一个我的观察。其实offline RL和online RL的boundary很模糊。你可以想象只要不是每个step都train,那online RL其实就是一个mini batch的offline RL。所以要想清楚你的问题是不是真正的offline RL,也就是说你train完了之后放出去之后没法再调整了。比如说在机器人公司和自动驾驶公司,这些情况非常常见。我知道某扫地机器人公司他们就面临这种问题,但是大多数公司其实是没有这些问题的。
回答别的回答中的一些问题
在其他回答中对于online RL有一个诟病是在于in sample testing。我觉得这个诟病没有太大的问题,但是如果说真实系统就是这样一个in sample的environment,我觉得目前的设计也无可厚非。从generalization的角度来说,Meta-learning也会是一个解决adaptation的方向。还有一个对于RL的诟病是它的loss function有时候跳来跳去,不好理解。我觉得这个是研究者自己对于问题本身以及算法的理解不够导致的。如果是tabular setting,那TD loss应该一直下降直至收敛。然而如果是unknown environment,那有时候TD loss跳是好事,说明算法发现了一个新的它从没见过的领域,需要重新学习。你需要去分析现在Agent经历了哪些区域,是不是有新的information。它目前的value function是不是和你估计的差不多。能看的东西其实非常多。
Last remark:RL不同于大家熟识的机器学习,所需要的常规机器学习之外的统计,运筹,信息理论(Information Theory)等等领域所需要的知识都很多。如果说不能真正理解这些算法背后的原理,真的很难能够在复杂的真实环境中做对。我自己这些坑全都踩过。RL要走的路还很长,市面上的论文质量也大多参差不齐,希望我的这个回答能给大家帮助吧。
原文:https://www.zhihu.com/question/404471029/answer/1774755693
作为强化学习从业人员,务实谈谈目前的现状(2021.3.11):
工作现状:
- 所有大厂几乎都会招强化学习的人才,不管是用在游戏上还是其他决策问题(推荐,广告,定价,自动驾驶。。),相比cv,目前的岗位会少一些,但是论卷的程度,cv比rl卷。所以总的来说目前不用太担心,至少比起cv领域还是容易不少(cv领域一些大厂实习已经需要顶会paper才有机会面试了)
- 几乎所有的大型游戏公司都会考虑使用强化学习。强化学习在游戏上能产生的价值已经在腾讯王者荣耀上得到了体现。对于类似的有大量用户的竞技游戏,强化学习的引入可以产生额外收益。这是大厂及初创公司的机会。初创公司需要熬到能自主研发出围绕AI的爆款游戏,否则只作为游戏AI服务商存在,能否产生巨大收益还是个问号。而这一块的技术门槛会像cv一样越来越低,要记住alphastar和openai dota five也已经是一两年前的成果了,而这一两年来强化学习用在游戏AI上几乎没有任何改变,依然需要大量的engineering。
技术现状:
依然是学术热门,当然同时也说明落地还是难,为什么难其他回答已经提到,这里不细说。这几乎是共识。
目前的落地明显偏向大公司。上面提到的游戏,推荐,广告,定价。。,任何一个其实都依托于成熟的产品,是在成熟的产品上去创造额外价值。这里举个类似的例子:GAN是不是不容易落地?但是GAN落地最成功的就在抖音上。几个基于GAN的特效可以产生几十亿的播放量,背后不知道产生多少收益。这很神奇。所以永远记住:Success cannot be planned。也许强化学习会在哪个目前还没注意到的领域得到更大的应用。
目前在机器人学习的落地也依然非常困难,使用cv+传统控制的方法更为有效。
相比米国,国内对强化学习的落地热情看起来更高,至少目前在美国没看到类似启元超参数的公司。
回答题主的问题:可以认为强化学习已经在尝试中开始广泛应用。如果你玩的王者荣耀,吃鸡,用的美团,抖音,淘宝,滴滴都应用了强化学习,那么就可以认为这项技术在广泛应用了。
价值:我们肯定不仅仅是想用一下强化学习,而是希望利用强化学习产生前所未有的价值。理论上,强化学习可以应用到任意决策问题上,或者任意用传统技术做决策做不好的地方。我最看好的依然是机器人上的应用,去实现完全的工业智能化,走进家用,形成一个独立的产品而存在。但任重道远,也许需要10年甚至20年的时间才能真正落地。这一块可以对比一下自动驾驶领域,自动驾驶实现的是车的智能化,并且如果实现高级别的自动驾驶,等价于司机,那么它的价值就变得很大,你买了一份自动驾驶程序,就等于买了一个司机。显然,机器人需要能够实现人的等价替代性才能真正产生价值。比如工厂里代替人去做包裹分拣。为什么强化学习首先在游戏上落地呢?因为利用强化学习训练的AI替代了玩家。也许比起考虑强化学习是否被广泛应用,不如考虑不管什么技术,能否替代某些人类劳动来的实在。
补充:
虽然这个问题是谈应用的,但是我们仍然应该谈谈落地应用之外的东西,也就是推动AGI的边界。这种可能赚不了几个钱,甚至巨烧钱,但是却是真正推动人类的技术进步!所以,其实我们更呼唤的是国内能否出现下一个deepmind?下一个openai?就不考虑落地赚钱,而仅考虑如何去给整个人类社会带来革命性的技术突破?如果给你一个选择去落地还是去探索未知,你会如何选择?
这个命题或许只能靠目前国内的几家互联网巨头来回答了。
原文:https://www.zhihu.com/question/404471029/answer/1324146167
这里尝试从两个方面进行回答:
1. 强化学习对环境的强依赖性
2. 强化学习的难封装性。
一直以来强化学习都凭借其对先验数据样本的低依赖性而备受人们的喜爱,但由于整个数据训练中所有的数据样本都来自于与环境进行真实互动得到,即“试验的同时获取数据”,这就导致了强化学习必须不断和环境进行交互才能不断成长、不断进步。而强化学习的“试错机制”又决定了在训练初期,模型需要经历过非常多次的“挫折”才能学会“避免挫折”,但在某些真实场景中试错成本是很高的,拿无人驾驶来说,如果从零开始训练,汽车需要经历过很多次的撞车后才能学会不再撞车,但这样的试错成本太高了,使得人们难以接受。
为此,人们考虑过建立真实环境的模拟仿真,把在仿真中训练好的模型直接迁移应用到真实世界中,但这样就对仿真系统提出了极高的要求,仿真系统必须对真实世界进行完美的逼近仿真,保证仿真中所产生的训练数据要和现实世界中所产生的数据有非常高的还原性,即数据一致性问题。这样一来一个强化学习问题就变成了一个完美仿真的构建问题了,很多时候搭建一个高还原度仿真的难度甚至大过了强化学习本身的难度,有一点本末倒置的感觉。
“学习自仿真”又“应用于仿真”的最好实例就是游戏中的AI模型,从训练到最后应用都是在游戏环境中,这也是为什么目前RL大多数取得的成就基本都是基于游戏环境(诸如星际/腾讯的觉悟等),因此我觉得RL要想落地应用的话,训练环境应该是其中一个非常重要的考虑因素吧,如果虚拟到现实的迁移问题一旦被解决,我认为RL落地的项目会越来越多。
为什么说RL难封装?现在不是已经有那么多成熟的算法框架了吗,不是可以直接用吗?其实这里主要还是和视觉作比较得出来的结论,在之前做项目的时侯曾经接触过国外某大厂开源的一个视觉分类的框架,从GUI到算法都给你写好,你只需要按路径加载自己的图片分类数据集,点一点手指按下训练按钮算法就开始自己运行了,你甚至都不用了解Deep Learning相关的任何知识,按照使用说明加载数据集就能train出一个不错的分类模型。这真是太棒了,从模型搭建到参数设置都不用用户关心,用户要做的只有搜集自己的数据集并加载就可以,整个训练过程对用户均保持透明。那现在的RL能做到这样吗?就我的看法来说目前还是做不到的,其根本原因在于RL中一个非常重要的环节——Reward Design。
Reward的设计对于一次RL来说真的是太重要了,前段时间国外有个企业家批判现在的强化学习就是在waste time,其依据就是说RL的设计初衷本该是解放人们的劳动力,让机器自己去试错自己去学习,人们不用过多的介入,但现在RL的效果并不是这样,RL内部存在非常多的human engineering,这违背了RL的设计初衷。我并不同意他说RL就是一门waste time的技术,但就human engineering这一点上我确实深有体会,以我个人经验来说,每一次用RL解决实际问题的时候耗时最多的并不是在算法选型上,而是在做reward design。我们需要考虑大量的方法来引导模型能够学到我们期望它学到的知识,并且使用很多技巧来让每一个reward产生的是“有意义”的,也就是说目前的RL还没有足够智能到不需要人为的参与就能够快速自我进化。因此,场景的多样化和reward的处理机制复杂多样成为了RL难以被封装的一个重要原因。
因此,我个人认为要说RL在近几年内没有办法像视觉那样成熟的被广泛引用的话,主要原因应该就是以上两点吧。
原文:https://www.zhihu.com/question/404471029/answer/1778242483
The biggest lesson that can be read from 70 years of AI research is that general methods that leverage computation are ultimately the most effective, and by a large margin. - Rich Sutton, The Bitter Lesson
分享一下Rich老师的这段话.Rich老师曾经非常鄙夷深度学习,认为neural network只是些简单Linear model的组合,无法体现出数学的优美和理论的深度.但是直到2019年,他在自己的blog上写下这段文字,也算真正认同了算力的价值.是的,也许再多的model design也无法为RL带来质变,真正决定RL未来的核心因素,恰恰是算力.
提供一些data points. RL也有几十年的历史,也只是最近几年才开始有了突飞猛进的结果.以游戏AI为例:
1996年,DeepBlue在国际象棋游戏中战胜人类,游戏复杂度:
2016年,AlphaGo在围棋游戏中战胜人类,游戏复杂度:
2017年,Openai 1v1 Bot在Dota2 1v1比赛中战胜人类,游戏复杂度:
2018年,Openai Five在Dota2 5v5比赛中战胜人类,游戏复杂度:
2019年,AlphaStar 在SC2比赛中战胜人类,游戏复杂度: (可以认为是和Openai Five同级别的成果)
可以看到一个明显的规律是,随着算力的增加,RL开始能够解决的复杂度越来越高,呈指数级别上升.最近2年没有更高的突破,也许只是因为当今复杂度最高的竞技游戏都已经被征服了.只是没有复杂度更高的选择而已.那么,下一个突破里程碑,会在哪里?自然是现实世界.(当然如果存在高度仿真现实世界的Metaverse,也许这会是RL的下一个突破点.)
如果你把现实世界也当成游戏来看,你会觉得这个游戏的复杂度有多高?也许是 或者更高.但是,他一定被一个上界bound.这样,回头来看,之所以现在RL在游戏之外的领域难以落地,也许正是因为这些领域来源于现实生活,复杂度比游戏还要高得多.
但是,随着算力的发展,RL也能越来越好的利用算力,以RL指数级别的发展速度,无论多高的bound,都能以超出所有人想象的速度实现.试想一下,120年前的时代还是清朝,当时的人们可能无论如何也想象不出今天的时代竟然有如此大的变化.
所以,我相信,RL征服现实世界或者Metaverse的那一天,应该也不会太远.
我期待这一天的到来.
原文:https://www.zhihu.com/question/404471029/answer/1664268820
局限:
1,也是很多答主提到的,强化学习对交互环境有很强的依赖性。这点属于老生常谈了。业界场景几乎不能直接把任何没有训练过得模型拿到线上去直接部署,所以强化学习能够轻松落地的场景大部分都是能够构建较为准确的离线模拟器场景。
比如游戏AI,自动驾驶等,这些离线场景一般可以直接通过规则构建,因为反馈函数和状态转移函数都可以人为定义。
涉及到推荐系统,语言生成模型等等没有办法采用人所熟知的规则构建模拟环境,一般的做法是采用其他推断或者生成模型辅助构建模拟器,或者干脆直接把off–policy rl 变成off–line rl强行进行离线预训练。现在deepmind已经在这些方面有一些探索,这个方向也受到了越来越多的关注,也许不久之后就有框架能够增强强化学习的泛用性。
2,强化学习本身,区别于监督无监督的体系,需要一套独立的数据流程设计。在项目上大多数线上模型都是监督模型的情况下,强化学习想要上线的成本较高,需要分配专门的人员搭建一套专属于其的框架。不过,对已经有一些强化学习积累的项目来说,想要试一套新强化学习方法不需要耗费太多的精力。
优势:
3,在一些很特别的场景中,强化学习是一种新颖并很有效的解决方案,比如用bandit,强化学习解决冷启动问题,不需要非常复杂的模型就可以快速的部署,独特的探索机制能够极大的在项目早期帮助发掘用户兴趣,不至于使数据过快变成有选择偏置的数据。再比如一些和用户反馈强相关的场景,强化学习也能有很不错的效果。
4,在调参能力很强的情况下,强化学习可以做到很多其他方法做不到的事,比如可以将优化目标直接制定成优化线上某些不能直接在传统监督学习loss里面中体现的指标,比如推荐满意程度等等。
5,现在在说到强化学习的时候,其实很多人只想到了采用reward建模,这一种很单一的思维模式。但是实际上,比起来模式识别领域刷sota的现象,强化学习其实可以看做一系列的针对特化问题的一系列策略和解决方案,比如多智能体强化学习(MARL),会围绕讨论博弈和均衡展开,那么需要研究用户博弈的场景就可以尝试此类方法。再比如meta rl,现在已经发展到能够直接通过这个方法学出来贝尔曼方程了,潜力真的非常巨大。对于根本无法用传统方法建模的场景,很多时候需求方会直接忽略掉这些问题,或者转为解决别的子问题。那么,在强化学习越来越多普及之后,不仅解决问题的方法能够更多样,而且能够解决的问题也更多样。某种程度上,甚至可以帮助挖掘出来之前没考虑过的需求。
原文:https://www.zhihu.com/question/404471029/answer/2501989874
随着alpha Go围棋比赛中人工智能打败李世石,开起来人工智能时代的新纪元。其中所用到的强化学习算法吸引了众多目光。强化学习是机器学习的子课题,它试图解决决策优化的问题。所谓决策优化,是指⾯对特定状态(State,S),采取什么⾏动⽅案 (Action,A),才能使收益最⼤(Reward,R)。很多问题都与决策优化 有关,⽐如下棋、投资、课程安排、驾车、动作模仿等。
智能体通过动作与环境进⾏交互时,环境会返给智能体⼀个当前的回报,智能体则根据当前的回报评估所采取的动作:有利于实现⽬标的动作被保留,不利于实现⽬标的动作被衰减。
⽤⼀句话来概括强化学习和监督学习的异同点:强化学习和监督学习的共同点是两者都需要⼤量的数据进⾏训练,但是两者所需要的数据类型不同。监督学习需要的是多样化的标签数据,强化学习需要的是带有回报的交互数据。
虽然强化学习(RL)光环加身,但依然避免不了有其自身的局限性,主要存在与以下几个方面:
环境的依赖性。强化学习必须不断和环境进行交互才能不断成长、不断进步。为了对真实世界进行完美的逼近仿真,保证仿真中所产生的训练数据要和现实世界中所产生的数据有非常高的还原性,即数据一致性问题,我们需要提前设定好足够真实的仿真环境,而这个恰恰是很难做到的事情,现有的仿真手段和设备算力,往往是环境仿真的最大瓶颈。而且这种仿真环境的缺点是这个系统只在特定任务中起作用,如果你想扩展到其他环境,对不起做不到。
奖励机制难设计。设置一个回报函数不是什么难事,但当你试图设计一个奖励函数来鼓励想要的行动,同时仍想让智能体不断学习时,困难就随之而来了。奖励函数必须明确智能体的奖励惩罚机制,满足利益最大化、路线最短、效率最高等优化目标,但现实中往往很难理解和量化其目标,随之而来的就是无法很好的设定奖惩机制,从而不能很好的模拟多智能的真实行为。
可解释性差。强化学习内部多智能交互机制,试错机制并不能完全展示出来,再加上DNN等深度神经网络的引入,使得其内部像一个黑盒子,各种概率的叠加,使得结果更加难以回溯,不能像树模型那样输出清晰的决策图标结构。
声明:本文总结自知乎提问 https://www.zhihu.com/question/404471029
以上内容均代表各位原作者观点,本文仅为大家提供转载分享,仅供学习交流使用!