10月19日,谷歌旗下人工智能公司DeepMind在《自然》(Nature)上发表论文称,最新版本的AlphaGo Zero完全抛弃了人类棋谱,实现了从零开始学习。
我一直认为,对于棋类问题,在蒙特卡洛树搜索的框架下,实现从零开始学习是可行的,也多次与别人讨论过这个问题。当今年初AlphaGo Master1推出时,我就曾预测其可能实现了从零开始学习,可惜根据DeepMind后来透露的消息,AlphaGo Master并没有完全抛弃人类棋谱,而是在以前系统的基础上,通过强化学习提高了系统的水平。虽然人类棋谱对AlphaGo的作用越来越弱,但是AlphaGo Master还是学习了人类棋谱,并没有实现“冷”启动。
根据DeepMind透露的消息,AlphaGo Zero不但抛弃了人类棋谱,实现了从零开始学习,还抛弃了以前使用的人类设计的特征,直接用棋盘上的黑白棋作为输入,除了围棋规则外,不使用人类的任何数据和知识,可以说是把人类抛弃得彻彻底底。仅通过3天训练,AlphaGo Zero就可以战胜AlphaGo Lee2,而经过40天的训练后,则可以打败AlphaGo Master。
真是佩服DeepMind的这种“把革命进行到底”的作风,可以说是把计算机围棋做到了极致。
那么AlphaGo Zero与AlphaGo(在此表示以前的版本)都有哪些主要的差别呢?
1.在训练中不再依靠人类棋谱。AlphaGo先用人类棋谱进行训练,然后再通过自我互博的方法自我提高。而AlphaGo Zero直接采用自我互博的方式进行学习,在蒙特卡洛树搜索的框架下,一点点提高自己的水平。
2.不再使用人工设计的特征作为输入。在AlphaGo中,输入的是经过人工设计的特征,根据该点及其周围的棋的类型(黑棋、白棋、空白等)组成不同的输入模式,确定每个落子位置。而AlphaGo Zero则直接把棋盘上的黑白棋作为输入。这一点得益于其神经网络结构的变化,神经网络层数越深,提取特征的能力越强。
3.将策略网络和价值网络合二为一。在AlphaGo中,使用的策略网络和价值网络是分开训练的,但是两个网络的大部分结构是一样的,只是输出不同。AlphaGo Zero将这两个网络合并为一个,从输入层到中间几层是共用的,只是后边几层到输出层是分开的,并在损失函数中同时考虑了策略和价值两个部分。这样训练起来速度会更快。
4.网络结构采用残差网络,网络深度更深。AlphaGo Zero在特征提取层采用了多个残差模块,每个模块包含2个卷积层,比之前用了12个卷积层的AlphaGo深度明显增加,从而可以实现更好的特征提取。
5.不再使用随机模拟。在AlphaGo中,蒙特卡洛树搜索的过程中,要采用随机模拟的方法计算棋局的胜率,而在AlphaGo Zero中,不再使用随机模拟的方法,完全依靠神经网络的结果代替随机模拟。这完全得益于价值网络估值的准确性,也有效提高了搜索速度。
6.只用了4块TPU3,训练72小时就可以战胜与李世石交手的AlphaGo Lee,训练40天后可以战胜与柯洁交手的AlphaGo Master。
对于计算机围棋来说,以上改进无疑是个重要的突破,但也要正确认识这些突破。AlphaGo Zero之所以可以实现从零开始学习,是由棋类问题的特点所决定的,是个水到渠成的结果。棋类问题的一个重要特性就是可以让机器自动判别最终结果,这样才可以不用人类数据,自己产生数据,自我训练,自我提高下棋水平。但是这种方式很难推广到其他领域,不能认为人工智能的数据问题就解决了。 ■
脚注:
1 今年初击败世界冠军柯洁的系统:在2017年5月23~27日举行的“中国乌镇·围棋峰会”上,我国95后棋手,世界围棋等级分第一的柯洁九段,与人工智能围棋AlphaGo进行了三番围棋大战,最终柯洁以0:3惨败于AlphaGo。
2 2016年击败韩国顶尖棋手李世石的系统:2016年3月,人工智能围棋AlphaGo与韩国棋手李世石进行较量,最终人机大战总比分为1:4,李世石不敌AlphaGo。
3 Tensor Processing Unit,张量处理单元,是谷歌专为机器学习量身定制的一种高性能处理器。
所有评论仅代表网友意见