Richard S. Sutton 教授被认为是现代计算的强化学习创立者之一。他为该领域做出了许多重大贡献,包括:时间差分学习(temporal difference learning)、策略梯度方法(policy gradient methods)、Dyna 架构。
但惊人的是,Sutton 博士进入的第一个领域甚至与计算机科学无关。他先是获得了心理学学士学位,然后才转向计算机科学。但是,他并不认为自己转变了方向。他说:「和大多数心理学家关注的问题一样,我也对学习(learning)的工作方式很感兴趣,我在 1977 年获得了心理学学士学位;那时候学习在计算机科学领域还并不是很流行。因为我对人工智能或与人工智能相关的一切感到很好奇,所以我就选择了就读计算机科学的硕士,然后又读了博士。我对人工智能的看法受到了心理学领域关于人类和动物学习方面的影响——这也是我的秘密武器,因为人工智能领域的很多人都没有我这样的背景。我从心理学开始的,并且从中汲取了大量的灵感。」
1984 年,Sutton 博士在马萨诸塞大学安姆斯特分校(University of Massachusetts at Amherst)获得了博士学位。在 1985 年到 1994 年之间,他都是 GTE Laboratories 的计算机和智能系统实验室的技术组的主要成员。1995 年,他以资深研究科学家的身份回到了马萨诸塞大学安姆斯特分校并在那里一直呆到了 1998 年,之后他加入了 AT&T Shannon Laboratory 担任人工智能部门的主要技术组成员。他的研究兴趣围绕着决策者与其环境交互时所面临的学习问题,他将其看作是人工智能的核心问题。他也对动物学习心理学、连接网络(connectionist networks)、以及广义上的能够持续改进自己对世界的表征和模型的系统。2003 年之后,他成了阿尔伯塔大学计算机科学系的教授和 iCORE Chair,在这里他领导着自己的「强化学习与人工智能实验室
这个实验室的名字 RLAI 似乎在说明强化学习(RL)是所有人工智能问题的解决方案。但是,Sutton 博士在这次采访之中给了我们一个不同视角的解释。他指出有些人认为强化学习只是人工智能问题的强化,但实际上强化学习问题是实现人工智能的一种抽象的方法。他说:「我想说我们正在使用一种实现人工智能的方法,『强化学习与人工智能』是很有意思,其中的英语单词『and』意味着要么是两个单独的主题,要么就是互相包容的,它可能是『and』,也能是『or』。因为强化学习既是人工智能的一个子集,也是人工智能的一个源头。其中的关系挺模糊的。我们也仍还在寻找答案。」
强化学习是现在人工智能领域里面最活跃的研究领域之一,它是一种用于学习的计算方法,其中会有一个代理在与复杂的不确定环境交互时试图最大化其所收到的奖励(reward)。现在,如果你是一个强化学习的初学者,由 Richard Sutton 和 Andrew Barto 合著的《Reinforcement Learning : An Introduction》可能就是你的最佳选择。这本书提供了关于强化学习的简单明了的关键思想和算法的解释。Richard Sutton 和 Andrew Barto 的讨论从该领域的知识基础的历史延伸到了最新的发展的应用。但是,在 20 世纪 70 年代的时候,尽管机器学习被人所知且日益流行,但那时还没有出现强化学习这样的东西。
近日,机器之心走进了阿尔伯塔大学与这位强化学习的教父聊了聊。让我们看看 Sutton 在这次独家专访中说了些什么。
机器之心:强化学习是如何起步的?编写算法的起点是什么?
Sutton: 这一直以来都是一个明显的思想——一个学习系统想要一些东西而且某些类型的学习方式缺失了。在 20 世纪 70 年代,Harry Klopf(1972,1975,1982)写了几篇解决类似问题的报告。他认识到适应性行为(adaptive behavior)的关键方面是失败(being lost),而那时候学习领域的研究者几乎都将关注的重心移到了监督学习上面。试错学习的关键思想却缺失了。我们试图弄明白其中的基本思想,然后发现他是对的。这一思想还从未在任何领域得到过研究,尤其是在机器学习领域;控制论、工程学和模式识别等领域也都没有研究——所有这些领域都忽略了这个思想。你可以在 50 年代看到一些早期的研究工作,那时候有人谈论过试验神经(trial neuro),但最后它还是变成了监督学习。它有目标和训练集,并且尝试记忆和从中进行归纳。
我们现在在谈论深度学习和强化学习,这很有意思。最开始的时候,情况也是类似——试图将强化学习和监督学习区分开。我们研究的目的是获得一个可以学习的系统,那就够了。所以强化学习找到了一种可以表现和最大化这个世界的方法,而监督学习只是记忆被给出的样本然后将其泛化到新样本上——但它们需要被告知该做些什么。现在,强化学习系统可以尝试很多不同的事物。我们必须尝试不同的事物,我们必须搜索动作和空间或定义学习来最大化世界。这个思想后来被丢弃了,Andrew Barto 和我则逐渐意识到这并没有出现在之前的研究中,而这是我们需要的。简单来说,这就是我们成为了先驱的原因。
编辑注:实际上,自 1979 年以来,Sutton 博士就一直在开发和推广强化学习。和其他人一样,Sutton 博士感觉到强化学习已经在早期的控制论和人工智能研究中得到过了探索。尽管强化学习显然受到最早期的一些关于学习的计算研究的启发,但这些研究中的大部分都转向了其它方面,比如模式分类、监督学习和适应性控制,或他们整体上放弃对学习的研究。此外,那时候计算机的计算能力还是很有限的,所以要将强化学习应用到真实世界问题上是很困难的,因为强化学习涉及到大量试错,之后才能收敛到一个最优策略,这可能会需要非常长的时间。
机器之心:你怎么看待强化学习自 20 世纪 70 年代以来的发展?因为那时候看起来强化学习还需要长时间的发展而且进展缓慢,你为什么还会对其有信心?
Sutton: 我不同意你所说的强化学习进展很慢的说法,但我确实同意计算资源给这一领域带来了很大的影响。我们需要时间等待可用的硬件。尽管那时候对深度学习来说还有一点早,它成功地使用了大量的计算提供助力。很长一段时间以来,人们都在说我们会在 2030 年拥有足以支持强人工智能的算力。但我认为这不仅仅依赖于廉价的硬件,还依赖于算法。我认为我们现在还没有强人工智能的算法,但我们也许能在 2030 年之前实现它。
机器之心:那么在 2030 年之前,硬件和软件哪一个更加关键?
Sutton: 硬件优先还是软件优先,这是个大问题。我们需要软件来测试我们的硬件,我们也需要可用的硬件来推动人们研发软件。在有限的计算资源上研究和工作,即使最聪明的人也不能带来很大的价值。即使是在 2030 年我们有了合适的硬件,我们可能仍然需要 10 年以上的时间等待最聪明的研究者研究出算法。现在你理解我的推理过程了,你可以自己重新判断一下或改变你原来的想法。
机器之心:近年来,人工智能已从心理学与神经科学的研究中受益良多,强化学习和卷积神经网络都是这样的例子。在你的新版《Reinforcement Learning: An Introduction》中,你也加入了相应的两个章节。心理学/神经科学对人工智能/强化学习有多重要?
Sutton: 强化学习最初受到大脑运行机制的启发。目前认为大脑的运行机制类似于强化学习。这也被称作是大脑中世界系统的标准模型(standard model of world system)。之所以称之为标准模型并不是因为它是完美的,而是因为所有人都在使用它。这就像当你成名后所有人都知道你,大脑奖励机制的理论也是一样的套路。我们的大脑是研究心理学和动物行为学的完美模型。另外一个重要的事情是:这个模型是基于学习的,你可以进行规划,这是对于各种可能发生情况的响应。这也是一个强化我们进行规划的方式的模型,让我们可以从不同的后果中学习经验。考虑到两者的关系,人工智能研究者正在试图找出意识和心灵的本质。
强化学习研究决策和控制,试图让机器在未知环境中做出最佳决策。深度强化学习研究在强化学习算法中使用了神经网络,让原始感官输入到原始电机输出的映射成为可能,消除了人工设计的过程。因此,如今深度强化学习(DRL)已经成为解决诸如游戏、决策问题、机器人控制等许多类型的问题的非常流行的方法。
编辑注:Sutton 认为强化学习和深度学习的整合是很好的技术演进。在特定领域内(如计算机视觉(CV)),他说道:「你完全可以不用强化学习就完成一个计算机视觉,用已有数据集监督学习正常训练的样本,但它不会有深度学习做出的结果那么好。我认为那会需要一点聪明和想象力才能做到。我认为计算机视觉如果使用一点强化学习的话,将会出现一个技术突破。」
Sutton: 强化学习的最大优势在于,你可以在正常运行中学习。传统的深度学习方式需要使用标记好的数据集进行训练,而强化学习并不需要这样做。你可以发挥想象力改变设定,因为你虽然没有足够的数据,但你知道在正常情况下应该怎么做。
AlphaGo 在围棋上的胜利则是另一回事。毫无疑问 AlphaGo 是一个伟大的成就,它的水平提高速度是前所未有的。AlphaGo 的成就很大程度上归功于两种技术的整合:蒙特卡洛树搜索和深度强化学习。
机器之心:让我们以 AlphaGo 作为例子。为什么自我对弈很重要?自我对弈有什么缺陷吗?人工智能可以在自我学习的过程中持续提高性能吗?
Sutton: 自我对弈可以生成无限多的训练数据。你不需要人力来为这些训练数据做标注,这是我们都希望得到的。由此观之,我们也可以让计算机在模拟真实环境中生存和竞争。当然,AlphaGo 缺乏一个关键要素:理解世界运行机制的能力,例如对物理定律的理解,以及对物体动作反馈的预测。
这里就出现了一个问题,你只能在虚拟环境中自我对弈,而在现实环境中我们没有类似与游戏的规则可循,现实生活是无限美好的(笑)。你知道当你按下手机上的接听键接听一个来电,将会有一些事会发生。但你无法预测会发生什么,这不是游戏里已经安排好的设定,很多事情你不知道结果会是什么。在游戏中自我对弈的缺陷就在于此。
机器之心:深度学习需要大量数据。强化学习通常也需要提供大量样本进行训练。但是最近提出的 one shot learning(一次性学习)试图用很少的样本进行学习,这有点像是人类学习的方式了。你认为 one shot learning 可以用在强化学习中吗?
Sutton: 目前的学习方式是慢速的,我认为 one shot 方式可以加快机器学习的速度。人类可以从一些经验中很快地学习到大量知识,这意味着我们可以进行 one shot learning,从很少的经验中汲取大量有用知识。
机器之心:谈完了强化学习的优势与技术突破,让我们来谈谈它的短处。你认为去强化学习和广义上的人工智能的短处在哪里?
Sutton: 有几点非常重要,其中包括一个技术问题。先来谈谈大家都能理解的吧,这也是最大的问题。强化学习宽泛地说来,就是让机器可以理解这个世界,随后利用自己所学的知识完成人类指定的任务,纠正自主行为。像 AlphaGo 和深蓝这样的程序不需要知道世界运行的规律。它们知道下一步棋可能的落子位置,知道所有下一步会带来局势上的优劣。人造系统现在已经可以在这方面做得很好了。我们希望把这种决策和预测的方式应用到其他领域中去,但这需要一种新的机制,需要让机器对世界建模。我认为这是目前最大的问题。我们现在对动态的真实世界缺乏有效的模型,无法让机器在其中对抉择与抉择的后果进行模拟以不断学习。一旦我们做到了这一点,我们就会构建出更强大的人工智能。
另外一些问题有关知识。机器要以何种方式作出预测?我们人类是以何种方式作出预测的?我们会试着用不同方法进行尝试看看后果,但不会全部试到全部结束。例如,当你走进一个房间,右手边是一杯水,有一把椅子,还有一些其他家具和人。你对房间里其他人的交流,或者和物体的交互会获得不同反馈,但人类只会去做一点点交互——也许永远不会拿起那杯水——因为我看着它就知道那是怎么回事了。这种从特定经验中学到的东西,我们称之为离策略(off-policy)学习,这种方式是目前强化学习领域中的最大挑战。
机器之心:这很有趣。我们还想知道更多的细节,如何更好地理解离策略(off-policy)学习?
Sutton: 想要有效地了解离策略功能,你需要规模化的学习方式、需要使用未经处理的数据,而不必要总是有标签的图像的训练集,只需要通过纯粹地与世界互动来获取经验,并学习世界的运行方式……这种强化(学习)的方法是非常有趣的思路,人们应该尝试去做。
机器之心:感谢你的精彩论述。最后我们还想问问,你对强化学习的初学者有什么建议?
Sutton: 学习基础知识,先找一个简单便宜的应用。从数据中推导东西的方式是有已知确定结果的。想象一下电梯,也许在午夜时你可以把它关闭来节约能源,当有人来乘坐时再把它打开。所以你需要为此设定一个时间表,收集信息在这里就很重要了,如果没人乘坐,开启的电梯就是在浪费能源。训练数据也是同样的道理,你不应该在缺乏信息的时候进行训练,请记住这个准则。
原文 http://www.jiqizhixin.com/article/2061