4889软件园:电脑手机软件下载大全,热门手机游戏免费下载

4889软件园 > 资讯文章 > 谷歌alphago(谷歌回应AlphaGo战胜李世石:证明人类智慧的力量)

谷歌alphago(谷歌回应AlphaGo战胜李世石:证明人类智慧的力量)

作者:佚名 来源:4889软件园 时间:2023-02-17 10:49:56

谷歌alphago(谷歌回应AlphaGo战胜李世石:证明人类智慧的力量)

谷歌alphago文章列表:

谷歌alphago(谷歌回应AlphaGo战胜李世石:证明人类智慧的力量)

谷歌回应AlphaGo战胜李世石:证明人类智慧的力量

【环球网综合报道】3月9日备受瞩目的围棋“人机大战”在首尔上演,世界冠军、韩国棋手李世石与谷歌AlphaGo电脑程序将展开五局对决。在结束五番棋第一战中,李世石执黑终盘失利。该轮比赛结束后,谷歌在官方网站发布文章称,这次获胜是计算机程序史上第一次打败人类顶级围棋棋手。

围棋因为其复杂性一直被认为是电脑最难掌握的游戏之一。每一个落子后,大约有200种可能的走法,而国际象棋只有20种,因此,对于围棋,所有的可能性相加起来,比宇宙中的原子数还要多。上个月, DeepMind在科技期刊Nature上首次发布了有关AlphaGo的详细信息。

首场比赛十分紧张刺激,AlphaGo和李世石寸土必争,互不相让,双方都有十分复杂的战斗局面。李世石此盘棋下得极具攻击性,而AlphaGo则针锋相对,毫不退缩。最后,AlphaGo的剩余时间为5分30秒,李世石剩下28分28秒。

DeepMind联合创始人、CEO Demis Hassabis表示:“这是一场难以置信的精彩比赛,李世石是一个以攻击风格著称的强大的竞争对手,而AlphaGo则与之展开对攻,最终给大家呈现了一场紧张刺激、难分高下的比赛。我们还有四场比赛需要应对,所以一切都还有可能发生。无论结果如何,我们认为这场比赛证明了人类智慧的力量。”

李世石在赛后新闻发布会上表示:“我要对Demis 以及他的团队致敬,他们创造出了一个令人惊叹的 AlphaGo 程序。这样的结果让我也很惊讶,但我非常享受这个过程,并期待接下来的比赛。”

人机挑战赛的获胜者必须赢得至少五场比赛中的三场比赛,所以今天的结果并没有决定最终的结局。随后的比赛将分别于韩国标准时间3月10日、3月12日、3月13日和3月15日按照中国规则进行,即采用贴3又3/4子的规则,每位棋手将各有2小时布局时间以及3次60秒的读秒。

AlphaCode到底强在哪儿?清华博士后十分钟视频详细解析

机器之心报道

编辑:张倩

AlphaCode 到底是怎么练成的?

春节期间,DeepMind 的编程版 AlphaGo——AlphaCode 一度火到刷屏。它可以编写与普通程序员水平相媲美的计算机程序,在 Codeforces 网站的 10 项挑战中总体排名前 54.3%,击败了 46% 的参赛者。

这一成绩给程序员群体带来了不小的压力,仿佛纺织工被纺织机淘汰的历史正在重演。

那么,AlphaCode 是如何做到如此强大的?在最近的一个 YouTube 视频中,清华大学朱军门下博士后 Tim Pearce 详细解析了 AlphaCode 的系统架构、「解题」原理、训练流程等内容。

原视频地址:https://www.youtube.com/watch?v=YjsoN5aJChA

AlphaCode 到底做了什么?

前面提到,DeepMind 的研究者将 AlphaCode 放在 Codeforces 挑战中进行了测试。Codeforces 是一个在线编程的平台,里面有各种各样的编程题目,各种各样的比赛。它类似于国际象棋中使用的 Elo 评级系统,每周分享编程挑战和问题排名。不同于编程人员在打造商业应用程序时可能面临的任务,Codeforces 的挑战更加独立,需要对计算机科学中的算法和理论概念有更广泛的了解,一般是结合逻辑、数学和编码专业知识的非常专业的难题。

