天天财汇 购物 网址 万年历 小说 | 三峰软件 小游戏 视频
TxT小说阅读器
↓小说语音阅读,小说下载↓
一键清除系统垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放,产品展示↓
首页 淘股吧 股票涨跌实时统计 涨停板选股 股票入门 股票书籍 股票问答 分时图选股 跌停板选股 K线图选股 成交量选股 [平安银行]
股市论谈 均线选股 趋势线选股 筹码理论 波浪理论 缠论 MACD指标 KDJ指标 BOLL指标 RSI指标 炒股基础知识 炒股故事
商业财经 科技知识 汽车百科 工程技术 自然科学 家居生活 设计艺术 财经视频 游戏--
  天天财汇 -> 科技知识 -> AI 是不是已经毁了围棋这一古老的游戏? -> 正文阅读

[科技知识]AI 是不是已经毁了围棋这一古老的游戏?

[收藏本文] 【下载本文】
人工智能有那么多可以应用的实用领域,偏偏选择了围棋来挑战人类。这真是个坏主意。这种游戏在东亚地区有特殊的文化价值。许多人从小对它抱有热情。从今后要成为…
ai没有毁掉“围棋”这一项游戏,也没有毁掉人类从围棋中获得乐趣的“可能性”,但我可以明确说,ai毁掉了这项运动曾经极高的文化格调。
在ai时代以前和ai时代以后,我都会偶尔看看围棋选手的直播,但是我能明显感受到其中观众氛围的区别。
在之前,绝大多数观众对棋手是非常敬畏的,虽然也会在直播中讨论某一手的好坏,但总体上都是在学习,而在那之后,在线指导棋手下棋简直成为常态,以至于我都不想再看弹幕了。。。而官方自己呢?解说全在看电脑分析胜率涨跌,说得难听点就像是信徒在聆听上帝的神谕一样。
无疑,现在ai还没有真正成为围棋上帝(否则ai自己对战的时候会出现先手必胜或者帖目后先手必败的局面了),但是对人类来说,它已经和上帝没有多大区别,曾经人类顶尖选手的对决是传奇故事,现在更像是一群学生在老师面前对答案。。。
最终,人们不得不承认,原本玄而又玄的棋道,原来只不过是数字堆砌之后迸发出的偶然,原本被仰视的棋手,在ai面前却也已经同样不堪一击,棋手们原本的文化格调被摧毁了(当然有些棋手的抽象行为也算是助推了一下),就此一去不复返。
当然,纵使棋手们走下神坛,围棋比赛以后还是会举办,生活也还是会继续,围棋这项运动会长期存在下去,大师们会继续对答案,比拼谁更像ai,只是对观众们来说,它曾经附加的文化属性已经慢慢褪色,一去不返。
围棋也只是ai时代的缩影而已,比如绘画和音乐,都会一个个会经历这样的过程,人类曾经引以为傲的那些艺术和文化产品,都会被ai以数学模型所迭代,这是必然的趋势。
也许未来几十年以后,文明的进步就跟人类没什么关系了。。。
恐怕是有这种危险。
在阿法狗横空出世的时候,我一度也认为AI对围棋不会有太大影响。
一是传统的比喻:汽车的出现并不会影响赛跑。
二是棋手之间心理甚至情绪的博弈有时候比棋盘上的计算更精彩。
但几年之后我发现情况和我想象的不同了,AI真正打击的是职业棋手的自信心。
汽车的发明固然不会影响田径,但田径选手也绝不会以汽车为师。
反观职业围棋,很多高水平棋手在做判断的时候也会不自信的看一眼AI胜率……这就……
回到上面讲的第二点,作为竞技项目,人与人之间的心理博弈是很重要,也是很精彩的。常下棋的人才会懂得,所谓“神之一手”最大的价值不在于胜负逆转,而是棋手居然有这种魄力在胜负角力的关头做出如此的判断!
这种灵魂的燃烧才会带来情绪最大的解放,正如围棋圈对武侠文化的痴迷——棋手宛如两位决斗的侠客,起舞于刀锋之上,一念之间立判生死!
可惜AI的时代到来了,凌驾于所有人类棋手之上。
山巅清风抚过,你心有所感,兴之所至欲拔剑随风。
云层中AI发出滚雷般的声音:“胜率下降!”
你不知道错在哪里,但你知道那个声音是对的。
更可怕的是,你的对手也能听到。
再谈吴清源。
天元,三三,星。成就一段传奇。
但要知道,这个下法是有毛病的,这个布局是亏的。吴清源的成功(虽败犹荣)恰恰不在于布局的招数,而在于布局的理念和心理博弈。
秀哉名人事后也坦承,这三手棋让他一度失去了冷静。
所谓初生牛犊不怕虎,吴清源与木谷实敢于挑战宗师强手,甚至“冒进”的下出天元布局,本身就是基于自信与浪漫的试错。可以说是先走上弯路,再实现超车。
而如果面对AI——一个不败的老师和对手。天元、三三、星位落下,AI显示的胜率一路暴跌。他是否还有勇气在这条路上继续前进呢?
AI的出现并不是新的吴清源,恰恰是在扼杀吴清源。
在AI时代,棋手想要以自己的方式求道,需要比吴清源和木谷实更多的勇气。
AI是不是已经毁了围棋,我接触不到职业棋手,以我自身的水平更是不敢判言。
但我能看到诸多评棋者(不乏职业棋手)都在AI面前掩去了锋芒。
只希望仍然奋战在一线的人们先能够自我解放,坚守住棋士的信心和梦想。
是。
在柯洁输给阿尔法狗的时候,我也没觉得围棋会完蛋。
但是当这两年,人类开始用“AI符合度”为指标进行围棋训练
并且所有的顶尖棋手都陷入了“要么学AI,要么大概率继续输”境地的时候
那我觉得围棋已经完蛋了。
当然,都到了这种地步了,还不完蛋,还等什么呢?
本质上都是从游戏衍生出的竞技项目,凭什么war3、星际、帝国可以完蛋。
围棋不能完蛋?
人类用新发明的东西让旧东西完蛋,有什么问题吗?
沉舟侧畔千帆过。
说实话,毁不毁的不好说,但是至少不好玩了。
原来大家下完棋复盘,是在一起研究问题,现在大家下完棋复盘是在对答案。
就不得不说,围棋的观赏性在变低,人的特征已经越来越不明显了。
再加上网上AI横行,从我个人来讲,看棋和下棋的欲望已经越来越低了。
游戏可以继续玩,所以我们到底在失落什么?
其实AI毁掉的不是棋类游戏本身,它毁灭了一个江湖
棋类的江湖,曾经是壮丽的
我不下围棋,但是我们全家都会下象棋
稍微对象棋有点了解的人,都不会对许银川这个名字陌生
棋迷们喜欢叫他许仙
我第一次听到许银川的大名,是从我爷爷那里
我爷爷在我们当地的象棋圈也是小有名气
有一天我和他在他的书房里下棋
下着下着,他问我,你知道现在的象棋谁是天下第一么
他没有说“冠军”,而是用了“天下第一”这种令人神往的词汇
我说不知道,不过我们这不是那某甲下得最好么
他说“对,但是某甲当年去参加我们省里的大赛都没能入围,他输给了我们市里的一个高手某乙,我还专门去找某乙,和他下了一盘,确实是个高手,输的心服口服。后来聊起天,他跟我说,他以前在上海,碰到过一个真正的高手,赢得他五体投地。后来才知道,那个人叫胡荣华。”
我说:那胡荣华就是象棋的天下第一么?
他:老早(以前),胡荣华确实是天下第一,不知道赢了多少个冠军。但是九几年的时候,有个青年人横空出世了。他和胡荣华两个人,在一个体育馆里搏杀了一个晚上,那日晚上胡荣华从头到尾,整场连头都没抬起来一下,但最后还是输给了这个青年人,他的名字叫许银川,那年他才18岁。”
我听了这番话,当时内心是悸动的。想在回头看看这番话,真的很有武侠小说里那种味道
当时的我不禁得开始想:
我当时是我们班上的象棋亚军,同级的人有好几个比我强,我们学校的冠军是高我一个年纪的学长,我还记得他戴个眼睛,高高瘦瘦的,大概《棋王》里的脚卵就长那样吧。他们的水平我都有了解。
可是市冠军该有多强呢?就不知道了,更别说省冠军,全国冠军……还有那曾经的王者,和横空出世的天下第一……此时的我心中,有了江湖的概念,也有了一丝丝的向往
很多年后我看到井上雄彦的《浪客行》,宫本武藏在打败了当地所有的高手后,把目标瞄准了天下第一,当他爬上了一座山峰,迎面而来的是,是一座座更高的山峰。此时的武藏心中,有了天下的概念




