Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

Andrey Kurenkov作者Hope、爽爽、茶西、halcyon编译

非得从零开始学习?扒一扒强化学习的致命缺陷

Deepmind在Alphago上的成就把强化学习这一方法带入了人工智能的主流学习领域,【从零开始学习】也似乎成为了抛弃人类先验经验、获取新的技能并在各类游戏击败人类的“秘诀”。来自斯坦福的Andrey Kurenkov对强化学习的这一基础提出了质疑。本文中,他从强化学习的基本原则及近期取得的成就说起,肯定了其成果,也指出了强化学习的基础性局限。大数据文摘对本文进行了精华编译。

玩过棋牌游戏么?

假设你不会玩,甚至从来没有接触过。

现在你的朋友邀请你和他对战一局,并且愿意告诉你玩儿法。

你的朋友很耐心,他手把手教了你下棋的步骤,但是却始终不告诉你他所走每一步的含义,只在最后告诉你这盘棋的输赢结果。

对局开始。由于“没经验”,你一直输。但在经历了多次“失败的经验”后,你渐渐地发现了一些规律。

几个礼拜过去了,在几千把游戏实战的“磨练”下,你终于可以在对战中获得胜利。

挺傻的对吧?为什么你不直接问为什么下这个棋以及怎么下棋呢?

但是,这种学下棋的方法其实是今天大部分的强化学习方法的缩影。

什么是强化学习

强化学习是人工智能基本的子领域之一,在强化学习的框架中,智能体通过与环境互动,来学习采取何种动作能使其在给定环境中的长期奖励最大化,就像在上述的棋盘游戏寓言中,你通过与棋盘的互动来学习。

强化学习的典型模型中,智能体只知道哪些动作是可以做的,除此之外并不知道其他任何信息,仅仅依靠与环境的互动以及每次动作的奖励来学习。

先验知识的缺乏意味着角色要从零开始学习。我们将这种从零开始学习的方法称作“纯强化学习(Pure RL)”。

强化学习在西洋双陆棋和围棋这类游戏中被广泛应用,同时也应用于机器人技术等领域。

在传统的强化学习中,只有在最终状态才有非零奖励。这一领域的研究最近因为深度学习而再次受到关注,但是其基本的模型却并没有什么改进。

毕竟这种从零开始的学习方法可以追溯到强化学习研究领域的最初创建时期,也在最初的基本公式中就被编码了。

所以根本的问题是:如果纯强化学习没有什么意义,那么基于纯强化学习来设计AI模型还合理吗?

如果人类通过纯强化学习来学习新的棋类游戏听起来如此荒谬,那我们是不是应该考虑,这是不是一个本身就有缺陷的框架,那么AI角色又如何通过这一框架进行有效的学习呢?不依靠任何先前经验或指导,仅仅靠奖励信号来学习,是否真的有意义呢?

强化学习的基本公式

强化学习是否真的有意义?

关于这个问题,强化学习专家们众说纷纭:

有!纯强化学习当然有意义,AI智能体不是真正的人类,不用像我们一样学习。何况纯强化学习已经可以解决很多复杂问题了。

没有!从定义上看,AI研究包括让机器也能做目前只有人类能做的事情,所以跟人类智能来比较很合理。至于那些纯强化学习现在能解决的问题,人们总是忽视一点:那些问题其实没有它们看起来那么复杂。

既然业内无法达成共识,那就让我们来用事实说话。

基于纯强化学习,以DeepMind为代表的业内玩家已经达成了很多“炫酷”的成就:

1)DQN (Deep Q-Learning) —— DeepMind的著名研究项目,结合了深度学习与纯强化学习,并加入了一些别的创新,解决了很多以前解决不了的复杂问题。这个五年前的项目大大提高了人们对强化学习的研究兴趣。

毫不夸张的说,DQN是凭借一己之力重燃了研究者对于强化学习的热情。虽然DQN只有几项简单的创新,但是这几项创新对于深度强化学习的实用性至关重要。

虽然这个游戏现在看起来非常简单,仅仅是通过像素输入来学习,但在十年前,玩这个游戏是难以想象的。

2)AlphaGo Zero和AlphaZero——纯粹用于战胜人类的围棋、国际象棋及日本将棋的强化学习模型

首先来进行一个科普:AlphaGo Zero是谷歌DeepMinwd项目开发的最新的升级版AlphaGo。不同于原始的结合了监督学习强化学习方式的AlphaGoAlphaGo Zero单纯依靠强化学习和自我对弈来进行算法学习。

因此,尽管该模型也利用了一个预先提供的算法规则,即棋类的游戏规则和自我对弈来进行更可靠而持续的迭代更新,AlphaGo Zero更遵循纯强化学习的整体方法论:算法从零开始,通过学习结果的奖励信号反馈进行迭代。