下图展示了其中一个赛题的例子,包含赛题描述、输入输出示例等内容,挑战者的任务就是根据这些内容写出一段代码,使得其输出符合要求。

以下是 AlphaCode 写出的代码:

对于 AlphaCode 来说,这还只是中等难度的挑战。

在类似的十项挑战中,研究者将赛题输入 AlphaCode。然后,AlphaCode 生成大量可能的答案,并通过运行代码和检查输出来筛选这些答案,就像人类竞争对手一样。AlphaCode 论文的联合负责人 Yujia Li 和 David Choi 表示:「整个过程是自动的,无需人工选择最佳样本。」

为什么 AlphaCode 那么厉害?

下图是 AlphaCode 的概念图。这是一个精心设计的系统,主要构建块是基于 Transformer 的语言模型。但从本质上来说,没有一个单独的组件是全新的。

「考场」上的 AlphaCode

我们先来看一下上述系统在测试时是如何工作的。

在解决编码问题时,AlphaCode 使用了一个非常具体的协议(protocol),这个协议决定了整个系统的 pipeline。协议规定,他们可以无限制地使用示例测试用例,因为这些是作为问题的一部分给出的。但在提交给隐藏测试用例时,他们将提交版本数限制在了 10 次以内(至多 10 次)。

在测试时,AlphaCode 经历了三个阶段。

在第一个阶段,他们使用一个大型 Transformer 模型,该模型将问题描述示例测试和一些关于问题的元数据都放在一个字符串中作为输入。然后,他们从这个模型中采样,生成大量的潜在解决方案。所以第一个阶段得到的是 100 万套可能的代码脚本。

在第二个阶段,他们用示例测试用例测试了得到的 100 万套代码,其中 99% 的代码都没有通过测试,可以直接排除。这就将可行的代码套数降到了 1000 个左右(具体数量取决于题目的难度)。

在第三个阶段,他们使用了第二个 Transformer 模型。该模型将问题描述作为输入,但它并没有试图生成代码来解决问题,而是生成测试用例输入(每个问题对应 50 个输入)。也就是说,他们并没有选择生成输入和输出对,而是生成了一些与问题相关的实际输入。所以模型可能要生成字符串、二进制数或数列(具体生成形式取决于问题类型)。

这种做法好在哪儿呢?他们认为,如果两个脚本为所有 50 个测试返回相同的答案,那么它们可能使用的是相同的算法。这就可以避免浪费两次提交机会把这两个脚本都测试一下。所以在第二步得到 1000 套脚本后,他们就根据这 50 个生成的测试输入的输出对脚本进行聚类,然后从每个聚类中选出一个示例脚本,总共选出 10 个。如果这 10 个脚本中有一个通过了所有的隐藏测试,那么他们就成功地解决了这个编程问题,否则就宣告失败。

以上就是 AlphaCode 在测试时的工作原理,其中用到了两个 Transformer 模型。那么这两个模型是怎么训练的呢

AlphaCode 的训练

AlphaCode 的训练分为两个阶段:预训练和微调。这一过程涉及两个数据集:第一个是由各种编程语言组成的公共 GitHub 库,用于预训练,数据量高达 715GB;第二个是从各个编程挑战网站(包括 codeforces)搜集的赛题,用于微调,包括问题描述、测试用例和人类程序员编写的答案。

数据集有了,接下来就是训练了。

在预训练阶段,他们会抓取 GitHub 上的一些代码,然后随机选择他们所谓的「pivot point」。

pivot point 之前的所有东西都将被输入到编码器中,解码器的目标则是重建 pivot point 以下的代码。编码器输出代码的向量表示,后续可用于整个解码过程。

