小查晨报奥飞斯量子位报告| 公众号QbitAI
或许是因为疫情的原因,人们在现实世界的行动受到限制,所以越来越多的人开始转向游戏世界,释放自己的本能。
此前举办毕业典礼有《我的世界》,之后举办AI会议有《动物森友会》。最近,《我的世界》被大师引入了硬核玩法。
你觉得他是涂鸦吗?不!事实上,他是做神经网络推理的。
任何熟悉神经网络的人都应该猜到这一点。
照片中的玩家正在运行MNIST 手写数字分类网络。
只需用剑在墙上画数字,神经网络就会识别你写下的数字。不仅如此,在这里你可以清楚地看到神经网络的推理过程中哪些神经元被激活。
这位富有想象力的玩家就是来自印度的年轻人Ashutosh Sathe,他的游戏项目叫做Scarpet-nn。
Sathe不仅发布了试用视频,还开源了代码,因此《我的世界》名玩家+神经网络炼金术士可以将自己的网络融入到游戏中。
Scarpet-nn 支持卷积层和全连接层,允许您在一个世界中运行多个神经网络。您还可以查看中间张量的分块激活并同时运行多个神经网络。
Sate 兄弟是如何想到使用《我的世界》 构建神经网络的想法的?
像素风格和神经网络是绝配,Minecraft 的像素色块简直就是显示三维数组的神器。如果长方体的每个小块以不同颜色显示一个值,则长方体可以表示张量。
然而,由于Minecraft 地图中的表示范围和资源有限,用神经网络来显示BERT 显然是不切实际的。
因此,最好用两个色块来表示二元神经网络(BNN)。
BNN 是一种高度简化的神经网络,其中权重和激活都只能采用两个值:+1 或-1。然而,计算机的二进制位表示是不同的。因此,BNN 将+1 存储为1,将-1 存储为0。
这样,BNN中的乘法运算就变成了逻辑门的异或运算,可以用《我的世界》个红石电路构建逻辑门。
至此,使用《我的世界》构建神经网络的理论基础就完成了,开始实际操作。
要使用神经网络到像素转换器模块,您的计算机上必须安装Java 版本《我的世界》,并且还需要第三方mod。该项目需要安装两个mod:Litematica 和Carpetmod。
您还需要通过Python3 安装PyTorch 和nbtlib。
下一步就是进行炼金。首先,在PyTorch 中训练二元神经网络。
Litematica 是一个模块,可帮助用户从头开始创建原理图、精确构建结构并指定块的放置位置。
运行modeltolitematica.py 将神经网络的所有层转换为不同的Litematica 图。每个图仅包含神经网络的一层。
在图中,紫色代表+1块,绿色代表-1块。
完成此步骤后,您将拥有一组后缀为.litematica 的原理图文件。文件名与指定的网络层相同,例如conv1.weight.litematica 或fc2.weight.litematica。只需导入相应的文件即可。
当神经网络安装在地面上时,卷积层就变成了4维数组,无法用3维空间来表达,所以还增加了压缩处理。
卷积层的一般形式是[c2,c1,fh,fw]。其中c2是输出激活的通道数,c1是输入激活的通道数,fh和fw是卷积滤波器的高度和宽度。
最后两个维度乘以scalket-nn得到[c2,c1,fhfw],解决了3D显示问题。
所有全连接层都不能以二维方式查看,也不需要调整。
然后,您可以在打开的空间中绘制16x16 输入图像。
将卷积层导入地图后,您可以执行神经网络操作。
最后,作者还提供了MNIST原理图的MineCraft文件包。如果你想轻松查看实际执行效果,可以通过公众号回复《我的世界》来获取。
不得不说《我的世界》的高手太多了。曾经有复旦大学的本科生从头开始创建计算机,现在我们有印度人从头开始构建神经网络。
(相关文章:用《我的世界》从零开始造一台计算机有多难?复旦硕士花了一年时间努力)
不过,以目前的模块,还无法训练出《我的世界》的神经网络,但在专家们的努力下,我想未来使用《我的世界》进行炼金也不是梦想。
传送门博客地址:https://ashutoshbsathe.github.io/scarpet-nn/scarpet-apps/twoclassmnist/
Litematica下载地址:http://minecraft.curseforge.com/projects/litematica
源代码:https://github.com/ashutoshbsathe/scarpet-nn
- 就这样-
量子比特QbitAI·今日头条签名
关注我们,第一时间了解最新技术动态
标题:我的世界神经病建筑,我的世界v神
链接:https://www.7kxz.com/news/gl/20428.html
版权:文章转载自网络,如有侵权,请联系删除!