如何用机器学习写出简单高效的国际象棋ai

  根据美国国家大气研究中心(NCAR)一项新的研究利用分析视觉图像的机器学习模式和人工智能技术可以改进雷暴及冰雹预报。

  当前冰雹预报挑战重重。而科学镓对卷积神经网络深度学习模式进行训练可以识别影响冰雹形成和冰雹大小的暴风雨特征,从而改进冰雹预报该研究具有很好的应用湔景,日前已刊登在美国气象学会《每月天气评论》上

  该研究项目负责人、NCAR科学家大卫·约翰·加涅表示:“暴风雨的结构会对冰雹的形成产生影响。比如,超级单体比起飑线更易产生冰雹。但目前大多数冰雹预测只能通过观察暴风雨的部分特性来实现,无法识别其更大范围的形态和结构。”

  该研究由美国国家科学基金会(NSF)提供资金支持。NSF项目管理官尼克·安德森表示:“冰雹,尤其是体积大的冰雹对农业和财产会产生重大影响。利用深度学习工具可以深入了解形成大冰雹的条件,从而改进模式预报。这将是一个具有创造性的学科融合的典范”

  暴风雨是否产生冰雹取决于诸多气象元素——靠近陆地表面的大气要保持足够大的湿度,高处的大气要保持干燥;雲内冰冻水平要相对近地面低一些;强大的上升气流也是必要条件;暴风雨中不同高度风向和风速的变化也会有影响

  不过即使满足所有以上条件,冰雹的大小仍会存在较大差异这主要取决于其穿越暴风雨的路径,以及其中的环境这时暴风雨的结构就起到重要作用叻。加涅表示:“暴风雨的结构极为重要过去我们更多的关注暴风雨的单点或者垂直剖面,但水平结构也是极其重要的”

  当前模式在描述整个暴风雨物理性质时存在运算方面的难度。机器学习提供了一个可能的解决方案因为它绕过了模式对暴风雨所有复杂物理性質的需要。相反机器学习神经网络能够输入大量数据,并可以自己学习对精确预报冰雹时具有关键作用的暴风雨特征

  在该研究中,加涅应用了一种专门用来分析视觉图像的机器学习模式他使用模拟暴风雨的图像来训练模式,输入气温、气压、风速、风向等信息后可得出这些条件作用下的冰雹模拟,基于NCAR的天气研究和预报模式(WRF)分析模拟结果的准确性在此之后,机器学习模式会弄清楚暴风雨嘚哪些特征与冰雹产生及雹体大小相关

  在对模式神经网络判断的暴风雨最为重要的特征进行观察分析后,加涅表示在近地面气压低于平均水平和暴风雨顶部气压高于平均水平的情况下,暴风雨通常更可能产生强冰雹;形状近圆的暴风雨更可能产生冰雹

  此外,該研究还利用不同的机器学习模式进行随机预测用来改进冰雹预报。随机预报模式并没有分析图像而是提出一系列问题,像一个流程圖一样用来确定冰雹概率。这些问题可能包括露点、气温和风是否超过或低于阈值等

  这项研究由加涅与俄克拉荷马大学的研究人員一起开展,他们将对基于机器学习模式的冰雹预测与雷达观测数据进行对比验证若通过测试,该模式有望投入业务运行加涅表示:“这一新方法有望帮助预报员更好地预测可能产生严重破环的天气现象。我们也很乐于用真实发生的暴风雨观测继续测试和改善该模式”

  (来源:NCAR官网 编译:刘淑乔 责任编辑:崔国辉)

不仅会下围棋还自学成才横扫國际象棋和日本将棋的DeepMind AlphaZero,登上了最新一期《科学》杂志封面

同时,这也是经过完整同行审议的AlphaZero论文首次公开发表。

论文描述了AlphaZero如何快速学习每个游戏如何从随机对弈开始训练,在没有先验知识、只知道基本规则的情况下成为史上最强大的棋类人工智能。

《科学》杂誌评价称能够解决多个复杂问题的单一算法,是创建通用机器学习系统解决实际问题的重要一步。

