请帮忙搞个AlphaGo和Watson的SWOT分析

本章描述了强化学习的几个案例研究主要想表现在实际应用问题中的一些权衡与问题。比如我们很看重专业知识移植到问题的构建和解决方法中的方式同样我们也很關注对于成功的应用都很重要的问题表达。

强化学习中最惊人的一个应用之一是Gerald Tesauro做的backgammon游戏的算法他的程序,也就是TD-Gammon不需要游戏背景知識但是仍然能够接近这个游戏的世界大师级别。TD-Gammon中使用的学习算法是TD( λ \lambda λ)与非线性函数逼近的直接结合非线性函数逼近使用的是通过反姠传播TD error来训练的多层ANN网络。

Backgammon是世界上玩的最多的游戏之一游戏有15个白子15个黑子和一个有24个位置的棋盘,每个位置叫一个点如图展示了┅个游戏的棋盘。棋盘中是从白方的视角此时白方掷了一次骰子,两个骰子分别是5和2代表白方能够移动两次单个白子,分别移动5个位置和2个位置这两次可以选择同一个子。比如他可以从位置12移动一个白子到17移动另一个到14。白方的目标是把所有的白子都移动到19-24上然后紦棋子拿下棋盘第一个拿掉自己所有棋子的人获胜。还有一些复杂的规则比如如果黑棋子从24移动到22,那么这个白子会被hit然后放到中間的长条里,长条里现在有个黑子但是如果一个点上有两个及以上白子,那么黑子不能移动到这个点比如白方就不能用5和2这两个数字迻动位置1上的白子,因为3和6上都有2个以上黑子连续制造这种阻碍对方移动的棋子是这个游戏的主要策略。
backgammon还有一些更深的设定这里不提有30个棋子以及24个位置(考虑棋盘外和长条,有26个)可能的移动方式是非常大的数量,远超物理可实现的计算机可以储存的范围每一佽投骰子都有大约20个合法移动,考虑到未来的移动那么这个游戏的搜索树可能有超过400个有效分支参数,这是不可能使用传统启发式搜索來实现的

另一方面,这个游戏和TD算法又很好的匹配尽管游戏高度随机,但是这个游戏的状态还是可以描述的每次游戏的最后结果可鉯看作是一次移动序列的最终反馈。另一方面目前描述的理论结果不能有效地应用到这个问题。因为游戏的状态太多了不可能建立状态嘚查找表另外对手的移动也是一个不确定和时变量的来源。

(s,w)来表示每个状态s下获胜的概率为了得到这个概率,奖励值设定为每一步都為0除了最后获胜的那步。TD-Gammon使用了一个标准的多层ANN来实现这个值函数就像是下图显示的那样(实际使用的网络最后一层网络有两个额外嘚单元表示每个玩家的获胜率)。


网络有一个输入层一个隐藏层和一个输出层单元组成输入时backgammon位置状态的表示,输出是那个位置状态的評估值

TD-Gammon的第一个版本TD-Gammon 0.0中,位置状态的表示比较直接没有用到什么游戏背景知识。下面介绍一下输入的特征向量网络一个有198个特征维喥。每个点使用了4个单位来表示白子的数量对于只有一个白子的点用1000表示,有两个用0100表示有三个的话用0110表示,多于三个那么用0101表示

對24个位置每个用4位表示白子,4为表示黑子就有了192个。剩下的6个有两个表示的是中间的白条有几个黑子和白子两外两个表示成功从棋盘Φ拿下来的黑子和白子的个数。最后两个表示本方是执黑子还是白子他使用了非常直接的方式表示棋盘的状态但只是用了较少的变量。還对每个概念上相关的可能性都提供了一位特征而且把它们都放进了0或1的范围。

有了棋盘状态的表示值函数的计算就通过标准的算法來进行。从输入开始每个单元都被加权求和放进隐藏层。隐藏层j的输出h(j)是加权求和后的非线性sigmoid函数结果sigmoid的输出介于0-1之间,自然的解释昰表示一种概率

TD-Gammon使用了12.2节描述的半梯度形式的TD( λ \lambda λ)算法,通过误差后向传播算法来进行梯度的计算公式为:

为了应用学习算法我们需偠一些游戏对局的数据。Tesauro通过让两个程序进行互相对战获取数据每次移动TD-Gammon考虑接下来20个可能的骰子情况以及相应的局势。结果位置状态昰6.8节讲的afterstates值函数网络是估计这个状态对应的值。Tesauro把算法实现为完全的增量形式也就是说每次移动都进行更新。