由于它不是从人类身上直接学习游戏规则的,AlphaGo Zero也因此被许多人认为是一个比AlphaGo更具颠覆性的算法。然后就诞生了AlphaZero:作为一个更通用的算法,它不仅可以学习如何下围棋,还可以学习下国际象棋和日本将棋。

这是史上第一次出现用单一算法来破解象棋和围棋的算法。并且,它并没有像过去的深蓝计算机或者AlphaGo那样对任何一种游戏规则做特殊定制。

毫无疑问,AlphaGo Zero和AlphaZero是强化学习发展史上里程碑式的案例。

历史性的时刻——李世乭输给了AlphaGo

3)OpenAI的Dota机器人–由深度强化学习算法驱动的AI智能体,可以在流行的复杂多人对战游戏Dota2上击败人类。OpenAI在2017年在变化有限的1v1游戏中战胜了职业玩家的战绩已经足够让人惊叹。最近,它更是在一局复杂得多的5v5比赛中战胜了一整队人类玩家。

这一算法也与AlphaGo Zero一脉相承,因为它不需要任何人类知识,纯粹通过自我对弈对算法进行训练。在下面的视频里,OpenAI自己出色地解释了它的成就。

毫无疑问,在这种以团队合作为基础的高度复杂的游戏中,算法取得的好成绩,远远优于先前在Atari电子游戏和围棋上取胜的战绩。

更重要的是,这种进化是在没有任何重大算法进步的情况下完成的。

这一成就归功于惊人的计算量、已经成熟的强化学习算法、以及深度学习。在人工智能业内,大家普遍的共识是Dota机器人的胜利是令人惊叹的成就,也是强化学习一系列重要里程碑的下一个:

没错,纯强化学习算法已经取得了很多成就。

但仔细一想,我们就会发现,这些成就其实也“不过尔尔”。

强化学习的局限性

让我们从DQN开始回顾,在刚刚提到的这些案例中,纯强化学习到底存在哪些局限性。

它可以在很多Atari游戏中达到超人的水平,但一般来说,它只能在基于反射的游戏中做得很好。而在这种游戏中,你其实并不需要推理和记忆。

即使是5年后的今天,也没有任何一种纯强化学习算法能破解推理和记忆游戏;相反,在这方面做得很好的方法要么使用指令,要么使用演示,而这些在棋盘游戏中也行得通。

尽管DQN在诸如Breakout之类的游戏中表现出色,但它仍然无法完成像蒙特祖玛的复仇这样相对简单的游戏。

而即使是在DQN表现得很好的游戏里,和人类相比,它还是需要大量的时间和经验来学习。

同样的局限性在AlphaGo Zero和AlphaZero中也存在。

也就是说,它的每一种性质都使学习任务变得容易:它是确定性的、离散的、静态的、完全可观察的、完全已知的、单智能体的、适用于情景的、廉价的、容易模拟的、容易得分的……

但在此前提下,对于围棋游戏来说,唯一的挑战是:它具有庞大的分支因子。

所以,尽管围棋可能是easy模式下最难的一道题,但它仍然是easy模式。而大多数研究人员都认识到,现实世界的多数问题比围棋这类简单的游戏复杂得多。

尽管有很多卓越的成就,但AlphaGo的所有变体在本质上仍与“深蓝”(Deep Blue)相似:它是一个经过多年设计的、投入高达数百万美元的昂贵系统,却纯粹只是为了玩一款抽象的棋盘游戏——除此之外别无其他用途。

现在到Dota了。

是的,这是一个比围棋复杂得多的游戏,缺乏很多使游戏变得简单的特性:它不是离散的、静态的、完全可观察的、单智能体的或适用于情景的——这是一个极具挑战性的问题。

但是,它仍然是一款很容易模拟的游戏,通过一个漂亮的API来控制——它完全消除了需要感知或运动控制。因此,与我们每天在真实世界中解决问题时所面临的真正的复杂性相比,它依然是简单的。

它仍然像AlphaGo一样,需要大规模投资。许多工程师为了得到一个算法,使用长到离谱的时间来解决这个问题。这甚至需要数千年的游戏训练并使用多达256个的GPU和128000个CPU核。

因此,仅仅因为强化学习的这些成果就认为纯强化学习很强大,是不正确的。

我们必须要考虑的是,在强化学习领域,纯强化学习可能只是最先使用的方法,但也许,它不一定是最好的?

强化学习的根本缺陷——从零开始

是否有更好的方法让AI智能体学习围棋或Dota呢?

AlphaGo Zero”这个名字的含义就是指模型从零开始学习围棋。让我们回忆一下开头讲的那个例子。既然试着从头学起棋盘游戏而不作任何解释是荒谬的,那么AI为什么还一定要从零开始学习呢?