有人的地方,就有江湖。
江湖是人构成的,是对人类自我极限的探索,想象,憧憬,甚至是崇拜。
没有经历过比赛的人是不了解那种感觉的
我管这种感觉叫 决斗心态
虽然我只是一个参加过我们学校比赛的超级弱鸡
但是那种比赛时和对手搏杀的感受,都是一样的
绞尽脑汁,使劲浑身解数尝试去打败对手
虽然全程都在拼命得去尝试了解对方的想法
但这个过程反过来,你也在不断地认识自己
如果当碰到更强一点的对手,居然下出了妙手反败为胜的时候,你就更新了对自己的看法
“原来我不止那样啊!我可以更强!”
那种快感难以言表,性快感跟它比起来简直不值一提
绝不是简单的“胜负欲”三个字可以简单概括的
出老千赢了的人,不会有那种感觉
因为自己是骗不了自己的
但人都有自己的极限,所以对于那种能突破远高于自身极限的高手
我们追逐着他们的身影,也憧憬着他们的身影
因为他们是比“自我极限”更高一个层次的“人类极限”的象征
无数的憧憬和追求兜笼来,就是江湖的源代码
而ai的出现,毁掉了这一切
2006年,许银川和当时ai下了一盘棋,结果是和棋。
我非常清晰得记得,当时电视台的主持人说:电脑真的非常强,甚至达到了人类天才的水平
对,那会儿我们任然是拿ai和天下第一的人类比,我们还有着一定的自信和自尊
可那会儿ai还是婴儿水平啊
阿尔法狗战胜欧洲冠军的时候,我们是嘲笑的
“赢了欧洲冠军也好意思说?他们什么水平啊!”
到了2016年,李世石以及输给ai了,但他至少赢了一盘。所以柯洁敢说他能赢。
结果了2017年,阿尔法狗直接剃了柯洁一个光头。
柯洁哭了
所有人都无比得的失落
因为江湖没了
我们对所有竞技类比赛的兴趣
很大程度上是对谁是当今天下第一的兴趣
可是现在大家都默认了,ai就是真正的天下第一,残酷到没有任何狡辩的余地
所有冠军都不过是一狗之下万人之上罢了
很多人都喜欢拿“汽车的出现,也没有让百米赛跑消失啊”做反例
但是这个比喻其实不恰当
人不会和豹子比赛跑,没意义
因为赛跑是对人类自身极限的探索
而汽车始终是外力,开车和人赛跑无异于出老千
真正能让百米赛跑消失的,将会是基因工程
等哪一天,改造人跑进了百米8秒,7秒的时候,就不会再有人关注成绩了
因为这已经不是人类自身的突破,而是科技的竞赛了
所以这个极限已经失去了价值
围棋,或者所有棋类都一样
就像很多人说的,现在的高手都在背ai的棋谱
比的已经不是对棋艺,而是记忆力了
于是棋艺的极限,也就此失去了价值
江湖也就此逝去
这,才是我们失落的真正原因
这个怎么说呢,打个不恰当的比方吧。好比Perelman拿几何分析搞定3维庞加莱猜想以后,确实数学界对3维庞猜的关注直线下降了。。都是把他当黑盒子来用。虽然不少拓扑学家还是认为找到一个拓扑的证明还是有很重要的价值的。
但是作为一个(有一定水平的)数学爱好者来说,你去了解一下20世纪数学家攻克3维庞猜的历史,虽然大概无助于你写新的数学论文,但也是一种(不带功利性的)乐趣。
所以类似的道理,对业余棋手来说,AI对他们没有太大的观念上的挑战,相反,业余天王们借助AI变得更强了。真正受冲击强烈的是职业顶尖棋手。和阿法狗在正式比赛单独交手过的两位传奇棋手,李世石、柯洁,都受到了不小的负面影响。李世石直言他从学棋开始,他就把围棋当成一种艺术(而不仅仅是胜负),所以他至今无法接受计算机下棋。柯洁么,自己去看他最近的B站视频吧。。他现在的想法都可以算是“围棋虚无主义”了。
作为一位曾经的棋手、现在的强化学习(AlphaGo对应的领域)工作者,结合相关论文回答一下这个问题。
万字长文,非专业人员可跳过中间对AlphaGo算法的分析,文章最后也用通俗易懂的语言总结了两代AlphaGo的大致框架。
曾有一人,在中日交战之际,孤身东渡,于日本棋院摆下棋枰,横压一代翘楚,独孤求败。
曾有一人,在中日擂台之上,力挽狂澜,于绝境之中逆流直上,扫清一众敌手,获封棋圣。
曾有一人,在棋坛争霸之中,绝情断念,荣誉等身却化身石佛,统治一个年代,只取半目。
…………
这里曾是一片江湖。没有硝烟,却步步杀机,不持刀剑,却处处生死。这里曾宗门林立,天骄辈出。而如今,是非成败转头空,AI淘尽英雄……
曾经的我满怀对围棋的梦想,也算是有点天赋吧,不足十岁就已经获得过多次省级冠亚军,正打算中考之后去聂道场进行职业赛前的特训。然而天不遂人愿,在那一年的3月,一切都变了,一只狗从天而降,毫不留情的粉碎了棋界的一切骄傲。当时还很懵懂,并不清楚AlphaGo的出现对人类意味着什么,只知道围棋再也不是自己引以为傲的那种“千古无同局”的智慧颠峰了。犹记得那个晚上,我彻夜难眠,最终还是不得不相信,围棋已经被彻底“击败”。
但时也命也,谁也没有想到,现在反倒是AI重新带火了围棋。作为艺术,或许围棋已经进入暮年;但作为一个益智游戏,围棋却又焕发了第二春。AI给出了标准答案,让围棋从阳春白雪变为下里巴人,同时也让大家学习围棋的门槛大大降低,只能说塞翁失马焉知非福……只是可惜AlphaGo只知如何下却不懂如何教,若是它能表述出自己的想法,或许能够吸引更多的新鲜血液进入棋界。