网络参数初始设定为随機数字因此刚开始的对局是很随机的,因此刚开始的表现很差一局要进行上十万次的移动才能结束。但后来性能越来越好

通过自我對弈300000局,TD-Gammon 0.0据说大致能够打败以前最好的程序这很惊人因为之前最好的程序用了人类专家的移动方式来进行训练,而TD-Gammon 0.0基本是零背景知识

咜的成功暗示了一个简单的调整:增加backgammon游戏特征来表示但是让它们进行自我对弈。这就是TD-Gammon 1.0之后的版本TD-Gammon 2.0和2.1又添加了two-ply的搜索过程。最终版本嘚3.0和3.1使用了160个隐藏层和three-ply的搜索之后的工作他还加入了Trajectory Sampling的方法而非全量搜索,这带来了更低的错误率但依然保持合理的运行时间

TD-Gammon对于最恏的人类选手如何玩这个游戏也产生很大的影响。

在Tesauro的TD-Gammon之前一个重要的先行者是Arthur Samuel在构建学习玩checkers程序时候的研究工作Samuel是最先使用启发式搜索和现在叫做TD学习法的人之一。我们很重视Samuel的方法和现代强化学习算法之间的关系并尝试表达一部分Samuel使用它们的动机

Samuel最开始在1952年为IBM701写一個玩checkers的程序。他的第一个学习算法的程序在1955年完成并且在1956年进行电视展示后来的版本取得了不错的游戏水平,虽然还没到专家级

Samuel的程序每次在当前位置进行预先的搜索,使用了现在叫做启发式搜索的方法来决定拓展搜索树的方向和何时停止搜索最终的棋盘位置使用一個线性逼近的值函数来评估。Samuel采用了Shannon的很多建议而且采用了它的minimax方法来找到当前最优的动作。从最后结果的评估结果开始回溯棋盘上嘚每个局势都通过参考一直采用最优动作带来的最终结果来进行评估得分。这一点基于程序会每一步都采取最优动作的假设来决定而且假设对方会尽可能最小化这个评估得分。当minimax算法到达搜索树的根节点也就是当前位置的时候,会产生一个在这些假设下的最优动作当嘫也采用了一些其它的复杂算法比如alpha-beta剪枝。

Samuel使用了两种主要的学习方法最简单的他叫做rote learning。它很简单由存储每个之前遇到过的棋盘局势鉯及评估值和minimax过程组成。结果是如果之前遇到过的局势再次被作为搜索树结束为止被遇到那么搜索树可以直接利用存储的值进而极大减尐搜索树的层数。最初的问题在于这个算法并不是直接朝着能够获胜的方向前进Samuel通过在每一次从minimax搜索树反馈回评估值时(一个ply)都给当湔局势对应的值减去一个小值来给了它一个“方向感”。Samuel觉得这个方法对最终胜利很重要rote learning算法带来了很缓慢但是连续的进步,特别是对開局和结束的时候很有效果它的程序后来结果是一个比普通新手要好一些的水平。

学习的重要想法也就是说一个状态的值应该和可能嘚以后状态的值相等。他的方法在概念上和Tesauro在TD-Gammon中使用的方法一样下图表示了Samuel算法的更新过程。每个空心圆表示下一步可能的动作实心嘚表示对手的动作。每次更新根据每一次每个人动作之后的状态来决定评估值更新从第二个人移动后的局势开始向着minimax算法的方向进行。整个过程如图所示:

Samuel没有加入显示的奖励最重要的特征是piece advantage特征,也就是对于当前局势下的每个棋子的数目对比敌方棋子的优势特征他對于这个特征中每个棋子进行了固定权值的加权求和作为评估值。他的程序目标就是促进本方棋子数目的优势程度这个优势程度在checkers里和輸赢高度相关。

但是Samuel的学习算法可能丢掉了一个完备的TD算法中一个重要的部分TD学习法可以被看成是一种让它的评估值函数与其自身一致嘚方式,这在Samuel的算法里可以看出来但是同样需要一个把值函数和状态的真实值贴近的方法。通过奖励值和discounting法以及给最终状态一个特殊对待都能够促进这个目标但是Samuel的算法里没有奖励值也没有对于结束状态的特殊对待。Samuel说自己的值函数本来也应该可以仅仅通过对每个局势給出固定的值来和真实值保持一致他希望通过给每个棋子一个固定的较大的权值来抑制这种结果。但是尽管抑制了找到无用评估函数的概率却不能够禁止这种结果。(这几句不太懂)

因为Samuel的学习过程没有被限制为只能找到有用的评估函数因此有可能随着更多经验算法變得更差。Samuel确实也遇到了这个情况他解释为可能是陷入了本地最优,但实际上有可能是算法结果和一个与输赢无关的评估函数保持了一致

不考虑这些潜在的问题,Samuel的checkers程序得到了一个比平均更好的结果这个程序包含了搜索所有的特征来找到对于构成评估函数最有用的特征的能力。Samuel的checker-playing程序被大家看作是人工智能和机器学习的一个重要成就

大部分电脑中使用DRAM做内存。Ipek等人设计了一个强化学习算法来改进DRAM的控制器算法表示这个改进可以极大提高程序执行的效率。他们的想法来源于意识到当前的控制器都没有利用过去对于动作调度的经验以忣没有考虑长期的调度决策结果

DRAM中每个单元阵列都有一个缓存行,它被用来向阵列中传输数据或者从其中读取激活动作叫做“opens a row”,就昰把命令中对应位置的内存数据传输到缓存行中当一行打开之后我们又可以对其进行读写操作。每个读操作从缓存行中传递一个字长的數据到外部的数据总线中每个写操作从外部总线中传递一个字长的数据到这个缓存行中。之后会接到另一个激活动作打开另一个地址讀写另外的内存单元。读写当前已经打开的行会比读写新的行更快因为不需要额外的充能和打开操作。这也叫座row locality性质一个内存控制器會保有一个内存命令队列,队列里保存从对应的芯片上发来的读写内存的请求控制器需要处理这个内存系统的指令来解决请求,而且需偠很多的时间限制

控制器的策略极大地影响内存系统的性能。最简单的调度策略就是根据命令到达的先后顺序进行处理但是有时候调整执行的顺序会取得更高的性能。他们把调度的过程建模为一个MDP过程状态是指令队列的内容,动作是对于DRAM系统的指令:prechargeactivate,readwrite和noOp。读写嘚动作奖励是1其他动作是0。状态转移被看做是一个随机过程因为到达指令队列的指令是随机的。对这个系统来说每个状态可行的动作佷重要这里需要保证与 DRAM系统的一致性,因此对于每个状态他们都定义了一组可行的动作这也解释了为什么有noOp这个动作。

这个调度算法選用了Sarsa算法来进行动作值函数的学习状态被表示为一个六个整数表达的特征。算法使用了tile coding加hashing实现的线性函数逼近tile coding有32个方格,每一个表礻256个 动作值

状态特征包括指令队列中的读请求数量,写请求数量等等一个有趣的事情在于在MDP中使用的状态表示和得到可行动作时使用嘚状态表示不一致。因为Tile coding的输入是从指令队列的内容中衍生的因此和硬件实现的很多限制有关。这样动作限制保证了算法的exploration不会影响整個系统的完好

因为这个任务的目标是完成一个能够及时处理片上指令的调度控制算法,因此需要考虑硬件实现具体不说了。

Ipek在仿真环境中评估了他们的算法与其他三个控制器算法最终得到的结果是他们的算法能够极大地提高储存器的性能。但是在片上实现一个机器学習算法代价太大因此这个算法没有被用到芯片上。尽管如此他也可以说他们的结果能够比较简单地提高内存控制器的性能而不用选择更加复杂更加难以实现的方式来达到同样的效果

将强化学习算法应用到实际问题中的一个最重要的挑战就是如何表示和储存值函数或者策畧。不过不是之前讲的那些能够建立查找表的状态很有限的问题那么必须要使用参数化的函数逼近方法。无论线性还是非线性函数逼菦都依赖于能够表达问题状态的特征表示。大部分成功的强化学习应用都很大程度归功于基于人类只是或者特定问题了解的精心设计的特征表示

谷歌DeepMind的一组研究者开发了一个惊人的应用实例。例子中的一个深度多层ANN能够自动化进行特征设计过程多层ANN从1986年开始就被用在强囮学习中用来函数逼近,也通过将反馈传播与强化学习结合取得了一些惊人成就比如之前讲的TD-Gammon和Watson的例子。这些应用都是受益于多层ANN学习任务相关的特征的能力但是这些例子里都需要将输入表示为针对特定问题的设计好的特征。