解码器以自回归的方式工作。它从预测代码的第一个 token 开始。损失函数就是预测的 softmax 输出和真实 token 之间的交叉熵。然后,第一个真实的 token 成为解码器的输入,第二个 token 随之被预测出来。在解码器被要求预测出一个特殊的代码结束标记前,这种情况会一直重复下去。现在,这些损失通过解码器和编码器反向传播,但对于编码器来说,增加第二个损失是非常重要的。这被称为掩蔽语言建模损失:你将输入到编码器中的一些 token 留空,作为一种辅助任务,编码器会试图预测哪个 token 被掩蔽了。

预训练结束之后就到了微调环节。在这个环节,他们将问题描述元数据和示例的输入输入到编码器中,试着用解码器生成人类编写的代码。此时可以看到,这与编码器 - 解码器架构所规定的结构非常自然地吻合在一起。这一阶段的损失与预训练时完全相同。而且,这里也有第二个 Transformer 用来生成测试输入。这也是由相同的 GitHub 预训练任务初始化的,但它被微调以生成测试输入而不是代码。

除了上面提到的常规训练步骤和架构,AlphaCode 还从最近的其他论文中借鉴了一些经验。Tim Pearce 指出了其中比较不错的一个:

AlphaCode 的元数据调节

除了问题描述,研究者还总是将元数据作为 Transformer 的输入,包括编程语言、问题的难度等级、关于问题的一些标签,以及解决方案是否正确等。在训练时,模型显然知道这些字段的值是什么,但在测试时,它们并不知道。非常有趣的是,他们可以在测试时向这些字段中输入不同的东西来影响生成的代码。例如,你可以控制系统将要生成的编程语言,甚至影响它试图生成的解决方案类型,比如是尝试动态编程方法还是进行穷举搜索。

他们在测试时发现,当他们对最初的 100 万个代码脚本进行采样时,将很多字段随机化是非常有帮助的。因为,通过增加原始采样池的多样性,正确答案出现的可能性就会增加。

以上就是 Tim Pearce 对 AlphaCode 的全部解析。他认为,DeepMind 的团队在这项工作中的确取得了一些进展。但他比较不解的是:为什么他们在这些编程问题中取得的成就远远不及他们在围棋、《星际争霸》等游戏中取得的超越人类的成果?Tim Pearce 初步猜测是因为编程问题比较难,而且数据比较难以获取,因为在游戏中你可以无限制地产生很多模拟数据,但在编程问题上却不能这么做。

参考链接:

https://www.youtube.com/watch?v=YjsoN5aJChA

https://storage.googleapis.com/deepmind-media/AlphaCode/competition_level_code_generation_with_alphacode.pdf

谷歌CEO皮查伊:AlphaGo将在围棋教学中发挥更大作用

谷歌正借助人工智能进军教育领域,对于中国市场,谷歌选择从围棋教育入手。

12月4日,谷歌CEO桑达-皮查伊(Sundar Pichai)在谷歌亚太区总裁Karim Temsamani和谷歌中国区总裁石博盟(Scott Beaumont)的陪同下低调现身上海聂卫平围棋道场。

在现场不到一百人的观众当中,有几十个年龄不超过10岁的小朋友,他们都是聂卫平围棋道场的业余选手,而皮查伊和谷歌就是要在这些孩子当中发现最具潜力的“围棋先锋”,并用DeepMind发明的AlphaGo围棋教学方法来培训他们。

“当柯洁进入到与AlphaGo的第二场比赛的时候,他有点沮丧,说自己好像是在和‘神’比赛。”皮查伊说道,“现在AlphaGo虽然已经退役了,但是它会在围棋教学中发挥更大的作用。”

柯洁上个月在一场关于“金融知识图谱”的活动中对第一财经记者表示:“和AlphaGo下棋让我痛苦,我都流泪了。围棋一直是崇拜强者的运动,能够见识到人工智能的强大,也是此生有幸。”