让我们想象一下,对于人类来说,你会如何开始学习围棋呢?

首先,你会阅读规则,学习一些高层次的策略,回想过去你是如何玩类似游戏的,然后从高手那里获取一些建议。

因此,AlphaGo和OpenAI Dota机器人从零开始学习的限制,导致他们和人类学习相比,依靠的是许多数量级的游戏指令和使用更原始的、无人能及的计算能力。

AlphaGo Zero的进展。请注意,要达到ELO分数为0,它需要一整天的时间和成千上万次的游戏(而即使是最弱的人也能轻松做到)。

公平地说,纯强化学习可以合理地用于诸如持续控制之类的“狭义”任务,或者最近的复杂游戏,如Dota或星际争霸。

然而,随着深度学习的成功,AI研究社区现在正试图解决越来越复杂的任务,这些任务必须面对现实世界中到复杂性。正是这些复杂性,我们可能需要一些超越纯强化学习的东西。

那么,让我们继续讨论我们的修正问题:纯强化学习,以及总体上从零开始学习的想法,是完成复杂任务的正确方法吗?

我们还应该坚持纯强化学习吗?

乍一看,这个问题的答案也许是:应该。为什么这么说呢?

从零开始的学习意味着它没有任何先入为主的主观因素,这样的话,经过学习的人工智能会比我们更加优秀,就像AlphaGo Zero一样。毕竟,如果人类的直接存在错误,那不就限制了机器的学习能力了么?

随着深度学习方法的成功,这个观点已经成为主流,虽然训练模型的数据量惊人,但是我们依旧只给予少量的先验知识

以前的非传统语音识别和端对端深度学习方法的图例,后者有更好的表现,并成为了现代语音识别的基础。

不过,让我们重新审视这个问题:结合人类的先验知识就一定会限制机器的学习能力么?

答案是否定的。也就是说,我们可以在深度学习的框架下(也就是只由数据出发),对手头的任务下达一定的指示,而不至于限制机器的学习能力。

目前,这个方向已经出现了诸多研究,相信这样的技术也能很快被应用到实际例子中。 

比如像AlphaGo Zero这样的算法,我们大可不必从零开始学习,而是在不限制其学习能力的前提下加入人类知识的指导。

即使你觉得这个方向不靠谱,坚持要从零学习,那纯强化学习就是我们最佳的选择吗?

以前的话,答案是毋庸置疑的;在无梯度优化的领域中,纯强化学习是理论最完备而方法最可靠的。

不过近期很多文章都质疑这个论断,因为他们发现了相对简单的方法(而且总体而言没那么受到重视的)、基于进化策略的方法在一些典型的任务中似乎和纯强化学习表现得一样好:

  • 《Simple random search provides a competitive approach to reinforcement learning》

  • 《Deep Neuroevolution: Genetic Algorithms Are a Competitive Alternative for Training Deep Neural Networks for Reinforcement Learning》

Ben Recht是最优化算法的理论与实践研究的带头人,他总结说:

我们发现随机搜索在简单线性问题中比强化学习更加优秀,比如策略梯度。不过,当我们遇到更加困难的问题时,随机搜索就会崩溃吗?并没有。

因此,并不能说强化学习是从零学习的最佳方法。

回到人类从零学习的问题上来,人类学习一个新的复杂技巧时就没有任何先验知识吗(比如组装一个家具或驾驶汽车)?其实并不是这样子的,对不对?

也许对于一些非常基础的问题来说(比如婴儿要学习的),我们可以从零开始,使用纯强化学习,但是对于AI领域中的很多重要问题,从零开始并没有特别的优势:我们必须清楚,我们想要AI学会什么,而且必须要提供这方面的演示和指导。

实际上,目前人们广泛认为,从零开始学习是强化学习模型受到限制的主要原因:

目前的AI是“数据依赖”的——大多数情况下,AI需要海量的数据才能发挥它的作用。这对于纯强化学习技术来说非常不利。回想一下,AlphaGo Zero需要上百万的对局来达到ELO分数为0的水平,而人类用很少的时间就能达到这个水平。显然,从零开始学习是效率最低的一种学习方法;

目前的AI是不透明的——在多数情况下,对于AI算法的学习,我们只有高层次的直觉。对于很多AI问题,我们希望算法是可预测和可解释的。但是一个什么都从零开始学习的巨型神经网络,其解释性和预测性都是最差的,它只能给出一些低层次的奖励信号或是一个环境模型。

目前AI是狭隘的——在很多情况下,AI模型只能够在特定领域表现的非常好,而且非常不稳定。从零开始学习的模式限制了人工智能学习能力。

