Unity拥抱AI:用机器学习训练NPC、机器人、模拟自动驾驶

简介:

在李世石和柯洁战败后,人类在棋类竞技场已经难与AI争锋。很多人会说,作为非职业棋类选手,不在乎下不下的赢棋。想一想,要是以后打游戏也赢不了AI了……

这件事情已经发生了,且还在加速。雷锋网曾报道,2017年9月,Open AI的DotA 2游戏人工智能在1V1中击败了人类玩家。

同年9月,全球最大的3D游戏引擎Unity宣布发布Unity Machine Learning Agents(ML-Agents),一款提供给游戏开发者的开源AI工具包。Unity这一开源工具包是Unity将机器学习应用在游戏的成果,AI已经附能各行各业,那么在游戏行业,会带来哪些有趣的成果?

Unity拥抱AI:用机器学习训练NPC、机器人、模拟自动驾驶

5月11-13日,Unite Beijing 2018在国家会议中心召开。Unity AI与机器学习副总裁Danny Lange分享了ML-Agents的新进展,雷锋网也来到了现场。

ML-Agents助力游戏开发

Lange介绍到,机器学习对于游戏开发来说很重要,能够让游戏开发过程更加简单,让游戏变得更加有吸引力,开发者可以不用每一个方案都编程,游戏与玩家的互动变化可以让系统自己学习。就像人从环境当中感知,并作出反应一样。ML-Agents可以以相同的方式来训练这些系统。

Lange给大家演示了一个Demo,未来主义的赛车游戏,Demo中左边是人类,然后右边是机器学习的Agent。一开始的时候,Agent转弯不好,容易装车,但是它慢慢学习人类的操作,大概25分钟的训练之后,你可以看到可能还是有点不稳,但是不会再撞车了。经过不断的训练,Agent能编程非常好的选手。

那么,具体游戏场景中,可以有以下应用:机器学习可以应用在几个方面。第一个是创建NPC,有多种行为的NPC, NPC已经学习了很多人类行为,这会让与人类的交互更为自然。第二个是游戏本身。AI能够为优化玩家的乐趣进行学习,而不是为开发者的乐趣而进行优化。对于玩家来说,会有更多个性化和定制化的东西。第三个是一个完全不同的领域,就是我们用机器学习在游戏发布前测试游戏。确保使用agent代替人类玩家进行游戏时,你能够了解游戏是否能顺利进行。

此外,在游戏中如果人类玩家数量很少,就可以用agent代替人类玩家。最后一个方面是match making。使用机器学习可以将合适的玩家找出来,匹配在一起玩游戏。可以让机器学习系统了解如何优化游戏时间、为玩家配对以及如何最大化利用游戏时间。

Unity拥抱AI:用机器学习训练NPC、机器人、模拟自动驾驶

(由Unity创建的一个网球游戏RL/ML模拟训练环境示例)

ML-Agents训练自动驾驶、机器人

从两年多前,Unity就开始酝酿转型,从一家纯引擎提供商转向互联网+云增值服务。Danny Lange是Unity发力AI领域的背后推手,在加入Unity之前,Lange曾担任Uber机器学习负责人,在更早之前,Lange还负责过亚马逊和微软的机器学习产品研发。

除了游戏以外,ML-Agents在自动驾驶和机器人领域还有很多应用场景。Lange介绍到,自动驾驶是ML-Agents很大的应用领域,因为这样就不需要像Uber那样在真实的路上驾驶,用机器学习模拟就可以避免在真实道路测试带来的事故。另外一个领域是机器人,用增强型学习,你可以在虚拟环境去训练机器人,可以很快地完成几十万或者几百万次训练。训练好的模型可以放到真实的机器人上面应用。

此外,ML-Agents也可以应用在建筑设计中,比如要如何合理设计通道、人流,用机器学习的方式去模拟建筑内的路线图。


原文发布时间为:2018-05-22

本文作者:李诗

本文来自云栖社区合作伙伴“雷锋网”,了解相关信息可以关注“雷锋网”。