皮查伊透露:“DeepMind将会基于AlphaGo发明一套围棋教学工具,很快就可以在DeepMind网站上免费下载,所有人都可以使用,学习Alpha Go是如何下棋的。”他还表示,这套围棋教学工具中的数据是从20多万场人类棋手比赛,以及75场AlphaGo和人类的对抗中积累的。

人工智能的诞生是否真的能提升全球最顶尖围棋棋手的技能?对此,聂卫平告诉皮查伊:“AlphaGo确实对人类棋手起到了指导作用。在各类比赛中,我们一些选手已经在学习使用AlphaGo的下法。”

为了发现和培养下一代的优秀棋手,推广围棋运动,皮查伊宣布,谷歌将为200多名年龄在4到18岁的青少年围棋手提供奖学金。

皮查伊是在参加完乌镇互联网大会后来到上海的。他在乌镇互联网大会期间对外表示:“谷歌的很多工作都是为了帮助中国企业,尤其中国的中小企业,他们可以借助谷歌的优势走向海外。”

尽管谷歌回归中国仍然没有具体的日程表,但谷歌在中国的办公室正在不断扩张,并且仍在大规模招募人工智能方面的人才。

第一财经记者查看领英(LinkedIn)上谷歌发布的招聘职位发现,谷歌在北京和上海两地发布了上百个包括产品经理、大广告客户营销主管、战略伙伴经理、产品营销经理、项目经理、全球供应链经理、软件工程师、技术客户经理、业务发展顾问、用户体验设计经理、制造工艺工程师、招聘主管、产品质量工程师等在内的职位。

谷歌大中华区总裁石博盟此前在接受第一财经记者采访时表示:“当下是中国人工智能发展的一个很好的时机,因为中国有很多资源和计算机科学家,这就是为什么谷歌在中国也雇佣了很多软件的工程师。”他还说道,在中国,一旦有想法了就会迅速打造成一个原型,中国的转化能力非常强,而且有海量的数据作为支撑,这是中国得天独厚的优势。

除了围棋教学以外,今年以来,谷歌持续在全球教育领域加大投入。今年10月13日,皮查伊在匹兹堡进行演讲,并宣布多个能够增加就业机会的项目,帮助人们应对未来的自动化技术对人类的替代效应,并为此开辟了专门的网站,并针对学生、教师、地方企业、求职者、开发者和创业公司提供项目。

谷歌在美国本土宣布了一个“与谷歌一起成长”(Grow with Google)的项目,承诺在未来几年向非营利组织提供10亿美元资金,在美国提供培训项目,其中有1000万美元将被提供给一家名为“Goodwill”的人力资源开发非营利组织,计划未来3年将培训120万人。

谜底揭晓!Master官方宣布自己就是AlphaGo

黄士杰(资料图)

北京时间1月4日,横扫网络的神秘棋手“Master”公布了自己的真实身份,他就是AlphaGo团队的黄士杰博士。其后它宣布正在进行的第60局与古力九段的对决为最后一局棋,而古力的好友柯洁也表示,他事先已经知道剧情,柯洁还在微博上说:“希望这网络公测的最后一盘,古哥能发挥出人类的极限水平。”只可惜最终古力还是未能取胜,Master以60胜1平的完美战绩谢幕。

众所周知,黄博士就是去年3月为AlphaGo执棋的黄士杰博士,他不仅是DeepMind的资深研究员,也是AlphaGo的主要程序开发者。黄士杰博士毕业于台湾师范大学,博士论文就是以“应用于电脑围棋之蒙地卡罗树搜索法的新启发式演算法”,本身也是业余六段的围棋棋手。

Master在聊天室宣布自己的身份

今天晚上连续战胜中韩三位高手之后,Master已经收获了59胜,就在对阵古力之前,Master在对阵平台的聊天室里宣布:“我是AlphaGo的黄博士”,这个消息也印证了之前人们的猜想,职业棋手对阵的果真就是“阿尔法狗”。

