内容来源:2018年1月5日,深奇智慧联合创始人高扬在“2018移动技术创新大会”进行《游戏机器人的研究与应用》演讲分享。IT大咖说作为独家视频合作方,经主办方和讲者审阅授权发布。阅读字数:3044|8分钟阅读嘉宾演讲视频回放及PPT,请复制链接:http://t.cn/RgMfOWF,粘贴至浏览器地址栏即可。
摘要伴随着人工智能的出现,越来越多的公司把它运用到工作生产中,游戏机器人的研究和应用也受到一些人的关注。本次演讲将分享那些在游戏AI领域所使用的技术,包括CNN和DQN等。游戏AI的种类和演变过程NPC驱动游戏中的人工智能主要指的是NPC(无用户角色)。游戏的杂兵是低级NPC,都是事先编好行进路线,用事件驱动其出现或生效。
网游中的高级团战英雄相当于高级NPC,有着复杂且变化多样的场景,动作丰富且评价模式也相对复杂。最后就是特高级NPC,一般都是高级益智玩具类型,比如带有博弈心态的扑克,带有套路计算的麻将,带有长久盘面考虑功能的象棋和围棋等。人工智能的差距我们现在之所以对人工智能感兴趣,是因为它能够应用在很多的领域,比如图形、音频、游戏等,能够代替大量繁重的人工。
神经网路其实和函数有些相似,函数是对给到的x进行一系列运算然后输出y。神经网路相当于多层函数的嵌套,输入的x先经过一层函数运算,然后输出的值再经由另一层神经网络或者函数运算,直到经过最后一层运算输出y。理想情况下如果神经网络足够智能,那么输出的应该是最优的y。这里的关键在于x应该经过怎样的计算,例如对于最简单的y=ax+b函数,如果a、b未知就无法获得y。
基本上搭建如上图所示的三层网络就能实现想要的结果,30万局牌大概10分钟就能够训练完成。
接下来我们讨论下深度学习和强化学习的结合,首先来看下强化学习。机器人作为主观体需要认知世界,而一般训练机器人的时候目标是固定的,要人为的将目标的信息传递给机器人,这些信息就叫做奖励。同时机器人还要能够获取和认知环境信息,然后输出动作到环境中,最后机器人会获得一个奖励值。奖励值是一种超参数,是用来判断行为的正确性的依据。
展开来看就是上图这样的形式,随着时间的推移,当前的状态、动作、奖励值都会被统计下来。
在获取到大量的信息数据之后,就能形成如上图所示的表格,空格中填入的是Reward(奖励值)。显而易见这种情况下完全可以根据表格判断出某个状态下的最优动作。动态决策上面的做法其实是存在缺陷的,它虽然能够在某一瞬间获得数值最大的奖励,但无法预判到该行动对下一瞬间的影响,有可能下一瞬间的奖励值是最小的。
这种情况下就需要采用动态决策,最终形成的是如上图所示的树状结构。先在某个状态下采取不同的行动形成不同的状态,然后在这些状态中再采取不同的行动。图中标记的那些数值表示的就是奖励值,通过统计奖励值就可以获得最优的路线。可能有朋友已经发现了,最左边的两条路线数值其实是一样的。要解决这种情况需要用到图中下方的公式,它主要用于数值的回溯。
其实通过神经网络也可以解决马尔可夫决策过程中遇到的问题。神经网络的学习能力很强,在输入的X很复杂的情况下,输出的y也能很复杂,它完成了高维到高维的映射。这种方式下样本的获取成本会更低,通过机器人之间的对战能够不停的生成新的样本。目前从训练结果来看DQN的胜率远超CNN,它的落地也意味着未来用它去做其它人工智能连续决策方面的事情有了保障。
领取专属 10元无门槛券
私享最新 技术干货