图文原创:谭婧

谭婧老师爱下象棋,就是谁也赢不了。

去公园下了一盘棋 ,第一步我就走了一个当头炮 ,剩下的都是大爷们帮我走的。

结果,我输了。

经过他们的总结研究,我第一步走错了 。

2022年,象棋AI下棋机器人,问世了。

我和它对弈了一盘,结果,我赢了。

很有自知之明的我,严重怀疑设计者增加了噪音,降低了棋力。让我赢得很舒服。

但我没有证据。

怎么说呢,我就喜欢高情商的AI象棋机器人。

低情商的机器人只会冷漠地碾压我:“下不过我,就别废话。”

仿佛不仅嫌弃我棋臭,还嫌弃我话多。

而高情商的AI象棋机器人,大为不同。

它伸出胳膊,温柔地摆出“请”的姿势,它居然有机械臂。

情商和机械臂都不是重点,聊聊它的智商从何而来。

AI象棋机器人是人工智能技术中深度学习与强化学习的成果,击杀四方。

任何人工智能都离不开数学基础原理,在此,首先得感谢尊敬的贝尔曼(Bellman)教授。

以他名字命名的贝尔曼方程,在绝大多数强化学习的成果中都会用到,比如象棋AI下棋机器人的远方表哥,自动驾驶。

它们是亲戚,“血缘关系”是“最优决策”。

强化学习是要在多种决策中评价,找出好的决策。

强化学习在象棋中,就是在多种走法中找到最好的走法。

围观数学公式的人少,围观下象棋的人多。

我们抛开公式,用决策树表示每一步的输赢,非常直观。

一盘三十步的象棋比赛,会是一颗很大的决策树,有很多枝叶。

计算机下象棋的棋力,早就超越了绝大多数的人。然而,至今没有任何一款计算机软件达到全知全能的“棋神”状态,连AI也不行。

那在下象棋这件事情上,AI这几年在忙活啥?

那要从几十年前讲起了。

1980到1990年代,深蓝计算机是大公司的,小霸王游戏机是大家的。

假如一个人类象棋高手下一步棋,能看未来八步棋。就好比一下能想到决策树上的第八层。

传统象棋软件说,这我也行。

话是没有吹牛,传统象棋软件确实可以做到。

可是,再往前多算几步,所耗时间和计算存储可能都要翻倍。或者说,情况急转直下。

在旧式象棋软件的时代,得想办法减少计算量。所以,有了阿法贝塔剪枝。

这虽然有“偷懒”的嫌疑,但我也没有证据。

阿法贝塔剪枝的方法,相当于提前知道哪些搜索是没有意义的,排除错误答案,用巧思“偷懒”,相当于省略做题过程。

旧思路在象棋上还能支撑,用在围棋上力有不逮。

(因为围棋是19×19的一个矩阵,每步可选择的走法要比象棋多一个数量级。)

从旧式象棋软件时代,人们就为棋力算分。这是一个起源很早的好办法。

那么得分是怎么来呢?

用一个数学函数把有利赢棋的因素都考虑进去。

以至于,中国象棋协会也有象棋大师用此来构思好棋。

有了分数,僵化的下象棋,就是“哪步得分高,就走哪步”。

然而,象棋是一个非常讲究全局观的游戏。

追求最终取胜,不追求每一步占尽优势。

比如,战术性丢车保帅。

深度学习模型在象棋面前暴露了“缺点”,它算出当下局面的胜率,但是,并不能估算出后续局面的胜率。

所以,需要一个重要的动作来加持:搜索

从决策树上理解,就是考虑的越多越好。

如今,能搜索到决策树里非常深的层数,这就意味着,招数更多,棋路更多,对胜利的把握就越大。

谈到如何处理搜索量大,就谈到了蒙特卡洛树搜索是学霸特供技能,对大多数人来说,都很难。

甚至可以这样说,就是题目很困难,算不出来,只好求助于概率,求助于实验。

一顿猛如虎的严谨分析算不出来。来吧,学霸直接撸起袖子做实验。

蒙特卡洛方法的做法虽然看起来比较随意,但却有着坚实的理论基础:大数定律。

在计算机眼里,棋子挪动一步,都算一个新的棋局,所以棋局数量何其之多。

一个厮杀正酣的棋局,往后走,可能衍生出10000种棋局。

