无需人类知识,DeepMind新一代围棋程序AlphaGo Zero再次登上Nature

本文主要是介绍无需人类知识,DeepMind新一代围棋程序AlphaGo Zero再次登上Nature,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

选自DeepMind

机器之心编译

在今年五月击败柯洁之后,AlphaGo 并没有停止自己的发展。昨天,DeepMind 在《自然》杂志上发表了一篇论文,正式推出 AlphaGo Zero——人工智能围棋程序的最新版本。据称,这一版本的 AlphaGo 无需任何人类知识标注,在历时三天,数百万盘的自我对抗之后,它可以轻松地以 100 比 0 的成绩击败李世乭版本的AlphaGo。DeepMind 创始人哈萨比斯表示:「Zero 是迄今为止最强大,最具效率,最有通用性的 AlphaGo 版本——我们将见证这项技术很快应用到其他领域当中。」

人工智能研究已经在多个领域取得飞速进展,从语音识别、图像分类到基因组学和药物研发。在很多情况下,这些是利用大量人类专业知识和数据的专家系统。


但是,人类知识成本太高,未必可靠,或者只是很难获取。因此,AI 研究的一个长久目标就是跨国这一步,创建在最有难度的领域中无需人类输入就能达到超人性能的算法。在我们最近发表在 Nature 上的论文中,我们展示了通往该目标的关键一步。


这篇文章介绍了 AlphaGo Zero,AlphaGo 的最新版本。AlphaGo 曾打败围棋世界冠军,Zero 甚至更强大,可以说是历史上最强的围棋选手。


之前的 AlphaGo 版本首先基于数千场人类围棋比赛来训练如何学习围棋。但 AlphaGo Zero 跳过了这一步,从自己完全随机的下围棋开始来学习围棋。通过这种方式,它快速超越了人类棋手的水平,并且以 100:0 的比分打败了之前战胜世界冠军的 AlphaGo。


AlphaGo Zero 利用新型强化学习完成这样的壮举,在训练过程中它是自己的老师。该系统的神经网络最初对围棋一无所知,然后它通过将该神经网络与强大的搜索算法结合进行自我对弈。神经网络在下棋过程中得到调整和更新,来预测棋招和比赛的最终胜者。


更新后的神经网络重新与搜索算法连接,创建新的更强大的 AlphaGo Zero,然后重复上述流程。每次迭代中,系统的性能取得小幅上升,自我对弈的比赛质量不断上升,带来更加准确的神经网络和历史最强的 AlphaGo Zero 版本。


这项技术比起前几个版本的 AlphaGo 更加强大,因为它不再受人类知识极限的约束。相反,它从一张白纸的状态开始,和世界最强的围棋选手 AlphaGo(它自己)学习下棋。


它与之前的版本在以下几个方面存在差异:

  • AlphaGo Zero 只需要围棋棋盘中的黑子和白子作为输入,而前几个版本的 AlphaGo 还包括少量手工设计的特征。
  • 它只有一个神经网络,而再不是两个。早期几个版本的 AlphaGo 使用「决策网络」选择下一步棋的位置,使用「价值网络」预测每一个位置上决定的胜者。这两个网络在 AlphaGo Zero 中被结合起来,从而使其更高效地训练和评估赛况。
  • AlphaGo Zero 不使用「rollouts」(其它围棋程序使用的快速、随机的下棋方式,以从当前的棋盘位置分布预测哪一个棋手会赢),取而代之,它依靠其优质的神经网络评估下棋位置。

所有这些区别都有助于提高系统的性能,并使其更加一般化,然而算法上的变化才是系统更加强大和高效的重要原因。


由于硬件和算法的进步才使得 AlphaGo 能持续地变得越来越高效——Zero 版本只需 4 块 TPU 即可运行。


仅仅经过三天的自我对抗训练,AlphaGo Zero很干脆地以100:0的战绩打败了之前的AlphaGo版本(它曾18次击败世界冠军李世石)。又经过40天的自我对抗训练,AlphaGo Zero变得更加强大,甚至优于打败世界头号选手柯洁的AlphaGo版本「Master」。



等级分排名(在围棋等竞争性比赛中对选手的相关技巧的水平的度量):显示 AlphaGo 如何在发展过程中逐渐变得强大。