相关文章
|
29天前
|
机器学习/深度学习 数据采集 人工智能
【AI大模型】Transformers大模型库(十一):Trainer训练类
【AI大模型】Transformers大模型库(十一):Trainer训练类
51 0
|
4天前
|
JSON 人工智能 数据格式
AI计算机视觉笔记二十六:YOLOV8自训练关键点检测
本文档详细记录了使用YOLOv8训练关键点检测模型的过程。首先通过清华源安装YOLOv8,并验证安装。接着通过示例权重文件与测试图片`bus.jpg`演示预测流程。为准备训练数据,文档介绍了如何使用`labelme`标注工具进行关键点标注,并提供了一个Python脚本`labelme2yolo.py`将标注结果从JSON格式转换为YOLO所需的TXT格式。随后,通过Jupyter Notebook可视化标注结果确保准确性。最后,文档展示了如何组织数据集目录结构,并提供了训练与测试代码示例,包括配置文件`smoke.yaml`及训练脚本`train.py`,帮助读者完成自定义模型的训练与评估。
|
4天前
|
人工智能 开发工具 计算机视觉
AI计算机视觉笔记三十:yolov8_obb旋转框训练
本文介绍了如何使用AUTODL环境搭建YOLOv8-obb的训练流程。首先创建虚拟环境并激活,然后通过指定清华源安装ultralytics库。接着下载YOLOv8源码,并使用指定命令开始训练,过程中可能会下载yolov8n.pt文件。训练完成后,可使用相应命令进行预测测试。
|
3天前
|
人工智能 PyTorch 算法框架/工具
AI计算机视觉笔记二十二:基于 LeNet5 的手写数字识别及训练
本文介绍了使用PyTorch复现LeNet5模型并检测手写数字的过程。通过搭建PyTorch环境、安装相关库和下载MNIST数据集,实现了模型训练与测试。训练过程涉及创建虚拟环境、安装PyTorch及依赖库、准备数据集,并编写训练代码。最终模型在测试集上的准确率达到0.986,满足预期要求。此项目为后续在RK3568平台上部署模型奠定了基础。
|
4天前
|
人工智能 测试技术 PyTorch
AI计算机视觉笔记二十四:YOLOP 训练+测试+模型评估
本文介绍了通过正点原子的ATK-3568了解并实现YOLOP(You Only Look Once for Panoptic Driving Perception)的过程,包括训练、测试、转换为ONNX格式及在ONNX Runtime上的部署。YOLOP由华中科技大学团队于2021年发布,可在Jetson TX2上达到23FPS,实现了目标检测、可行驶区域分割和车道线检测的多任务学习。文章详细记录了环境搭建、训练数据准备、模型转换和测试等步骤,并解决了ONNX转换过程中的问题。
|
4天前
|
存储 人工智能 数据可视化
AI计算机视觉笔记二十一:PaddleOCR训练自定义数据集
在完成PaddleOCR环境搭建与测试后,本文档详细介绍如何训练自定义的车牌检测模型。首先,在`PaddleOCR`目录下创建`train_data`文件夹存放数据集,并下载并解压缩车牌数据集。接着,复制并修改配置文件`ch_det_mv3_db_v2.0.yml`以适应训练需求,包括设置模型存储目录、训练可视化选项及数据集路径。随后,下载预训练权重文件并放置于`pretrain_models`目录下,以便进行预测与训练。最后,通过指定命令行参数执行训练、断点续训、测试及导出推理模型等操作。
|
3天前
|
机器学习/深度学习 人工智能 测试技术
AI计算机视觉笔记二十五:ResNet50训练部署教程
该项目旨在训练ResNet50模型并将其部署到RK3568开发板上。首先介绍了ResNet50网络,该网络由何恺明等人于2015年提出,解决了传统卷积神经网络中的退化问题。项目使用车辆分类数据集进行训练,并提供了数据集下载链接。环境搭建部分详细描述了虚拟环境的创建和所需库的安装。训练过程中,通过`train.py`脚本进行了15轮训练,并可视化了训练和测试结果。最后,项目提供了将模型转换为ONNX和PT格式的方法,以便在RK3568上部署。
|
4天前
|
人工智能 计算机视觉 Python
AI计算机视觉笔记十九:Swin Transformer训练
本文介绍了使用自定义数据集训练和测试目标检测模型的步骤。首先,通过安装并使用标注工具labelme准备数据集;接着修改配置文件以适应自定义类别,并调整预训练模型;然后解决训练过程中遇到的依赖冲突问题并完成模型训练;最后利用测试命令验证模型效果。文中提供了具体命令及文件修改指导。
|
10天前
|
人工智能 PyTorch 算法框架/工具
AI计算机视觉笔记十二:基于 LeNet5 的手写数字识别及训练
本文档介绍了如何使用PyTorch框架复现经典的LeNet5模型,并通过MNIST数据集进行训练与测试。首先,创建虚拟环境并安装所需库,接着下载MNIST数据集。训练部分涉及四个主要文件:`LeNet5.py`、`myDatast.py`、`readMnist.py` 和 `train.py`。通过这些文件搭建模型并完成训练过程。最后,通过测试脚本验证模型准确性,结果显示准确率达到0.986,满足预期需求。文档还提供了详细的环境配置和代码实现细节。
|
26天前
|
机器学习/深度学习 人工智能 负载均衡
【AI大模型】分布式训练:深入探索与实践优化
在人工智能的浩瀚宇宙中,AI大模型以其惊人的性能和广泛的应用前景,正引领着技术创新的浪潮。然而,随着模型参数的指数级增长,传统的单机训练方式已难以满足需求。分布式训练作为应对这一挑战的关键技术,正逐渐成为AI研发中的标配。
118 5