在我的世界中,B站UP主搭建世界首个纯红石神经网络,图灵奖得主Yann LeCun转赞
来源:51CTO.COM
时间:2023-04-29 22:13:36 209浏览 收藏
你在学习科技周边相关的知识吗?本文《在我的世界中,B站UP主搭建世界首个纯红石神经网络,图灵奖得主Yann LeCun转赞》,主要介绍的内容就涉及到,如果你想提升自己的开发能力,就不要错过这篇文章,大家要知道编程理论基础和实战操作都是不可或缺的哦!
在我的世界(Minecraft)中,红石是一种非常重要的物品。它是游戏中的一种独特材料,开关、红石火把和红石块等能对导线或物体提供类似电流的能量。
红石电路可以为你建造用于控制或激活其他机械的结构,其本身既可以被设计为用于响应玩家的手动激活,也可以反复输出信号或者响应非玩家引发的变化,如生物移动、物品掉落、植物生长、日夜更替等等。
因此,在我的世界中,红石能够控制的机械类别极其多,小到简单机械如自动门、光开关和频闪电源,大到占地巨大的电梯、自动农场、小游戏平台甚至游戏内建的计算机。
近日,B 站 UP 主 @辰占鳌头等人在我的世界中实现了真正的「红石人工智能」,他们耗时六个月,构建了世界上首个纯红石神经网络,任务是识别 15×15 手写数字。
作者表示,他们使用非传统的计算方式——随机计算来实现神经网络,在设计和布局上比传统全精度计算简单许多,并且单次理论识别时间仅为 5 分钟。
这个纯红石神经网络完成了机器学习领域常见的图像识别任务——手写数字识别,并且准确率达到了 80%(在 MNIST 数据集上模拟)。
在实现的过程中,作者使用到的各种元素包括如下:
单个神经元接受多个输入并产生一个输出。
加入「乘法器」,仅使用随机数和单个逻辑门运算小数乘法。
神经元阵列输出识别结果或传递到下一层。
各数字的置信度。
卷积层用来提取笔画特征。
全连接第一层:压缩信息并分类。
激活函数阵列:将数据非线性地映射到高维特征空间。
全连接第二、三层:进一步分类并输出识别结果。
作者表示,该网络使用的架构是压缩的 LeNet-5,准确率达到 80%。
不过,受限于 Minecraft 的运算能力,实际识别时间超过 20 分钟。尽管如此,这仍是红石数电领域的重大突破,也可能启发现实中的硬件神经网络。
目前,视频的播放量已经超过 80 万,全 B 站排行榜最高第 39 名,让各路网友叹为观止。就连图灵奖得主 Yann LeCun 也在 Facebook 上转发了该视频,表示「一位非常有耐心且坚持不懈的人使用红石在我的世界中实现了 LeNet-5。」LeCun 是 LeNet 架构提出者。
【Minecraft】世界首个纯红石神经网络!真正的红石人工智能(中文/English)【Minecraft】红石卷积神经网络——原理
背后的原理
在另外一个视频《【Minecraft】红石卷积神经网络——原理》中,作者详细解释了红石卷积神经网络的原理。
总的来说,他们使用的是压缩的 LeNet-5 卷积神经网络,卷积是网络的第一步计算,使用一个带权重的窗口(卷积核)逐次扫描图像并提取笔画特征。
然后将这些笔画特征馈入到深度神经网络(全连接层)进行分类识别。
在我的世界中实现红石神经网络
作者首先列出了输入设备,包括一个单脉冲式压力板手写板和 15×15 坐标屏。其中手写板每次产生 2tick 的坐标信号,接着由屏幕绘制。
随后输入的手写数字进入卷积层,计算方法是累加卷积核被遮盖的部分,并将结果输出到下一层。并且,为了保证非线性,输出还经过了 ReLU 函数。
由于卷积核只有 3×3,因而作者直接使用了电模运算,并在输出端自动进行 ReLU。
另外,又由于卷积无法像动画里那样移动,所以采用了直接堆叠的方式,再通过硬连线连接到手写板输入上。
到了全连接层,它的每层由若干神经网络构成。每个神经元都连接多个输入,并产生一个输出。神经元将每个输入加权累加,然后带入一个激活函数输出。需要注意的是,加权求和是「线性分割」,而激活函数一定是非线性的,用于提升维度。作者使用了 tanh(双曲正切)作为了激活函数。
反映到实际的神经元电路中,如下图所示。
同时,权重被储存在投掷器(用来调整物品配比生成不同频率的随机串)中,输入乘以权重后通过模电累加。
最终电路实现
关于电路实现,首先通过模电计算加法,然后转为数电信号。
累加器则是改装了另一位 Up 主提供的 2tick 流水线加法器,使之不会溢出。
接着堆叠神经元,构成一个全连接层。
最后一层的输出以及层间缓存使用如下模电计数器,它可以统计 5Hz 串中「1」的数量,容量则为 1024。
最后在输出层,计数器的高 4 位被连接到计数板上,然后电路选取最大的值并在输出面板上显示。
视频最后,作者展示了最终的网络结构,如下图所示。其中,权重范围为 [-1, 1],随机串长度为 1024,MNIST 数据集上的准确率约为 80%。不过当串长为 256 时,准确率仅为 62%。
文中关于人工智能,神经网络的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《在我的世界中,B站UP主搭建世界首个纯红石神经网络,图灵奖得主Yann LeCun转赞》文章吧,也可关注golang学习网公众号了解相关技术文章。
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
438 收藏
-
139 收藏
-
172 收藏
-
293 收藏
-
367 收藏
-
299 收藏
-
367 收藏
-
274 收藏
-
117 收藏
-
128 收藏
-
286 收藏
-
467 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 542次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 508次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 497次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 484次学习