金融、视觉领域外,AI也成为游戏开发的颠覆性技术

作者: 佚名 2017-09-21 14:07:57

机器学习为我们开启了游戏开发训练的大门,而非游戏编程的大门。

“游戏开发”是一项非常复杂的任务,并且需要耗费大量的人力资源。图形艺术家、故事叙述者和软件工程师需要共同努力,才能打造出比较好的游戏环境、游戏情节和人物角色行为。

通常,游戏是以传统代码的形式出现的“硬线行为”的微妙组合,也是以大量规则的形式出现的更具响应性的行为集合。

在过去的几年间,数据导向型的“机器学习”已经逐渐取代了一些企业(比如亚马逊、Netflix和优步)中的规则导向型系统。在Unity,我们探究了“机器学习”技术的使用,包括“深度学习”在文本创作中的应用,以及“深度强化学习”在游戏开发中的应用。在机器学习和人工智能的浪潮中,我们看到了巨大的希望和发展空间。

金融、视觉领域之外,AI也成为游戏开发的颠覆性技术

对于那些数据导向型的大企业来说,机器学习已经不算是新兴技术了。2007年,Netflix发起了一个“过滤算法”的公开赛,为能够预测电影用户评分的最佳过滤算法专门设立了“Netflix奖”,这正是我们现在所经历的人工智能媒体报道浪潮的开端。

不过早在2000年年初,一些大企业为了谋求更好的发展,已经对“数据导向型决策”和“机器学习”有所涉猎了。为了充分了解顾客们的偏好,进而将顾客偏好转化为更高的销售额,亚马逊一直在潜心研究他们的“推荐算法”。

除了亚马逊的“推荐算法”之外,广告技术是另一个较早利用“机器学习”来提高网站点入率的领域。近年来,机器学习已经扩展至更多的行业,并且不断趋于成熟。

举例来说,我们在前面提到过的“推荐算法”最初只是作简单的推荐方案,如今已经发展到能够通过“探索”和“开发”寻求更多的信息。

而亚马逊和Netflix在使用他们的推荐系统进行数据收集时所面临的挑战是,如果只向客户展示推荐频率高的产品,而不展示其他的产品,那么他们获得的客户偏好信息就不全面。

而解决这一问题的方法是:将纯开发行为转变为加入了探索元素的开发行为。最近,由于同时具备了“开发”和“探索”能力,像“上下文老虎机”(contextual bandits)这样的算法能够更好地了解客户的未知信息,也因此越来越受欢迎。

相信我,“上下文老虎机” (contextual bandits)算法肯定会在你浏览亚马逊商城的时候隐藏了一些网页。

在2015年,DeepMind进一步发展了“上下文老虎机” (contextual bandits)算法,并且将其从一个 深度神经网络与强化学习大规模结合的系统 上发布出来。

该系统仅靠一些作为输入的原始像素和分数就能以超人类的水平掌握各种范围的Atari 2600游戏。DeepMind的研究人员将“开发”和“探索”的概念完全对立,“上下文老虎机” (contextual bandits)算法不太擅长行为学习,但是“深度强化学习”却能够学习用于最大化“未来累积红利”的行为顺序。

换句话来说, 深度强化学习会学习那些能够实现“长期价值”(LTV)最优的行为。在一些Atari游戏中,“长期价值”表现在那些通常为人类玩家保留的策略发展上。

在Unity,我们给自己提出了这样一个问题:如何让一只鸡学会穿过繁忙的道路而不被迎面而来的汽车撞上,同时还要收集道路上的礼包?我们采用了一种与DeepMind实验非常类似的通用“强化学习”算法,并且规定如果小鸡捡到礼包获得正分,被车撞到则获得负分。

除此之外,我们还给小鸡设定了四个动作:左移、右移、前进和后退。依靠这些原始像素和分数输入,以及几个非常简单的指令,小鸡在不足六个小时的训练后就达到了超人类水平的性能。

金融、视觉领域之外,AI也成为游戏开发的颠覆性技术

那么我们究竟是如何从实际应用的角度做到这一点的呢?其实很简单。我们使用了一组Python APIs,将Unity游戏与运行于“亚马逊网络服务器”(AWS)的TensorFlow服务相联系,TensorFlow是谷歌在2005年首次发布的深度学习框架。

仔细观看,你会发现小鸡在训练的初期阶段主要是探索如何不被汽车撞上(探索阶段),随着训练的深入,小鸡开始学习收集礼包(开发阶段)。

值得关注的是,这个学习系统的一个重要能力就是处理从未遇到的状况。游戏中汽车的出现和礼包的放置都是完全任意的,而尽管小鸡已经经过了几个小时的训练,它还是会遇到之前训练中没有经历过的情境。有了我们的Python API,读取游戏框架和游戏内部状态,使用机器学习对游戏进行反向操作就变得非常简单了。

