《我的世界》作为人工智能中基于项目学习的平台

《我的世界》作为人工智能中基于项目学习的平台

刘老师 发表于 2024-08-28 19:10 上一篇


《我的世界》作为人工智能中基于项目学习的平台
萨米尔・辛格
加利福尼亚大学欧文分校计算机科学系

sameer@uci.edu

  摘要
  专注于开放式、基于项目的学习的本科课程教导学生如何定义具体目标,将算法的概念理解转化为代码,并评估 / 分析 / 展示他们的解决方案。然而,人工智能以及机器学习在方法和应用方面变得越来越多样化,这使得设计涵盖足够广泛的人工智能的项目课程具有挑战性。由于这些原因,现有的人工智能项目课程被限制在狭窄的一组方法(例如仅强化学习)或应用(例如仅计算机视觉)中。在本文中,我们提议使用《我的世界》作为通过基于项目的学习来教授人工智能的平台。《我的世界》是一款具有探索、资源收集、制作、建造和战斗元素的开放世界沙盒游戏,并由马尔默库支持,该库为玩家在不同粒度级别的观察和行动提供了编程接口。在《我的世界》中,学生可以设计项目来使用诸如基于搜索的人工智能、强化学习、监督学习和约束满足等方法,处理像文本、音频、图像和表格数据等数据类型。我们描述了我们使用《我的世界》的开放式本科人工智能项目课程的经验,其中包括 82 个不同的项目,涵盖了从导航、指令跟随、对象检测、战斗和音乐 / 图像生成等主题。

引言
基于项目的学习(马克汉姆 2011 年;麦克马纳斯和科斯特洛 2019 年)是一种通过开放式、实践型团队项目来培训学生的有效教学工具。这些项目不仅通过训练学生识别、设计和实施适当的解决方案来磨练技术技能,而且还鼓励自信心和创造力(他们需要定义自己的项目),并提供宝贵的领导能力和社交 / 团队合作经验。然而,为人工智能设计基于项目的课程具有挑战性。人工智能越来越涵盖大量不同的技术方法,例如监督学习、强化学习、基于搜索的技术和贝叶斯方法,以及应用领域,例如文本、图像、模拟环境和时间序列。由于设计困难 版权 2020 年,人工智能促进协会(www.aaai.org)。保留所有权利。涵盖合理的方法和领域子集的项目,现有的课程反而专注于单一的环境或领域,例如机器人技术、游戏、计算机视觉、文本等。尽管这些项目对于解决问题的技术培训有益,但它们忽略了基于项目学习的开放式和探索性组成部分,这是将人工智能应用于现实世界的关键部分:给定场景的哪一部分将受益于机器学习或人工智能?为了支持人工智能和机器学习中的各种开放式项目,我们提议将《我的世界》用于基于项目的人工智能学习。《我的世界》的沙盒性质提供了一个动态、开放式的环境,此外还得到了马尔默库的支持,该库允许在多个粒度级别进行编程式感知和控制。《我的世界》和马尔默的结合为学生提供了设计涵盖广泛的人工智能和机器学习技术问题的机会,具有适当的挑战水平。我们将描述我们使用马尔默 /《我的世界》设计的本科人工智能项目课程,并简要提及学生提出的一些项目,涵盖了从导航、指令跟随、对象检测、战斗和音乐 / 图像生成等主题。

《我的世界》和马尔默
《我的世界》是一款具有探索、资源收集、制作、建造和战斗元素的开放世界沙盒游戏。我们选择它作为人工智能项目的平台,主要是因为它的开放性;我们希望学生们能想象在试图模仿我们自身的环境中人工智能和机器学习的诸多可能性。尽管这是一款游戏,但环境本身相当复杂且动态,有许多可能的动作和输入,因此作为人工智能的平台相当复杂。使用《我的世界》也使其对不同群体的学生更具吸引力和可访问性,特别是因为它超越了与传统电脑游戏相关的暴力和侵略。
马尔默(Johnson 等人,2016 年)是一个建立在《我的世界》之上的人工智能实验平台,通过支持观察和动作的循环为游戏中的玩家提供编程访问。特别是,马尔默为玩家代理提供的观察包括:(1)环境的网格视图,(2)代理视图的原始像素,(3)对象可见实体的距离,以及(4)世界状态,如库存、武器状态、健康状况等。对于控制,玩家可以执行以下操作:(1)创建世界,(2)网格对齐移动,(3)连续移动(例如速度和方向),以及(4)库存、制作、战斗和建造结构的命令。这种观察和行动的多样性,例如对网格世界和连续状态 / 行动空间的支持,为学生提供了决定他们想要关注何种挑战的灵活性。有许多现有的使用 Malmo 的竞赛(Guss 等人,2019;Perez-Liebana 等人,2019),然而,它们相当有针对性,较少关注《我的世界》的开放性,反而更类似于其他具有明确目标的强化学习环境,如 OpenAI Gym(Brockman 等人,2016)和 Unity AI(Juliani 等人,2018)。