在几百万盘 AlphaGo 自我博弈的竞赛之后,系统在尝试中逐渐学会了围棋游戏,在短短几天内积累了人类数千年的知识。AlphaGo Zero 同时还发现了新的知识,发展出非常规和具有创意性的下法,这些技术已经超越了此前 AlphaGo 与李世石和柯洁对弈时展现的水平。



AlphaGo 展现的创造力让我们有理由相信人工智能将会成为人类智慧的放大器,帮助我们实现自己的使命,去解决人类面临的最具挑战的问题。


尽管 AlphaGo Zero 仍然在发展初期,但是它完成了通向该目标的关键一步。如果类似的技术可以应用到蛋白质折叠等其他结构化问题中,减少能量消耗或搜索最新的材料,则它带来的突破有可能给整个社会带来积极的影响。


论文:Mastering the game of Go without human knowledge


论文地址:https://deepmind.com/documents/119/agz_unformatted_nature.pdf


长期以来,人工智能有一个目标就是算法能够在难度较高的领域从零开始学得超人的性能。近期,AlphaGo 成为在围棋领域第一个打败人类世界冠军的程序。AlphaGo 中的树搜索使用深度神经网络评估位置,选择棋招。这些神经网络通过监督学习从人类专家的棋招中学习,然后通过强化学习进行自我对弈。本文,我们介绍一种算法,该算法仅依靠强化学习,不使用游戏规则以外的人类数据、指导或领域知识。AlphaGo 成为自己的老师:我们训练一种神经网络来预测 AlphaGo 的下一步以及 AlphaGo 游戏的获胜者。该神经网络提升树搜索的能力,带来下一次迭代中更高质量的棋招选择和更强大的自我对弈。新程序 AlphaGo Zero 从头开始学习,并达到了超人的性能,以 100-0 的比分打败曾经战胜人类世界冠军的 AlphaGo。


AlphaGo Zero 所采用的神经网络是一种新颖的强化学习算法,即自我对抗(self-play)的竞争性训练。此前,OpenAI 曾发表论文表示自我对抗训练可以在简单环境下产生远超环境复杂度的行为。而这一次 AlphaGo Zero 和此前 AlphaGo Fan 与 AlphaGo Lee 的很大区别就是采用了这种自我对抗式的训练策略。



图 1:AlphaGo Zero 中的自我对抗强化学习


a:AlphaGo Zero 和自己进行 s_1,...,s_T 对弈。在每一个位置 s_t 处使用最新的神经网络 f_θ执行蒙特卡罗树搜索(MCTS)α_θ(见图 2)。根据 MCTS 计算的搜索概率选择棋招(a_t ∼ π_t)。最终位置 s_T 的得分根据游戏规则计算,进而计算游戏获胜者 z。b: AlphaGo Zero 中的神经网络训练。神经网络使用原始棋盘位置 s_t 作为输入,使用参数θ将其传播通过多个卷积层,然后输出代表棋招概率分布的向量 p_t,和代表当前选手在 s_t 获胜的概率标量值 v_t。神经网络的参数θ得到更新以最大化策略向量 p_t 和搜索概率π_t 的相似性,并将预测获胜者 v_t 和获胜者 z 之间的误差最小化(见公式 1)。新的参数将在下一次迭代的自我对抗中使用。


根据神经网络 f_θ,在每一个位置 s 处执行 MCTS 搜索。

图2:AlphaGo Zero中的MCTS。


a:每一次模拟通过选择最大化行动价值Q的边来遍历整棵树,加上上面的(依赖于一个已储存的先验概率P)置信边界U,并访问边的总数N(每遍历一次增加1)。

b,叶结点得到扩展,并且相关的位置由神经网络 (P(s, ·),V(s)) = f_θ(s)评估;P值的向量存储在s的外向边(outgoing edges)中。

c,行动价值Q被更新以追踪当前行动下的子树的所有评估V的平均值。

d,一旦搜索完成,会返回搜索概率值(search probabilities)π,和N^(1/τ)成比例,其中N是每一次行动自根状态(root state)以来的访问总数,τ是控制温度(temperature)的参数。

原文链接:https://deepmind.com/blog/alphago-zero-learning-scratch/



