是什么样的事情需要多篇参考文献?        

又是什么样的事情需要多人合作,并前前后后忙碌了半年?        

最近有在 B 站刷视频的小伙伴应该知道,这是 UP 主 @辰占鳌头等人在 7 月 1 日发布的视频,并成功上了热榜。

视频就讲了一件事:耗时六个月,在「我的世界」这款面向儿童的游戏中,手搓出了世界上第一个「纯红石神经网络」,实现了手写数字识别的功能,甚至准确率还能达到 80%。

这么说,或许太过平淡,颇有一种回家后听家里人说起隔壁家小孩考了满分的既视感,感受不到其中的魅力。

只有打开弹幕,看着满屏的「?、NB、卧槽、见证历史」,才会恍惚间明白,UP 主做了什么。

反正当我看完了 UP 主上传的两段视频后,我是给跪了,原来「我的世界」真的是「别人家的世界」。

手搓人工智能

要想对 UP 主这个视频有所了解,你得先知道「红石」这玩意是啥,百度来的结果:

简单来说,红石是「我的世界」这个游戏中传递信号的主要元器件,可以为整个电路或部分电路提供信号来源,可以将信号从一个部分传到另一个部分,还可以接受信号做出反应。

按百度来的说法,红石元件配上数字电路、模拟电路的知识,你能在「我的世界」里肆意发挥你的想象力,小到机械控制:

大到手搓四则运算器:

而今天这个人工智能机器学习领域的神经网络,就是靠着红石的奇妙特性打造出来的,不过毕竟是在游戏中手搓,计算能力终归有限,所以 UP 主选择了作为入门案例出现的「LeNet-5」卷积神经网络。

确切的说,是压缩阉割版的「LeNet-5」,为了跑通模型,UP 主做了很多部件,比如用来模拟输入数字的手写板:

注意,这可是单脉冲式压力板手写板,还配有实时绘制图案的显示屏:

比如仅使用随机数和单个逻辑门运算小数乘法的乘法器:

这个随机数的生成制作起来可相当有意思,UP 主利用「我的世界」中的各种工具的设定,巧妙的制作出了能得到 0 和 1 的单元。

然后通过调整其中的比例,得到了一个能产生频率不同的随机数,将两个随机数生成器连接起来,就得到了可以计算乘积的乘法器。

比如用于接收和输出的单个神经元:

当然还有神经元阵列:

手搓了这些基础的「小部件」,UP 主还造了很多大工具,用来提取笔画特征的卷积层:

通过模电计算加法,而后转为数电信号,堆叠神经元构成的,用来压缩信息并分类的全连接层:

还有激活函数阵列:

以及再次分类并输出识别结果的全连接第二、三层:

当红石信号在里面跑一边「硬件」,最终输出的识别结果以及置信度就会展示出来:

整体架构是这样的:

是不是有那么亿点点看不懂?实话实说,我也很多地方看不懂,但能看懂的那点,像前面如何利用检测投掷器里的堆叠物来实现生成随机数,让我想起了《三体》里秦始皇让众多士兵举不同颜色的旗来组成 01,构建人形计算机的情节。

后来我看 UP 主的介绍,其实这个「LeNet-5」模型的训练,其实并非在「我的世界」游戏中完成,毕竟真靠红石炼丹,那估计能祖传了。

而是在电脑上训练模型,把最后的权重参数直接部署到「我的世界」里来,不过靠的是最最底层的红石硬件堆叠部署。

实现的巧妙且优雅,按 B 站小伙伴的说法,看了这个视频的沉默了。。。

都跪了,你说能不沉默嘛?

做下了这一创举的 UP 主,在视频投稿后不久,收到了「LeNet」架构提出者,图灵奖得主杨立昆的认可转发。

好家伙,这波真的是出圈了。

结语

实话实说,「我的世界」这个游戏不是咱第一次吃它的瓜了,之前只是沉醉在「我的世界」上那些专业建筑团队所制的精致模型上:

看完视频后我对这个游戏突然又多了很多好奇,尤其是「红石」,于是想着去知乎上搜搜看有关「红石」的问题。

巧了,我看到了这样一个几年前的问题——利用「我的世界」的红石电路实现人工智能可能吗?

2019 年的时候,有人是这么说的:

虽然有些取巧,也有些简陋,但毫无疑问,2022 年已经有人在上面跑神经网络模型了。

我好像又明白了点为什么「我的世界」有那么多粉丝了,真实、可玩,且有极高的拓展性,只要你认真,哪里都是浪漫。

没看过的小伙伴可以去 B 站看看,BV1yv4y1u7ZX,如果说了「卧槽」,记得点赞支持,我已三连,就看你的了。

电报群:wldxh  QQ 群:729224889  公众号:网罗灯下黑

发表评论

您的电子邮箱地址不会被公开。