Image
这件事或许成为了我心中的一颗种子。高考后,怀着对这只狗的好奇,我毫不犹豫地填报了AI专业。而在大学中也逐渐接触到了它背后的原理与算法并为之所吸引,以至于梭哈在这个领域之中。
数年之后,再度接触AlphaGo,感慨万千,作此文以记录。
一、AlphaGo系列发展脉络
AlphaGo系列进行了多次技术迭代与泛化,主要paper如下:
Mastering the game of Go with deep neural networks and tree searchMastering the game of Go without human knowledgeMastering Chess and Shogi by Self-Play with a General Reinforcement Learning AlgorithmMastering Atari, Go, Chess and Shogi by Planning with a Learned Model
其中第一篇是初代AlphaGo,已经达到了人类顶级高手的水准。而第二篇就是著名的AlphaGo Zero,完全摒弃了人类知识,已经达到了人类无法想象的高度。第三篇是将AlphaGo Zero的算法略作修改,迁移到了Chess 和Shogi上。第四篇则是泛化的MuZero。
以下是AlphaGo系列的实力对比,可以看出模型很重要,但算力也不可忽视。


Image
这里我们只讨论针对围棋的前两篇论文。
二、初代AlphaGo
再度翻看这篇文章,发现初期的AlphaGo可远不只是应用了人类的对局数据,其学习方式和搜索方式都和人类棋手有着异曲同工之妙。个人推测DeepMind团队在设计算法框架之前一定对一些人类高手做了调研。不过想想团队核心人物之一的黄博士是业余6段高手,这也就不足为奇了。
回顾我们学棋的过程,首先需要记忆并灵活运用一些局部的定式和基本技法,然后在实战中提升自己的棋力。并且在实战中往往每走一步前,我们都要简单评估一下形式,根据形式需要、多步计算对比和我们自己的棋感来判断下一步的落点。而这些在初期的AlphaGo中都能找到对应的部分:
记忆定式和基本技法——对人类对局数据进行监督学习实战训练——自博弈形式评估——价值网络计算力和棋感——用Rollout Policy进行蒙特卡洛树搜索
下面进行详细分析。
1. 背景
电脑下围棋已经有很多年的历史了,但由于围棋巨量的搜索空间与恐怖的评估难度,电脑的水平一直不理想,最强也不过业余高手的水准。在AlphaGo横空出世之前,“你连电脑都下不过”还是一句骂人的话。
具体而言,如果将围棋绘制成一颗搜索树,那么这棵树大约宽250、深150,想要彻底地搜索是infeasible的,但我们可以从深度和宽度两种角度来简化这颗搜索树。
深度
可以使用 position evaluation,即在搜索过程中评估每个节点,用评估值来取代对其子树的搜索。这种方法在国际象棋等游戏中都取得了superhuman的效果。但在围棋中,由于其复杂性,这是intractable的。
宽度
对每一个节点(状态),采样其动作。例如 Monte Carlo rollouts 方法,不管三七二十一,一路火花带闪电,从头sample到尾。通过很多次的rollouts就能够得到有效的 position evaluation。这种方法在五子棋等游戏中取得了superhuman的效果,但在围棋中也只能达到业余低段的水平。一种升级版的方法是MCTS,用一个value function来指导rollouts,让好的action被sample的概率更大,同时随着rollouts的进行,value function也在被优化。这种方法能够达到业余高段的水平,也是已有的最好方法。
2. 整体框架
AlphaGo的框架应该综合了上述两种idea,并且参考了人类棋手的学习思考过程。具体如下图所示:


Image
首先看b图,作者借用了CV的方法,将棋局看作一个19×19" role="presentation">19×1919\times 19的图像,输入13层的CNN中,以此来自动提取状态特征。
a图展示了整体工作框架,分为4个部分:
用人类棋谱做监督学习,训练一个策略网络pσ" role="presentation">pσp_\sigma用于预测人类走法。训练一个快速走子网络pπ" role="presentation">pπp_\pi,之后用于rollouts。用RL的方法,在pσ" role="presentation">pσp_\sigma的基础上进行自博弈训练,得到更强的策略网络pρ" role="presentation">pρp_\rho。用pσ" role="presentation">pσp_\sigma策略训练一个价值网络vθ" role="presentation">vθv_\theta,用于评估棋局状态。
读到这里,有几个明显的疑问,例如:为什么要训练快速走子网络用于rollouts?为什么rollouts中的动作选取要用 pσ" role="presentation">pσp_\sigma,而不是更加强大的pρ" role="presentation">pρp_\rho?且看下文分晓。
3. CNN特征提取
policy network和value network的输入都是一个19×19×48" role="presentation">19×19×4819\times 19\times 48的张量,对value network还要额外输入一个变量来表示当前轮到哪方落子。这48层分别表示以下特征:


Image
通过这些特征,能够精确描述棋局的当前状态。值得一提的是,AlphaGo并非只考虑当前局面,这里包含了前八手的历史信息。这样能够提取出更丰富的特征,甚至某种程度上能够根据对手的风格做出一些调整。
这里有些疑惑,前八手之间也包含时序信息呀,为什么不用RNN之类的模型。猜测是因为围棋是离散运动,中间的时序关系不强。
4. SL of policy networks
这里用到了人类棋谱数据集KGS,包含16万多盘对局数据,将这些棋谱拆分成position-action这样一帧一阵的数据就可以用于训练了。考虑到围棋的特性,这里做了两项处理:
同一局棋的数据之间具有很强的相关性,将他们打乱抽取,这有些像DQN中的经验回放技巧围棋具有对称性,这里对所有数据都做了reflections and rotations,从而也将数据集扩充了数倍
处理好数据集后,使用mini-batch的方式进行监督学习,每次抽取m组数据 {sk,ak}k=1m′" role="presentation">{sk,ak}k=1m′\left\{s^{k}, a^{k}\right\}_{k=1}^{m^{\prime}},迭代步长 Δσ=αm∑k=1m∂log⁡pσ(ak∣sk)∂σ" role="presentation">Δσ=αm∑k=1m?log?pσ(ak∣sk)?σ\Delta \sigma=\frac{\alpha}{m} \sum_{k=1}^{m} \frac{\partial \log p_{\sigma}\left(a^{k} \mid s^{k}\right)}{\partial \sigma}。
如果只使用当前状态(前八手),准确率可以达到 55.7%" role="presentation">55.7%55.7\%。如果考虑棋局历史上所有信息,可以达到 57.0%" role="presentation">57.0%57.0\%,都超过了现有最高水平44.4%" role="presentation">44.4%44.4\%。这10个百分点的准确率提升在棋力上的体现极为显著,如下图a所示。


Image
此外,神经网络的结构越复杂、越庞大,预测准确率就越高,但搜索时间却更长。而rollout过程要求快速且多次进行,对速度要求较高,因此作者特别训练了一个快速走子的rollout策略 pπ(a∣s)" role="presentation">pπ(a∣s)p_{\pi}(a \mid s)。这与我们人类棋手思考时依赖的 “棋感“有异曲同工之妙。
5. RL of policy networks and value networks
往后的这部分需要一定的强化学习基础,感兴趣的朋友可以先阅读郭宪老师的《深入浅出强化学习》,是很好的入门读物。


广告
深入浅出强化学习:原理入门
京东
¥39.18
去购买?
根据method部分的解说,policy networks 和 value networks 需要交替训练多次。
policy networks
复制已经训练出的SL网络 pσ" role="presentation">pσp_\sigma为 pρ" role="presentation">pρp_\rho,而后利用自博弈的方法进行提升。值得一提的是,自博弈方法虽然历史久远,但已经被证明在很多工作中是不work的,DeepMind团队在一年后就提出了一种更为通用的强大算法框架PSRO,具体可以看我的另一篇文章:
PSRO基本框架:A Unified Game-Theoretic Approach to Multiagent Reinforcement Learning40 赞同 · 14 评论文章