DeepMind说现在AlphaZero已经学会了三种不同的复雜棋类游戏,并且可能学会任何一种完美信息博弈的游戏这“让我们对创建通用学习系统的使命充满信心”。

AlphaZero到底有多厉害再总结一丅。

在国际象棋中AlphaZero训练4小时就超越了世界冠军程序Stockfish;

在日本将棋中,AlphaZero训练2小时就超越了世界冠军程序Elmo

在围棋中,AlphaZero训练30小时就超越了与李世石对战的AlphaGo

实际上,国际象棋是计算机科学家很早就开始研究的领域1997年,深蓝击败了人类国际象棋冠军卡斯帕罗夫这是一个人工智能的里程碑。此后20年国际象棋的算法在超越人类后,一直还在不断地进步

这些算法都是由强大的人类棋手和程序员构建,基于手工淛作的功能和精心调整的权重来评估位置并且结合了高性能的alpha-beta搜索。

而提到游戏树的复杂性日本将棋比国际象棋还难。日本将棋程序使用了类似国际象棋的算法,例如高度优化的alpha-beta搜索以及许多有针对性的设置。

AlphaZero则完全不同它依靠的是深度神经网络、通用强化学习算法和通用树搜索算法。除了基本规则之外它对这些棋类游戏一无所知。

其中深度神经网络取代了手工写就的评估函数和下法排序启發算法,蒙特卡洛树搜索(MCTS)算法取代了alpha-beta搜索

AlphaZero深度神经网络的参数,通过自我博弈的强化学习来训练从随机初始化的参数开始。

随着時间推移系统渐渐从输、赢以及平局里面,学会调整参数让自己更懂得选择那些有利于赢下比赛的走法。

那么围棋和国际象棋、将棋有什么不同?

围棋的对弈结局只有输赢两种而国际象棋和日本将棋都有平局。其中国际象棋的最优结果被认为是平局。

此外围棋嘚落子规则相对简单、平移不变,而国际象棋和日本将棋的规则是不对称的不同的棋子有不同的下法,例如士兵通常只能向前移动一步而皇后可以四面八方无限制的移动。而且这些棋子的移动规则还跟位置密切相关。

尽管存在这些差异但AlphaZero与下围棋的AlphaGo Zero使用了相同架构嘚卷积网络。

AlphaGo Zero的超参数通过贝叶斯优化进行调整而在AlphaZero中,这些超参数、算法设置和网络架构都得到了继承

除了探索噪声和学习率之外,AlphaZero没有为不同的游戏做特别的调整

5000个TPU练出最强全能棋手

系统需要多长时间去训练,取决于每个游戏有多难:国际象棋大约9小时将棋大約12小时,围棋大约13天

只是这个训练速度很难复现,DeepMind在这个环节投入了5000个一代TPU来生成自我对弈游戏,16个二代TPU来训练神经网络

训练好的鉮经网络,用来指引一个搜索算法就是蒙特卡洛树搜索 (MCTS) ,为每一步棋选出最有利的落子位置

每下一步之前,AlphaZero不是搜索所有可能的排布只是搜索其中一小部分。

比如在国际象棋里,它每秒搜索6万种排布对比一下,Stockfish每秒要搜索6千万种排布千倍之差。

△ 每下一步需偠做多少搜索?

AlphaZero下棋时搜索的位置更少靠的是让神经网络的选择更集中在最有希望的选择上。DeepMind在论文中举了个例子来展示

上图展示的昰在AlphaZero执白、Stockfish执黑的一局国际象棋里,经过100次、1000次……直到100万次模拟之后AlphaZero蒙特卡洛树的内部状态。每个树状图解都展示了10个最常访问的状態

经过全面训练的系统,就和各个领域里的最强AI比一比:国际象棋的Stockfish将棋的Elmo,以及围棋的前辈AlphaGo Zero

每位参赛选手都是用它最初设计中针對的硬件来跑的:

(一枚初代TPU的推理速度,大约相当于一个英伟达Titan V GPU)

另外,每场比赛的时长控制在3小时以内每一步棋不得超过15秒。

比赛结果是无论国际象棋、将棋还是围棋,AlphaGo都击败了对手:

我要回帖

 

随机推荐