强化学习十年发展:从马尔可夫决策到通用智能的演变

回顾强化学习十年发展历程,从解决马尔可夫决策到概念外延扩大,未来或将统一机器学习。但需警惕概念泛化,保持RL本真。

原文标题:强化学习发展这十年

原文作者:数据派THU

冷月清谈:

本文回顾了强化学习近十年来的发展历程,将其划分为四个阶段。第一阶段侧重于解决马尔可夫决策过程,DQN、PPO等算法成为主流;第二阶段开始探索实际应用,但受限于仿真环境和问题定义,落地效果不佳;第三阶段概念外延扩大,问题构建和样本收集也纳入强化学习范畴,RLHF和离线强化学习成为新的增长点;第四阶段(未来预测)强化学习的概念可能会进一步扩大,甚至可能包容监督学习和无监督学习,将机器学习统一在强化学习框架下。作者也表达了对强化学习概念泛化的担忧,以及对从业者如何在浪潮中保持本真的思考。

怜星夜思:

1、文章中提到“强化学习的应用也就会变得越来越多,让人们觉得它越来越有用”,你认为这种“有用”是真实的突破,还是概念扩大带来的假象?
2、作者提到初代强化学习研究者对强化学习应用的要求非常严格,必须要准确的状态空间、动作空间定义等。在实际应用中,你认为是否应该坚持这些“老派”的标准?
3、文章最后,作者对强化学习概念扩大表示担忧,你认为强化学习研究者应该如何应对这种趋势?

原文内容

源:人工智能前沿讲习

本文共2500字,建议阅读5分钟

本文介绍了强化学习发展的历程。


最近在帮忙给强化学习立标准,我发现这是一件非常痛苦的任务。因为随着这两年强化学习的大力发展,强化学习衍生出了许许多多的子课题方向,除了最经典的online RL以外,例如offline model-free RL,model-based RL,RLHF,multi-agent,risk-sensitive,inverse RL等等,要给这些子课题找共性非常困难。

而在传统教科书中,强化学习的标准制定时由于这些子课题还未出现,导致定义早已过时。举个例子,例如强化学习强调智能体跟环境交互,而offline RL方向偏说我就不跟环境交互。再例如强化学习强调无需人类标签还是采用奖励信号,RLHF说我就不是这样。

所以我打趣说,这就像以前府里有个RL的老太爷。老太爷年轻气壮的时候,所有的子子孙孙都说自己是RL府里的。结果随着日子发展,RL府里的少爷们走了不同的方向,一个个飞黄腾达,有些混的比老太爷都好了。这时你说要在RL几个儿子里找到相同特性,只能说有点不合时宜了,勉强只能说他们都留着RL的血脉吧。

于是我只能根据强化学习这10年左右的发展时光,看看每个阶段给强化学习做了怎么样的注解。

强化学习一阶段:


大概在十年前,在我刚做RL的时候,其实RL没有定义,只有描述,大家认为RL是一种解决马尔可夫决策过程的方法,典型算法包括DQN、PPO。当然那时我们有一种历史局限,就认为这个描述是个充要条件。也就是认为只有value-based算法(DQN),policy-based算法(PPO)这种才算是强化学习,其他统统不算。

同时这个阶段,有大量的强化学习研究者开始涌入这个方向,大家总体分为两拨,学术界的学者试图研究通用的强化学习算法,而工业界的人则在给强化学习找应用场景。

那像作者这样天资愚笨的同学自然在通用算法上没有办法做出太多创新,于是大家开始给强化学习的问题定义做细致扩展,出现了多智能体强化学习, 安全强化学习等等的强化学习子方向。从后验角度出发,其中某些子方向的问题定义其实缺乏实践依据,导致强化学习产生了一个后遗症:给人留下了没法用的污点。

强化学习二阶段:


随着第一批强化学习研究生的毕业,强化学习也进入了大应用时代。最开始,人们对强化学习应用的要求也非常严格,在强化学习应用的论文描述里必须有以下内容:

  1. 非常准确的状态空间和动作空间定义
  2. 必须存在状态转移函数,不允许单步决策,也就是一个动作就gameover
  3. 必须有过程奖励,且需要存在牺牲短期的过程奖励而获取最大累计回报的case案例

说个开玩笑的话,如果DS的文章放到几年前RL的审稿人手里,他大概率会得到这样的回复:这只是采用了策略梯度的方式将不可导的损失/奖励函数用于优化神经网络参数而已,请不要说自己使用了强化学习。

这导致像作者这样的old school,在看到最新的强化学习应用文章时,总会试图问文章作者几个基础的问题,状态是啥,动作是啥,奖励是啥。但其实现在很多文章已经不考虑这些问题了。

那时大家普遍认可的应用方向是游戏AI,因为游戏AI符合上述所有的定义,并且游戏环境较为容易获得。但较为可惜的是,以强化学习为核心的游戏AI应用市场份额不大,随着PR价值的慢慢淡去,这个领域渐渐容纳不下日益增长的强化学习研究生。

而在落地其他工业场景的时候,由于仿真器的不完善,导致强化学习难以开展智能体训练。如果仿真器投入程度不高,同时又存在sim2real这个难以逾越的问题,市场慢慢对其失去了信心。

大家只好开始自谋生路。

强化学习三阶段:


作为经历过二阶段的研究者们发现,强化学习落地的真正难点在于问题的真实构建,而非近似构建或策略求解等等方面的问题。所以首先强化学习的概念扩大了,从原先任务只有求解策略的过程是强化学习,变成了构建问题+求解策略统称为强化学习。