为了防止过拟合,这里每次从前代网络中随机挑选一个作为对手进行对抗,结果用 zt=±1" role="presentation">zt=±1z_t=\pm 1 来表示。于是初次训练中每轮迭代步长为:
Δρ∝∂log⁡pρ(at∣st)∂ρzt" role="presentation">Δρ∝?log?pρ(at∣st)?ρzt\Delta \rho \propto \frac{\partial \log p_{\rho}\left(a_{t} \mid s_{t}\right)}{\partial \rho} z_{t}
而当已经有了 value networks 之后,baseline就由0变为 vθ(s)" role="presentation">vθ(s)v_{\theta}(s),迭代步长也变为:
Δρ=αn∑i=1n∑t=1Ti∂log⁡pρ(ati|sti)∂ρ(zti−v(sti))" role="presentation">Δρ=αn∑i=1n∑t=1Ti?log?pρ(ati|sti)?ρ(zti?v(sti))\Delta \rho=\frac{\alpha}{n} \sum_{i=1}^{n} \sum_{t=1}^{T^{i}} \frac{\partial \log p_{\rho}\left(\left.a_{t}^{i}\right|s_{t}^i\right)}{\partial \rho}\left(z_{t}^{i}-v\left(s_{t}^{i}\right)\right)
另外,这里应当是每一局之后统一进行一次优化。在每局中有很多时间步t, 每个时间步对应一个棋局状态st" role="presentation">sts_t,最终到时间步T胜负分晓。此时进行神经网络参数更新,也就是回过头将棋局结果 r(sT)" role="presentation">r(sT)r(s_T) 传给前面每个时间步对应的 st" role="presentation">sts_t 上,构成一个数据对 (st,zt)" role="presentation">(st,zt)(s_t,z_t)。最后使用随机梯度下降对这些数据对 (st,zt)" role="presentation">(st,zt)(s_t,z_t) 进行优化。
作者评估了 RL 策略网络在游戏中的性能,从动作的输出概率分布中以 [公式] 对每个动作进行采样。当正面交锋时,RL 策略网络在与 SL 策略网络的比赛中胜率超过 80%。作者还针对当时最强大的开源围棋程序 Pachi 进行了测试(这是一个复杂的蒙特卡洛搜索程序,在 KGS 上排名第 2 位,每步执行 100,000 次模拟。完全不使用搜索)RL 策略网络赢得了与 Pachi 的 85% 的比赛。
value networks
估计一个价值函数 vp(s)" role="presentation">vp(s)v^p(s),该函数预测双方使用政策 p 进行游戏的位置 s 的结果:
vp(s)=E[zt∣st=s,at…T∼p]" role="presentation">vp(s)=E[zt∣st=s,at…T~p]v_p(s)=\mathbb{E}\left[z_{t} \mid s_{t}=s, a_{t \ldots T} \sim p\right]
理想情况下,想知道完美玩法下的最优价值函数 v∗(s)" role="presentation">v?(s)v^*(s);在实践中,作者使用 RL 策略网络 pρ" role="presentation">pρp_\rho 来估计策略的价值函数 vpρ" role="presentation">vpρv^{p_\rho}。使用权重为 θ" role="presentation">θ\theta 的价值网络 vθ(s)" role="presentation">vθ(s)v_\theta(s) 来近似价值函数,vθ(s)≈vpρ(s)≈v∗(s)" role="presentation">vθ(s)≈vpρ(s)≈v?(s)v_\theta(s) \approx v^{p_\rho}(s) \approx v^*(s)。该神经网络具有与策略网络类似的架构,但输出的是单个预测而不是概率分布。作者通过状态-结果对 (s,z)" role="presentation">(s,z)(s,z) 的回归来训练价值网络的权重,使用随机梯度下降来最小化预测值 vθ(s)" role="presentation">vθ(s)v_\theta (s) 与相应结果 z 之间的均方误差。
Δθ=αm∑k=1m(zk−vθ(sk))∂vθ(sk)∂θ" role="presentation">Δθ=αm∑k=1m(zk?vθ(sk))?vθ(sk)?θ\Delta \theta=\frac{\alpha}{m} \sum_{k=1}^{m}\left(z^{k}-v_{\theta}\left(s^{k}\right)\right) \frac{\partial v_{\theta}\left(s^{k}\right)}{\partial \theta}
但这里有一个过拟合的问题,连续的位置是强相关的,仅仅相差一子,但回归目标是为整个游戏共享的。当以这种方式在 KGS 数据集上进行训练时,价值网络记住了游戏结果,而不是推广到新的位置,在测试集上实现了 0.37 的最小 MSE,而在训练集上为 0.19。为了缓解这个问题,作者生成了一个新的自我对弈数据集,其中包含 3000 万个不同的位置,每个位置都从一个单独的游戏中采样。每个游戏都在 RL 策略网络和自身之间进行,直到游戏结束。对该数据集的训练导致训练和测试集的 MSE 分别为 0.226 和 0.234。与使用快速 rollout 策略 pπ" role="presentation">pπp_\pi 的蒙特卡洛 rollout 相比;价值函数始终更准确。使用 RL 策略网络 pρ" role="presentation">pρp_\rho 对 vθ(s)" role="presentation">vθ(s)v_\theta (s) 的单一评估也接近了 Monte-Carlo rollouts 的准确性,但使用的计算量减少了 15,000 倍。
训练效果如下图:


Image
6. Searching with policy and value networks
以上,训练过程已经结束,我们已经得到了一个很强的策略网络 pρ" role="presentation">pρp_\rho,一个快速走子网络 pπ" role="presentation">pπp_\pi,一个价值评估网络 vθ" role="presentation">vθv_\theta 。下面就将之组装起来实现一个强大的围棋AI。


Image
整个搜索过程就如上图所示:
a: 每次模拟通过选择具有最大动作值Q的边以及取决于存储的该边的先验概率P的奖励函数 u(P) 来遍历树。b: 叶子节点可以展开;新节点由策略网络 pσ" role="presentation">pσp_\sigma 处理一次,输出概率存储为每个动作的先验概率Pc: 在模拟结束时(到达叶节点),叶节点融合两种方式进行评估:使用价值网络 vθ" role="presentation">vθv_\theta;并通过使用快速推出策略 pπ" role="presentation">pπp_\pi 将推出运行到游戏结束,然后使用对局结果 r" role="presentation">rr 来进行评估。d: 以该动作下方子树中 r" role="presentation">rr 和 vθ" role="presentation">vθv_\theta 的平均值来更新Q
AlphaGo 在 MCTS 算法(上图)中结合了策略和价值网络。搜索树的每条边 (s,a)" role="presentation">(s,a)(s,a) 存储一个动作价值 Q(s,a)" role="presentation">Q(s,a)Q(s,a)、一个访问计数N(s,a)" role="presentation">N(s,a)N(s,a)、一个先验概率 P(s,a)" role="presentation">P(s,a)P(s,a)。
在每一个局面下,一开始的状态作为根状态,然后从根状态开始模拟。在每个时间步t,选择一个动作 a_t:
a_{t}=\operatorname{argmax}_{a}\left(Q\left(s_{t}, a\right)+u\left(s_{t}, a\right)\right)
其中 u(s, a) \propto \frac{P(s, a)}{1+N(s, a)},以此来鼓励探索更优秀、访问次数更少的动作。如果模拟到未扩展的节点,则进行扩展,也就是b步。但这里有一个问题:为什么要用 p_\sigma 进行预测,而不用经过自博弈后更加强大的 p_\rho呢?原因是作者经过实验发现,人类走法预测网络p_\sigma 虽然不强,但具备更好的探索性,这更适合用来模拟。
而后对该节点进行评估:
V\left(s_{L}\right)=(1-\lambda) v_{\theta}\left(s_{L}\right)+\lambda z_{L}
最后更新模拟到的所有边的信息:
\begin{aligned}&N(s, a)=\sum_{i=1}^{n} 1(s, a, i) \\&Q(s, a)=\frac{1}{N(s, a)} \sum_{i=1}^{n} 1(s, a, i) V\left(s_{L}^{i}\right) \end{aligned}
其中 s_L^i 是第 i 次模拟的叶节点,1(s,a,i) 表示在第 i 次模拟期间是否遍历了边 (s,a)。搜索完成后,算法从根位置选择访问次数最多的移动。
评估策略和价值网络需要比传统搜索启发式多几个数量级的计算。为了有效地将 MCTS 与深度神经网络相结合,AlphaGo 使用异步多线程搜索,在 CPU 上执行模拟,并在 GPU 上并行计算策略和价值网络。 AlphaGo 的最终版本使用了 40 个搜索线程、48 个 CPU 和 8 个 GPU。作者还实现了一个分布式版本的 AlphaGo,它利用了多台机器、40 个搜索线程、1202 个 CPU 和 176 个 GPU。
7. 总结
从各种迹象上看,这一版本的AlphaGo借鉴了很多人类下棋的思路,并成功将之融入了DL与RL等框架中,取得了很好的效果。
但从时间线上看,它应该还没有击败李世石,也就是说,这一版本还没有达到彻底超越人类的水准,那是什么让后来的Zero达到那前所未有的境界呢?
通过对比发现,AlphaGo Zero框架对这一版本中那些借鉴人类的部分都做了很大的改动,使之更适合AI。学习人类-->摒弃人类-->超越人类,这就是AlphaGo系列的进化过程。
三、AlphaGo Zero
之前读这篇论文还没觉得有什么,只是被其中的模型所震撼。现在重新捡起来读,隐隐感觉DeepMind下的好大一盘棋。
目前市面上已经出现了很多游戏AI,他们之所以能够训练到那么强大,其中很大一部分原因是其拥有大量的人类专家数据。按照我自己的一些经验,在RL训练过程中,往往一开始曲线是很平缓的,越到后续越陡峭。也就是说,如果能够有专家数据做一些指导,能够大大加速训练过程,节省算力。
而在 AlphaGo Zero 中,作者彻底摒弃了人类数据,让AI完全依靠自博弈从零开始学。我想如果仅仅只是想要获得一个superhuman的围棋AI甚至棋类AI,都没必要这样做。那为什么要多此一举呢?我想一部分原因可能是作者认为人类棋手都太垃圾了(毕竟后来发现很多人类千百年来总结下的定式都是错的),会拉低 AlphaGo Zero 的上限。但除此之外,结合前几日的通才猫Gato以及这群大牛这几年干点事,也许DeepMind从一开始就立志于通用人工智能,围棋只不过是他们一个实验场景而已。
插几句题外话,Gato刚出世的时候也震惊我一脸,但仔细看看发现,虽然确实很强,但感觉跟通用人工智能关系不大,实际上是用了transformer强大的编码能力来实现同一套权重完成多种类别的任务,猜测应该是利用注意力机制来识别任务类型,然后主要在某一块参数中发生响应?总之其意义应该在于让人们意识到多任务还能这么玩,极具指导性,但大可不必扯上通用。或许叫《representation is all you need》比较合适?哈哈个人浅见,也没认真研究,如果说错了请一定要批判我,在被批判中学习 (手动狗头)。
不小心又扯远了,回归正题。 AlphaGo Zero 主要做了以下四项改进:
舍弃监督学习部分,直接自博弈训练,即取消初代AlphaGo中的SL阶段简化输入信息合并策略、价值网络,并用新算法进行训练
这里依次介绍改进的部分。
1. 简化输入信息
在原先的AlphaGo中,输入是一个 19\times 19\times 48 的张量,代表了棋局前八手的历史信息,但实际上这些信息是有冗余的,例如棋子的”气“等信息可以通过棋子的位置判断出来。这里去除了所有的冗余信息,将输入简化为 19\times 19\times 17 ,一共17层,前16层分别表示前八手的局面状态,最后一层表示下一手该谁下。
精简了输入信息,意味着需要神经网络的信息提取能力更强。这里作者将原有的CNN改为了残差神经网络,结构如下:


Image
2. 合并网络及新算法
Zero将初代中的三个网络简化成了一个网络:(p,v)=f_\theta (s),其中p表示下一手棋的概率分布,v表示对当前状态的评估。并且在训练中过程中就引入了MCTS。


Image
关于为什么要将网络合并,论文中有这样一张图。首先很明显Resnet要好于CNN,这与我们的正常经验相符。此外可以看到,合并的网络在实力以及对棋局结果的预测上都要好于分开的网络,仅仅在对人类棋手招法的预测上略差一筹,不过个人感觉这也是优势,毕竟对AI来说人类都是菜狗。
回想初代AlphaGo的训练过程,其实类似于AC框架。而这里是一种新的想法:用MCTS能够搜索出一个更强的策略 \pi,并且根据对局结果可以得到一个更合理的评估值z,那么完全可以优化神经网络使其输出更贴近这两项更好的结果。


Image
如上图所示,a图表示先进行一场自博弈对局,其中每一手由MCTS产生的强策略 \pi 落子,直至决出胜负。决出胜负后,也就有了这一局的数据集,通过如b图所示的优化即可完成一次迭代,其损失函数如下:


Image
接下来,重点说明MCTS的过程。其实原理上它和前文中的初代AlphaGo差别不大,看看下面这张图是不是也长得很像?


Image
这里主要有两个区别:
因为只有一个网络,对先验概率的预测它肯定当仁不让初代AlphaGo对叶节点的评估是使用了Monte Carlo rollouts将它快速推到棋局结束,从而得到获胜概率,然而这种方法其实误差非常大。这里需要用作训练,当然不合适,于是转而用神经网络的输出v来评估叶节点,最后等胜负已分再来优化这些v。
具体的步骤如下:
a. Select: 每次模拟从当前棋面对应的根节点s开始,不断迭代的选择Q(s,a)+U(s,a)最大的动作a进行搜索,一直搜索到遇到叶子节点或棋盘结束。
b. Expand and Evaluate: 当MCTS遇到叶子节点时,说明之前探索到这里就再也没有继续去考虑在当前状况下该往哪里下棋了,那么没有历史数据MCTS如何扩展这个叶子节点呢,NN就提供了帮助,把当前的s输入至NN,NN便可以得到一个p和v,通过NN指导MCTS不断延伸。
c. Backup: 当一盘棋结束后,就要对整盘棋经历过的所有move进行更新。还记得么,每个move存储了这一步move导致最终获胜的胜率是多少,所以当棋盘结束后要对其进行更新。
d. play: 当多次模拟过程后,便可以通过概率得到π, [公式] , τ 是温度参数(temperature parameter),它可以控制π的分布更均匀还是更陡峭,通过调节它可以让NN更好的进行学习。
3. 最终效果


