当前位置: 首页 > 科技观察

机器学习在游戏开发中能做什么_0

时间:2023-03-16 22:10:46 科技观察

机器学习适合做什么?机器学习在许多领域取得了长足的进步。从应用领域来看,机器学习在“信息识别”、“数据预测”、“复杂控制”等方面展现出了强大的能力。比如在“信息识别”领域,依靠大数据的训练,目前的模式识别非常完善,手写数字的识别只是像HelloWorld这样的简单应用;惊人的100%准确率,未来该技术将在各种基于历史数据的预测应用中得到长足发展,如广告推荐系统、金融数据决策系统等;“复杂控制”,自动驾驶技术已经经历了十几年的研究,剩下的似乎只有识别硬件的成本。但是,上述技术中有相当一部分来自于“大数据”,或者说“监督学习”的训练,也就是说,这些机器的智能实际上来自于人类在数据中积累的“智慧”。机器只是在“模拟”人的某种思维和判断,而这种模拟采用的是类似于“查询搜索”的方法。——不过话又说回来了,人类的经验在书本上记载了几千年,需要另外一个大脑去学习,然后去运用;而机器学习则跳过了人脑阶段,从经验直接到应用,确实??是一个很大的进步。可以补充的是,未来所有“需要经验”的事情都已经可以被电脑代替,比如看病。但是,那些需要“创造”或“发现”的东西,如艺术创作、对客观规律的认识和发现,仍然需要人的大脑。幸运的是,在“无监督学习”领域,机器学习可以帮助人类更好地理解和发现世界的特性。这方面也很有用,但是现在好像应用领域不是很活跃(可能是我的理解不够广泛)。【机器学习预测房价的例子】AlphaGo在围棋领域战胜了人类,给了我们很大的思考空间。我们会想:机器能不能像人一样理解游戏规则,从而玩游戏呢?我个人的理解是还是不行。例如,在“监督学习”模式下,机器只能通过人类大量的“经验数据”来模拟人类的游戏行为,而不能进行独立的判断和思考;如果使用“深度学习”,确实会有一种“超越人类”的错觉,但不可忽视的是,“深度学习”需要一个高度抽象的模拟游戏规则的公式来指导机器的自我对弈。在发展了几千年的围棋、国际象棋等游戏领域,“计子”等游戏模式的体验已经可以相当准确地描述这款游戏,对于其他一些更复杂的游戏,仍然需要一个很多人的思维都是用一个高度抽象的数学模型来概括一个游戏。这就是为什么深度学习在一些规则简单的游戏中可以表现得更好,而其他更复杂的游戏需要大量的人工干预才能有点像样。[AlphaGo使用人类的游戏体验】所以我认为现阶段机器学习最成熟的应用是用“监督学习”的方式模拟人类对大量“体验”大数据的思考。这个方向是用来“理解”客观世界,还可以针对复杂环境“模拟”人类行为。两者几乎相同。游戏角色AI在机器学习发展中的困境,很让人联想到游戏中的角色AI。游戏中NPC或怪物的AI问题一直是游戏要解决的难题。比如游戏中人物的行为过于单一,让玩家感到乏味;或者游戏角色很容易因为BUG陷入一些卡壳的情况。为什么游戏角色AI会有这些问题?一般有几个原因:一是描述一个完整的AI非常繁琐,环境越复杂,AI逻辑过程越容易出现漏洞;另一个是AI对游戏角色的目标是非常多样的,很多游戏角色并不是越“聪明强大”越好,它应该作为一个“表现系统”让玩家体验游戏世界。【一组简单的游戏行为需要复杂的行为树】目前比较流行的游戏角色AI开发方式无非就是“状态机”和“行为树”。它可以无损转换,这意味着它本质上是相同的。这两项技术旨在帮助游戏开发者更准确、更完整地表达AI逻辑判断的数据结构。但是,游戏本身的逻辑复杂度还是需要程序员一步一步去理解,才能写成程序。在其他游戏中,使用了一种叫做“面向目标的路径规划”的技术,这实际上是“状态机”的升级技术:利用A*等寻路算法自动生成“状态”之间的逻辑路径来做不需要一开始就手动输入。因为这种技术在运行时会生成状态机图,所以表现出来的行为会更加丰富和准确,也不容易陷入一些“意想不到的情况”而卡在逻辑上。但无论状态机和行为树如何努力工作,从开发者的角度来看,必须用人脑来抽象和理解游戏世界的规则以及各种可能出现的情况。另外,游戏AI往往需要一个“表演”的效果,用代码和逻辑来“模拟”一次表演是相当繁琐的。(就深度学习技术而言,这种表现效果其实是不可能的,因为这种表现的逻辑行为往往不是“最优”的选择,甚至相当“糟糕”)所以,归根结底,游戏AI在互联网的困境是工作量造成的。因为我们没有很好的生成“游戏行为”的工具,所以我们的游戏行为往往不够好。机器学习如何应用于游戏角色AI的开发在机器学习领域,学习人类行为并将其应用到合适的场景是“监督学习”下最普遍和成熟的技术之一。经典的应用是“自动驾驶”。与自动驾驶需要昂贵的雷达设备才能“感受”真实世界相比,游戏中的所有数据都触手可及,这种监督学习的应用没有障碍。假设我们的游戏已经制定了基本的游戏规则,游戏场景也布置好了,剩下的就是如何放置游戏角色了。就像一部电影,场景和道具都准备好了,摄影机和剧本都准备好了,接下来就是演员的表演了。按照以往的做法,我们需要使用复杂的状态机系统来控制那些游戏角色的表现,而现在,我们可以让策划者(或其他开发者)直接控制游戏中的角色,真正发挥游戏的操作行为,让游戏角色进行表演,而机器学习程序就像录像机一样,可以通过记录我们控制的角色的行为来学习如何模仿我们的操作。当我们的表现足够丰富的时候,机器学习完全可以替代人工操控,让一些行为特征和预设一样。如果我们的游戏能够像上面的方法一样开发角色AI,我们将在游戏AI行为工具上得到巨大的提升。我们不再需要通过人脑对游戏的“性能”进行抽象和转化,而??是可以直接“玩”,这样除了省去“程序员”大量的开发工作之外,对于调试AI行为也更具表现力.性格行为特征(个性)也有相当大的好处。【游戏开发在很多方面越来越接近电影制作】显然,如果完全用“游戏”的形式来代替AI开发,即使有了机器学习的支持,可能仍然存在很多不足,比如“人工performance”可能无法涵盖所有??的游戏场景环境。但只要能节省工作量,我们还是可以使用旧的状态机技术定义一个相对“完整”的逻辑环境,弥补那些可能存在的漏洞。不过,我相信随着游戏测试的深入,机器学习一定能够更快更好地处理这些逻辑漏洞,毕竟“玩”几款游戏比写代码再调试要快得多。游戏角色AI的商业价值在目前的知名游戏中,确实有大量的游戏似乎对游戏角色AI“没有必要需求”,比如我们常见的MOBA类游戏,在桌游中,我们并不想用一个强大的AI来让我不断地花钱。但是你想象一下,如果我们的策划能够以比较低的成本生产出“AI”,那么我们的游戏就会脱离“玩具”的层次,变成一个可以“表演”的产品。我们常说IP对游戏的重要性,但真正体现IP的往往是故事体验,这需要一个好的“表演”系统。从另一个角度来说,如果我们的游戏除了精彩的PVP内容之外,还有很多优秀的PVE内容(所谓的单机体验内容),那么玩家可能会逐渐倾向于为我们制作的PVE内容付费。从这么多年的电影市场发展来看,优秀的“表演”还是会有很大的市场的。从知识产权保护的角度来说,玩法容易被抄袭(PVP主要是玩法),但PVE内容容易被保护。除了利用大量用户激活PVP收益外,PVE的发展或许是一个新的市场空间。(从《阴阳师》这样的产品,可以明显感受到这个市场的潜力)【巫师3不仅是一部互动电影,还是一款玩法优秀的游戏,超级IP】总结如果我们可以利用机器学习技术,为游戏角色开发一个更通用的AI工具,那么可能会让游戏拓展到一个新的PVE游戏市场,对游戏IP的产出也会有非常明显的作用。原文链接:https://cloud.tencent.com/developer/article/1006364【本文为专栏作者“云家社区”原创稿件,转载请联系原作者获得授权】点此查看更多好文该作者的文章