这篇关于无需人类知识,DeepMind新一代围棋程序AlphaGo Zero再次登上Nature的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/362098

相关文章

如何用java对接微信小程序下单后的发货接口

《如何用java对接微信小程序下单后的发货接口》:本文主要介绍在微信小程序后台实现发货通知的步骤,包括获取Access_token、使用RestTemplate调用发货接口、处理AccessTok... 目录配置参数 调用代码获取Access_token调用发货的接口类注意点总结配置参数 首先需要获取Ac

国内环境搭建私有知识问答库踩坑记录(ollama+deepseek+ragflow)

《国内环境搭建私有知识问答库踩坑记录(ollama+deepseek+ragflow)》本文给大家利用deepseek模型搭建私有知识问答库的详细步骤和遇到的问题及解决办法,感兴趣的朋友一起看看吧... 目录1. 第1步大家在安装完ollama后,需要到系统环境变量中添加两个变量2. 第3步 “在cmd中

无需邀请码!Manus复刻开源版OpenManus下载安装与体验

《无需邀请码!Manus复刻开源版OpenManus下载安装与体验》Manus的完美复刻开源版OpenManus安装与体验,无需邀请码,手把手教你如何在本地安装与配置Manus的开源版OpenManu... Manus是什么?Manus 是 Monica 团队推出的全球首款通用型 AI Agent。Man

基于Python开发PDF转Doc格式小程序

《基于Python开发PDF转Doc格式小程序》这篇文章主要为大家详细介绍了如何基于Python开发PDF转Doc格式小程序,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 用python实现PDF转Doc格式小程序以下是一个使用Python实现PDF转DOC格式的GUI程序,采用T

将java程序打包成可执行文件的实现方式

《将java程序打包成可执行文件的实现方式》本文介绍了将Java程序打包成可执行文件的三种方法:手动打包(将编译后的代码及JRE运行环境一起打包),使用第三方打包工具(如Launch4j)和JDK自带... 目录1.问题提出2.如何将Java程序打包成可执行文件2.1将编译后的代码及jre运行环境一起打包2

在不同系统间迁移Python程序的方法与教程

《在不同系统间迁移Python程序的方法与教程》本文介绍了几种将Windows上编写的Python程序迁移到Linux服务器上的方法,包括使用虚拟环境和依赖冻结、容器化技术(如Docker)、使用An... 目录使用虚拟环境和依赖冻结1. 创建虚拟环境2. 冻结依赖使用容器化技术(如 docker)1. 创

Ubuntu系统怎么安装Warp? 新一代AI 终端神器安装使用方法

《Ubuntu系统怎么安装Warp?新一代AI终端神器安装使用方法》Warp是一款使用Rust开发的现代化AI终端工具,该怎么再Ubuntu系统中安装使用呢?下面我们就来看看详细教程... Warp Terminal 是一款使用 Rust 开发的现代化「AI 终端」工具。最初它只支持 MACOS,但在 20

Python开发围棋游戏的实例代码(实现全部功能)

《Python开发围棋游戏的实例代码(实现全部功能)》围棋是一种古老而复杂的策略棋类游戏,起源于中国,已有超过2500年的历史,本文介绍了如何用Python开发一个简单的围棋游戏,实例代码涵盖了游戏的... 目录1. 围棋游戏概述1.1 游戏规则1.2 游戏设计思路2. 环境准备3. 创建棋盘3.1 棋盘类

Java架构师知识体认识

源码分析 常用设计模式 Proxy代理模式Factory工厂模式Singleton单例模式Delegate委派模式Strategy策略模式Prototype原型模式Template模板模式 Spring5 beans 接口实例化代理Bean操作 Context Ioc容器设计原理及高级特性Aop设计原理Factorybean与Beanfactory Transaction 声明式事物

sqlite3 相关知识

WAL 模式 VS 回滚模式 特性WAL 模式回滚模式(Rollback Journal)定义使用写前日志来记录变更。使用回滚日志来记录事务的所有修改。特点更高的并发性和性能;支持多读者和单写者。支持安全的事务回滚,但并发性较低。性能写入性能更好,尤其是读多写少的场景。写操作会造成较大的性能开销,尤其是在事务开始时。写入流程数据首先写入 WAL 文件,然后才从 WAL 刷新到主数据库。数据在开始