典润时尚网

为什么AlphaGo不敢挑战麻将?

  AlphaGo是强在计算能力,他牛逼是有条件的,一是明牌,二是排除运气成分。围棋象棋都是这样,单纯的比拼计算能力,麻将不一样,有概率有运气

  为什么Alpha Go不敢挑战麻将?

  ??人类初衷研究人工智能是为了服务人类而不是惹怒人类的。阿尔法狗是围棋人工智能的程序,其难度太大,几乎无人能比,被称为异军突起的行业领袖。

  2022年阿尔法狗由谷歌开发的,当时阿尔法狗的人工智能震惊世人,它雷霆之势击败世界排名第四的围棋手李世石,后来又在2022年碾压了世界排名第一的围棋棋手柯洁。阿尔法狗的胜利让世人第一次见识到了人工智能的凶猛。同时又掀起了全世界对于人工智能的抵制及担心,害怕电影里机器人屠杀人类的景象会在未来实现。

  ??既然阿尔法狗把围棋高手打的一败涂地,令柯洁绝望,但为什么始终不敢挑战麻将?

  这是因为阿尔法狗太牛逼哄哄了,它绝不是碰巧而是胆怯地故意回避。从规则上看,麻将与围棋不同,麻将是一个四人游戏,并不是阿尔法狗的人工智能弱与4人游戏,而是围棋属于小众高大上游戏。麻将大众游戏,它只搞围棋是有道理的,毕竟这些棋尚未得到广泛的社会共识,但是麻将不同,麻将是“国粹”,并且走出了中国,走向了世界。麻将到现在还有大部分群众认为,麻将是赌博工具,是社会底层无学历人员爱好的低层次娱乐活动。一旦超过人类麻将游戏,可以说是天下无敌,贪婪的人类会利用高科技犯罪,给人类赖以生存的环境带来麻烦。

  所谓的人工智能用英文缩写为AI,它是利用计算机技术扩展至人们生活、工作方方面面制造、应用等诸多的高新技术;它是研究开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用的一门新的技术科学;它比人类更加智能,而体力活及危险性活都交给它们来完成。

  因为麻将太低级太简单了,根本不值得花时间去研究。不要杠什么麻将有概率问题,围棋的所有可能下法是一个无法理解的天文数字,麻将有多少打法?根本不是一个级别的东西。

  我就说一点,如果不赌钱,谁愿意打麻将,谁愿意去花功夫组织四个人?就是个简单到不能再简单,无聊透顶的东西。

  这问题提的说明你是真不了解人工智能啊,和概率有关的一切游戏,在足够牌局的情况下,电脑可以玩得把人类渣都不剩。当然你要说一两局,那没什么意义,你上来运气好,天听地胡的,100个狗也不是你对手啊

  这就是一种臆想,对于计算能力超强的阿尔法狗来说,麻将的计算根本就不算个事。唯一的问题,它没法像其他的棋类游戏一样保证每一把都赢你,因为要开盲盒嘛,有运气问题。但从量来说,只要是概率问题,它都会保证比你强大。

  麻将对它来说太简单了,有个人工智能在天凤平台已经是毫无疑问的第一,打的立直麻将。麻将就算一时运气好,想一直赢下去,还是靠概率学计算,只要基数够大,运气面就会消减

  微软团队很早就制作了麻将AI,并且效果很好。

  麻将 AI 系统 Suphx 主要基于深度强化学习技术。尽管深度强化学习在一系列游戏 AI 中取得了巨大的成功,但想要将其直接应用在麻将 AI 上殊为不易,面临着若干挑战。

  挑战一:麻将的计分规则通常都非常复杂,在如天凤平台等竞技麻将中,计分规则更加复杂。

  首先,一轮麻将游戏通常有8局甚至更多,每一局结束后四位玩家都会有这一局的得分(可能为正,可能为负)。当一轮游戏的所有8局(或更多局)都结束后,四位玩家按照所有局的累计得分排名,计算这一轮游戏的点数奖励。在天凤平台上,排在一二名的玩家会得到一定数目的点数,排在第三位的玩家点数不变,排在第四位的玩家会被扣去一定数目的点数 。一位玩家的点数会随着他玩的游戏的增多而变化,当玩家的点数增加到一定程度时会被提高段位,而当玩家的点数扣到0时则会被降低一个段位。因此,为了提高段位,玩家需要尽量多的排在第一位或者第二位,尽量避免被排在第四位。

  由于一轮游戏的最终点数是由多局的累计得分决定,所以高手可能会策略性地输掉一些局。例如,如果一位玩家已经在前面7局大比分领先,那么他可能会故意输掉第8局让排在第三或四位的玩家赢得此局,从而确保自己的总分排在第一,最终获得这一轮游戏的最大点数。也就是说,某一局的输赢并不能直接代表玩家打的好不好,所以我们并不能直接使用每局的得分来作为强化学习的奖励反馈信号。

  其次,天凤平台上每一轮游戏的计分规则都需要根据赢家手里的牌型来计算得分,牌型有非常多的可能,例如清一色、混一色、门清等等,不同牌型的得分会相差很大。这样的计分规则比象棋、围棋等游戏要复杂得多。麻将高手需要谨慎选择牌型,以在胡牌的概率和胡牌的得分上进行平衡,从而取得第一、二位或者摆脱第四位。

  挑战二:从博弈论的角度来看,麻将是多人非完美信息博弈。麻将一共有136张牌,每一位玩家只能看到很少的牌,包括自己的13张手牌和所有人打出来的牌,更多的牌是看不到,包括另外三位玩家的手牌以及墙牌。面对如此多的隐藏未知信息,麻将玩家很难仅根据自己的手牌做出一个很好的决策。

  挑战三:麻将除了计分规则复杂之外,打法也比较复杂,需要考虑多种决策类型,例如,除了正常的摸牌、打牌之外,还要经常决定是否吃牌、碰牌、杠牌、立直以及是否胡牌。任意一位玩家的吃碰杠以及胡牌都会改变摸牌的顺序,因此我们很难为麻将构建一棵规则的博弈树(game tree)。即使我们去构建一棵博弈树,那么这棵博弈树也会非常庞大,并且有不计其数的分支,导致以前一些很好的方法,如蒙特卡洛树搜索(MCTS)、蒙特卡洛反事实遗憾最小化(MCCFR)算法等都无法直接被应用。

  Suphx 的决策流程及模型架构

  Suphx 的打牌策略包含5个需要训练的模型,以应对麻将复杂的决策类型——丢牌模型、立直模型、吃牌模型、碰牌模型以及杠牌模型。另外 Suphx 还有一个基于规则的赢牌模型决定在可以赢牌的时候要不要赢牌。

  Suphx 的5个模型都基于深度残差卷积神经网络,它们的大体结构相似,主要不同在于输入的维度和输出的维度。其中丢牌模型输出有34个节点,代表丢34张牌中任何一张牌的概率,其他的4个模型输出层只有2个节点,代表是否立直、吃牌、碰牌、杠牌的概率。

  这些模型的输入包含了两大类信息:

  1. 当前可观测的信息,例如玩家自己的手牌、公开牌(包括丢出来的牌、碰的牌、明杠的牌),以及每个玩家的累计得分、座位、段位等等。

  2. 对将来进行预测的信息,比如打某张牌还需要拿几张牌才能胡牌、能够赢多少分、胡牌概率有多大,等等。

  需要指出的是,卷积神经网络 CNN 比较适合处理图像数据,但是麻将本身并不是天然的图像数据,因此我们需要对麻将的这些信息进行编码,使得 CNN 能够进行处理。展示了我们用一个4x34的矩阵来编码玩家的手牌。

  实际上,在 Suphx 研发的初期,我们采用了决策树算法 LightGBM,其在监督学习模仿人类玩家的行为上表现的不错,但是不适合强化学习,因此后来我们转而使用 CNN。

  Suphx 训练算法

  Suphx 训练过程分为三个主要步骤:首先使用来自天凤平台的高手打牌记录,通过监督学习来训练这5个模型,然后使用自我博弈强化学习以及我们设计的两个技术解决麻将本身的独特性所带来的挑战,最后我们在实战时采用在线策略自适应算法来进一步提高 Suphx 的能力。

  下面我们将重点介绍 Suphx 学习算法中的一些关键环节:

  分布式强化学习

  Suphx 的整个训练过程十分复杂,需要多 GPU 和多 CPU 协同,因此我们采用了分布式架构。架构包括一个参数服务器以及多个自我博弈节点,每个节点里包含了多个麻将的模拟器以及多个推理引擎来进行多个策略之间的博弈(即打麻将)。每个自我博弈节点定期将打牌的记录发送给参数服务器,参数服务器会利用这些打牌记录来训练提高当前策略。每过一段时间,自我博弈节点就会从参数服务器拿回最新的策略,用来进行下一阶段的自我博弈。

  我们发现,强化学习训练对策略的熵很敏感。如果熵太小,强化学习训练收敛速度快,自我博弈并不能显著提高策略;如果熵太大,强化学习训练就会变得不稳定,训练过程中的策略变化会很剧烈。所以,我们对强化学习训练过程中的策略熵进行了正则化处理,要求熵既不能太大又不能太小。

  全局奖励预测

  如前文所述,麻将的计分规则很复杂——玩家每局有得分,一轮游戏根据多局累计分数的排名计算点数。然而,无论是每局得分还是一轮游戏的最终点数都不适合用来做强化学习训练的反馈信号。

  由于一轮游戏中有多局,以一轮游戏结束的最终奖励点数作为反馈信号不能区分打得好的局和打得差的局。因此,我们需要对每局都单独提供强化学习的训练信号。

  然而,即使每局分数都是单独计算的,也未必能反映出一局打的好坏,特别是对于顶级职业选手来说。例如,在一轮游戏的最后一两局中,累计得分排位第一的选手在累计分数领先较大的情况下,通常会变得比较保守,会有意识地让排位第三或第四的选手赢下这一局,不让排第二位的玩家赢,这样就可以稳稳地保住总排位第一。也就是说,某一局得分为负不一定意味着策略不好。

  因此,为了给强化学习训练提供有效的信号,我们需要将最终的游戏奖励适当地归因到每一轮的游戏中。为此,我们引入了一个全局奖励预测器,它可以基于本局的信息和之前的所有局信息预测出最终的游戏奖励。在 Suphx 中,奖励预测器是一个递归神经网络 (GRU)。

  该奖励预测器的训练数据来自于高手玩家在天凤平台的历史记录,而训练过程则是最小化预测值和最终游戏奖励之间的平方误差。预测器训练好后,对于自我博弈生成的游戏,我们用当前局预测的最终奖励和上一局预测的最终奖励之间的差值作为该局强化学习训练的反馈信号。

  先知教练

  麻将中存在着丰富的隐藏信息,如其他玩家的手牌、墙牌等,如果不能获得这些隐藏信息,那么就很难确保某个动作(例如丢三万)的好坏,这也是麻将之所以很难的一个根本原因。在这种情况下,虽然 Suphx 可以通过强化学习来提高策略,但学习速度会非常慢。

  为了加快强化学习训练的速度,我们引入了一个“先知”,它可以看到所有的信息,包括(1)玩家自己的私有手牌,(2)所有玩家的公开牌,(3)其他公共信息, (4)其他三个玩家的私有手牌,(5)墙牌。只有(1)(2)和(3)是正常的玩家可以获得的,而(4)和(5)是只有“先知”才能获得的额外的 "完美 "信息。

  有了这些“不公平”的完美信息,“先知”在经过强化学习训练后,很容易成为麻将超级高手,安定段位也很容易就可以超过20段。这里的挑战是,如何利用“先知”来引导和加速 AI 的训练。实验表明,简单的知识萃取(knowledge distillation)或者模仿学习(imitation learning)并不能很好地把“先知”的“超能力”转移到 AI 系统上——对于一个只能获取有限信息的正常 AI 来说,它很难模仿一个训练有素的“先知”的行为,因为“先知”的能力太强,远远超出了普通 AI 的能力。比如,“先知”看到了其他玩家的手牌,知道每个玩家胡什么牌,所以它可以打出绝对安全的牌,避免因为丢牌使得其他玩家胡牌,然而正常的 AI 并没有这些信息,它可能完全不能理解为什么“先知”会打这张牌,所以也不能学到这种行为。因此,我们需要一个更聪明的方法,用“先知”来引导正常 AI 的训练。

  在 Suphx 中,我们的做法如下:

  首先,通过强化学习训练“先知”,使用包括完美信息在内的所有特征来训练“先知”。在这一过程中需要控制“先知”的学习进度,不能让其过于强大。

  然后,我们通过加 mask 逐渐丢掉完美特征,使“先知”最终过渡到正常 AI。

  接着,我们继续训练正常 AI,并进行一定数量的迭代。持续训练的过程中采用了两个技巧:一,将学习率衰减到十分之一;二,我们采用了拒绝采样,即如果自我博弈生成的样本和当前模型的行为相差太大,我们便会抛弃这些样本。根据我们的实验,如果没有这些技巧,持续训练会不稳定,也不会带来进一步的改进。

  参数化的蒙特卡洛策略自适应

  对一个麻将高手来说,初始手牌不同时,他的策略也会有很大的不同。例如,如果初始手牌好,他会积极进攻,以获得更多的得分;如果初始手牌不好,他会倾向防守,放弃胡牌,以减少损失。这与此前的围棋 AI 和星际争霸等游戏 AI 有很大的不同。所以,如果我们能够在对战过程中对线下训练的策略进行调整,那么我们就可以得到更强的麻将 AI。

  蒙特卡洛树搜索(MCTS)是围棋等游戏 AI 中一种成熟的技术,以提高对战时的胜率。然而遗憾的是,如前所述,麻将的摸牌、打牌顺序并不固定,很难建立一个规则的博弈树。因此,MCTS 不能直接应用于麻将 AI。在 Suphx 中,我们设计了一种新的方法,命名为参数蒙特卡洛策略自适应(pMCPA)。

  当初始的手牌发到麻将 AI 手中时,我们会调整离线训练好的策略,使其更适应这个给定的初始手牌,具体过程为:

  模拟:随机采样三个对手的手牌和墙牌,然后利用离线训练的策略将这一局模拟打完。总共做 K 次。

  调整:利用这 K 次打牌的过程和得分进行梯度更新,微调策略。

  打牌:使用微调后的策略与其他玩家进行对战。

  我们的实验表明,相对麻将隐藏信息集的平均大小10的48+次方倍而言,模拟的次数 K 的数量不需要很大,pMCPA 也并不需要为这一局手牌收集所有可能后续状态的统计数据。由于 pMCPA 是一种参数化的方法,所以微调更新后的策略可以帮助我们将从有限的模拟中获得的知识推广泛化到未见过的状态。

  在线实战

  Suphx 已在天凤平台特上房和其他玩家对战了5000多场,达到了该房间目前的最高段位10段,其安定段位达到了8.7段,超过了平台上另外两个知名 AI 的水平以及顶级人类选手的平均水平。

  下表展示了 Suphx 在这些对战中的一些统计数据,包括1/2/3/4位率、胡牌率以及点炮率。我们发现 Suphx 特别擅长防守,它的4位率和点炮率(deal-in rate)尤其低。

  注:上表格中的 Bakuuchi 即东京大学/HEROZ 研发的麻将 AI “爆打”

  Suphx 可以说是“另辟蹊径”, 具有鲜明的个人风格,创造了许多新的策略和打法,例如它特别擅长保留安全牌,倾向于胡混一色等等。展示了 Suphx 在天凤平台实战时保留安全牌的一个例子。当前时刻 Suphx(南家)需要丢牌,如果是一个人类玩家高手,在这种情况下会丢北风,但是 Suphx 这个时候会丢掉一张7条,这在人类玩家看起来会觉得很不寻常,因为7条是一张好牌,丢掉7条会使得胡牌的进度变慢。Suphx 之所以丢掉7条而留住北风,是因为北风是一张安全牌,这样在未来某一时刻,如果有人突然立直要胡牌了,Suphx 可以打出北风而不点炮,这样后面还有机会胡牌;如果它在前面已经把北风丢掉,那这个时候为了打出一张安全牌就不得不拆掉手里的好牌,从而大大降低了胡牌的可能。

  许多观看 Suphx 比赛的玩家表示在观战过程中受到了启发,甚至有麻将爱好者将 Suphx 称作“麻将教科书”、“Suphx 老师”,通过学习 Suphx 的打法,帮助他们进一步提升和丰富自己的麻将技巧。“我已经看了 300 多场 Suphx 的比赛,我甚至不再观看人类玩家的比赛了。我从 Suphx 身上学到了很多新技术,它们对于我的三人麻将打法有着非常大的启发,”麻将选手太くないお在社交媒体上表示。前年 6 月太くないお成为世界上第 15 位三人麻将天凤位获得者,也是第一位在四人麻将和三人麻将中均取得天凤位的顶级玩家。

  总结和展望

  Suphx 可谓是迄今为止最强的麻将 AI 系统,也是天凤平台上首款超越大多数顶尖人类玩家的麻将 AI。我们相信,今天 Suphx 在天凤平台上取得的成绩只是一个开始,未来,我们将为 Suphx 引入更多更新的技术,继续推动麻将 AI 和不完美信息游戏研究的前沿。

  同时,我们也期待游戏 AI 的研究可以推动人工智能技术的创新发展,让人工智能真正走进我们的生活,帮助人们解决更加错综复杂的现实挑战。很多现实世界中的问题如金融市场预测、物流优化等与麻将有着相同的特点,包括复杂操作/奖励规则、信息的不完全性等。

  我们相信,我们在 Suphx 中为麻将 AI 设计的技术,包括全局奖励预测、先知引导和参数化策略自适应等技术,在现实世界的应用中将大有可为,我们也正在积极推动这些技术的外延及落地。

  首先,围棋是计算量最大,最复杂的游戏,这个是无可争议的。

  然后,我知道你想说什么。你想说,麻将我可以控制牌,我可以选择打什么不打什么……balabalabala……

  那么我告诉你,你说的这套东西叫做不完全信息博弈。若论在这个领域里,麻将连弟弟都算不上,公认的大哥叫做:

  德州扑克。

  很多人坚持认为,棋牌类游戏之王就是德州扑克。如果说有世界赌王的话,那么他就应该是WSOP无限制德州扑克的世界冠军。周润发赌神的原型叫做陈强尼,美籍华裔,1988,1989年蝉联两届德州扑克世界冠军。

  当李师师欧巴被阿尔法狗碾压性击败之后,可以说人类智慧的最后尊严,就只能落在无限制德州扑克身上了。毕竟,德州扑克每一手牌的策略总数,用字节来描述的话,将会超过宇宙的原子总数。人类饱含着欺诈行为的混合策略将好好教育AI如何做人!

  在李师师欧巴兵败三年之后,也就是2022年7月,AI Pluribus(Facebook 与卡麦基梅隆大学联合开发)在无限制德州扑克游戏中碾压性击败5位世界冠军级牌手。相关论文发表在当年的science。至此宣告,在所有的智力游戏中,人类全部失败。是的,是所有。

  值得一提的是,阿尔法狗击败李师师欧巴,用了1920块CPU,280块GPU。

  而AI Pluribus,只用了2块CPU。

  麻将有偶然性,阿尔法狗打麻将也不能做到百分百必胜,但是大多数局面下能赢是肯定的。

  不过谷歌研究ai不是为了下棋的,是为了测试新技术,如果阿尔法狗跟世界麻将冠军打上八圈,最终胜多负少还是绝对肯定的。

  世界上最难计算的是什么?是人性。

  超级计算机可以和真人对阵象棋、围棋,因为它们都是两两对阵。计算机可以计算若干个可能性,然后选取最佳方案。

  麻将是四人对阵。

  如果象那种电脑小游戏的四人麻将的形式,三个电脑模拟操作,一个真人操作,人赢的概率会很小。那其实不是人机对战了,基本就是机机对战,人就是个搭牌的。注意,不要让麻将小游戏给蒙蔽了,认为计算机不如人。游戏是故意让你赢的。电脑游戏式的麻将毕竟是游戏,不设计些让人赢的方案,谁还玩儿得下去?而且,这种游戏程序设计不能和阿尔法狗一样的超级计算机相比。

  如果四人中有两个或三个真人参加,基本是计算机输。计算机再超级,也计算不出其中一个人是不是故意给另一个人上牌,甚至点炮。

  

为什么AlphaGo不敢挑战麻将?

  

为什么AlphaGo不敢挑战麻将?

  

为什么AlphaGo不敢挑战麻将?

  

为什么AlphaGo不敢挑战麻将?

未经允许不得转载:香水_口红_女装_饰品_礼服-典润时尚网 > 为什么AlphaGo不敢挑战麻将?

评论

留言与评论(共有 0 条评论)
   
验证码: