为什么深蓝只是超级计算机,而Alpha GO是人工智能?

描述的高低层次

在超级电脑“深蓝”在国际象棋上打败卡斯特洛夫十年后,人工智能Alpha GO才在围棋上击败了李世石。

《为什么深蓝只是超级计算机,而Alpha GO是人工智能?》 △深蓝击败世界冠军卡斯特洛夫

1997年,“深蓝”的计算能力为每秒113.8亿次浮点运算,已经远远超过了人脑计算的速度,但它只能堪堪打败人类最好的国际象棋手。

如果说在象棋、围棋中博弈的胜负关键在于预测随后的步数,为什么在计算能力大大超过人类的情况下,人工智能却花了十年才能在围棋上有所突破呢?

这涉及到有关智能的核心问题之一:如何在输入低层次的描述后输出高层次的描述。这一种更高层次的描述,也可以叫做组块化。

接下来我们要从围棋这个话题暂时离开一会,我将从计算机系统、编程语言和人三个方面详细地阐述一下层次这个概念。

计算机系统的高低层

我们现在使用的手机容量大多是以GB为单位计数的。这里的GB其实就是一种高层次的描述。

计算机的存储单位从位(bit)开始,每一位在物理上可以理解为一个开关,有开和关(1和0)两种状态。

当我们把8个位组块化后就有了字节(byte),把1024个字节组块化后有了KB,1024KB组块化成了MB,如此这般,还有GB、TB等等。

当然,这种组块化还称不上智能。

编程语言的高低层

最早给计算机编程的语言是机器语言,这种语言是CPU可以直接“读懂”的。但相对的,它离机器更近,就离人更远。机器语言的指令都是由0和1组成的,十分难理解。

随后,有人把一些常用的指令“组块化”变成一些简单的英文指令,把2进制转化为简单的10进制,就产生了更高层次的汇编语言。

但人们是不会满足只简化这一点的,在汇编语言的基础上又诞生了许多高级语言,这些高级语言使用起来更简洁,成为了现在程序员们使用的主力军。

《为什么深蓝只是超级计算机,而Alpha GO是人工智能?》 △高级语言

到这里,你可能不能完全理解编程语言的运作方式,但这时高级语言和机器语言的层次间就有了一些玄妙的东西了:

程序员可以完全不理解他的程序在最低层次(机器语言)上是如何运行的,他只要理解他用来写程序的高级语言就可以了。

这和人类的行为方式何其相似,当我们做出某个行为时,我们从不考虑神经元的触发、肌肉的收缩,我们只需要想,然后如此行动。

人的层次

人可以大略分物理、化学、生物、心理几个层次。

原子构成分子,分子组成了细胞,然后有器官,有系统,最后有了人。

我们在各种各样的层次上描述人类的活动。在拒绝一个人的时候,有人说自己没有分泌多巴胺,有人说自己没有触电的感觉;如果对一个人一见钟情,有人说自己的呼吸都停止了,有人说自己恋爱了。

或许哪一天,Siri能对你说,在看到你的瞬间,我的CPU短路了。

围棋的高低层

在围棋中,虽然下一步有非常多的可能,但是好的棋手总是能根据对棋盘上形势的判断选出有限的几步棋考虑。甚至可以说,越是顶尖的棋手所能看到的可能越少。

《为什么深蓝只是超级计算机,而Alpha GO是人工智能?》 △对“势”的判断

棋盘上每颗字的位置是低层次的描述,而所谓的“势”就是一种高层次的描述。

在十年前,计算机无法通过对“势”的判断减少预测的可能,所以必须用超出人类的计算能力弥补这方面的劣势。由于国际象棋一共8×8=64个格子,每个字的行动方式又有一定的规律,计算机可以通过穷举法击败人类。

而围棋号称“千古无同局”,变化最多可以达到3.6×10^767种,如果计算机无法在高层次描述围棋上有所突破,那么它永远无法在围棋上击败人类。

现在Alpha GO击败了李世石,确实当之无愧“人工智能”的名号,而“深蓝”,却永远只能被称作为超级计算机。

《为什么深蓝只是超级计算机,而Alpha GO是人工智能?》 △星际争霸2

现在Alpha GO的工作组宣称下一个项目要挑战即时战略游戏——星际争霸2。作为一名喜欢玩游戏的男生,听到这个消息很开心,至少证明了游戏的难度起码不比围棋要差吧。

文章主要思路来自《GEB》第十章

    原文作者:暮雨思倾
    原文地址: https://www.jianshu.com/p/0cd75e685594
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