借助蒙特卡洛树搜索这一方法,看未来几步怎么走。或者说,当AI象棋机器人,有了强化学习,就有了“大局观”。

我们马上进入学霸区特供:《AI象棋机器人所用的蒙特卡洛树搜索》。

这就是深度强化学习,模型收敛的目标是,把胜率估计越准越好。经过多轮训练,胜率会越来越准。

胜率是AI象棋机器人的KPI,每下一步都估算胜率。每一步,尽量把胜率提高。

常识是,高手胜率高,低手胜率低。

问题来了,高到多少,低到多少。每一步的胜率很难准确估算,只能估大致范围。

而且,把胜率提高的前提是,得把胜率算准确。

在如此模糊的情况下,数据里会有误差。因为有误差,所以AI象棋机器人只能知道“棋神”的方向是什么,它想方设法逼近这个方向。

象棋AI机器人的棋力水平的训练方法是,AI,加上蒙特卡洛树搜索,然后再教导AI本身。

这个过程类似总结经验,这样使得它的棋力飙升。

可以说,AI象棋机器人强大之处得益于蒙特卡洛树搜索。

超越人类是很早以前的本事了,现在追求棋力丝滑上升,情商在线。

让棋力水平菜,还有棋瘾的人,也能玩得开心(请不要在我下象棋的时候安装监控)。

好了,

这回就聊到这吧。

看在象棋AI下棋机器人输给我的份上,我不妨透露两个消息。

第一,有一版的AI象棋机器人初级棋力就打败了全公司的挑战者。

大胜之际,算法设计工程师们哀嚎遍野:“大事不妙”。

第二,我下赢AI象棋机器人那一局的时候,旁边有三个AI工程师帮忙出主意。

(哦,第二点是在凡尔赛科技新媒体的日常)

最后隆重介绍一下我们的全文审核专家:

更多阅读

1. 我怀疑京东神秘部门Y,悟出智能供应链真相了

2. 超级计算机与人工智能:大国超算,无人领航

3. 隐私计算:消失的人工智能 “法外之地”

4. 售前,航空母舰,交付,皮划艇:银行的AI模型上线有多难?

5. 两大榜单揭晓啦,2021年中国高性能计算机性能TOP100+国际人工智能性能排行榜AIPerf500

漫画系列

1. 万字大稿深度解读硅谷风投A16Z“50强”数据公司榜单

2. AI算法是兄弟,AI运维不是兄弟吗?

3. 大数据的社交牛逼症是怎么得的?

4. AI for Science这事,到底“科学不科学”?

5. 想帮数学家,人工智能算老几?

6. 给王心凌打Call的,原来是神奇的智能湖仓

7. 原来,知识图谱是“找关系”的摇钱树?

8. 为什么图计算能正面硬刚黑色产业薅羊毛?

9. AutoML:攒钱买个“调参侠机器人”划算吗?

10. 你爱吃的火锅底料,是机器人自动进货丨漫画AutoML

AI框架系列:

1.搞深度学习框架的那帮人,不是疯子,就是骗子(一)

2.搞AI框架那帮人丨燎原火,贾扬清(二)

DPU芯片系列:

1.造DPU芯片,如梦幻泡影?丨虚构短篇小说

2. 永远不要投资DPU?

3. DPU加持下的阿里云如何做加密计算?

4.哎呦CPU,您可别累着,兄弟CIPU在云上帮把手

最后,再介绍一下主编自己吧,

我是谭婧,科技和科普题材作者。

为了在时代中发现故事,

我围追科技大神,堵截科技公司。

偶尔写小说,画漫画。

生命短暂,不走捷径。

个人微信:18611208992

原创不易,多谢转发

还想看我的文章,就关注“亲爱的数据”。

人工智能下象棋,走一步,能看几步?|漫画相关推荐

  1. 人工智能下一阶段,为啥要看互联网巨头?

    2020-04-23 15:53:37 回顾过去的十余年,人工智能的进步可谓"耀眼".尤其是从2015年"阿法狗"横空出世之后,人工智能行业的发展速度一骑绝尘. ...

  2. 【毕业季】走一步看一步?一个自动化er对大学四年的思考

    活动地址:毕业季·进击的技术er 目录 1 前言 2 大学学习适合题海战术吗? 3 要不要迅速投身各种竞赛? 4 如何看待升学与就业? 5 阶段性学习目标 6 总结 1 前言 前两周刚刚结束毕业答辩, ...

  3. 【对线面试官】阿里面试经历,有些人走一步看一步就挂了

    点击上方蓝色字体,选择"设为星标" 回复"资源"获取更多资源 这个其实说来就话长了.是小编曾经面试阿里妈妈的经历. 这次面试最终在HR面挂掉,以至于后面回忆起来 ...

  4. 疫情之后,人工智能该如何走?

    7月9日,2020世界人工智能大会云端峰会在上海正式召开.大会以"智联世界 共同家园"为主题,以"高端化.国际化.专业化.市场化.智能化"为特色,围绕智能领域的 ...

  5. 李飞飞:人工智能下一个春天是情绪和情感计算

    六十年前初识计算机的时候,人们就在想:是否有一天我们可以创造出一种人工智能,达到甚至超越我们人类的智能水平. 几十年过去了,AI 经过了几个寒冬.我们仍然没有了却几十年前的心愿. 今天,人工智能再一次 ...

  6. 从下象棋的角度来类比浅析H.264中的像素残差和运动矢量残差

    我酷爱下象棋,经常沉迷其中,不好啊,最近下定决心,尽量少下象棋. 现从下象棋的角度来类比浅析H.264中的像素残差和运动矢量残差. 第一帧: 双方把象棋摆放好,准备开始下,这个画面就是第一帧; (对应 ...

  7. 周鸿祎:走好创业之路第一步( 转)

    周鸿祎:走好创业之路第一步 2007年02月08日 星期四 05:27 P.M. 做事情大处着眼,小处着手 成功者的创业初衷,往往是为了解决一个简单的问题.Jerry和David 创办雅虎时, 就是觉 ...

  8. Wiki下象棋——bfs

    链接:https://ac.nowcoder.com/acm/contest/30532/E 题目描述 Wiki的业余爱好就是下象棋,他不仅会下中国象棋,还会下国际象棋.他发现中国象棋和国际象棋虽然都 ...

  9. Linux下代码运行不了?看这里设置环境变量

    Linux环境变量设置 前言 环境变量文件 环境变量设置(vim/gedit) 配错了怎么办? 前言 首先呢,环境变量有系统环境变量和用户环境变量.介个系统环境变量影响着整个系统,而用户环境变量也就顾 ...

最新文章

  1. new Date 兼容性问题
  2. 4G EPS 的架构模型
  3. input常用输入框限制
  4. 将 GridView 中的内容导出到 Excel 中多个工作表(Sheet) 的方法
  5. 热门的“挑战视频”,凭什么火起来的?
  6. python中ascii码和字符的转换
  7. mysql附加数据库失败_我的数据库为什么附加不上去?
  8. 亲测!这本 Python 书销量超过13W+原来是这样
  9. 各种编程语言介绍,应用,性能等
  10. matlab显示串联矩阵的维度不一致,串联的矩阵的维度不一致。
  11. PHP(gzdeflate/gzinflate)+JS(pako)前后端数据压缩
  12. spring-cloud(十一)GateWay强大的路由谓词(断言)功能
  13. 用Python爬虫获取NBA球员的生涯数据
  14. Unity3d之坦克大战(二)
  15. Linux添加PCF8563 RTC支持
  16. springboot整合shiro
  17. 投资理财-简单策略其实不简单
  18. linux小红帽实验心得,《小红帽》读后感读书心得400字五篇
  19. C++-生日-星座-性格查询
  20. html酷炫电子时钟效果,逼真的HTML5 canvas模拟时钟特效

热门文章

  1. 百度领投“凯叔讲故事”的背后 智能音箱内容之战将弥漫到教育?
  2. /bin/python3: No module named pip
  3. Java编写歌曲管理系统 用Arraylist完成 添加歌曲、置顶歌曲、前移歌曲。
  4. java-word模板转化为pdf
  5. Sicily.Handling e-mail addresses
  6. 【erlang】【rebar依赖】添加protobuff(gpb)依赖
  7. unity3d鼠标移动到上面变色
  8. TRL去嵌(De-embedding)
  9. 阿里OSS 的使用过程
  10. 【计算机视觉】Lecture 26: 颜色和光线