Image
Elo等级分是棋类比赛中常用的一种评估手段,传奇棋手李世石的Elo等级分大概是3600分,而将其击败的AlphaGo Lee大约是3800分,这虽然超出人类水准,但人类并不是毫无机会。然而,这Zero却已经达到了约5200分!这是千百年来历代大师穷尽毕生之力上下求索都远远未能触及的遥远境界!
在Zero自博弈的过程中,发现了大量人类从未想过的招法,也否定了很多人类原有的招法。这在它与柯洁的三番棋中也有所显现。


Image
这是三番棋中的第一局,狗子执白。我想凡是对围棋有一些了解的朋友都不会忘记这一手六路补征。这一招既扩充己方,又限制了黑方阵势,还能消去对手借用征子的机会。一子落,满座惊,原来这才是围棋所追求的终极效率。


Image
三番棋中的第二局,被称为”人类历史上竞技水平最高的一局“,我一直认为这个称号不太简洁,或许叫”千古第一争棋“更为合适。这一局柯洁执白下出了一手二路点刺,可能是人类最后不借助AI的个人研究,是人类面对AI的最后杀招,而对此Zero仍旧冰冷的给出了弃子争先的最优解,仿佛在说 ”何必挣扎“?
四、作为棋手的一点感想
AlphaGo的出现对人类无疑是一件幸事,但对围棋界,这可能是毁灭性的打击。曾经的棋手被称为“胜负师”,一局棋361个落点,承载的是波云诡谲的心理博弈,是战略与战术的激烈碰撞,是竞争与合作的艺术交锋。而在如今的后AI时代,棋局却已经变成了在AI答案下的一场考试,谁还记得那曾经无声的江湖?
曾有一人,在中日交战之际,孤身东渡,于日本棋院摆下棋枰,横压一代翘楚,独孤求败。
曾有一人,在中日擂台之上,力挽狂澜,于绝境之中逆流直上,扫清一众敌手,获封棋圣。
曾有一人,在棋坛争霸之中,绝情断念,荣誉等身却化身石佛,统治一个年代,只取半目。
…………
这里曾是一片江湖。没有硝烟,却步步杀机,不持刀剑,却处处生死。这里曾宗门林立,天骄辈出。而如今,是非成败转头空,AI淘尽英雄……
千年沧桑,世事变迁,不变的是棋盘上惊心动魄的撕杀,棋士内心的执着,还有……对围棋恒古不灭的热情!
但可能十年之后,人们不会再提起千年来无数大师呕心沥血而上下求索的艰辛,只会在每次对局之后向AI老师要一个评分、求一份标答。
AlphaGo粉碎了我儿时最初的梦幻。不过现在想想或许冥冥之中自有天意,如果不是因为它,我也不会接触到另一个有趣而又充满智慧的领域。
最后给大家推荐一本传奇棋士的传记和一段讲述棋界争霸史的科普视频,或可从中一窥曾经那波澜壮阔的梦幻。


广告
吴清源回忆录 围棋大师历史人物传记 后浪
京东
¥21.20
去购买?
2022年6月3日更新
有知友反映用到了太多专业词汇,不方便理解。这里避开专业词汇,用通俗的语言简单描述一下两代AlphaGo的内在机制。另外如果有对专业知识感兴趣的朋友,这里也推荐一本极好的强化学习入门读物。


广告
深入浅出强化学习:原理入门
京东
¥39.18
去购买?
以下是补充说明
AlphaGo系列用到的是学习类算法,实际上都可以分成两步:训练过程和测试过程,其实也就对应着棋手平时的训练和比赛时的对局。
初代AlphaGo
初代AlphaGo的框架其实是由三部分组成。我们将围棋看作一场战争,那么这三部分可以分别看成:
负责指挥和决策的将军(策略网络)负责评估形势的军师(价值网络)负责探查战场形势的士兵(快速走子网络)
三者之间相互配合,从而构成了达到顶尖人类棋手水平的初代AlphaGo
训练过程
一开始都用人类已有的棋谱训练他们。根据棋谱中的下法,让将军和士兵学会模仿人类落子;根据棋谱中对局的胜负,让军师学会评估棋局的形式。
在这一步完成后,将军初步达到了人类职业棋手的水准,而士兵也达到了人类普通业余棋手的水准,军师的形式判断也有了一定准确度。
那么下面就开始让将军和军师通过自我博弈来学习。具体如何做呢?首先将军会”影分身大法“,他能和以前的自己对弈,而针对他们对弈过程中的每一步,军师都会在旁边默默进行形势判断。等一局终了,将军和军师开始复盘。通过对局结果,将军修正自己每一步的走法,并且会咨询军师的意见,对军师判断失误大的局势做出较大的更改,以便往后更好的配合;同时军师也思考自己判断的失误,让自己的判断更贴近对局结果。
通过不断循环上述过程,将军和军师的能力都有了很大的提升。
测试过程
在训练过程完成后,就可以正式开始比赛了。这时候可不像训练过程那样一个个自己练,直接集团军作战。
在一个局势下,首先将军会挑出几个好的招法细细推敲(蒙特卡洛树搜索),思考:如果我这样走,几步之后会是什么局面?然后将几步之后将可能的局面都交给军师评估,并且为了防止军师判断失误,将军还会派出很多士兵去探查形势,让他们自己走完全局(MC rollouts),再告诉将军结果。最后综合军师的评估和士兵的探查,作出最终的判断,落子。
俗话说的好,三个臭皮匠顶个诸葛亮。三者本身都不是太强,但在这种配合之下,他们就可以击败人类顶尖棋手。
AlphaGo Zero
初代AlphaGo通过集团军作战获得了胜利,而这之后一个天纵奇才诞生了,他叫Zero。Zero作为一个绝顶天才,不屑于做那些群殴的事情,他一个人就能比那一群人做得还好,一即是众。而且Zero桀骜不驯,认为这世上都是蠢货,没有人配做他的老师,孤独的他只能自学。这孩子,从小就爱装x,最后还真让他装成了。