课程描述
我们开发了一门基于项目的本科人工智能课程,旨在探索将《我的世界》平台用于此目的。该课程是开放式的:学生必须在《我的世界》/Malmo 环境中定义自己的项目。只要他们以非平凡的方式使用机器学习或人工智能算法,学生就可以选择游戏的任何方面,无论是基于结构构建、导航、库存管理还是战斗。课程的目标是让他们激发项目目标,使用适当的方法作为解决方案,评估 / 分析他们的想法,并向班级展示他们的实施情况。
该课程的主要要求是作为团队的一部分在《我的世界》中开展一个项目,包括开始时的提案、状态报告和最终报告。由于我们希望传授现实世界软件工程和通信方面的知识,报告采用他们必须维护的项目公共网页的形式,以及他们的代码的公共存储库(在 Github 上)和他们的想法总结作为视频(上传到 YouTube 上)。
这门为期 10 周的课程已在加州大学欧文分校开设了两次,分别在 2017 年和 2019 年,分别有 108 名和 130 名本科生。大多数学生是主修计算机科学的大三或大四学生,并且已经修过本科阶段的人工智能和机器学习课程(我们课程的先修课程)。每个项目最多包含 3 名学生,在这两次开设中我们总共完成了 82 个项目。在撰写本文时(2019 年秋季),该课程的第三次开设正在进行中。

示例项目
我们因这些成果观察到了各种各样的人工智能项目;在此我们简要突出介绍几个有趣的项目。
在《我的世界》中实现马里奥,并使用深度强化学习实现自动横向卷轴平台游戏,
为玩家提供语音接口(例如 “砍那棵树”),
游戏内物品的自动生成,例如使用生成对抗网络生成逼真的树木,以及使用循环神经网络生成音乐,
通过控制角度和力量进行射箭以击中不同速度和距离的移动目标,
确定最有效的种子种植和作物收获计划以实现作物产量最大化,实施现有人工智能作业的更复杂版本,例如 Wumpus 世界、强化学习中的悬崖行走问题和吃豆人(DeNero 和 Klein 2010),以及从像素进行实时对象检测和分类。这种经历证实了对灵活、开放式项目的需求;尽管学生最初难以确定其项目的具体目标,但他们最终推动自己制作出多样化且技术先进的项目。所有项目及其视频、网站和源代码均可在 http://sameersingh.org/courses/malmo 获得。

结论
我们主张在本科课程中使用《我的世界》进行基于项目的人工智能学习。《我的世界》具有灵活性和开放世界的性质,涉及建造、制作、战斗和导航,再加上 Malmo 提供的不同粒度的控制和感知,形成了一个支持多种数据类型(语言、视觉、符号状态和实时控制)和技术方法(监督学习、强化学习和规划)的平台。我们强调了在两次本科课程中由学生设计的各种项目,共有 238 名学生和 82 个项目。
致谢
我要感谢微软研究院提供并支持 Malmo,感谢 Moshe Lichman 在第一次课程中的帮助,以及其他帮助使这门课程成为可能的工作人员,Zhe Wang、Stephen McAleer 和 Yasaman Razeghi。

参考文献
布罗克曼、张、彼得森、施耐德、舒尔曼、唐和扎雷巴 2016 年。OpenAI 健身房。在 arXiv:1606.01540 中。
德内罗和克莱因 2010 年。用吃豆人教授人工智能入门。在 AAAI 人工智能教育进展研讨会(EAAI)中。
古斯、科德尔、霍夫曼、霍顿、久野、米拉尼、莫汉蒂、利巴纳、萨拉赫丁诺夫、托平、维洛索和王 2019 年。利用人类先验的样本高效强化学习的 MineRL 竞赛。在 NeurIPS 中。
约翰逊、霍夫曼、赫顿、比格内尔和霍夫曼 2016 年。用于人工智能实验的马尔默平台。在 IJCAI 中。
朱利安尼、贝格斯、维克凯、高、亨利、马塔尔和兰格 2018 年。Unity:智能代理的通用平台。在 arXiv:1809.02627 中。
马克汉姆 2011 年。基于项目的学习 一座距离刚好的桥梁。教师图书馆员 39 (2):38。
麦克马纳斯和科斯特洛 2019 年。计算机科学中的基于项目的学习:学生和研究顾问的视角。J. 计算机科学学院 34 (3):38 - 46。
佩雷斯 - 利巴纳、霍夫曼、莫汉蒂、久野、克莱默、德夫林、盖纳和约尼塔 2019 年。马尔默(MARLÖ)中的多智能体强化学习竞赛。在 arXiv:1901.08129 中。


评论


暂时没有评论~

作者
刘老师

学无止境,虚怀若谷!


文章:198
本类推荐
解读教育信息化十年发展规划
   1073   
生态化学习-张立新-浙江师院
   1263   
本类热门
我要控告现代教育制度!
   1352   
生态化学习-张立新-浙江师院
   1263   
全球语是语言当中的“二进制”
   1102   
学校扼杀创造力
刘老师  2014-11-13 09:28:50
   1083