Mnih和他的合作者发明了一个强化学习算法叫做deep Q-network(DQN)它结合了Q-learning算法和一个深层卷积ANN。在他之前卷积神经网络也取得了很多惊人结果但是没有和强化学习广泛结合。他们使用了DQN来表明┅个强化学习智能体不需要依赖于针对特定问题的特征集合就能够达到一个很高的能力级别为了说明这一点,他们使用DQN通过一个游戏模擬器完了49款不同的Atari 2600的游戏算法对于49款游戏每一款都学出来不同的策略,而算法对于不同的游戏都使用了相同的输入和网络结构以及参数深度卷积神经网络学习到把原始的对于每个游戏都一样的输入变形为能够针对不同游戏的值函数需要的表达。这些值函数表达对于每个遊戏达到高水平是必须的

DQN和TD-Gammon算法一样都使用了多层ANN来作为一个半梯度形式的TD算法的函数逼近,它们的梯度通过反向传播来计算但是这裏使用的是半梯度形式的Q-learning算法而不是TD( λ \lambda

在描述DQN算法细节之前先看看它能够到达的游戏水平。Mnih他们比较了DQN和当时纸面成绩最好的人类测试员囷随机选择动作进行对比纸面成绩最好的系统是使用了线性函数逼近加上针对游戏设计特定特征的系统。DQN通过与游戏模拟器进行五千万幀图片的交互来学习一个游戏这对赢了大概38天的游戏经验。测试的所有游戏中DQN在除了其中6款外的所有游戏中都比之前最好的系统玩的哽好,也在22款游戏中玩的比人类选手好Mnih总结认为DQN算法学习到的游戏水平在46个游戏中的29个中达到或超过了人类水平。

对于一个人工智能系統达到这个水平的性能已经非常惊人了,更加惊人的点在于达到这个水平的是同一个学习系统而且不依赖于任何针对游戏的调整

一个囚玩这49款Atari游戏时看到的是210x160像素点的图像帧,刷新频率60Hz且可能有128种颜色原则上应该就直接输入这些图像,但是为了节省空间Mnih预处理了这些图像得到了84x84的色彩阵列。因为游戏中很多状态没法从图像上得到Mnih存储了4个最近的图像帧,所以输入为84x84x4的维度这没有将所有游戏的部汾不可见性去除,但是确实让过程更加的马尔科夫化了一个重要的一点是,这些预处理对于46个游戏都是相同的由于没有其它的游戏知識,我们认为这个输入向量对于DQN是原始输入

DQN的基础结构和深度卷及网络相同。DQN有三个隐藏层接了一个全连接层,之后是一个输出层這三个连续的隐藏卷积层制造了32个20x20的特征映射,64个9x9的特征映射以及64个7x7的特征映射。每个特征映射的激活函数是rectifier函数(max(0,x))第三个隐藏层嘚这x7)个单元都连接到全连接层的512个单元,之后都连接到输出层的18个单元这18个单元每个都对应游戏中的可能动作。可以看作是有18个网络烸一个输出都对应着一个动作的概率实际上这些网络共享前面几层,但是输出层使用不同的方式利用这些共享网络提取出的特征

DQN的奖勵信号表明每一个时间步骤到下一步的游戏得分的变化:增加得到+1奖励,减少-1不变为0。DQN使用的是 ? \epsilon ?-greedy策略随着前一百万帧 ? \epsilon ?线性变尛,后面不变其他的参数,比如学习步长discount rate和一些其它用来搜索之类的参数都固定不变。

DQN在选择一个动作之后游戏模拟器执行动作然後反馈一个奖励值和下一帧图像。这些图像再放进四帧的栈中之前进行预处理先不管Mnih对Q-learning算法的改进,DQN使用了以下的半梯度法的Q-learning算法来更噺网络的权值:

Mnih在基础的Q-learning算法上进行了三种改进第一,使用了一种叫做experience play的方法这个方法把以前每个时间步的经验都存起来用来之后的權值更新。每次游戏模拟器在当前状态执行完动作转移到下一个状态它都会把 ( S t , A t , R t + 1 , S t + 1 ) memory里。这个存储空间存储了同一个游戏的很多次游戏经验烸个时间步的Q-learning更新都是通过从这个memory里随机采用出的四元组进行的。状态 S t S_{t} St+1?而是随机的一个没有关联的状态因为Q-learning算法是off-policy算法,因此不需要利用一个有关系的轨迹序列

这个方法提供了很多优势。能够从经验中更加高效地学习也能够减小每次更新的方差,因为每次更新一个batch內遇到的都是没有关系的四元组并且通过移除掉当前连续经验对于当前权重的依赖性,更加减少了不稳定性的来源

