用Python写出Gameboy模拟器,还能训练AI模型:丹麦小哥的大学项目火了
机器之心机器之心报道机器之心编辑部察觉到运用Atari游戏去开展人工智能的研究, 似乎有着那么些许“不够贴近实际场景氛围”之感么? 此时此刻呀, 我们能够去采用模拟器了。对不少八十年代出生以及九十年代出生的人而言, 任天堂占据了青春相当大的部分。众多我们熟知的游戏最初均搭载于这款八位游戏掌机上诸如声名远扬的《马里奥》、《塞尔达》系列。在国内玩家这里, 玩得最多的当属《口袋妖怪》系列了。这一款游戏机, 从首次发布开始算, 到现在已经过去了 30 年时间段, 然而呢, 人们针对它的那种热情, 却一点都没有减少。就在昨天, 有一款借助编写所弄出来的模拟器, 在社交网络之上, 吸引到了人们的广泛关注。爷的青春回来了作者在 上发出的帖子迅速获得了上千点赞。Mads, 作为该项目的作者之一发出宣告, PyBoy的1.0版正式实现发布。PyBoy 是什么简言之, 它是个Game Boy模拟器, 是完全从头编写的, 还支持通过API编写脚本。研究者添加了类型定义, 使得它能够使用编译软件, 进而获得与用C和C编写的模拟器相匹敌的性能。项目链接特点PyBoy 是这样被设想并设计的, 它是经由特定方式得到访问方面的塑造, 所以它存在支持之态且鼓励人们去开展实验研究, 在机器人以及人工智能这两者进行相关尝试做法时。研究者正着手去构建鉴于游戏而专门设定所形成的包装器, 就目前这种状况而言, 此包装器能够使得程序员与名叫俄罗斯方块以及超级玛丽这般的游戏进行交互, 在交互做这件事的过程里, 并不需要对于 Game Boy 有着深入层次的了解。这里存在一份可供参照的文档:项目的作者有着想要去学习, 并且尝试更多那些奇特功能的想法, 依据大学项目展开的相关研究, 他们给模拟器增添了倒回功能, 这意味着, 在任何一款游戏当中, 您都能够实现时间的倒回。PyBoy 模拟器架构在1990年, 任天堂针对Game Boy去申请了专利, 有一幅图, 它展示了, 在该专利里, CPU、RAM、盒带以及显示屏相互之间的集成, 并且以及它们之间的连接。Game Boy 专利中的架构图。PyBoy项目成员, 基于此, 在其中为每个组件制定类class, 进而在「主机系统」上为「客户系统」搭建基础, 其为系统运行, 该客户系统乃虚拟的Game Boy硬件, 理论上它能够运行为Game Boy编写的方方面面软件部分。下图展示了 PyBoy 模拟器中所有类及其关系PyBoy 对强化学习的意义以及与其他环境的比较过往多年间, 存在着许多人员开展过模拟器的开发工作, 当下于电脑以及手机之上均存有能够予以运行的工具, 然而为何要借助其来进行一款的书写呢, 当然是为了运用其对人工智能实施训练的事项了。想打游戏 对于现在的人来说恐怕有点「难以上手」。最接近通用人工智能的方法——强化学习通用人工智能这个概念所指的是, 机器能够成功达成任意一项人类能够做到的智力方面的任务, 当下我们对于AI的研究, 距离这个目标还差着很远的距离, 吴恩达以往就曾表示过, 深度学习做的仅仅是高维的「curve」。不同于那些借助预先收集数据进行训练, 甚至还得大量人工标记才能运行的机器学习算法, 强化学习, 是一种仅凭借环境奖赏来开展训练的算法, 它的工作机制, 类似人体内部的多巴胺系统, 强化学习, 是当前最接近人类从经验里学习这种能力的机器学习算法, 特殊适用于智能体得依据其所处环境来做决策的情景。该图呈现这样的情形, RL 智能体凭借游戏图像充当输入, 进而开展学习马里奥控制策略的相关操作。凭什么, 好多好多跟RL有关的研究, 统统都在Atari那儿开展, 却不在别的, 那些更具实际意义的问题上面搞, 对?针对于RL这项研究当中, 涉及采取Atari用作基准的此种情况, 其背后致使的具体缘由, 大体上呈现出像下面所讲述的这样几项要点:Atari环境可使我们运用相同算法去测试多个各异的环境, 以此验证RL算法的通用性。由于输入仅为游戏图像增加了问题的复杂性Atari给研究人员提供了一个被公认的测试平台, 该平台能比较相对公平地不同算法之间的性能。RL进行学习需要大量的交互数据, 在真实环境中实际测试以前, Atari为算法的初期验证提供了一个测试平台, 这个测试平台安全、快速、低成本。下图为一些 Atari 环境的展示Atari、PySC2 之类环境与 PyBoy 对比上一个小节详细讲述了于Atari环境之中开展训练时RL智能体所具备的众多优势, 可是随着RL不断地进行发展, 这样一处相比较而言较为简单的环境慢慢地就不再能够适合当下全新的RL研究了。没过多久之前, 由相关方面所提出问世的处于所有Atari环境里其表现全都超越了人类玩家平均水平的一种情况, 也同样暗示着在Atari环境之上而开展的RL研究渐渐地就要步入结束阶段了。有在诸如与暴雪合作的PySC2这样更困难的环境里, 此环境需要智能体学会复杂的协同策略以及对抗策略。尽管它在这一环境中取得了令人极为瞩目的成果, 然而却依旧存在着许多迫切地需要去解决的问题。以下是PySC2环境示意图。PyBoy环境拥有如此程度的难度, 其程度处于Atari和PySC2两者之间, 它能够给予我们一个进行验证 的全新基准, 这个基准是关于RL性能方面的。在把RL应用到更为复杂的实际问题之前, 存在这样一种情况, 我们能够先在这样一种难度适度的环境里展开低成本且高效的测验。像特斯拉人工智能那里的, 自动驾驶视觉总监所讲那般, 说到, “One try a BB gun for the.”。介绍如何安装假设已然配备了一个能够顺利运转的环境, 那么开展安装将会极为简便:借助软件包管理器来尝试安装SDL2, 使用的方法是sudo apt -dev, 或者是brew sdl2。使用 pip pyboy 安装 Pyboy在终端, 能够直接运用 PyBoy 通过 $ pyboy file.rom 这种方式, 或者可于脚本之时采用相应办法。源于“pyboy”, 等于“PyBoy(ROMs/.gb)”。当并非“pyboy.tick()”的时候, 就处于“通过”的状态。该项目对macOS予以支持, 给予Pi支持, 为Linux给予支持 , 同时也支持10点之处 , 且是同时进行的。PyBoy API 文档要是用户有创建属于自身的机器人或者是 AI 的需求, 能够在 PyBoy寻觅到全部用来支持的外部组件, 其中各类及其使用方法极为详尽, 此处不再逐个叙述。如下图示结构索引简短示例PyBoy能够当作其中的对象予以加载, 所以它可从另外一个脚本展开初始化, 并且能够被该脚本操控以及探测。瞧一瞧那个在.py上较为粗糙的「机器人」, 正与游戏开展交互。当然啦, 所有的外部组件均可于PyBoy文档当中寻觅到。一般的Game Boy文档, 可查看Pan Docs, 它里面含有每个主题的详尽信息。如下示例乃是关于从屏幕提取数据的简短呈现, 此代码此外在.py当中能够寻觅到:pyboy, PyBoy , #使得我们能够从os.path.(os.path.())sys.path.(0, /..)获取PyBoy , #检查是否给出了ROM , 如果len(sys.argv) 1: , 则sys. , 打印(Usage:.py), 然后退出(1)。这似乎并不是一个规范的可理解的句子结构, 原内容较为混乱且不符合正常语法表达规则, 难以依照要求准确改写。也许你可以检查并修正原始句子, 以便能得到更合适的改写结果。这个句子似乎存在语法错误, 不太能准确理解其确切含义, 难以按照要求进行改写。在纠正错误并清晰表述后, 可再为你继续进行改写相关操作。mario.() mario. 2pyboy.stop()倘若你于加载了Super Mario Land ROM这个状况下运行上述代码了的话, 那么就在下面会得到图片以及终端输出。需要留意的是, Mario的形态被显示为索引0, 1, 16, 17。作者简介Asger Lund、Mads是该项目的作者, 他们都来自丹麦, 其中毕业于丹麦哥本哈根大学的Mads表示, 实际上这个模拟器能追溯到2015年他在大学时的项目。模拟器1.0版已发布啦, 然而对于开发者来讲, 仍存在诸多事宜可供去做。项目研发者宣称, 当下能够推进的方向涵盖于模拟器增添声音、彩色、模拟连线, 以及对更多游戏进行封装, 当然也包含在其之上训练神经网络的示例。期望于众人的奋力付出之下, 其中的游戏亦能够再度焕发出蓬勃生机。更为关键的是, 它当下居然拥有了用以训练人工智能的使命。在机器之心 CVPR 2020 线上分享的首期, 咱们邀请了来自北京大学智能科学系的陈汉亭, 其为论文一作, 来给咱们分享主题是《加法神经网络: 在深度学习里我方是否真的需要乘法? 》, 欢迎读者报名去学习。

