在人工智能系统 AlphaGo 与韩国棋王李世乭的对弈直播中,许多网友都在问:AlphaGo 怎么决定要下哪颗棋子?AlphaGo 懂得投降吗?AlphaGo 是不是看破李世乭的棋路才赢的这么顺利?黄士杰为什么都不用喝水上厕所?黄士杰,在世纪人机大赛中负责为 AlphaGo 执棋、同时也是 AlphaGo 开发者之一的台湾博士,在赛后回到台湾,特别为人们解答对于 AlphaGo 的一切好奇。
AlphaGo 怎么下棋,怎么赢?
围棋第一步有 361 个点可以下,第二步有 360 个点可以下,整个盘面的可能性高达 10 的 170 次方,比宇宙的原子数量还要高,就知道这是多可怕的天文数字,因此才说围棋是最复杂的棋盘游戏。
然而 Google 旗下人工智能公司 DeepMind 所开发的 AlphaGo,其过人之处就在于利用深度学习技术搭配“策略网络(Policy Network)”和“值网络(Value Network)”,把搜寻层面缩小,让电脑运算足以负荷。
▲DeepMind 利用“策略网络”和“值网络”,让 AlphaGo 把搜寻层面缩小,也极大幅度缩小运算需求。绿色和粉红色区块为被排除掉的搜寻范围。
黄士杰说明,他们先是让 AlphaGo 看 2、30 万个棋谱,等于是汲取人类几千年来的智慧,之后“策略网络”会要求 AlphaGo 利用所学找出前 20 个最佳的棋步,“值网络”再来判断盘面,分析每个步数的权重。一方面减少搜寻广度,另一方面减少搜寻深度,变成 AlphaGo 可以处理的运算范围,让 AlphaGo 效能有极大的提升,也是今日电脑能赢过人脑的关键。
澄清:并非靠研究对手、识破棋路获胜
在最新出刊的天下杂志 593 期,陈文茜女士在专文中写下,“AlphaGo 短时间内记住了李世乭的棋谱,识破‘冠军高手’的棋路。”这说法也遭黄士杰反驳,“AlphaGo 并没有针对李世乭九段做任何训练,他跟任何人下棋都是一样的。”也就是说,AlphaGo 都是依上述的方式行动,盘面怎么发展,他就接着运算、下棋。
另外,陈文茜在同篇文章所说的“AlphaGo 更是史上首次开发出默默学习的人工智能”也并非事实。黄士杰在会中有提到,目前人工智能已成功应用在图片分析、语言分析等多个领域,其他许多领域也有探讨。科技新报也写过不少关于机器学习、人工智能的报导。
AlphaGo 在胜率低于 20% 时就会投降
不过 AlphaGo既然能看好、算好该走哪步,那在与李世乭的第 4 盘对弈又怎么会有“棋子满天飞”、“看不懂在下什么”的乱流发生,最后更是落败呢。黄士杰反问,怎么不说是李世乭下了神来一手的“挖”?不过团队也的确在找问题,看是系统有 BUG,或者是值网络判断有误。
而第 4 盘对弈发展到最后,AlphaGo 明显屈居弱势,大家都在等 AlphaGo 会怎么输,是一路下到棋局结束比目数还是投降,但它懂不懂投降?黄士杰说,AlphaGo 会在棋局开始后判断胜率,它被设定为当胜率小于 20% 时就会投降。但黄士杰强调,AlphaGo 要在开始下棋后才能判断胜率,因此在开赛前,它是无法预测胜率的;此外,比赛中虽然后台看得到 AlphaGo 判断的胜率,但坐在李世乭面前的黄士杰是完全不知情。
坐在李世乭对面,黄:以尊敬的心情尽量不影响他
▲代替 AlphaGo 下棋的是台湾的资工博士黄士杰,目前在 DeepMind 担任资深研究员,是 AlphaGo 的主要程式开发者。(Source : 截取自 AlphaGo 与李世乭第 4 盘对弈直播,当时AlphaGo 投降。)
常常有人评,AlphaGo 是电脑不会觉得紧张也不会有压力,黄士杰做为代执棋的人,也尽量不让自己的行为带给李世乭压力。黄士杰说,“我是下围棋的人,李世乭九段我看过他大部分的棋谱,我对他有一种尊敬的心情,比赛中我是觉得很荣幸坐他对面,那我就尽我所能不要影响他、尊重他。”包括喝水、上厕所、露出表情都尽可能不会,但另一方面也是考量到不要浪费 AlphaGo 的时间。
不过在第 4 盘 AlphaGo 投降那一刻,黄士杰有笑了一下,他澄清自己不是在取笑什么,而是“为李世乭高兴”,因为感受到李世乭比赛压力很大。最终 AlphaGo 以比数 4:1 获胜,黄士杰认为是圆满的结果。
至于 AlphaGo 开发公司 DeepMind 未来的计划是什么?除了比较明确的把人工智能应用在医疗、机器人领域之外,也有其他团队在讨论是否开发策略游戏中的对战 AI。“让世界变得更好是 DeepMind 的终极目标”,黄士杰说。
台湾之光黄士杰
黄士杰是台湾人,是台湾师范大学资讯工程系博士,也是业余六段的围棋棋手,他研发的围棋程式“Erica”于 2010 年获得第 15 届奥林匹亚电脑游戏程式竞赛(Computer Olympiad)金牌。随后加入 Google 旗下人工智能公司 DeepMind 担任资深研究员,是 AlphaGo 的主要程式开发者,他研发的“Erica”更是能够做 AlphaGo 的基础。
延伸阅读:
- Facebook 研究员解析算法技术:AlphaGo 为什么这么厉害?
- Google AlphaGo 的胜利:不是电脑打败人类,而是人类打败人类
- 帮大脑省力!隐身在 Google 邮件、翻译、照片背后的“机器学习”