第二点改进也是提高稳定性。像其它bootstrap的算法一样Q-learning算法的更新目标依赖于当前动作值函数的估计值。如果使用了参数化函数逼近方法那么正在更新的参数囷目标值函数估计使用的是同样的参数。之前11章中讲过这会导致抖动或者发散

为了解决这个问题,Mnih使用了一个让Q-learning算法更加接近监督学习算法的方式每次经过一个固定数目C次权值更新,算法都把当前权值w塞到另一个网络中并存起来在以后C次更新w时保持不变。而这个权值鈈变的网络的输出作为Q-learning算法更新时的目标值的计算基础即:

Mnih在其中5个游戏中训练和大量的轮次来对比不同改进对于DQN算法性能的影响。他們使用了四种组合模式分别对应是否添加experience replay和重复的用来输出更新目标值的网络的组合。数据表明每种改进都能极大提高算法性能而组匼起来提高的最明显。他们还对比了和线性函数逼近的性能对比结果里深度卷积网络的版本效果提高惊人。

人工智能里一个永恒的目标僦是能够制造出能够解决不同任务的智能体机器学习对于完成这个目标的期望被需要针对问题的特征所打击。而DeepMind的DQN算法作为完成一个单個智能体对应不同任务的目标的里程碑这个算法并不是学出一个能够解决多种问题的智能体,而是表明深度学习能够减少甚至去掉对于針对问题的设计和调整但是在一些需要人类额外知识的游戏里DQN算法表现得很差。尽管还有一些局限但是DQN通过让人印象深刻地展现出组匼强化学习和现代深度学习方法的潜力,极大地提高了机器学习的最好表现

个性化网站服务,比如新闻或者广告的推送是提高网站的用戶满意度的一种方式也是提高一个市场份额的手段。强化学习系统可以通过对用户返回的相应调整来改进推荐策略

在市场营销中有一個用了很久的方法叫做A/B测试法。这是一种简化的强化学习算法就像是一个有两个按钮的老虎机,选择A或B两种形式哪种是用户更喜欢的洇为它是non-Associative的,所以无法个性化内容推送通过添加用户的画像可以支持个性化服务。这样就可以构成一个contextual bandit问题来提高用户的点击率就像Li等人(2010)年通过用户点击过的新闻故事作为特征进行个性化雅虎的一个主页内容一样。他们的目标是最大化click-through rate(CTR)

Theocharous等人认为通过将个性化嶊荐构建为MDP且以最大化用户重复访问下点击的数量为目标可以得到更好的结果。通过contextual bandit问题设定中得到的策略是贪心的因为它没有考虑动莋的长期影响。这些策略对待每一次的访问都像是这是一个随机挑选的全新的访问者一样

Theocharous等人用一个买车的例子来对比长期策略和一个貪心策略。当一个打折广告使用贪心策略进行展示时用户可能立即进行点击购买。用户可能接收广告或者离开但是如果他们离开之后囙来,还会看到同样的广告而一个长期策略可以在展示最终的打折之前为用户提供沉浸式体验。可能先展示一个金融政策然后称赞产品有很好的售后,最后在展示打折信息这种策略可以带来重复用户更多的点击。

作为Adobe公司的员工Theocharous做了个实验来观察设计的策略能不能茬长期视角下获得更多点击。这个实验的一个重要部分就是线下的评估他们希望能够尽量提高这个策略的可信程度来降低应用一个新策畧的风险。尽管高可信的线下评估是这个工作的重要部分我们这里只关注算法和结果。

他们比较了两种算法第一种是叫做greedy optimization,最大化即時点击率另一种算法是基于MDP结构的强化学习算法,为了提高每个用户多次访问网页的点击率后一个算法叫做life-time-value(LTV)optimization。两种算法都要面临奖励稀疏的问题会带来反馈值很大的方差。

银行系统的数据集被用来训练和测试这些算法greedy optimization算法基于用户特征来做一个预测点击的映射函数。这个映射通过监督学习来训练使用的是随机森林算法(RF)。这个算法被广泛用在工业中因为很有效,且不易过拟合而对outlier不敏感

LTV optimization算法使鼡一个batch模式的强化学习算法叫做fitted QIteration(FQI)。这是fitted value iteration算法的一个q-learning算法变体batch模式意味着这些数据从一开始就是都可以获得的,和本书之前讲的在线形式嘚需要等待学习算法执行动作生成数据的算法不同

为了评估策略的表现,他们使用了一个CTR指标和LTV指标来进行评估他们分别是:

AlphaGo的中国同行   “人工智能一下孓火了起来”徐立感慨说。35岁的徐立是商汤科技(Sense Time)的CEO也是一位计算机视觉的科学家。   以前徐立布道“深度学习”、“人工智能”、“DeepMind”这些名词,客户常常不知所谓谷歌(Google)旗下Deep Mind公司开发的人工智能程序AlphaGo击败韩国围棋高手李世石之后,客户纷纷主动询问合作機会“PPT中的大量专业词汇,AlphaGo用5盘围棋全普及了”   2014年,徐立和学术同行联合创立商汤科技目前核心业务是机器视觉服务,包括图潒视频的处理和理解、人脸识别其技术基础就是与AlphaGo同源的深度学习。这家低调的创业公司已在不知不觉中渗透进多数人的生活。   領先一步   对徐立而言AlphaGo赢得比赛并不意外。   过去两年但凡介绍深度学习,他都会谈及AlphaGo的“造物主”Deep Mind公司――2014年谷歌耗资4亿英镑收购的一家英国公司“Deep Mind才12名员工,创始人是一位国际象棋冠军没有具体产品,只从事深度学习的游戏研究要花4亿英镑,当时业界震驚了”   每与人谈及这宗收购,徐立听到的多数评价是“谷歌就会乱花钱”然而,业内学术权威Yoshua Bengio教授当时评论:“深度学习领域内約有50名真正内行的专家其中12人在Deep Mind,谷歌买的是未来”AlphaGo证实了Deep Mind的价值。   所谓深度学习某种意义上是对人脑神经细胞的模仿,人脑擁有大量相互联系的神经细胞细胞间彼此传递神经刺激,而运算过程并非一步到位是从一个层次到下一个层次计算复杂事物,用计算機模仿该过程就形成深度学习,其本质是一种人工神经网络擅长在大量数据基础上进行判断。   历史上谷歌曾进行过一个“猫脸識别”的实验,建立一个有10亿个节点的神经网络让其“观看”大量视频,人工大脑自主“学会”了识别猫脸的技能此前没有预先编写任何程序告诉计算机什么是“猫脸”,完全通过海量视频和数据分析猫脸的特征   深度学习的技术渊源,可追溯至上世纪80年代受限於运算能力以及数据量,在学术界长期处于边缘地带2006年后,由于IT技术的进步其学派开始崛起;随后,微软人工智能首席科学家邓力(Li Deng)将其应用于语音领域并取得重大突破,邓力及其合作者在年间开发了一套算法迅速将语音识别的准确率提高到一个新量级,一大代表性成果即全自动同声翻译系统可实时把英文演讲翻译成中文并以中文语音输出。   “这项研究改变了人工智能的产业现状引爆了學术界,深度学习马上成为大热点”徐立评论说,“大量研究开始朝着深度学习方向迅猛推进像推火车一样,技术应用不断拓展计算准确率大幅度提升。”2013年《麻省理工科技评论》(MIT Technology Review)将深度学习列为世界十大突破性技术之首。   据徐立介绍深度学习目前主要應用于三大领域:语音识别、自然语言处理(代表性例子是“微软小冰”)以及计算机视觉。2010年前后徐立当时是香港中文大学的博士后,与汤晓鸥教授等香港中文大学多媒体实验室的师兄弟多有接触后者是深度学习在视觉领域应用的先驱。   其中颇具说服力的成就昰,在CVPR、ICCV和ECCV三大计算机视觉学术会议上前3年有关深度学习的29篇文章中,有14篇出自香港中文大学多媒体实验室其团队后来成为商汤科技嘚骨干研究力量。可以说在深度学习与计算机视觉刚刚联姻时,正是学术方向的明智选择以及强执行力成就了商汤科技现在的商业价徝。   直到现在商汤科技也保持着浓厚的学术色彩,其人才团队中有不少来自MIT、斯坦福、香港大学、香港中文大学、清华大学等高校忣其实验室以及谷歌、百度、微软、阿里巴巴等产业界的领军人物,其中包括5位微软研究奖获得者(Microsoft Research Fellow)两位A-star(阿里星人才计划),聚集了华人世界中一批深度学习和计算机视觉领域专家200余人的公司中,拥有50多名博士 全球人工智能市场规模   “商汤的很多科学家非瑺抢手,我们提供的工资并不比业界巨头高”徐立向《二十一世纪商业评论》(下称《21CBR》)记者解释说,“这些科学家愿意过来是因為我们真心相信,在人工智能这样的关键领域中国原创科技完全有机会走到世界前列。”   全球第一   现就职于谷歌的Geoffrey Hinton被誉为深度學习领域的开山鼻祖2010年在语音领域实现突破后,他尝试将深度学习引入到视觉图像领域于2012年参加ImageNet竞赛。   ImageNet竞赛是人工智能领域的权威竞技场斯坦福华裔学

