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