另外,作者介绍卷积层是用来提取笔画特征。
全连接第一层:压缩信息并分类;激活函数阵列:将数据非线性地映射到高维特征空间;全连接第二、三层:进一步分类并输出识别结果。
不过,UP主提到,受限于Minecraft的运算能力,实际识别时间超过20分钟。
尽管如此,这仍是红石数电领域的重大突破,也可能启发现实中的硬件神经网络。
背后原理从实际出发考虑,识别手写数字的任务,仅使用深度神经网络即可。
但是为了尽可能压缩计算量和参数量,作者使用了经典的「LeNet-5」卷积神经网络。
「LeNet-5」架构最初就是为了实现手写数字识别而生。不过,为了进一步减小计算开销,作者将网络的5层结构分别设定成15×15→7×7→30→30→10。
权重也被相应的压缩到[-1,1]。虽然这样的做法会将识别率从90%降到50%,但是如果网络的输入还算规整,那么它依旧可以得到一个很不错的识别率。
由于在Minecraft中实现反向传播是不现实的,而且权重都是使用pytorch训练好之后,再通过代码编辑到文件中,随后导入Minecraft。
由于权重也是随机串,所以只要编辑随机数生成装置即可。
那么随机数生成的原理又是什么呢?