这只游戏小鸡的训练给亚马逊、Netflix和优步的发展提供了一些灵感,他们可以运用相同的技术来优化其客户服务。

想象一下,假如要训练一个“非玩家游戏角色”(NPC),而不是对其行为进行编码,那么游戏开发者就需要创建一个游戏场景。在这个场景中,我们将会利用与Python API相联的“云强化学习”来训练NPC。

这个游戏场景可以是完全虚拟合成的,也可以在其中加入一些人类玩家。当训练到一定程度,这个NPC的性能已经相当不错的时候,游戏开发者就能利用另一组Unity API将TensorFlow模型直接嵌入他们的游戏中,这样一来,游戏就不需要连接TensorFlow的云服务了。

有些游戏开发者可能会说:“早在10到15年前,我们就已经这么做过了。”

但是时代已经发生了巨大的变迁。尽管我们已经发明了“递归神经网络”(RNN),比如用于序列学习的“长短时记忆”(LSTM)和用于空间特征学习的“卷积神经网络”(CNN),但是由于计算能力的欠缺,以及大规模、精细软件框架的缺失,这些神经网络在实际应用方面,如游戏开发,仍面临巨大的阻碍。

“深度强化学习”在游戏开发中的运用尽管仍处于初期发展阶段,但是我们清楚地知道它将很可能成为一项颠覆性的游戏技术。像TensorFlow这样成熟的机器学习框架正在不断降低游戏开发者和机器学习研究者的入门门槛。机器学习现在正不断进入企业的各个角落,那么我们完全有可能在未来游戏中的发现机器学习的影子。

AI 机器学习 游戏开发
上一篇:深度学习利器:TensorFlow在智能终端中的应用 下一篇:我们教电脑识别视频字幕
评论
取消
暂无评论,快去成为第一个评论的人吧

更多资讯推荐

机器学习转化为生产力,警惕这4个常见陷阱!

几乎每个人都想在他们的业务中引入机器学习,但是这些人也遇到了一个大问题:让模型可持续发展十分困难,尤其是在云架构的基础上。medium上一位博主也指出了这个问题,并提出了将机器学习模型投入生产的4个常见陷阱。

大数据文摘 ·  21h前
500亿参数,支持103种语言:谷歌推出「全球文字翻译」模型

由于缺乏平行数据,小语种的翻译一直是一大难题。来自谷歌的研究者提出了一种能够翻译 103 种语言的大规模多语言神经机器翻译模型,在数据丰富和匮乏的语种翻译中都实现了显著的性能提升。

机器之心 ·  2天前
机器学习免费跑分神器:集成各大数据集,连接GitHub就能用

搞机器学习的小伙伴们,免不了要在各种数据集上,给AI模型跑分。现在,Papers with Code (那个以论文搜代码的神器) 团队,推出了自动跑分服务,名叫sotabench,以跑遍所有开源模型为己任。

栗子 鱼羊 ·  2天前
AI核心难点之一:情感分析的常见类型与挑战

情感分析或情感人工智能,在商业应用中通常被称为意见挖掘,是自然语言处理(NLP)的一个非常流行的应用。文本处理是该技术最大的分支,但并不是唯一的分支。情绪AI有三种类型及其组合。

Veronika Vartanova ·  2天前
大数据为什么不够聪明?机器要如何走向强人工智能

大数据为什么不够聪明?比概率语言更强大的思考工具是什么?科幻电影中的强人工智能到底怎样实现?如何让智能机器像人一样思考?搞清楚因果关系才能拨云见日。

明日情报 ·  2天前
2019机器学习框架之争:与Tensorflow竞争白热化,进击的PyTorch赢在哪里?

2019年,机器学习框架之争进入了新阶段:PyTorch与TensorFlow成为最后两大玩家,PyTorch占据学术界领军地位,TensorFlow在工业界力量依然强大,两个框架都在向对方借鉴,但是都不太理想。

大数据文摘 ·  2天前
机器学习帮你预测电池寿命:精确了解电池还能充几次

电池寿命的确定,是移动硬件发展的重要一环,但是由于电池电化学反应的不确定性以及不同的使用环境和习惯,电池寿命变成了一门玄学。不过柏林的三位小伙伴,利用Tensorflow,在原有的预测体系基础上。更近一步,完成了电池的全寿命预测。

靓科技解读 ·  3天前
PyTorch横扫顶会,TensorFlow退守业界:机器学习框架一年变天

机器学习框架的世界,局势变化过于迅猛,稍不注意就会被抢了地盘。一年前,TensorFlow还是各大顶会论文选择的主流框架,如今顶会几乎成了PyTorch的天下。

鱼羊 栗子 ·  3天前
Copyright©2005-2019 51CTO.COM 版权所有 未经许可 请勿转载