01
Alphago在不被看好的情况下,以4比1击败了围棋世界冠军李世石,令其名震天下。随着AlphaGo知名度的不断提高,人们不禁好奇,究竟是什么使得AlphaGo得以战胜人类大脑?AlphaGo的核心依托——人工神经网络。 什么是神经网络? 人工神经网络是一种模仿生物神经网络(动物的中枢神经系统,特别是大脑)的结构和功能的数学模型或计算模型。神经网络由大量的人工神经元联结进行计算。大多数情况下人工神经网络能在外界信息的基础上改变内部结构,是一种自适应系统。现代神经网络是一种非线性统计性数据建模工具,常用来对输入和输出间复杂的关系进行建模,或用来探索数据的模式。 神经网络是一种运算模型,由大量的节点(或称"神经元",或"单元")和之间相互联接构成。每个节点代表一种特定的输出函数,称为激励函数。每两个节点间的连接都代表一个对于通过该连接信号的加权值,称之为权重,这相当于人工神经网络的记忆。网络的输出则依网络的连接方式,权重值和激励函数的不同而不同。而网络自身通常都是对自然界某种算法或者函数的逼近,也可能是对一种逻辑策略的表达。 例如,用于手写识别的一个神经网络是被可由一个输入图像的像素被激活的一组输入神经元所定义的。在通过函数(由网络的设计者确定)进行加权和变换之后,这些神经元被激活然后被传递到其他神经元。重复这一过程,直到最后一个输出神经元被激活。这样决定了被读取的字。 它的构筑理念是受到人或其他动物神经网络功能的运作启发而产生的。人工神经网络通常是通过一个基于数学统计学类型的学习方法得以优化,所以人工神经网络也是数学统计学方法的一种实际应用,通过统计学的标准数学方法我们能够得到大量的可以用函数来表达的局部结构空间,另一方面在人工智能学的人工感知领域,我们通过数学统计学的应用可以来做人工感知方面的决定问题(也就是说通过统计学的方法,人工神经网络能够类似人一样具有简单的决定能力和简单的判断能力),这种方法比起正式的逻辑学推理演算更具有优势。 人工神经网络是一个能够学习,能够总结归纳的系统,也就是说它能够通过已知数据的实验运用来学习和归纳总结。人工神经网络通过对局部情况的对照比较(而这些比较是基于不同情况下的自动学习和要实际解决问题的复杂性所决定的),它能够推理产生一个可以自动识别的系统。与之不同的基于符号系统下的学习方法,它们也具有推理功能,只是它们是建立在逻辑算法的基础上,也就是说它们之所以能够推理,基础是需要有一个推理算法则的集合。 2AlphaGo的原理回顶部 AlphaGo的原理 首先,AlphaGo同优秀的选手进行了150000场比赛,通过人工神经网络找到这些比赛的模式。然后通过总结,它会预测选手在任何位置高概率进行的一切可能。AlphaGo的设计师通过让其反复的和早期版本的自己对战来提高神经网络,使其逐步提高获胜的机会。 从广义上讲,神经网络是一个非常复杂的数学模型,通过对其高达数百万参数的调整来改变的它的行为。神经网络学习的意思是,电脑一直持续对其参数进行微小的调整,来尝试使其不断进行微小的改进。在学习的第一阶段,神经网络提高模仿选手下棋的概率。在第二阶段,它增加自我发挥,赢得比赛的概率。反复对极其复杂的功能进行微小的调整,听起来十分疯狂,但是如果有足够长的时间,足够快的计算能力,非常好的网络实施起来并不苦难。并且这些调整都是自动进行的。 经过这两个阶段的训练,神经网络就可以同围棋业余爱好者下一盘不错的棋了。但对于职业来讲,它还有很长的路要走。在某种意义上,它并不思考每一手之后的几步棋,而是通过对未来结果的推算来决定下在哪里。为了达到职业级别,AlphaGp需要一种新的估算方法。 为了克服这一障碍,研究人员采取的办法是让它反复的和自己进行对战,以此来使其不断其对于胜利的估算能力。尽可能的提高每一步的获胜概率。(在实践中,AlphaGo对这个想法进行了稍微复杂的调整。)然后,AlphaGo再结合多线程来使用这一方法进行下棋。 我们可以看到,AlphaGo的评估系统并没有基于太多的围棋知识,通过分析现有的无数场比赛的棋谱,以及无数次的自我对战练习,AlphaGo的神经网络进行了数以十亿计的微小调整,即便每次只是一个很小的增量改进。这些调整帮助AlphaGp建立了一个估值系统,这和那些出色围棋选手的直觉相似,对于棋盘上的每一步棋都了如指掌。 此外AlphaGo也使用搜索和优化的思想,再加上神经网络的学习功能,这两者有助于找到棋盘上更好的位置。这也是目前AlphaGo能够高水平发挥的原因。 3神经网络的延伸和限制回顶部 神经网络的延伸和限制 神经网络的这种能力也可以被用在其他方面,比如让神经网络学习一种艺术风格,然后再将这种风格应用到其他图像上。这种想法很简单:首先让神经网络接触到大量的图像,然后来确认这些图像的风格,接着将新的图像带入这种风格。 这虽然不是伟大的艺术,但它仍然是一个显著的利用神经网络来捕捉直觉并且应用在其他地方的例子。 在过去的几年中,神经网络在许多领域被用来捕捉直觉和模式识别。许多项目使用神经这些网络,涉及的任务如识别艺术风格或好的视频游戏的发展战略。但也有非常不同的网络模拟的直觉惊人的例子,比如语音和自然语言。 由于这种多样性,我看到AlphaGo本身不是一个革命性的突破,而是作为一个极其重要的发展前沿:建立系统,可以捕捉的直觉和学会识别模式的能力。此前计算机科学家们已经做了几十年,没有取得长足的进展。但现在,神经网络的成功已经大大扩大,我们可以利用电脑攻击范围内的潜在问题。 事实上,目前现有的神经网络的理解能力是非常差的。神经网络很容易被愚弄。用神经网络识别图像是一个不错的手段。但是实验证明,通过对图像进行细微的改动,就可以愚弄图像。例如,下面的图像左边的图是原始图,研究人员对中间的图像进行了微小的调整后,神经网络就无法区分了,就将原图显示了出来。 另一个限制是,现有的系统往往需要许多模型来学习。例如,AlphaGo从150000场对战来学习。这是一个很庞大额度数字!很多情况下,显然无法提供如此庞大的模型案例。