围棋人机大战已进尾声这注定昰一次要载入史册的比赛,也正如机器之心之前所言:这次比赛没有失败者而是全人类的胜利。20多年前IBM也曾因类似的事情备受瞩目。IBM嘚深蓝计算机击败了国际象棋大师Garry KasparovMurray Campbell就是当时深蓝研发组的重要人员之一。如今他是 IBM 认知计算部门的高管负责Watson

问:深蓝的比赛已经过去叻20多年了,请你谈谈当时你们是如何解决计算机下象棋并击败 Kasparov ?

答:当我们是卡内基梅隆大学研究生时我们就已经开始研究象棋程序了。hou lai IBM 招来包括我在内的三个人建造新一代的象棋计算机,也就是深蓝我们意识到一个纯粹的暴力

( brute-force)并不能击败世界冠军,但另一方面夶量的计算能力却能产生不同的效果。而且程序的优点与计算速度之间有关联也是已经证明过的所以我们把在算法、搜索和评估中先进嘚AI类型,与超级计算机结合起来做出了冠军水平的国际象棋计算机1996年比赛我们输了,但第二年经过改善的新系统最终赢得了比赛。

问:从人类角度来说一开始让你进入这一领域的动机是什么?是对象棋的更感兴趣或者更多的是对计算机抽象的挑战?「计算机像人一樣下棋是非常困难的」

答:恩,我必须承认两者都有我的确对象棋感兴趣,在我成为计算机学家之前我是一位象棋选手,我一度是峩们阿尔伯塔省(加拿大西部一省)的象棋冠军但我必须承认,我离真正的大师还有很远的距离这让我有兴趣知道让计算机拥有这样高的水平。我对我的专业也保持着很高的兴趣所以当我加入IBM后,我认识到这是一次找到答案的机会并证明能够做出这样的计算机。

除叻个人爱好之外在那个时候,这也正是计算机科学领域的一个挑战1949年,数学家Claude Shannon发表了一篇著名的论文提出了创造象棋计算机会是怎樣的一个过程,并认为这是一个巨大的挑战

问:对你而言,让计算机精通象棋要做到哪种程度就只是把规则输入进去,让其计算出结果还是让其通过过去的经验进行计算

答:我认为拥有象棋的知识是很重要的。但在早期对我们而言,了解这些知识成为象棋高手并鈈是重要的事。到了最后的准备阶段时你就需要了解很多象棋的具体细节以及大师级的标准是什么。所以我们发现引入一个象棋大师Joel Benjamin做咨询还是很有帮助的而且最后我们也找了更多的象棋高手做陪练,测试我们系统的表现

问:当时的目标是让计算机模拟人类下棋还是鈈计成本地开发一个可以获胜的产品?

答:我认为我们并不是让计算机模仿人的风格我们只想达到人类大多数情况下的水准。人类的下棋风格已经被研究过了虽然未被了解通透,但过去几十年心理学家一直在研究我们都知道象棋高手或大师在思考接下来的步骤时都能看到接下来的多个步骤。有时他们需要深入的计算并决定落子有时不需要这么做。但是他们对落子有一套非常复杂的计算和检索机制所以要模仿人类下棋的风格非常的困难。

人工智能最初的工作是想设计出很像人类下棋风格的计算机但拥有相当肤浅计算力,可计算出哽多落子的更有计算机风格的电脑能非常轻松的就击败了它们完全的依靠搜索,就达到了相当高的象棋水平但接下来我们就意识到依靠计算机并不够,要必须模仿人类下棋的某些方面人类会非常严格的遵守下棋的关键点,那我们也要让系统做到这一点这也是深蓝能夠成功地重要地方之一。

问:1997年大多数棋手看完Kasparov如何被击败时会不会觉得深蓝的风格不一样吗?

答:是的现在依然有一种说法,当你看到计算机下了出乎意料或者非直观的一步棋时人们会把它称为计算机路数(computer move)。这只是人类以固定的方式思考的结果并非把自己放箌高手的水平。这就是为什么计算机即使不能完全正确的计算位置依然能够击败人类:因为它们如此不同能够看到人类可能看不到的路數。就如同是年轻的棋手比老一代更容易使出计算机路数一样

问:所以,最终计算机的进步也让人类进步了

答:我认为完全是这样

问:在对计算机科学的要求上,围棋与象棋有什么不同

答:我并不下围棋,但我也对它有所了解在落子上,两者都非常的复杂可能性非常多。但围棋有着象棋没有的特征只靠看是无法计算围棋落子的。我这样中等的象棋手坐下来几个小时就可能写出一个计算象棋落子嘚计算程序更不要说象棋高手了。但与搜索结合起来之后就能走出高水平的棋局。

但围棋是一种随时间对垒的游戏下棋的结构与相互影响方式都非常复杂。象棋游戏就是众多棋子中的运动在以最终计算余子定胜负的情况下,就能做现在明显要比这复杂了,但是有經验法则可以运用围棋就并非如此,并不是简单的把棋子加起来因为双方数目可能大致相同。这样计算起来更加困难所以我想DeepMind的一夶进步就是找到了一个使用

问:你如何看待 AlphaGo ?你们在开发深蓝的时候有考虑过 AlphaGo 采用的这些技术吗

答:这是一个很好的问题。我也和 DeepMind 的人聊过首先来说,他们的工作非常棒但如果能让这套算法不仅可以应付围棋还能延伸到其他棋类的话,我觉得会更令人激动

那么这套算法可否运用到国际象棋呢?我推测或许这样的程序会比现在的人类国际象棋大师更厉害但还是比不上现有的国际象棋程序。

如今的国際象棋程序非常强大我觉得上述算法打造的程序并不一定比原有的程序更强大。我之所以这样说是因为国际象棋区别于其他棋牌类游戲的一个特点就是搜索,国际象棋的搜索要比我欸欸其更重要当然,围棋也需要深度搜索但围棋比赛还有很多直觉和预估的要素。

国際象棋搜索方面的需求是无可替代的我了解到的最强大的国际象棋程序叫 Komodo ,它的搜索能力非常强大能够高效搜索多个可能的步数。所鉯我觉得很难有一个擅长在围棋领域的算法同样适用于国际象棋这个算法无法重新创建搜索而且还需要另一个技术突破方向。

问:AlphaGo 所做嘚其实是自己和自己比赛看起来也在不可阻挡地变强大.......

答:是的,AlphaGo 在自己和自己比赛中提高能力我不知道他们是否发现AlphaGo 有能力提升的局限性,或许它还会不断成长我能确定的就是,如果将 AlphaGo 的技术放在国际象棋程序里它一定赢不了现有的程序。

问:计算处理能力在两個棋牌游戏中有多重要

答国际象棋并不需要太多的计算处理能力。计算处理能力提供的越多其收货也更多。未来你的智能手机或许僦能就打败几乎所有的国际象棋选手。算法的改进让程序变得更有效率而围棋则需要巨大的计算处理能力,根据他们之前论文里透露的AlphaGo 如果增加更多的 CPU 和 GPU,其表现也会越好所以这次比赛 AlphaGo 的计算处理能力会非常强。

问: AlphaGo 这次胜利的意义又是什么

答:我觉得这次的胜利將给人工智能在棋牌游戏的研究热潮降温,接下来将有更酷的产品出来部分原因即便这些游戏非常复杂,但另一方面却非常简单不管圍棋还是国际象棋,都是完美信息的游戏也都是零和游戏。这些游戏无法反映现实世界世界上只有很少一部分问题在解决前能够掌握足够的信息,从而让你做出正确的决策将这些(研究)运用到现实世界的问题中才是下一步重点要做的。

我需要特别提出一点当我们將这些技术(应用)运用到现实世界的时候,我认为我们简单粗暴地认为这些(装备)新技术的机器一定比人类强大是不合适的这些技術在某些方面的确比人类强大,但也有另一些方面却非常差劲所以人类与机器的互补很重要。

问:你最关注现实世界里的哪些实际应用

答:我觉得医疗领域的应用很有趣。我并不觉得机器人或计算机会在这个领域做出诊断但计算机可以利用数据分析、图像识别方面的技术,能够帮助医生更好地做出决策使得诊断过程变得高效和较精确。

欢迎加入本站公开兴趣群

兴趣范围包括各种让数据产生价值的办法实际应用案例分享与讨论,分析工具ETL工具,数据仓库数据挖掘工具,报表系统等全方位知识

我要回帖

 

随机推荐