目前的AI是脆弱的——AI模型只能把海量数据作为无形的输入进行泛化,但是结果非常不稳定。因此,我们只能知道我们要AI智能体学习的是什么。

如果是一个人,那么在开始学习前,应该能够对任务进行解释并提供一些建议。这对于AI来说,同样适用。

大数据文摘
大数据文摘

秉承“普及数据思维,传播数据文化,助⼒产业发展”的企业⽂化,我们专注于数据领域的资讯、案例、技术,形成了“媒体+教育+⼈才服务”的良性⽣态,致⼒于打造精准数据科学社区。

入门强化学习
6
相关数据
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

感知技术

知觉或感知是外界刺激作用于感官时,脑对外界的整体的看法和理解,为我们对外界的感官信息进行组织和解释。在认知科学中,也可看作一组程序,包括获取信息、理解信息、筛选信息、组织信息。与感觉不同,知觉反映的是由对象的各样属性及关系构成的整体。

阿尔法围棋技术

阿尔法围棋是于2014年开始由英国伦敦Google DeepMind公司开发的人工智能围棋程序。AlphaGo是第一个打败人类职业棋手的计算机程序,也是第一个打败围棋世界冠军的计算机程序,可以说是历史上最强的棋手。 技术上来说,AlphaGo的算法结合了机器学习(machine learning)和树搜索(tree search)技术,并使用了大量的人类、电脑的对弈来进行训练。AlphaGo使用蒙特卡洛树搜索(MCTS:Monte-Carlo Tree Search),以价值网络(value network)和策略网络(policy network)为指导,其中价值网络用于预测游戏的胜利者,策略网络用于选择下一步行动。价值网络和策略网络都是使用深度神经网络技术实现的,神经网络的输入是经过预处理的围棋面板的描述(description of Go board)。

机器人技术技术

机器人学(Robotics)研究的是「机器人的设计、制造、运作和应用,以及控制它们的计算机系统、传感反馈和信息处理」 [25] 。 机器人可以分成两大类:固定机器人和移动机器人。固定机器人通常被用于工业生产(比如用于装配线)。常见的移动机器人应用有货运机器人、空中机器人和自动载具。机器人需要不同部件和系统的协作才能实现最优的作业。其中在硬件上包含传感器、反应器和控制器;另外还有能够实现感知能力的软件,比如定位、地图测绘和目标识别。之前章节中提及的技术都可以在机器人上得到应用和集成,这也是人工智能领域最早的终极目标之一。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

监督学习技术

监督式学习(Supervised learning),是机器学习中的一个方法,可以由标记好的训练集中学到或建立一个模式(函数 / learning model),并依此模式推测新的实例。训练集是由一系列的训练范例组成,每个训练范例则由输入对象(通常是向量)和预期输出所组成。函数的输出可以是一个连续的值(称为回归分析),或是预测一个分类标签(称作分类)。

先验知识技术

先验(apriori ;也译作 先天)在拉丁文中指“来自先前的东西”,或稍稍引申指“在经验之前”。近代西方传统中,认为先验指无需经验或先于经验获得的知识。先验知识不依赖于经验,比如,数学式子2+2=4;恒真命题“所有的单身汉一定没有结婚”;以及来自纯粹理性的推断“本体论证明”

语音识别技术

自动语音识别是一种将口头语音转换为实时可读文本的技术。自动语音识别也称为语音识别(Speech Recognition)或计算机语音识别(Computer Speech Recognition)。自动语音识别是一个多学科交叉的领域,它与声学、语音学、语言学、数字信号处理理论、信息论、计算机科学等众多学科紧密相连。由于语音信号的多样性和复杂性,目前的语音识别系统只能在一定的限制条件下获得满意的性能,或者说只能应用于某些特定的场合。自动语音识别在人工智能领域占据着极其重要的位置。

深蓝(超级电脑)技术

深蓝是由IBM公司开发的一款专门用于分析国际象棋的超级计算机。1996年2月,深蓝首次挑战国际象棋世界冠军俄罗斯选手卡斯巴罗夫(Garry Kasparov),但以2: 4落败。1997年5月,改良后的深蓝在比赛中击败卡斯巴罗夫,成为第一个在标准比赛时限内击败国际象棋世界冠军的电脑系统。比赛结束后,IBM公司退休了深蓝。

强化学习技术

强化学习是一种试错方法,其目标是让软件智能体在特定环境中能够采取回报最大化的行为。强化学习在马尔可夫决策过程环境中主要使用的技术是动态规划(Dynamic Programming)。流行的强化学习方法包括自适应动态规划(ADP)、时间差分(TD)学习、状态-动作-回报-状态-动作(SARSA)算法、Q 学习、深度强化学习(DQN);其应用包括下棋类游戏、机器人控制和工作调度等。

推荐文章
暂无评论
暂无评论~