放弃EDG和CMU来鹅厂做游戏AI的少年 | 对话程序员
栏目介绍
『有料程序员』是由腾讯TEG推出的一档程序员谈话类直播节目。每期节目会邀请一位程序员来分享他们的工作与生活。旨在打破人们对程序员的刻板印象,让大家了解程序员的世界不只有代码,还有无限精彩。
本期嘉宾:Jianing
脱口秀爱好者、卡祖笛演奏家
放弃电竞俱乐部EDG offer
辍学全美计算机专业顶级的CMU
六年前在中学操场看AlphaGo惊艳登场
六年后已成鹅厂算法工程师
儿时被点亮的梦想
长大后亲手实现
Q:先和大家简单介绍下你的工作内容?
Jianing:我的工作概括来说就是在各种各样的游戏中运用AI,包括训练AI打「王者荣耀」以及让AI在「我的世界」里挖钻石等。
比如我会让两个AI在游戏里相互PK,看它们两个打得有来有回;有时候为了测试我也会去和游戏AI打,理论上我应该是打不过的,但要是发现我居然也能和AI打个有来有回,那一定是我写出bug了(笑)。
之前我们还在第三届MineRL竞赛,一个游戏AI算法大赛中,代表腾讯拿到了全球第一名,这也是我前段时间的工作。
Q:最初是因为什么对游戏AI产生兴趣呢?
Jianing:是2016年AlphaGo战胜李世石那场围棋比赛。
我记得当时学校不让带手机,我还是专门找了一个自由活动的时间,坐在操场上偷偷看,还注意不要被老师当场逮捕(笑)。但我当时看完确实是大受震撼,因为那场AlphaGo下了之前许多人类都没见过的路数。
虽然以前也有AI战胜过国际象棋选手,但是当时人类就觉得AI能够攻克国际象棋,是因为这是一个相对来说更简单的游戏,毕竟国际象棋里的算法和步骤可能已经被穷举了,而围棋还是人类智慧的尊严。
但是到AlphaGo之后,可以说对整个人类的围棋玩家的思维模式都是一个巨大的冲击,我们才完全意识到这件事情其实是我们做不了的,可能是我们永远也达到不了境界,只能向它学习。
Q:所以是从小就爱好打游戏吗?小时候玩游戏会不会被爸妈阻拦?
Jianing:我小时候打游戏没有被阻拦过,因为我们家电脑实在太烂了,带不动很多游戏(笑)。所以小时候玩的大多是一些非即时战略游戏,比如围棋、三国杀。小时候只能玩这些游戏,所以其实也不会特别有网瘾。
而且除了游戏我其实也有很多其他的爱好,比如也学过弹钢琴,下围棋等等。
这几年还爱上了一个叫卡祖笛的乐器,这个乐器有一个特别有意思的点就是它的笛膜可以是任何东西,你可以把笛膜换成垃圾袋或者保鲜膜,都可以吹出不一样的音色。我觉得这是一个原理很简单但是包容性很强的很深刻的一种乐器,希望大家有机会都可以去试试(笑)。
Q:是怎么样的成长环境培养了兴趣广泛的你?
Jianing:我很感谢从小到大无论是家庭还是我接受到的教育,都是非常包容的。所以我能够去尝试各种各样的事情,然后从中获得快乐和勇气,形成一个正反馈的过程。
小时候学的钢琴和围棋,虽然都没有学到很精,但是这些经历增长了我的见识,也让我认知到了世界更多的切面。
从小广泛的尝试与涉猎也让我长大后面对一个未知的东西,不会觉得害怕,反而总会有一种好奇心想要去了解它的原理是什么,我觉得这种好奇心是我个人认为是我比较喜欢自己的地方。
十字路口 怎样选择
才能不留遗憾
Q:当初差点去做了EDG电竞选手,是怎么样一段经历?
Jianing:因为一个比较小众的项目,叫王者荣耀自走棋,在当时还是有一定热度的并且办过联赛。
那时候我正好已经申请到了美国的学校,因为疫情延误了一年,在这一年想给自己找点事做,就把这个游戏打到了全国第五名,后来就去EDG做了个试训,效果还可以,他们那边说可以过来。
Q:读研期间为什么会放弃CMU(卡内基梅隆大学)留学?
Jianing:因为当时分析来看,觉得已经有一个很感兴趣的工作,并且自己的能力和工作带来的挑战都是一个很适宜的状态。
相比之下,考虑到当时北美的严重疫情,并且未来大概率还是在国内发展,所以权衡利弊之下做出了选择。
Q:是出于什么机缘来到了鹅厂?
Jianing:我当初是因为写了一篇关于王者荣耀方面的文章然后就被招进来了(笑)。
先简单科普一个AI方面的小知识:一般来说机器学习可以大致分为三种技术,有监督、无监督、以及强化。从AlphaGo到我现在做的工作主要是在用强化学习。
不过我本科在强化学习方面的了解其实并不是很多,但是我又非常感兴趣,也一直保持关注。那时候刚好碰上推出了王者荣耀的机器人「绝悟」,可能还是在内测阶段,我就在玩家论坛NGA上发了一篇文章,分析这个技术大概是怎么回事。其实那时候我也不是很懂,对着论文边查边研究然后边写这篇文章。结果第二天我就收到了一封NGA的站内信,说腾讯绝悟团队希望与您取得联系。
那时候我人在美国有一个假期交换,当时组里的一个实习生正好和我在一个校园,我们组长就派这个实习生线下来“抓捕”我。现在我们两个都入职了,他就坐在我对面(笑)。
这段经历也挺有启发的,就是对于一个自己感兴趣的领域,适当地多做一些研究和沉淀,最后可能就会有意想不到的收获。也鼓励大家多写写相关的技术文章,说不定你也会因为某一篇文章从此改变人生的轨迹。
Q:对于人生的重大选择,你会怎么样做决定才不留遗憾?
Jianing:要说遗憾,肯定是有。但是我这个人,很容易想得开。
我的心境就是其实怎么样选择都会遗憾的,所以就没有必要太过纠结这个事情。我现在会用一种很佛系的态度去看待这个事情,毕竟我们在做选择的时候永远只能选一条路,至于另外一条路的可能性,或许就交给另外一个平行宇宙的自己去实现了。
关于做选择的方法,具体来讲就是认真做一些比较:
1.我会把可选择的路径与各种可能性列成一个思维导图,通过这种方法去和自己对话;
2.分析哪些结果是不可替代的,哪些结果是长期的,哪些结果是短期的,出于综合的考量做出一个重要的决定。
游戏AI赛道
真心喜欢才会认同
Q:关于游戏AI,你认为我们可以走多远?
Jianing:其实我选择留在腾讯,而不是去读书或者怎么样,很大一个原因是我真的很喜欢,也很认同AI这条赛道,它未来的想象空间和专业领域可取得的突破一定都是很有前景的。
包括我们最近一直在谈的元宇宙,虽然目前还在探索阶段,我们也不知道元宇宙最终的形态是什么样。但是假设我们生活在很大的一个世界里,其中存在很多AI,它们之间可以彼此交互交流,并且它们说出来的话也是有意义且符合逻辑的,那么AI在元宇宙中一定会起到一个非常重要的作用。
目前在游戏中,玩家大多还是和普通的NPC在交互,但如果以后游戏里的NPC都是有自己想法和意识的AI,那玩家的体验跟传统游戏相比肯定是完全不一样的。
之前我们做过的一个工作,就是在「我的世界」这款沙盒游戏中把一些人类玩家进行的交互换成AI。我们让AI在这个游戏中挖钻石。
本身挖钻石是一个比较复杂的事情,需要它砍树,砍完树再合成,可能还要去挖石头。这一系列工作本身是要玩家来完成的,现在我们用AI就可以完成了。
所以我们认为AI在这个游戏中已经具备了创造价值的能力基础。那么如果我们把这个基础拓展到更加智能,我们就可以有一个沙盒游戏里面都是AI的一个世界,就像前阵大火的两部电影《头号玩家》和《失控玩家》那样。
Q:从现阶段要真正发展到《失控玩家》那种状态我们还有多远?技术难点是哪些?
Jianing:其实这需要各方面的很多技术一起进步,才能够共同达成这样一个效果。
举例来说,人们最先接触到的就是AI的外表,目前我们游戏里的NPC都是通过美术去做的,那么我们有没有可能用批量的方法生成NPC的外表,让它们不一样且各具特色。另一方面,我们要让AI更好地相互交流,这里面就会包含一些语音合成方面的工作等等。
我觉得最难的可能是交互的层面,就像我们现在这样聊天,其实对于AI来说是有很大难度的。
比如说让AlphaGo下棋,这件事虽然难度高,但其实自始至终都是有一个很明确的任务的,它的所有行为都是可计算且可定义的,怎么样算胜利也是可预知的,我是黑棋你是白棋,我围的空比你大我就赢了,所以这个叫围棋。
它很好定义,且逻辑清晰,棋盘上所有信息都是公开的,你能看到多少,AI就能看到多少,但是和人的交流就完全不一样。
我之前做过一个闲聊机器人。什么是闲聊?就是和你自由地对话,而不是单纯完成一个任务。比如我让AI帮我预定一个会议室,这其实是简单的,因为它的任务很明确。
但如果我问AI说“1000个读者眼中有1000个哈姆雷特吗”?那这个含义就很复杂了。首先它要知道《哈姆雷特》与莎士比亚的相关知识;其次这里面要暗含一个逻辑,就是你是否认可读者对作品的理解不一样,这就要求AI有一定的逻辑推导能力,它不能只是单纯回答是或者不是。
如果我们深聊下去,它还需要告诉我为什么它觉得是或不是。这样就涉及到了另一个问题——记忆。我们的交流可能会有很多轮,但是AI可能过了两轮之后它就把前面的对话忘掉了。
此外AI也很难掌握我们人类语言中那些比较隐秘或者有比喻色彩的东西。
比如你让AI在沙盒游戏里去挖钻石,这件事虽然步骤繁琐但其实是简单的。而如果你让AI去建一个有趣的村落,它可能就傻掉了,因为它不知道什么是有趣。所以对于AI来说,现阶段需要提出一些特别明确的需求,它才能处理问题。比如现在很多玩家的乐趣是在游戏里建造紫禁城,这件事如果交给AI,给它紫禁城的图样让它对着那个样子造,我相信它可以造得很好。
下期预告
点击预约,观看直播↓
点个关注,精彩不错过🌟
· 往期推荐