AlphaGo(阿尔法狗)到底是什么?
虽然说人工智能偏好下棋,但是不是说人工智能只能下棋,应该说人工智能岂止于下棋。但为什么每次都是在下棋后,人工智能才会大火呢?因为棋术一直以来都被大多数人认为是人类智慧的结晶,人工智能要想被大多数人认可,必须要在大多数人都承认的领域崭露头角。但是,不幸的是,人工智能在大多数人都承认的领域一不小心就战胜了人类。
1997年,IBM研究团队打造的深蓝战胜了卡斯帕罗夫,当时几乎全世界都在讨论深蓝的强大和可怕。其实,在1996年的时候,深蓝就曾经挑战过卡斯帕罗夫。但是深蓝失败了,但是,深蓝的失败不仅仅是技术不佳(算法设计问题),其中很大一部分的原因:当时的计算能力确实有限,如果今天深蓝用它失败的算法加上现在的计算能力,估计深蓝仍然可以战胜卡斯帕罗夫。后来的算法优化,计算能力的提升,让这个事件的热度很快就消失了。
因为每当人类输给计算机的时候,他们总会说,计算机只不过是机械地完成搜索式的穷举罢了。其实,事实即使如此,当前的计算能力和算法已经有能力将象棋所有的情况都穷举出来,换句话说就是,象棋已经被计算机攻克了。
我们人类一直以来认为围棋都是人类智慧的最高代表。其实,我觉得下棋跟智慧没有一点关系,我倒是觉得设计这些棋术才是一种真正的智慧。下棋只是在考验我们的计算能力跟储存能力以及价值判断能力罢了。可能,资深的棋友会很厌恶我的这种说法,但是AlphaGo却无疑是佐证我观点最好的选择。
棋术只是在考验我们的计算能力跟储存能力以及价值判断能力,或者对于我们来说,棋术有不确定性。但对于计算机来说,随着计算能力的提升,这种不确定性发生的概率降低了有的甚至这些不确定性成了确定性。也就是说,当你和计算机下棋的时候,你走了第一步后,你就已经输了。因为他已经找到赢你的办法了,你以后的下棋动作纯属是找虐行为。
难道围棋也是如此?这倒不是,因为发明围棋的这个人的思维太超前了,以至于我们现在的计算能力还没有办法将围棋攻克。但是,除了暴力攻克,我们可以在算法上下点功夫,让计算机有很大的概率赢得人类。AlphaGo输给李世石,其实就是小概率事件。
2017年5月25日,升级后的Alpha Go2.0又迎战了著名围棋选手柯洁。据Alpha Go的工作人员介绍,在第二句的时候,柯洁下的非常积极,在这局中人机双方都展示了强大的水平。AlphaGo后台的计算量急剧增加,如果不及时剪枝,可能就算不过来了。无奈柯洁在最关键的时候,漏出了人类的弱点(疲劳和情绪的波动),最后输掉了比赛。
如果从技术的角度来理解分析Alpha Go,Alpha Go其实就是采用人类自身对围棋的理解来设计的,即罗列搜索+价值判断,这也是它学习棋谱后得到的唯一的核心力量。由于围棋所产生的搜索范围空间非常大,基本上很难找到最优解,所以在算法设计上,就又按照人类的思维方式加入了价值判断,这是AlphaGo的核心算法。Alpha Go用深度学习算法去调整一个价值判断函数,然后再跟蒙特卡洛搜索树结合,争取不下一步臭棋。注意是不下一步臭棋,而人类是争取少下一步臭棋,这也就出现了我们常说的赢几手棋。再加上机器不知疲倦的搜索效率和无情感,所以AlphaGo才能胜出。
值得注意的是,人工智能并没有攻克围棋领域,有人曾预言说AlphaGo2.0如果能下几手臭棋或者说是让几手棋,人类将有很大的机会胜出。但是,不幸的是在AlphaGo的价值判断中只有输赢,没有赢几手的概念。但是,可以肯定的说,在围棋领域内,人类将不会有赢AlphaGo的可能性。但,这也不会丝毫影响人与人之间下围棋的体验,相反,人类或许可以从AlphaGo的对局中学到很多妙棋。
人类下棋下的是经验和感觉,而机器下棋下的是概率,是赢对手的概率。