×

alphago

alphago(AlphaGo Zero三天击败人类的背后究竟意味着怎样的进步)

admin admin 发表于2022-08-01 20:46:07 浏览73 评论0

抢沙发发表评论

因此:围棋在某个整数贴目下双方都是有“必不败策略”的,此时围棋之神不应该是采用“双方理想情况下,就不会有平局出现那这就存在一个问题:如果贴目为7时会怎么样,这好像得看目前围棋ai对无胜负局面的理解以及目前围棋ai胜率中是否完全考虑了无胜负这种情况,这在人类世界不是特别可以拿出手的好成绩,所以围棋之神也需要在开局自认为必败的情况下释放它自认为的“胜负手”,策略网络和价值网络都不如人类,而通过数据的方法在虚拟数字世界中建立一套与现实世界对应的模拟。

AlphaGo Zero三天击败人类的背后究竟意味着怎样的进步

TalkingData和国内顶尖的职业围棋选手培训机构——葛道场有长期合作,从我们的经验来看,要成为一个职业围棋选手,最晚也要从六岁到七岁开始学棋。即使是像柯洁这样不世出的奇才,从五、六岁学起,到成为世界冠军也需要十多年的时间。

而AlphaGo,前年最初连樊晖这样不太知名的围棋职业选手都无法战胜;而短短几个月后,到去年已经可以击败李世乭;再到今年以Master的身份复出,人类围棋选手已经完全没有抵抗之力,再到现在Zero可以完全不依赖人的经验而碾压Master。

我们回来看看Zero的原理到底是什么?首先我们来看看在物理世界里有没有可能演化的这么快?我们知道在物理世界中,大家都学习过的牛顿第一定律表明,引力和质量成正比。这是一个线性的关系,也就是说我们的物理世界总体是由线性的规律主导的。所以,即使你可以造一台下围棋非常快的机器,每秒可以移动1000个棋子,可以想象不太可能造出AlphaGo。-alphago

AlphaGo广为人知的三个部分分别是策略网络、价值网络和蒙特卡洛树搜索。策略网络所代表的是人类的经验、历史的经验。从公开的论文来看,AlphaGo的策略网络准确度基本在57%。这个比喻未必特别精确,但类比考试成绩,如果期末考试才考了57分,这在人类世界不是特别可以拿出手的好成绩,这说明什么?说明这个策略网络和人类可以学到的相比并不是特别厉害,所以Zero在Master之后必然从头开始寻找更优策略。让我们再来看看价值网络,根据我们的实践,价值网络特别不好训练,很难获得一个质量特别好的结果;也就是说价值网络评估当前棋局形势的能力其实也不如人类。策略网络和价值网络都不如人类,那为什么AlphaGo还能这么厉害?所以最根本的,还是在于它使用的蒙特卡罗树搜索这块能力比人强。人类每下一步棋,能考虑到几十步已经是顶尖的高手,但AlphaGo却可以搜索几十万、几千万、几亿步。-alphago

策略网络(图自CSDN,作者张俊林)

价值网络(图自CSDN,作者张俊林)

蒙特卡洛树搜索(图自CSDN,作者张俊林)

这种方法给了我们极大的启示,未来的AI将物理世界建立的模型投影到计算机的数字世界,然后利用由摩尔定律支撑的指数级增长的计算力,在数字世界中进行无限的模拟、探索,并且结合以往的经验找到更好的方案,再把这个方案反过来应用到现实世界中,并从现实世界获得真实即时的反馈,并用于在数字世界中找到更好的方案。-alphago

就像AlphaGo从与樊晖试棋,再到在网上与邀请的顶级围棋选手对弈,都是期望通过现实棋局得到真实的反馈,再回到数字世界中找到更好的解决方案。目前,还有一个特别火爆的领域,那就是自动驾驶。

像谷歌,做自动驾驶近十年时间,积累的路测数据有几百万英里;特斯拉每年卖出几万辆汽车,号称路测数据积累了上亿英里。然而根据专家的估计,想让自动驾驶汽车能够可靠地上路行驶,最乐观的估计也需要至少100亿英里的路测,这对企业来说几乎是不可能实现的。-alphago

现在很多自动驾驶企业都建立了模拟系统,在数据世界搭建一个虚拟世界,例如谷歌已经把凤凰城完全数字化,自动驾驶系统可以在这个虚拟世界中每天行驶超过几亿英里。这样做的好处是,在现实的、线性的世界中,试错的成本非常高。而通过数据的方法在虚拟数字世界中建立一套与现实世界对应的模拟,利用计算机强大的计算能力去尝试各种可能性,尽量找到可找到的最好的解决方案,再应用到现实世界中,这样可以极大的提高迭代速度。-alphago