训练过程
Zero直接就开始了自我博弈。在一个局势下,首先Zero记下自己的直觉落点,然后仔细推敲后(蒙特卡洛树搜索)落子,并且一边落子一边评估局势。待一局终了,Zero开始复盘,他一边优化自己的直觉,让直觉落点和推敲后的落点趋于相同;一边还优化自己的评估能力,让形势评估的结果和对局胜负更吻合。
本就是天才,又如此努力,很快他就能够将集团军作战的初代摁在地上摩擦。
测试过程
应对一场考试,往往正襟危坐、做很多准备工作的都是那些中等学生,所谓的”半桶水“。真正的大佬都是成竹在胸,你要是问他们考试秘诀,他们会告诉你,就跟平时一样做呗。这就是Zero的真实写照,测试之时除了不需要考虑复盘优化的事情以外,对他来说没有任何区别。云淡风轻之间,主宰一切。
本文使用 Zhihu On VSCode 创作并发布
洁宝的一点看法
洁宝怎么评价现在Alpha Go的实力?人类现在还可以超越吗?
这个问题问的就很怎么说呢,我回答过很多次了,就不可能超越
你不可能,你怎么能够和Alpha Go比呢
没有人能有可能超越它,反正我是超越不了
我人都下不过,我还跟AI下,那不是搞笑吗?
但不得不承认,我不得不承认
现在人类的实力,因为有了AI以后有了巨大的飞升
然后也特别无聊,你怎么评价都可以,但我觉得现在的围棋是极度之无聊的
其实我们就像有个教材一样,然后我们的对手等于给我们出题
我们能否按照教材上的参考答案去答题
答得好了答得对了,那你的吻合度就高,胜率就高,就很有可能赢
答得不好胜率就会降低
基本上答对你就赢了,他就输了
菜肯定也是有点菜现在,他们实力的提升确实也是非常的巨大
AI训练的方式不适合我的,但没有办法
包括有很多人问我,说现在都有AI,你觉得你下棋的意义是什么呢?
你问到我了,这个真的,我以前还会说给自己找理由说
人类的魅力是不可替代的
现在人类为什么不可以替代呢?
人有什么魅力?
我有什么魅力?
下围棋有什么魅力?
我看不出有什么魅力
我不知道有什么魅力
就下饭吗
就看我下饭嘛
就没有什么魅力呀
我都很难去说服自己,去说我这个职业有什么魅力
自己都很难去说服自己
我现在就说给小孩子动动脑,智力还有挺有意思的
作为游戏来看还是挺有意思的一个游戏
可以启发朋友的举一反三的能力、计算的能力
但是你告诉我说
这个世界上我只能说套公式来讲,很多事都没有意义
意义怪你就是我的意义
你确实问到我了
很多问题都问到我了
我也在寻找,有AI都有答案了,你的意义在哪里
就是说为了下更好的棋
那也不需要你了
暴力破解以后棋怎么下
这个重任也不是你来承担
这个重任应该是程序员来承担
我们啥也说不了
插不上话
唉。
不禁让我想起了金庸晚期小说里的武林江湖。火器出现了,任你内功多雄厚,武艺多精巧,普通人一枪就能给你崩了,绝世高手不再天下无敌,人们也渐渐不再追求练功学武,门派没落,江湖没落,武林时代终了。
你当然可以说,你们照样能练功比武啊,照样能开武林大会啊,禁止使用火器不就行了?是这个道理没错,但是,那一人一剑,打遍天下无敌手的浪漫情结没了呀。
ai对围棋的影响也和这种情结类似吧。人们依然可以学习棋艺,棋手之间依然可以精彩博弈,禁止ai不就行了吗?但是。。。想到上面的例子,我多多少少能共情棋手们的感受。
但是,武林终究是没落了的,时代就是会进步的,我们再往未来看看,我在这里大胆预言,人类使用外骨骼对自己的四肢进行改造的那一天,所有的运动项目也将迎来围棋现在的处境。
这其实是一个挺有意思的辩题,正方反方都能写出不少观点辨一辩的,没有绝对的对错。
我不下围棋也说不好AI算不算是毁了围棋。不过我知道另外一件事情。
你们知道计算机重创的第一个行业是什么吗?
会计。初级会计。
年龄大的好处就是见的事情会多一点。在计算机普及以前,会计是最好就业的专业,因为各行各业都需要会计。大量的会计。
那时候你去逛百货大楼,会看到每个柜台组都有一个记账会计,每个楼层会有一个楼层会计,而整座大楼还有一个总会计,每天下午下班后,所有会计们就会拎着自己的账本一起去财务室对账,非常热闹。会计的数量仅次于售货员,工作轻松,是女孩子的首选专业。
所以你会看到大量的中专高职院校开设了会计专业,社会上还有会计培训班,跟五笔打字培训班挨着。因为社会上确实需要大量的初级会计,
后来计算机普及了,有了收银系统,再也没有“柜组会计”这种分工了,中专高职的会计专业招生人数大幅度缩水,百货大楼财务室也从二三十人的大科室转变为两三个人的小科室。甚至很多小企业根本没有会计,老板媳妇用Excel表记账就够了。
现在会计还是很重要,大企业CFO不能是个excel表,考出注册会计师精算师来依然可以找到高薪工作。但低层基础没有了,大量基层会计失业了。
我们这边的职业高中,还有会计专业,但毕业生已经没有人去从事会计业务了。
医学方面,现在心电图、影像科、化验室已经大量使用电脑自动出结果了,据说下一步我们化验室要减员,目前很多职工工作量不饱和。当然老职工是没法调岗的,那么就减少招聘新职工,慢慢的人就少了。
所以,围棋选手也不用太绝望,在被淘汰的路上,你们并不孤单。
[收藏本文] 【下载本文】
   科技知识 最新文章
《消失的问界里》为什么网传华为选择大面积
特斯拉万人大裁员涉及中国市场,销售部门是
媒体报道「特斯拉一天内失去 2 个高管和 10
去年是「大模型元年」,今年会是「AI应用落
2024 年人工智能方向的就业前景怎么样?
如何评价小米汽车SU7全球首例无故抛锚?
如何评价比亚迪与大疆合作发布的车载无人机
如何看待波音「吹哨人」遗言曝光:如果我出
电动汽车为什么一下爆发了?
怎么看待华为太空宽带计划?
上一篇文章      下一篇文章      查看所有文章
加:2024-03-07 13:21:11  更:2024-03-07 13:40:13 
 
 
股票涨跌实时统计 涨停板选股 分时图选股 跌停板选股 K线图选股 成交量选股 均线选股 趋势线选股 筹码理论 波浪理论 缠论 MACD指标 KDJ指标 BOLL指标 RSI指标 炒股基础知识 炒股故事
网站联系: qq:121756557 email:121756557@qq.com  天天财汇