在此之前,网传Master就是AlphaGo的升级版,虽然谷歌方面并有正面回应,但棋手们都认定必是AlphaGo的升级版无疑。有职业棋手就此问过谷歌AI团队的黄世杰,他没有承认也没有否认。如今黄博士终于点破身份,Master就是AlphaGo。

其实在今天下午战胜棋圣聂卫平后,Master已经主动败露了身份,聂卫平执白3又1/4子之差输掉这盘,Master取得第54场胜利,并打了“谢谢聂老师”五个字。而在与聂卫平比赛之前,为了表达对这位前辈的尊敬,Master主动将30秒一步的快棋,调整到60秒一步。而繁体字的书写,明显就是港台地区的书写习惯,而在去年3月的人机大战中,来自中国台湾的黄世杰博士,就是AlphaGo的“人肉臂”。

1月4日晚间Master宣布自己就是AlphaGo,而代为执子的是AlphaGo团队的黄士杰博士。截至1月4日晚,Master已经斩获59连胜,击败15位世界冠军,包括中国、韩国、日本各自的“当今第一人”柯洁、朴廷桓和井山裕太。今晚做客腾讯的《围棋天地》首席编辑张大勇也透露,这次是AlphaGo经过9个多月的自我学习之后的一次网络公测,当它与人类顶尖棋手下到第60盘后就将结束这次测试。

昨晚输棋、今天生病住院的19岁世界第一人柯洁发微博说:“感谢Alphago最新版给我们棋界带来的震撼,作为一开始就知道真身是谁的我来讲,是多么希望网上的快棋人类能赢一盘。若不是住院,我将用上那准备了一个星期的最后一招......略有遗憾,希望这网络公测的最后一盘,古哥能发挥出人类的极限水平!”

新科应氏杯冠军唐韦星也发微博说:“ 原来古哥才是最后一个啊,怪不得说请我吃饭。”聂卫平今晚在做客腾讯时也多次提到,他认为Master比去年的AlphaGo更厉害,想必棋圣也是知情人之一。

Master网战回顾:弈城网30连胜 转战野狐大杀四方

2016年12月29日晚至31日下午, Master在弈城网上连胜披着“马甲”的多位中韩高手,包括连续37个月排名韩国等级分第一朴廷桓九段(“XIUZHI”)、中国名人战冠军连笑七段(“剑术”)、新科百灵杯冠军陈耀烨(“龙胆”)、2016年三冠王芈昱廷九段、新科应氏杯世界冠军唐韦星九段等。

在弈城斩获了30连胜后,2017年1月2日,Master又转战野狐围棋网“踢馆”依旧大杀四方。

与柯洁两个战场的三次交锋

12月30日,Master在弈城网与账号为“吻别”的网络棋手交锋两次,均以中盘获胜。该账号疑似也属于“当今世界围棋第一人”柯洁,但并无人证实。

1月3日,转战野狐的Master迫使有“当今围棋第一人”之称的柯洁中盘投子后,Master已经斩获了50连胜,击败15位世界冠军。当时外界就普遍认为,这位Master不是人类,而是人工智能。但该AI是否就是谷歌旗下在2016年3月一战成名的AlphaGo,尚不可知。

唯一一盘和棋

1月4日,Master第52盘以和棋结束,Master的51连胜纪录就此终止。这场比赛中,Master挑战中国围棋职业选手陈耀烨。Master执黑棋、陈耀烨执白棋,30秒3次快棋。不过陈耀烨出现了断线情况,30秒没有落子,系统判定和棋。

Master7目半胜棋圣

1月4日下午,神秘账号Master继续在野狐围棋网上挑战人类顶尖高手,第54局,中国棋圣、64岁的聂卫平出战。本局Master特意把比赛用时调整为每方1分钟一手,以示对聂卫平的尊敬。最终本局进行至254手,执白的聂卫平以7目半的较大劣势落败。棋局结束之后,Master也打出了“谢谢聂老师”五个字。

对决常昊 聂卫平直呼输的太惨