观察这三个例子,我们可以发现他们有一种共同的模式,那就是建模,投射,探索,应用和反馈;这就是数据驱动方法的基本框架,而其成功的核心,则是试错的成本和迭代的速度。

数据驱动方法的基本框架

让我们再看看另一面,目前我们记录下来的都是用户的行为,但这个世界除了计算机领域的数字世界、我们生活的物理世界,其实还有每个人大脑中的思维世界。而人的行为,其实都是由大脑中的世界驱动的。那我们有没有能力把每个人大脑中的世界也数字化呢?这是比我们以往做的更前沿、也更少人去做的事情。而TalkingData人本实验室的使命就是试图去解决这些问题。-alphago

AlphaGoZero跟完美的围棋之神有多大差距

问题有点多而且复杂,拿了张草稿纸写了写才算想明白了些…

先说说贴目吧,围棋由于符合策梅洛定理中的规定条件,无论贴目是多少:

“要么黑方有必胜之策略、要么白方有必胜之策略、要么双方也有必不败之策略”。

只要对围棋和围棋ai有些了解的人来说,很轻易可以发现在贴目为6.5时,黑棋优势,贴目为7.5时,白棋优势。而这点优势如果交由围棋之神掌控,那就是胜势,即便对手也是围棋之神。因为在正常情况下,只要贴目不为正数,就不会有平局出现-alphago

那这就存在一个问题:如果贴目为7时会怎么样?

刚开始我也被这个问题困扰了一会,后来突然转念一想:在贴整数目的情况下,双方最接近的情况也就是赢或输对方1目。举个例子:假如你执黑棋先行,需要贴给对方7目整,如果你能赢对手1目,那么即使你在贴7.5的情况下也能赢0.5目;而如果你输对手恰好一目,那么即使你少贴0.5目你也照输不误。因此:-alphago

围棋在某个整数贴目下双方都是有“必不败策略”的,而目前来看很可能是7目。但可能双方中有一方必胜策略可能要多于对方,可能有一方只有很少甚至只有一种“必不败策略”,不过对于参透了一切变化的围棋之神来说,贴7目,无论执黑或执白就已立于不败之地…-alphago

另外,由于围棋双方目数总和一定是361目,因此,在贴偶整数目的情况下,一定不会有平局出现(除非出现有眼双活的特殊情况)

不过,这其中还有个非常重要的点需要指出:以上都是建立在常规规则之下的分析,即平局只发生在双方终局之后目数完全相同的情况下。而围棋还有“三劫循环”,“四劫循环”,“多劫循环”的局面,这种情况下是会判处无胜负(可以理解为平局)的,那会不会出现形势不利的一方去努力形成复杂的无胜负局面来形成平局?暂时不得而知,这好像得看目前围棋ai对无胜负局面的理解以及目前围棋ai胜率中是否完全考虑了无胜负这种情况。。。-alphago

针对“有某一最优解的围棋局面具备的特征”再做一点讨论:

我说说我对于“有某一最优解的围棋局面具备的特征”这一问题的看法:

除去一些显而易见的,一眼就能看出最优解的局面(比如两条贯穿全盘的大龙对杀,仅一气之差),其他的貌似走哪都行,你去问不同的职业棋手,会得到与之棋风大致相匹配的答案,去问ai胜率也只浮动1个百分点以内的局面,以目前人类的技术水平来说,很难找到真正的最优解。即使你拿着顶级ai让他就对着这一张图使劲训练,得到了精确到小说点后几十位的胜率,发现其中某个点应该更好。那最多也只是目前人类的技术水平下的最佳,是否能得到ai的认可尤未可知。因此目前来看是否有最佳解的局面之间还有很大的一段未知地带,也不用说是否能有人给出有唯一最优解围棋局面的特征了。。。-alphago

围棋之神是必然不可能有认输功能的,也完全不需要一个函数或者模块去判断是否需要认输。因为它参透了围棋的所有变化,也只知道围棋的所有变化。这么说的原因是围棋之神的胜率只有100%(必胜)与0%(必不胜即输或平)两种,而这种胜率是建立在对方也是围棋之神的情况下才有意义的,且如果真的对手是另一个围棋之神,那必败的一方开局认输,贴7目整的棋局双方随便走一走一平局收尾也是合情合理。但如果他的对手是你我凡夫俗子,抑或是绝艺、AlphaGo这种顶级ai(其实在围棋之神眼里并没有什么区别),那它就不能再在开局自认为必败时认输,因为它的对手实力远逊于它,这样做很不合理。-alphago