相关新闻

2026实测8款自动朗读器 免费额度从0字到120000字 哪款日常够用

2026实测8款自动朗读器 免费额度从0字到120000字 哪款日常够用

简短结论 本次实测8款自动朗读器,免费额度从0字到120000字不等,轻度日常需求大部分带免费额度的产品都能覆盖,不需要额外付费。不同工具定位差异大,针对内容创作者整理音视频、职场人整理会议的需求,听脑AI更适合处理会…

2026/8/7 7:01:04 阅读更多 →
CPU、GPU与CUDA:从架构原理到实战优化的异构计算指南

CPU、GPU与CUDA:从架构原理到实战优化的异构计算指南

1. 从“单打独斗”到“团队协作”:计算世界的角色分工如果你最近在折腾深度学习、AI画图,或者玩一些3A大作时,大概率会碰到“CUDA”、“GPU加速”这些词。电脑卡了,任务管理器里一看,CPU可能闲得要命,GPU却…

2026/8/7 7:01:04 阅读更多 →
从Claude Fable 5下架看大模型越狱攻击:原理、危害与防御实战

从Claude Fable 5下架看大模型越狱攻击:原理、危害与防御实战

1. 从Claude Fable 5下架说起:一个被忽视的行业警报最近,AI圈子里发生了一件不大不小的事:Anthropic公司旗下的Claude Fable 5模型被悄然下架了。如果你不是深度用户,可能压根没注意到这个模型的存在,更别提它的消失了…