第58局的对手是老牌世界冠军常昊九段,本局Master开局将对手压制在低线一举取得胜势。而作为老师的聂卫平直呼徒弟输的太惨:“这是我见到职业棋手下得最糟的,没想到我的徒弟会输这么惨。”

Master总战绩60胜1平!击败数位世界冠军

Master在网络对战中收获了60胜1平的完美战绩,在这60场胜利中,Master先后战胜了来自中韩的数位围棋世界冠军——中国世界冠军:柯洁(3次)、陈耀烨(3次)、古力(3次)、范廷钰(2次)、常昊(1次)、时越(1次)、芈昱廷(1次)、唐韦星(1次)、江维杰(1次)、柁嘉熹(1次)与周睿羊(1次);韩国世界冠军:朴廷桓(5次)、元晟溱(1次)、姜东润(1次)、金志锡(1次)与朴永训(1次)。

中华台北的世界冠军周俊勋与日本围棋第一人井山裕太也双双落败,重新出山的64岁棋圣聂卫平也无功而返,Master在本次网络对战中收获了一场彻彻底底的完胜。

聂卫平:Master并非零失误 但人类已无法超越

Master在连扫中日韩顶尖棋手后,又以7目半战胜聂卫平。在输掉比赛后,聂卫平仔细研究并进行复盘,很多人都认为Master是不会有失误的,但聂老并不以为然:“Master不一定是零失误,只能说失误很少,刚开始的时候Master是很不利的”。输了7目半的聂老认为自己本来是有机会可以赢的,但输了并经是输了“输的再少,也不行,也是输”。就目前的状况来看,聂老认为人类已经无法超越人工智能,搞不好还会越输越多。

教程:如何动手打造属于自己的AlphaGo Zero?

雷锋网按:Petr Baudis是捷克布拉格技术大学的一名博士生,他也是创业公司Rossum.ai的创始人。近日,Petr在Medium上发表了一篇博客,结合自己在强化学习方面的研究以及在围棋方面的应用讲述了如何按AlphaGo Zero的原理打造自己的AlphaGo Zero,以下则是由雷锋网整理的相关内容:

我的故事:从围棋到神经网络,不期而遇

多年来,我一直聚焦于强化学习领域——尤其在让计算机玩围棋的棋盘游戏领域。我之前就被这个游戏迷住了,它被认为是我们最终可以解决、但又是最棘手的挑战之一。

我当时编写了当时最强大的开源程序Pachi,后来又发布了一个演示性程序Michi(这是一个简约的围棋蒙特卡洛搜索引擎,仅有550行Python代码)。几个月后,Google DeepMind宣布了他们的AlphaGo程序在神经网络应用方面取得的重大突破(雷锋网按:即AlphaGo战胜欧洲冠军樊麾);同时我也将神经网络的研究应用在了自然语言处理领域上。

DeepMind的AlphaGo Zero在一个月前再次引爆了了人工智能社区——这一次,他们的神经网络能够在没有人类的知识(监督学习或手工数据)的情况下从头开始完全学习,所需要的计算量也更少。正如DeepMind在其博客中所说:

“无需人类知识即可精通围棋游戏”

人工智能的一个长期目标是通过后天的自主学习(雷锋网注:tabula rasa,意为“白板”,指所有的知识都是逐渐从他们的感官和经验而来),在一个具有挑战性的领域创造出超越人类的精通程度学习的算法。此前,AlphaGo成为首个战胜人类围棋世界冠军的程序......我们将介绍一种仅基于强化学习的算法,而不使用人类的数据、指导或规则以外的领域知识。AlphaGo成为自己的老师,这一神经网络被训练用于预测AlphaGo自己的落子选择,提高了树搜索的强度,使得落子质量更高,具有更强的自我对弈迭代能力。从一块白板开始,我们的新程序AlphaGo Zero表现惊人,并以100:0击败了此前版本的AlphaGo。

