AlphaGo原理的认识

1、AlphaGo赢得了世界围棋冠军
Google AlphaGo在无人围棋比赛中4:1战胜李世石,具有一定的里程碑意义,相比于20年前,IBM深蓝(Deep Blue)计算机战胜国际象棋冠军卡斯帕罗夫,带给我更多震撼和启发。但从其本质上来说,AlphaGo是深度学习网络(CNN)与蒙特卡洛搜索树(MCTS)结合的胜利,是人类智慧的进步,但从其本质上说,AlphaGo仍然属于弱人工智能。
2、人工智能下围棋的难点
AlphaGo在无人围棋比赛中胜出带给我们更多的震撼。深蓝可以在西洋棋赢过人类但是却无法赢围棋。西洋棋或者中国象棋的分支印证大概是40左右,这表示预测之后20步的动作需要计算40的20次方,但通过MinMax搜索以及Alpha-Beta修建算法来减少搜索空间,再凭借深蓝出色的计算能力,利用暴力解题法来找出最佳策略。但是围棋的分支因子是250,以围棋1919的方阵,共有361个落子点,所有整个围棋棋局的总排列组合数高达10的171次方,如果使用深蓝的方法暴力寻找最优策略,时间和经济花销过大。
3、AlphaGo算法结构
AlphaGo开创性的解决了围棋搜索空间过大,棋局复杂的问题。在架构上,AlphaGo可以说拥有两个大脑,两个神经网络几乎相同的独立网络:策略网络与价值网络,这两个网络基本上是13层的卷积神经网络所构成,卷积核大小为5
5,所以基本上与存取固定长宽像素的图像识别神经网络一样,只不过我们将矩阵的输入换成了棋盘上各个坐标点的落子状况。
AlphaGo原理的认识_第1张图片
4、策略网络
策略网络基本上就是一个单纯的监督式学习,用来判断对手最可能的落子位置。做法是大量的输入这个世界上职业棋手的棋谱,用来预测对手最有可能的落子位置。在这个网络中,完全不用去思考赢这件事,只需要能够预测对手的落子即可。但同时存在的问题是,有可能存在网络没有训练过的棋局。AlphaGo的策略网络做了两个层面增强,第一个层面是利用了增强策略网络(reinforced-learning(RL)policynetwork)的技术,他先使用部分样本训练树一个基本版本的策略网络,以及使用完整样本建立出来的进阶策略网络,然后让两个网络对弈,后者进阶版策略版网络等于站在基础版本前的高手,因此可以让基础网络可以快速熟悉高手可能落子的位置数据,进而又产生一个增强版,这个增强版又变成原来进阶版的高手,以此循环修正,就可以不断的提升对于对手(高手)落子的预测。第二个层面的优化是现在的策略额昂罗不再需要在19*19的方格中找出最可能落子的位置,改良过的策略网络可以先透过卷积核排除掉一些区域不去进行计算,然后再根据剩余区域找出最可能位置,虽然这可能降低AlphaGo策略网络的威力,但是这种机制可以让AlphaGo计算速度提升1000倍以上。
AlphaGo原理的认识_第2张图片
5、价值网络
第二个大脑是价值网络,再评价网络中则是关注再目前局势的状况下,每个落子的最后胜率,而不是短期的攻城略地,也就是说策略网络是分类问题(对方会下在哪),评价网络是评估问题(我下在这的胜率是多少)。评价网路并不是一个精确解的评价机制,尹惟如果算出精确解可能会耗费极大量的计算能力,因此它只是一个近似解的网络,而且透过卷积神经网络的方式来计算出卷积核范围的平均胜率(这个做法的目的主要是将评价函数平滑化,同时避免过度学习的问题),最终答案他会留到最后的蒙特卡洛搜索树中解决。当然,这里提到的胜率跟向下预测的步数会有关,向下预测的步数越多,计算就越庞大,AlphaGo目前有能力判断需要展开的预测步数。然后通过两台AlphaGo对抗学习,快速地累积出正确的评价样本,所以先前提到机器下围棋最大困难点点评机制的部分就是这样透过卷积神经网络来解决的。
AlphaGo原理的认识_第3张图片
6、蒙特卡洛搜索树
AlphaGo技术的最后环节就是蒙地卡罗搜索树,相较于以前深蓝所使用的搜索(搭配MinMax搜索算法以及Alpha-Beta修剪法,这里就不再赘述),由于我们并非具有无限大的计算能力(请注意,如果是有限的排列组合,蒙地卡罗搜索树的确有可能针对所有组合进行通盘评估,但是在围棋的场景下是没有办法的,就算这样做,恐怕也会造成计算时间的大幅增加),因此不可能是适用于旧的方法,不过在前面策略网络以及评价网络中,AlphaGo已经可以针对接下来的落子(包括对方)可能性缩小到一个可控的范围,接下来他就可以快速地运用蒙地卡罗搜索树来有限的组合中计算最佳解。一般来说蒙地卡罗搜索树包括4个步骤:
1.选取:首先根据目前的状态,选择几种可能的对手落子模式。
2.展开:根据对手的落子,展开至我们胜率最大的落子模式(我们称之为一阶蒙地卡罗树)。所以在AlphaGo的搜索树中并不会真的展开所有组合。
3.评估:如何评估最佳行动(AlphaGo该下在哪?),一种方式是将行动后的棋局丢到评价网络来评估胜率,第二种方式则是做更深度的蒙地卡罗树(多预测几阶可能的结果)。这两种方法所评估的结果可能截然不同,AlphaGo使用了混合系数(mixing coefficient)来将两种评估结果整合,目前在Nature刊出的混合系数是50%-50%(但是我猜实际一定不是)
4.倒传导:在决定我们最佳行动位置后,很快地根据这个位置向下透过策略网络评估对手可能的下一步,以及对应的搜索评估。所以AlphaGo其实最恐怖的是,李世石在思考自己该下哪里的时候,不但AlphaGo可能早就猜出了他可能下的位置,而且正利用他在思考的时间继续向下计算后面的棋路AlphaGo原理的认识_第4张图片

7、总结展望

现在计算机在围棋这个号称人类最后的堡垒中胜过了人类,那我们是不是要担心人工智能统治人类的一天到来,其实不必杞人忧天,因为在人工智能的分类上来说,区分为弱人工智能(ArtificialNarrow Intelligence)与强人工智能(Artificial General Intelligence)(事实上还有人提出高人工智能Artificial Super Intelligence,认为是比人类智力更强大,具备创造创新与社交技能的人工智能,但我觉得这太科幻了,不再讨论范围内),其中最大的差别在于弱人工智能不具备自我意识、不具备理解问题、也不具备思考、计划解决问题的能力。

你可能感兴趣的:(tuxiang)