1997年5月11日,一台名为“深蓝”的超级电脑将棋盘上的一个兵走到C4位置时,人类有史以来最伟大的国际象棋名家卡斯帕罗夫不得不沮丧地承认自己输了。世纪末的一场人机大战终于以计算机的微弱优势取胜。
当然,国际象棋这样的棋类比赛,计算机是可以依靠棋谱来穷尽所有可能后续步数的,所以他能击败人类我们可以认为还是穷举法。但是,人类依然有一个尊严般的领域,那就是落子变化超过宇宙原子总数的围棋。因为其超大的计算量,人们觉得这是一个软件几乎无法解决的领域,也被称为人类智慧最后的堡垒。
如果说“深蓝”的算法你能理解,那人类最后的一块遮羞布在2016年被一只狗无情地撕下了。
一、阿尔法狗
2016年3月,阿尔法围棋与围棋世界冠军、职业九段棋手李世石进行围棋人机大战,以4比1的总比分获胜;2016年末2017年初,该程序在中国棋类网站上以“大师”(Master)为注册账号与中日韩数十位围棋高手进行快棋对决,连续60局无一败绩;2017年5月,在中国乌镇围棋峰会上,它与排名世界第一的世界围棋冠军柯洁对战,以3比0的总比分获胜。围棋界公认阿尔法围棋的棋力已经超过人类职业围棋顶尖水平,在GoRatings网站公布的世界职业围棋排名中,其等级分曾超过排名人类第一的棋手柯洁。
2017年5月27日,在柯洁与阿尔法围棋的人机大战之后,阿尔法围棋团队宣布阿尔法围棋将不再参加围棋比赛。2017年10月18日,DeepMind团队公布了最强版阿尔法围棋,代号AlphaGo Zero。
二、阿尔法狗旧版算法原理
Alphago的原理并非基于穷举,而是基于两个神经网络所一起作用作出的决策。神经网络如果简单来看,可以算作是人类对于神经系统的一种模拟。定义好神经元的数量和层级,初始化权重和偏移,并通过训练数据对其进行训练。即观察它的输出和预期结果之间的差异,并改进网络本身的参数等。之后神经网络就可以提高自己在解决问题时的表现。
这很类似人类神经系统能够从不断输入的外界数据和反馈中提高自己的表现,比如学会手握住东西、学会走路、学会说话一样。Alphago采用两个神经网络、一个叫作价值网络,另一个是策略网络。两个网络共同决定了它的决策。而它最初的设计。而它最初的训练数据,则是人类对局中海量的围棋棋谱。Alphago通过学习棋谱到达比较高的水平,之后在进行自我对弈。并用3000万盘自我对弈棋谱来进行训练,就如同一个可以左右互搏的大师,上下数千万局不会疲劳,并最终获得了提升。而人类终其一生也就数千盘棋,是无法望其相背的。
阿尔法围棋系统主要由几个部分组成为:
- 策略网络(Policy Network),给定当前局面,预测并采样下一步的走棋;
- 快速走子(Fast rollout),目标和策略网络一样,但在适当牺牲走棋质量的条件下,速度要比策略网络快1000倍;
- 价值网络(Value Network),给定当前局面,估计是白胜概率大还是黑胜概率大;
- 蒙特卡洛树搜索(Monte Carlo Tree Search)。
把以上这三个部分连起来,形成一个完整的系统。
不过这件事,并没有走向终点。因为就算是战胜了所有人类选手。Alphago最早仍然是基于人类对于围棋的理解而训练。也就是说人类其实用之前所积累的智慧给了Alphago关键性的智慧。
三、阿尔法狗新版算法原理
很快,AlphaGo Zero来了,在2017年10月19这天,Alphago zero发布了,他融合了价值网络和策略网络。只所以叫zero,因为这是一个从零开始的人工智能。它不需要任何人类棋谱的输入,完全靠自我对弈进行训练。而且因为算法的优化,它的效率高得惊人。
最早的时候,它就如同一个普通的围棋初学者,比如在3小时的时候几乎是乱下,十几个小时后,他就学会了一些简单的招式。随后就学会了更多的围棋知识。而经过72小时的训练,这个不需要人格化人类棋谱输入的AI,经过大约500万局对局。已经达到饿了击败李现石Alphago的程度,也就是达到了人类最顶级高手的程度。也就是说,人类数千年的围棋知识,人工智能3天已经走过了。40天的训练后,Alphago zero已经可以完全战胜对战柯洁的Alphago master。也就是接近无人望其项背的围棋之神。这个版本的zero对初版的对初版的对局是100:0胜,对柯洁版的比分是89:11胜,令人赞叹不已。
AlphaGoZero使用新的强化学习方法,让自己变成了老师。系统一开始甚至并不知道什么是围棋,只是从单一神经网络开始,通过神经网络强大的搜索算法,进行了自我对弈。随着自我博弈的增加,神经网络逐渐调整,提升预测下一步的能力,最终赢得比赛。更为厉害的是,随着训练的深入,阿尔法围棋团队发现,AlphaGoZero还独立发现了游戏规则,并走出了新策略,为围棋这项古老游戏带来了新的见解。
AlphaGoZero并不使用快速、随机的走子方法。在此前的版本中,AlphaGo用的是快速走子方法,来预测哪个玩家会从当前的局面中赢得比赛。相反,新版本依靠地是其高质量的神经网络来评估下棋的局势。
四、发展方向
“阿尔法围棋”(AlphaGo)能否代表智能计算发展方向还有争议,但比较一致的观点是,它象征着计算机技术已进入人工智能的新信息技术时代(新IT时代),其特征就是大数据、大计算、大决策,三位一体。它的智慧正在接近人类。
也许,真的到了那一天,人类会发现,原来自己才是人工智能养在温室中的小白鼠!想想都可怕。
我的微信公众号:架构真经(关注领取免费资源)
参考文章
- https://www.sohu.com/a/231176382_100170370
- https://cloud.tencent.com/developer/news/440852
- https://baike.baidu.com/item/%E9%98%BF%E5%B0%94%E6%B3%95%E5%9B%B4%E6%A3%8B/19319610?fromtitle=%E9%98%BF%E5%B0%94%E6%B3%95%E7%8B%97&fromid=19447507&fr=aladdin