典型如offline model-based RL和RLHF,其中核心的模块变成了通过神经网络模拟状态转移函数和奖励函数,策略求解反而在方法论中被一句带过。我个人觉得这件事是具有强化跨时代意义的,因为理论上这个过程可以被解耦,变成跟强化学习毫无相关的名词概念,例如世界模型概念等等。非常感谢RL方向大牛研究者的持续输出,是他们工作的连续性,保证了强化学习的火焰没有在这次迭代中熄灭。

继续发展下去,人们发现:可以解决一切问题的强化学习被证明,没有有效的交互环境下的就没法达到目标,有这种有效交互环境的实际应用场景却非常少。导致把决策问题的过程步骤:问题建模、样本收集、策略训练、策略部署的周期拉得更长了,这几个步骤不是跟在线强化一样那么紧凑,是断开了链路的。

于是神奇的事情发生了:中间过程的任何一个步骤都变成了强化学习!

但实话实说,即使出现了这样程度的概念扩大,强化学习的应用落地仍然不太乐观。
直到大模型训练把整套逻辑发扬光大了。

强化学习四阶段(猜测未来):


直到现在,我们有一次在讨论强化学习和监督学习分界线的时候,大家都一时语塞。某数学系的老哥给出一个定义。

  • 监督学习优化的是 非参分布下的含参loss function
  • 强化学习优化的是 含参分布下的非参loss (cost/reward) function?

公式如下:

但我说这个公式可以做轻微推导:

这时我们得到了一个暴论:监督学习只是强化学习的一个特例。

具体的case也不难获得,例如在二分类问题中,状态是输入特征,输出是0/1,奖励是分类正确了给1,分类错误了给0。基于PG的推导公式跟二分类entropy loss是完全一致的。无监督的例子跟强化学习的关系也可以得到类似的推导。

那我们熟知的概念:机器学习分为监督学习、无监督学习和强化学习。

变成了:机器学习就是强化学习,监督学习和无监督学习只是其中的特例。

那么强化学习的应用也就会变得越来越多,让人们觉得它越来越有用。

后记:


写到这一块我开始杞人忧天,难以下笔。我开始思考这种发展对于RLer来说是否健康的。

持反对意见的领域就是文章开头的祖师爷sutton,祖师爷理论上是这一波RL概念扩大收益最大的人,但祖师爷在talking上表达了他的观点:

甚至在某次和小伙伴的交流中,祖师爷说RLHF是scam,持完全的否定态度。

但作为一个强化学习研究者,并尝试去进行AI应用落地的人来说,至少这波RL概念扩大,让RLer吃上了饭,甚至吃上了好饭,应该还是要对此心怀感激的吧。

编辑:王菁



关于我们

数据派THU作为数据科学类公众号,背靠清华大学大数据研究中心,分享前沿数据科学与大数据技术创新研究动态、持续传播数据科学知识,努力建设数据人才聚集平台、打造中国大数据最强集团军。




新浪微博:@数据派THU

微信视频号:数据派THU

今日头条:数据派THU

我觉得要看情况。如果问题本身就很适合用经典RL建模,那当然要坚持这些标准,毕竟这是RL的理论基础。但如果问题本身就比较复杂,难以准确定义状态和动作,那也没必要死守这些条条框框,可以尝试用一些更灵活的方法,比如函数近似、模仿学习等等。

我比较赞同Sutton的观点,对RLHF持否定态度。现在很多所谓的“强化学习应用”,只是借用了RL的名头,本质上还是监督学习那一套。真正的突破应该是算法和理论上的创新,能够解决之前解决不了的问题,而不是简单地扩大应用范围。

我觉得有两种选择。一种是坚守传统RL的阵地,继续研究经典的算法和理论,保持RL的纯洁性。另一种是拥抱变化,积极探索RL的新方向,将RL的理论与其他领域相结合,创造新的应用。两种选择都没有错,关键是要找到适合自己的道路。

我觉得两者都有。一方面,概念扩大确实会让人觉得应用变多了,就像本来只在游戏里用,现在推荐系统也说自己用了RL,肯定看起来更火热。但另一方面,这种扩大也确实反映了RL解决问题的思路在更广泛的领域被应用,从这个角度说,也算是一种突破吧。

不必过于担忧。任何学科的发展都会经历概念的扩大和泛化。关键在于我们能否在泛化的过程中,保持对核心问题的关注,并不断提出新的问题、发展新的方法。也许未来的某一天,我们会发现,现在看似泛化的方向,其实蕴藏着更大的机遇。

这取决于如何定义“有用”。如果“有用”指的是解决实际问题的能力,那么关键在于RL的核心思想(通过试错和奖励来学习策略)是否真的带来了性能提升,还是仅仅换了个马甲。如果是后者,那就是假象。如果是前者,那就是突破。需要具体问题具体分析。

我觉得最重要的是保持清醒的头脑,不要盲目跟风。要深入理解RL的本质,关注算法和理论的创新,而不是简单地扩大应用范围。同时,也要积极参与讨论,发出自己的声音,避免RL被过度泛化。

“老派”的标准保证了理论的严谨性,但同时也限制了RL的应用范围。现在很多实际问题都是复杂的、不确定的,很难完全满足这些标准。为了更好地落地,适当放宽标准也是可以理解的。但关键是要保持科学的态度,不能为了追求应用而牺牲理论的严谨性。

我认为“老派”的标准体现的是对问题本质的理解。定义状态空间、动作空间,本质上是在对问题进行建模。如果连问题都搞不清楚,就直接上算法,很容易南辕北辙。现在很多RL应用的问题在于,过于关注算法本身,而忽略了对问题的深入理解。