2026/8/7 7:01:04 阅读更多 →

最新新闻

Unity RuntimeInspector性能优化:从卡顿到流畅的架构与实战

Unity RuntimeInspector性能优化:从卡顿到流畅的架构与实战

1. 项目概述:当RuntimeInspector遇上性能瓶颈在Unity编辑器里拖拖拽拽,看着Inspector面板实时变化,是每个开发者都习以为常的场景。但当我们把这种“上帝视角”的能力带到运行时,特别是面对成百上千个动态生成的游戏对象时&#x…

2026/8/7 7:45:28 阅读更多 →
20轮对话后它还记得第一句话吗?Kimi K3多轮对话连贯性与逻辑推理实测

20轮对话后它还记得第一句话吗?Kimi K3多轮对话连贯性与逻辑推理实测

文章目录每日一句正能量摘要一、为什么多轮对话能力是"隐形杀手"?二、测试方法论2.1 测试环境2.2 信息分类与植入策略2.3 逻辑推理测试设计三、核心测试结果3.1 20轮对话信息保留率:三类信息的遗忘曲线3.2 逻辑推理能力:6类任务横评…

2026/8/7 7:45:28 阅读更多 →
HarmonyOS hvigor构建工具深度排雷:从原理到实战解决常见构建失败问题

HarmonyOS hvigor构建工具深度排雷:从原理到实战解决常见构建失败问题

