当前位置:网站首页>B站这个视频我是跪着看完的
B站这个视频我是跪着看完的
2022-07-26 09:40:00 【Python数据之道】
来源:网罗天下黑
是什么样的事情需要多篇参考文献?

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

最近有在 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,如果说了「卧槽」,记得点赞支持,我已三连,就看你的了。
-------- End --------

精选内容


边栏推荐
猜你喜欢

Interview shock 68: why does TCP need three handshakes?

2022年中科磐云——服务器内部信息获取 解析flag

搜索模块用例编写

Login module use case writing

Search module use case writing

面试题目大赏

The diagram of user login verification process is well written!

QT handy notes (III) use qtcharts to draw a line chart in VS

Great reward for interview questions

登录模块用例编写
随机推荐
Customize permission validation in blazor
MQTT X CLI 正式发布:强大易用的 MQTT 5.0 命令行工具
m进制数str转n进制数
Mo team learning notes (I)
Fiddler packet capturing tool for mobile packet capturing
The problem of accessing certsrv after configuring ADCs
asp.net 使用redis缓存(二)
服务器、客户端双认证
The combination of officially issued SSL certificate and self signed certificate realizes website two-way authentication
dll中的全局变量
2020-12-29
C managed and unmanaged
asp. Net using redis cache
高斯消元的应用
asp. Net using redis cache (2)
高斯消元求解矩阵的逆(gauss)
js 表格自动循环滚动,鼠标移入暂停
Login module use case writing
Application of Gauss elimination
EOJ 2020 1月月赛 E数的变换