从马文到AlphaGo AI走过了怎样的70年?

(马文·明斯基)

明斯基的这些成果虽然可以被称作人工智能的早期工作,但是鉴于当时的明斯基还是一个青涩的毛头小子,所做的博士论文都不能得到相应的认可,所以影响力有限。

接着上场的第二位人物影响力就大很多,那就是计算机科学之父阿兰·图灵,他是被认为最早提出机器智能设想的人。图灵在1950年的时候(也就是明斯基还在读本科的时候)在杂志《思想》(Mind)发表了一篇名为“计算机器与智能”的文章,在文章中,图灵并没有提出什么具体的研究方法,但是文章中提到的好多概念,诸如图灵测试、机器学习、遗传算法和强化学习等,至今都是人工智能领域十分重要的分支。

从马文·明斯基到AlphaGo,人工智能走过了怎样的70年?

(图灵在1950年的时候在杂志《思想》(Mind)发表的名为“计算机器与智能”的文章)

介绍完以上两大人物,接下来标志着人工智能作为一个独立领域而诞生的盛会——达特茅斯研讨会就要粉墨登场了。

不过在介绍达特茅斯研讨会之前,我们不得不介绍这第三位重量级的人物,那就是约翰·麦卡锡,因为他正是这次研讨会的发起人。约翰·麦卡锡于1948年获得加州理工学院数学学士学位,1951年获得普林斯顿大学数学博士学位。然后又在那里作为老师工作了两年,接着短暂地为斯坦福大学供职后到了达特茅斯大学,正是这个时期,它组织了达特茅斯研讨会。在这次大会上,麦卡锡的术语人工智能第一次被正式使用,所以麦卡锡也被称作人工智能之父。其实麦卡锡在达特茅斯会议前后,他的主要研究方向正是计算机下棋。

从马文·明斯基到AlphaGo,人工智能走过了怎样的70年?

(约翰·麦卡锡)

下棋程序的关键之一是如何减少计算机需要考虑的棋步。麦卡锡经过艰苦探索,终于发明了著名的 - 搜索法,使搜索能有效进行。 - 搜索法说核心就是,算法在采取最佳招数的情况下允许忽略一些未来不会发生的事情。说的有点抽象,我们来举个十分简单的例子。

假如你面前有两个口袋和一个你的敌人,每个口袋放着面值不等的人民币,你来选择口袋,你的敌人决定给你这个口袋里哪张面值的钱。假设你一次只能找一只口袋,在找口袋时一次只能从里面摸出一次。当然你希望面值越大越好,你的敌人自然希望面值越小越好。假如你选择了第一个口袋。现在我们从第一个口袋开始,看每一张面值,并对口袋作出评价。比方说口袋里有一张5元的和一张10元的。如果你挑了这只口袋敌人自然会给你5元的,10元的就是无关紧要的了。

现在你开始翻第二个口袋,你每次看一张面值,都会跟你能得到的最好的那张面值(5元)去比较。所以此时你肯定就去找这个口袋里面面值最小的,因为只要最少的要比5元好,那么你就可以挑这个口袋。假如你在第二个口袋摸出一张1元的,那么你就不用考虑这个口袋了,因为如果你挑了这个口袋,敌人肯定会给你1元面值的,那当然要选择最小面值的5元的那个口袋啦。

从马文·明斯基到AlphaGo,人工智能走过了怎样的70年?

(基于 - 剪枝算法的智能五子棋)

虽然有点绕,不过我觉得你应该大概已经理解了这个思路。这就是 - 搜索法,因为这种算法在低于或者超过我们搜索中的 或者 值时就不再搜索,所以这种算法也称为 - 剪枝算法。这种算法至今仍是解决人工智能问题中一种常用的高效方法。当年IBM的深蓝国际象棋程序,因为打败世界冠军卡斯帕罗夫而闻名世界,它靠的正是在30个IBM RS/6000处理器的并行计算机上运行的 - 搜索法。

但是需要注意的是,前不久的谷歌AlphaGo,由于棋盘是19x19的,几乎所有的交叉点都可以走子,初始的分支因子为361,这对于常规的 - 搜索来说太令人生畏了,所以别看名字里面带了一个 (Alpha,有可能这个名字是为了纪念麦卡锡的 - 搜索算法),AlphaGo采用的是却是蒙特卡洛搜索树(MCTS),它是一种随机采样的搜索树算法,它解决了在有限时间内要遍历十分宽的树而牺牲深度的问题。