AI光影社
AI光影社
Published on 2025-03-07 / 4 Visits

马老师教AI:第二篇 计算机是如何学会下棋的 (八)

第二篇 计算机是如何学会下棋的(八)

清华大学计算机系 马少平

第八节:总结

艾博士:小明,关于计算机如何学会下棋的,我们就介绍这么多,请你总结一下,我们都讲了哪些内容?

小明边回忆边回答说:还是讲了很多内容的,让我总结一下。

(1)通过一个简单分钱币问题引出了计算机下棋问题。对于简单的下棋问题或许可以通过穷举所有可能状态的方法找出最佳的行棋策略。但是对于像围棋、象棋这样的棋类,由于其庞大的状态空间,是不可能通过穷举的办法寻找最佳行棋策略的。

(2)受人类下棋思考过程的启发,提出了下棋的极小-极大模型。但是由于该模型需要搜索给定深度内的所有可能的状态,搜索时间过长,同样不适合于像围棋、象棋这样的棋类。

(3)为了减少一些不必要的搜索,提出了α-β剪枝算法。α-β剪枝算法利用已有的搜索结果,剪掉一些不必要的分枝,有效提高了搜索效率。国际象棋、中国象棋的计算机程序均采用了这个框架。

(4)α-β剪枝算法的性能严重依赖于棋局的估值,由于围棋存在不容易估值问题,该方法不适用于计算机围棋。为此引入了蒙特卡洛树搜索方法,通过随机模拟的方法解决围棋棋局估值的问题,使得计算机围棋水平有了很大提高。

(5)蒙特卡洛树搜索仍然具有盲目性,没有有效地利用围棋的相关知识。AlphaGo将深度学习,也就是神经网络与蒙特卡洛树搜索有效地融合在一起,利用策略网络和估值网络引导蒙特卡洛树搜索,有效地提高了计算机围棋的水平,达到了战胜人类大师的水平。

(6)强化学习利用自己产生的数据进行学习。深度强化学习是一种用神经网络实现的强化学习方法。根据围棋的特点,提出了三种常用的深度强化学习方法:基于策略梯度的强化学习、基于价值评估的强化学习和基于演员-评价方法的强化学习。三种方法均利用自我对弈产生的数据进行训练,但解决问题的角度不同,主要体现在不同的损失函数定义上,但最终殊途同归,均通过强化学习、自我提高的方法训练策略网络和估值网络。

(7)AlphaGo Zero实现了从零学习,并达到了更高的围棋水平。AlphaGo Zero完全抛弃了人类棋手的棋谱,完全利用自我对弈的数据和强化学习方法从零开始学习,逐步提高下围棋的水平。

艾博士:小明总结的非常全面。我们学习计算机是如何下棋的,并不单纯是学习这些方法,编写一个下棋程序,更重要的是从中学习解决问题的方法。无论是AlphaGo还是AlphaGo Zero,并没有什么创新的新技术,更多地是如何利用已有技术,将围棋问题转化为这些技术能求解的问题,并有机地将这些方法融合在一起,最终达到了战胜人类最高水平棋手的目的。是集成创新的典范。

《计算机是如何学会下棋的》篇完结