1. 项目概述:当构建工具成为“拦路虎” 最近在HarmonyOS应用开发社区里,一个高频出现的讨论点就是关于DevEco Studio内置的构建工具hvigor。很多开发者,包括我自己在内,都曾满怀热情地启动一个新项目,或者满怀信心地拉…

2026/8/7 7:45:28 阅读更多 →
深度学芯片引脚检测系统 YOLOV8模型如何训练芯片引脚检测数据集

深度学芯片引脚检测系统 YOLOV8模型如何训练芯片引脚检测数据集

深度学习框架基于YOLOv8 pyqt5的芯片引脚检测系统 数据集情况: 905张数据集 包括[pin],1类也可自行替换模型,使用该界面做其他检测 以下是为您完整构建的 基于 YOLOv8 PyQt5 的芯片引脚检测系统,专为高精度工业质检场景设计&…

2026/8/7 7:45:28 阅读更多 →
Cadence Virtuoso快捷键全解析:从基础操作到高级定制,提升芯片设计效率

Cadence Virtuoso快捷键全解析:从基础操作到高级定制,提升芯片设计效率

1. 从“鼠标流”到“键盘流”:为什么Virtuoso快捷键是效率分水岭 如果你还在用鼠标一个个点开Virtuoso的菜单栏,在层层叠叠的选项里寻找“Create Instance”或者“Wire”,那你的设计效率可能被严重低估了。在芯片设计的漫长流程里&#xff0c…

2026/8/7 7:45:28 阅读更多 →
交通速度数据集处理与邻接矩阵生成:基于 METR-LA、PEMS-BAY、PEMSD7L、PEMSD7M 的完整代码指南 (1)

交通速度数据集处理与邻接矩阵生成:基于 METR-LA、PEMS-BAY、PEMSD7L、PEMSD7M 的完整代码指南 (1)

交通速度数据集处理与邻接矩阵生成:基于 METR-LA、PEMS-BAY、PEMSD7L、PEMSD7M 的完整代码指南 文章目录 交通速度数据集处理与邻接矩阵生成:基于 METR-LA、PEMS-BAY、PEMSD7L、PEMSD7M 的完整代码指南🚗 交通速度数据集处理与邻接矩阵生成&a…

2026/8/7 7:44:27 阅读更多 →

日新闻

为什么scrcpy成为Android投屏的终极解决方案:完整实战指南

为什么scrcpy成为Android投屏的终极解决方案:完整实战指南

为什么scrcpy成为Android投屏的终极解决方案:完整实战指南 【免费下载链接】scrcpy Display and control your Android device 项目地址: https://gitcode.com/GitHub_Trending/sc/scrcpy 想要将Android手机屏幕完美投射到电脑上,享受大屏操作的自…

2026/8/7 0:00:19 阅读更多 →
如何在5分钟内掌握Tom Select:打造现代化表单选择器的终极指南

如何在5分钟内掌握Tom Select:打造现代化表单选择器的终极指南

如何在5分钟内掌握Tom Select:打造现代化表单选择器的终极指南 【免费下载链接】tom-select Tom Select is a lightweight (~16kb gzipped) hybrid of a textbox and select box. Forked from selectize.js to provide a framework agnostic autocomplete widget wi…

2026/8/7 0:00:19 阅读更多 →
5分钟快速上手:NSZ压缩工具终极指南,轻松管理Switch游戏文件

5分钟快速上手:NSZ压缩工具终极指南,轻松管理Switch游戏文件

5分钟快速上手:NSZ压缩工具终极指南,轻松管理Switch游戏文件 【免费下载链接】nsz NSZ - Homebrew compatible NSP/XCI compressor/decompressor 项目地址: https://gitcode.com/gh_mirrors/ns/nsz 你是否在为Nintendo Switch游戏文件占用大量存储…

2026/8/7 0:00:19 阅读更多 →

周新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/6 22:02:27 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/6 22:02:27 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/6 22:02:27 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/5 23:28:39 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/6 22:02:28 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/5 23:46:51 阅读更多 →