当天晚上我很兴奋地阅读了这篇发表在《Nature》上的论文。结合我将神经网络应用于围棋AI的经验,我可以很快了解AlphaGo Zero的原理,其算法比之前的AlphaGo更简单,其神经网络训练的循环也更精致,我很快对Nochi进行了调整,当我凌晨5点终于睡下时,新版本的Nochi围棋程序已经在Rossum的GPU集群中开始训练了。

DeepMind的故事:从AlphaGo到AlphaGo Zero

AlphaGo Zero的原理很简单:一个单一的、可以同时评估位置并建议接下来的走法的神经网络,而通过经典的蒙特卡罗树搜索算法可以构建游戏走法树,探索变化及找到应手——只有在这种情况下,它只使用神经网络,而不是进行随机的游戏模拟(而之前所有强大的围棋程序都是如此)。

AlphaGo从一个完全随机、只能进行混沌的预测的神经网络开始,在一次又一次地迭代中自我对弈。神经网络可以根据预测正确或错误的结果来进行训练并建立强化学习策略,随着时间的推移从混沌中形成自己的规则。

通过这样的“第一原则”进行学习并达到超过人类水平的做法实际上要比原来的AlphaGo快得多,这真是太神奇了。同时令人惊讶的是,所发现的策略实际上与人类数千年来的发展非常相似——这也说明我们的做法是正确的!

如果将AlphaGo与AlphaGo Zero进行比较时,很容易发现AlphaGo Zero的三大主要进展:

不要基于人类游戏的游戏记录进行训练。

用一个简单的神经网络代替之前AlphaGo中使用的两个神经网络的复杂联锁。

在围棋局势评估的卷积神经网络中使用剩余单元(ResNet-like)。

用于图像识别的深度残差学习(arxiv)

最后我有一个一般性建议:如果您使用Pre-ResNet的卷积神经网络进行视觉任务,请考虑升级精度是否重要!在Rossum,我们持续看到所有这些工作的准确性都有所提高,AlphaGo团队也是如此。

Rossum的围棋程序:Nochi

在这个用Python写的围棋程序Michi中包含了围棋规则的实现,蒙特克洛树搜索算法和用于评估的随机游戏模拟。这是理想的状况 —— 只需用基于Keras的神经网络来代替随机游戏模拟,并为程序添加一个“自我演奏”训练循环即可(当然,把它写出来只花了一个晚上,但这并不是说我们在接下来的几个星期里没有进行过调试...)

但还有一个问题:尽管AlphaGo Zero比老款Alphago要求低得多,但按常规硬件手段,运行相同的设置仍然需要1700 GPU年的训练时间。 (考虑一下Google的计算能力,以及他们用TPU所做的加速)。因此,我们做了相应的简化,我们不是使用全尺寸的19x19板,而是仅在最小的灵敏板7x7上训练Nochi 。

同时我们还对原始方法进行了调整:基于我们在Rossum的实践,我们稍微修改了神经网络的架构,以及采用了一个更激进的训练过程,确保自我游戏期间的神经网络尽快收敛,使得Nochi成为第一个达到GNU Go基准水平的AlphaGo复现版本(GNU Go是一个经典的中级程序,通常用于其他算法的基准测试)。另外,Nochi的水平随着每次移动所的分配时间提高而得到提高,这表明神经网络不仅仅记住了游戏,而且学会了概括和计算抽象策略。

下面说重点。Nochi已经在GitHub上开源,而且仍然是一个任何人易于上手学习的小型Python程序。目前我们正在进行其他复制AlphaGo Zero的其他成功工作,例如Leela Zero和Odin Zero。毕竟,我们还需要一个任何人都可以安装和学习的、超人类的围棋软件,尽管我们主业是在文档处理(我们的愿望是消除所有的手动数据输入)上,我们将视其作为我们一项可以长期发展的衍生成果进行更新。

关于AlphaGo和Nochi的更多信息,可关注以下链接:

DeepMind最新的《Nature》论文及AlphaGO Zero Cheat Sheet(原理表单)

Nochi的源代码

我在Machine Learning Meetup上演讲的PPT以及相关视频(见下)