当前位置:网站首页>B站大佬用我的世界搞出卷积神经网络,LeCun转发!爆肝6个月,播放破百万
B站大佬用我的世界搞出卷积神经网络,LeCun转发!爆肝6个月,播放破百万
2022-07-06 21:50:00 【量子位】
丰色 发自 凹非寺 量子位 | 公众号 QbitAI
非计算机专业、神经网络小白,爆肝六个月——
在《我的世界》里搭建一个卷积神经网络,这是什么神操作?
最近,来自B站up主@辰占鳌头的作品着实火了一把。
他和朋友们合作完成的这个号称“世界首个纯红石神经网络”,神经元、卷积层、全连接层、激活函数、乘法器、输入、输出……样样俱全、蔚为壮观,而且可以真的实现手写数字识别,准确率还达到了80%。
这波,妥妥就是如网友所说:
简直是实力与耐心做出来的超凡成果。
目前,这个视频的播放量已经上了一百万,在外网,它甚至还引起了LeCun的注意:不仅转发了他们的作品,还给出了“Very meta”的评价。
耗时6个月,用红石搭建卷积神经网络
红石是我的世界里一种可以传递信号的矿石资源,可以用来制作红石电路,进而完成小到如自动门、光开关、频闪电源的简单机械,大到电梯、自动农场、盾构机、小游戏平台甚至计算机的复杂工具。
本次作者们搭建的这个神经网络的架构,基于LeCun于1998年提出的经典卷积结构LeNet-5,它就是用来实现手写数字识别的。
相比传统的全精度计算(乘法器和加法器),作者经过一番思考和估算,决定采用随机计算的方式来实现这个神经网络,这样可以让设计和布局都简单一些。
毕竟对于用随机计算实现乘法来说,只需一个与门就可以表示单极,一个同或就能表示双极。
由于在我的世界中进行反向传播不太可能,网络的权重都是先在Pytorch中训练好,然后直接搬进去。
为了生成由随机串组成的权重,作者利用“投掷器投掷物品是随机的”这一原理造了一个随机数生成器。
总的来说,他们采用的是一个压缩的LeNet-5,先使用一个带权重的窗口(卷积核)逐次扫描图像并提取笔画特征,然后将这些笔画特征馈入到深度神经网络(全连接层)进行分类识别。
具体来说:
首先由输入设备:一个单脉冲式压力板手写板和15×15坐标屏,产生坐标信号,并在屏幕上绘制出笔迹。
然后手写数字进入卷积层,累加卷积核被遮盖的部分,并将结果输出到下一层。
其中:
(1)在卷积层,作者没有使用随机计算,而是使用我的世界中的模拟信号进行加法运算;
(2)为了保证输入数据可以非线性地映射到高维度特征空间然后进行线性分类,输出经过了激活函数ReLU;
(3)由于卷积无法随意移动,所以采用直接堆叠的方式,再通过硬连线连接到手写板输入上。
随后,是全连接层。每层由若干神经网络构成,每个神经元都连接多个输入,并产生一个输出。神经元将每个输入加权累加,然后带入一个激活函数输出。
全连接层使用的是随机计算,
激活函数用的是非线性的tanh。
实际的神经元电路如下:
最后一层的输出使用一个模电计数器,用来统计5Hz串中“1”的数量,容量则为1024。
最终,输出部分,计数器的高4位被连接到计数板上,然后电路选取最大的值并在面板上显示结果。
结构总览:
网络架构总览:
作者介绍,该神经网络在MNIST数据集上约实现了80%的准确率,作为对比,同权重的全精度网络的准确率为88%。
另外,它的单次理论识别时间约为5分钟,但没想到Minecraft的运算能力实在有限——在实际测试中,可能要40分钟以上。
由此作者得出,Minecraft随机计算神经网络在时间开销上未必优于全精度网络。不过全精度网络目前还没有人做出来。
“工作量和难度都很大”
在这个作品的评论区,都是一水儿的称赞有加与膜拜(连大V籽岷都冒泡了)——
看完大佬的巨作,有网友甚至开始怀疑自己和up主们玩的不是一个游戏。(手动狗头)
还有人指出,别看最终实现的功能只是相当于机器学习中的“hello world”,但用游戏中提供的红石元件复现出来,可以说是“工作量和难度都很大”。
因为“这要求作者对算法的底层实现或者硬件执行原理(类似cuda编程)有深刻的理解,还能使用游戏机制来优化执行过程以及完成并行计算”。
虽然最终识别速度比较慢,但“在这里探讨效率的意义不大”。
言外之意,它本身就很有价值,“我们不能拿cpu的两个线程经过无数层模拟器嵌套后的识别效率去跟显卡识别效率比较”。
最后,还有人感叹:好了,现在红石神经网络有了,硬盘、CPU、显示器也早就有了,红石超级电脑是不是也不远了?
“说不定到时我们就能在MC里玩MC了~”
关于作者
这个红石卷积神经网络一共有5位作者,up主@辰占鳌头是主要贡献者,负责电路的总体设计、搭建和调试。
他和另外一位作者@学杂不善([email protected])都是香港科技大学的学生,现在分别攻读理论物理学博士和电子工程学博士。
其他3位合作者中,有一位高中刚毕业(@NKID00),另外两位(@enadixxoOxoxO和@爱红石的小章鱼)没有透露自己的身份。
@辰占鳌头在2014年的时候就开始接触《我的世界》这款游戏了,曾做过一个编码汉字的显示器和一个8位的CPU。
问及为什么一个非计算机专业的学生想要搭建一个神经网络时,他告诉我们,其实自己参加过信息竞赛,由于之前接触过随机计算(stochastic computing),最初是想展示一下随机计算在特定任务下的优越性所以开始了这个项目。
最终为了搭建完整的神经网络,他看了50+页英文文献,写了1000多行代码。
要说最难/耗时最久的部分,他回答:是全连接层调试,因为运行速度很慢而且使用随机计算很难找到问题所在。
对于未来,up主表示,他正在考虑搭建一台支持RISC-V指令集的红石CPU。
查了一下,目前似乎还没人做出来,值得期待~
B站视频: https://www.bilibili.com/video/BV1yv4y1u7ZX?vd_source=6eb6d925760348954531a2288dcd74be
原理介绍: https://www.bilibili.com/video/BV1wF411F7PU/?spm_id_from=333.788&vd_source=6eb6d925760348954531a2288dcd74be
— 完 —
「量子位·视点」直播报名
什么是“智能决策”?智能决策的关键技术是什么?它又将如何打造引领企业二次增长的“智能抓手”?
7月7日周四,参与直播,为你解答~
点这里关注我,记得标星哦~
一键三连「分享」、「点赞」和「在看」
科技前沿进展日日相见~
边栏推荐
- 测试/开发程序员怎么升职?从无到有,从薄变厚.......
- Food Chem|深度学习根据成分声明准确预测食品类别和营养成分
- Unity3D在一建筑GL材料可以改变颜色和显示样本
- Data security -- 12 -- Analysis of privacy protection
- JS form get form & get form elements
- Redis source code learning (30), dictionary learning, dict.h
- Surpassing postman, the new generation of domestic debugging tool apifox is elegant enough to use
- 见到小叶栀子
- The first introduction of the most complete mongodb in history
- Triple half circle progress bar, you can use it directly
猜你喜欢
史上最全MongoDB之安全认证
How to solve the problem of adding RTSP device to easycvr cluster version and prompting server ID error?
Food Chem | in depth learning accurately predicts food categories and nutritional components based on ingredient statements
硬件开发笔记(十): 硬件开发基本流程,制作一个USB转RS232的模块(九):创建CH340G/MAX232封装库sop-16并关联原理图元器件
[on automation experience] the growth path of automated testing
Win11远程桌面连接怎么打开?Win11远程桌面连接的五种方法
[ArcGIS tutorial] thematic map production - population density distribution map - population density analysis
2022年电工杯B 题 5G 网络环境下应急物资配送问题思路分析
【写给初发论文的人】撰写综述性科技论文常见问题
kivy教程之设置窗体大小和背景(教程含源码)
随机推荐
True Global Ventures新成立的1.46亿美元后续基金关账,其中普通合伙人认缴6,200万美元以对后期阶段的Web3赢家进行投资
[ArcGIS tutorial] thematic map production - population density distribution map - population density analysis
The JSON format of the international area code of the mobile phone number is obtained with PHP
ESG全球领导者峰会|英特尔王锐:以科技之力应对全球气候挑战
接口自动化测试实践指导(中):接口测试场景有哪些
数学分析_笔记_第10章:含参变量积分
buildroot的根文件系统提示“depmod:applt not found”
Learn how to use js to merge two objects into one object assign()
Kotlin Compose Text支持两种颜色
史上最全MongoDB之部署篇
Digital chemical plants realize the coexistence of advantages of high quality, low cost and fast efficiency
Opencv third party Library
Use br to back up tidb cluster to GCS
用CPU方案打破内存墙?学PayPal堆傲腾扩容量,漏查欺诈交易量可降至1/30
[team learning] [34 issues] scratch (Level 2)
Different meat customers joined hands with Dexter to launch different hamburgers in some stores across the country
英特尔与信步科技共同打造机器视觉开发套件,协力推动工业智能化转型
Zero knowledge private application platform aleo (1) what is aleo
英特尔David Tuhy:英特尔傲腾技术成功的原因
2022 electrician cup a question high proportion wind power system energy storage operation and configuration analysis ideas