因此我们的围棋之神需要选择一种最佳下法继续棋局。在此指出题主一处错误,此时围棋之神不应该是采用“双方理想情况下,子差最小”的下法,而应该采用“尽量将局面导向混沌,即最复杂的下法”,不过如何定义“最复杂的下法”还有待考究,但一定不等同于题主所说子差最小。原因就在于围棋只有胜或负两种情况(不考虑平),输半目与全盘没有活棋并没有区别(当然面子上过不去),比赛的奖金不会因为你只输了半目而多分你一点,所以在劣势局面下,释放胜负手是唯一的选择(总好过安乐死)。所以围棋之神也需要在开局自认为必败的情况下释放它自认为的“胜负手”,尽可能让局面变得复杂。-alphago

再回答题主比较关心的一点:围棋之神究竟能让AlphaGo几个子?

由于围棋之神现在并不存在,AlphaGo也已退役,所以拿其他对局来进行参考:

最近一次人类与ai的正式对局应该是去年年底李世石的退役三番棋,与韩国本土ai韩豆的受2子、分先的对局。

李世石引退赛第一局三番棋中最大的亮点应该就是第一局李世石的黑76天外飞仙

神之一飞这一步不仅当场击溃韩豆,就连绝艺、星阵等其他顶级ai也都没有看到。

图1图1:韩豆当时应该只看到了黑1大吃的手段,所以提前用白 与黑棋做了交换。

图2图2:白棋如果打完想要压出,黑4可以与白5交换,然后吃掉中腹棋筋。

图3图3:如果白棋打完粘上,黑4与白5交换后,有黑10位妙手,恰好能够将白棋棋筋吃住,白不行。

图4图4:白1最强应对





作为AlphaGo AI的最新版本,AlphaZero能否实现三棋通杀

作为 AlphaGo 的最新迭代,DeepMind 又在 11 月 6 日发表的《科学》(Science)论文中,隆重介绍了 AlphaZero 。

作为谷歌母公司 Alphabet 旗下的英国人工智能子公司,DeepMind 多年来一直致力于改进 Go AI 。

2017 年的时候,前 AI 冠军 AlphaGo 正式退休,但在进一步修补之后,AlphaZero 又达到了新的顶峰。

AlphaZero 是一款能够从头学习围棋、象棋等棋子游戏的新型人工智能平台。在三款棋类比赛中,AlphaZero 将三款 AI 都挑落下马。

● Stockfish:国际象棋 AI 世界冠军;

● elmo:2017 年度世界计算机将棋锦标赛冠军;

● AlphaGo Zero:DeepMind 自家的围棋 AI,被誉为史上最强选手。

在仅仅获知有关游戏基本规则的情况下,AlphaZero 在成为人工智能大师之前,会先自己机型数百万场的对抗练习。

该 AI 初期会实施随机战术来取得胜利,但后续会通过‘强化学习’来试错,以逐步了解哪些策略是最有效的。

实测国际象棋需要 9 小时、将棋 12 小时、围棋 13 天,涉及 5000 个张量处理单元(TPU)。

作为参考,一套 TPU 每天可以处理超过 Google Photos 中的 1 亿+照片,所以 AlphaZero 对硬件处理性能的要求还是比较高的。

【闭关学习结束后,AlphaZero 就可以大杀四方了】


这项研究的独特之处在于,研究团队将机器学习算法、与蒙特卡罗树(MCTS)的“搜索方法”结合到了一块。

这是 Go 围棋 AI 决定下一步行动所采用的方式,这次 DeepMind 团队在国际象棋和将棋 AI 上也套用了同样的机制,首次展示了该方法适用于其它复杂的游戏测试。

对于人类国际象棋选手来说,AlphaZero 是极具吸引力的。你可以在与机器对战时,见识到此前从未遇到过的策略、以及一些新颖的想法。

其咄咄逼人的风格、以及高度动态的应变策略,足以让 Matthew Sadler 之类的国际象棋大师感到惊讶(其在 DeepMind 博客上有所表述)。

有关这项研究的详情,已经发表在近日出版的《科学》(Science)期刊上。原标题为:

《A general reinforcement learning algorithm that masters chess, shogi, and Go through self-play》

《一种通用的强化学习算法,可自学成为国际象棋、将棋、围棋大师》