Home > Article > Technology peripherals > "The owner of Bilibili UP successfully created the world's first redstone-based neural network, which caused a sensation on social media and was praised by Yann LeCun."
In Minecraft, redstone is a very important item. It is a unique material in the game. Switches, redstone torches, and redstone blocks can provide electricity-like energy to wires or objects.
Redstone circuits can be used to build structures for you to control or activate other machinery. They themselves can be designed to respond to manual activation by the player, or can be repeated repeatedly. Output signals or respond to non-player-induced changes, such as creature movement, item drops, plant growth, day and night changes, etc.
Therefore, in my world, redstone can control an extremely large number of types of machinery, ranging from simple machinery such as automatic doors, light switches and strobe power supplies, to huge elevators, automatic farms, Mini gaming platforms and even computers built into the game.
Recently, Bilibili UP owner @chenzhanaotou and others realized real "red stone artificial intelligence" in Minecraft. They spent six months building the world's first pure red stone Neural network, tasked with recognizing 15×15 handwritten digits.
The authors stated that they used a non-traditional calculation method - random calculation to implement the neural network. The design and layout are much simpler than traditional full-precision calculation, and the single theoretical recognition time is only 5 minutes.
This pure red stone neural network has completed a common image recognition task in the field of machine learning - handwritten digit recognition, and the accuracy has reached 80% (in MNIST simulated on the data set).
In the implementation process, the various elements used by the author include the following:
A single neuron receives Multiple inputs and produce one output.
Add "Multiplier" to perform decimal multiplication using only random numbers and a single logic gate.
The neuron array outputs the recognition result or passes it to the next layer.
Confidence of each number.
The convolutional layer is used to extract stroke features.
The first layer of full connection: compress information and classify it.
Activation function array: Nonlinearly map data to high-dimensional feature space.
Fully connected second and third layers: further classify and output recognition results.
The author stated that the architecture used by the network is compressed LeNet-5, with an accuracy of 80%.
However, due to the computing power of Minecraft, the actual recognition time exceeds 20 minutes. Nonetheless, this is still a major breakthrough in the field of redstone digital electronics and may also inspire real-life hardware neural networks.
Currently, the video has been played more than 800,000 times, ranking highest at No. 39 on the Bilibili rankings, astonishing netizens from all walks of life. Even Turing Award winner Yann LeCun reposted the video on Facebook, saying, "A very patient and persistent person implemented LeNet-5 in my world using redstone." LeCun is the proposer of the LeNet architecture .
【Minecraft】The world’s first pure redstone neural network! Real Redstone Artificial Intelligence (Chinese/English) [Minecraft] Redstone Convolutional Neural Network - Principle
is in another video "[Minecraft] Redstone Convolution In "Neural Network - Principle", the author explains in detail the principle of redstone convolutional neural network.
In general, they use a compressed LeNet-5 convolutional neural network. Convolution is the first step of the network calculation. It uses a weighted window (convolution kernel) to scan the image one by one and extract stroke features. .
Then these stroke features are fed into the deep neural network (fully connected layer) for classification and recognition.
Implementing Redstone Neural Network in Minecraft
The author first lists the input devices, including a single pulse Pressure plate writing tablet and 15×15 coordinate screen. The handwriting pad generates a coordinate signal of 2 ticks each time, which is then drawn on the screen.
The input handwritten digits then enter the convolution layer. The calculation method is to accumulate the covered parts of the convolution kernel and output the result to the next layer. Moreover, in order to ensure nonlinearity, the output also passes through the ReLU function.
Since the convolution kernel is only 3×3, the author directly uses the electrical model operation and automatically performs ReLU at the output end.
In addition, because the convolution cannot move like in the animation, a direct stacking method is used, and then connected to the handwriting pad input through hard wiring. .
At the fully connected layer, each layer is composed of several neural networks. Each neuron connects multiple inputs and produces an output. The neuron weights and accumulates each input and then feeds it into an activation function output. It should be noted that the weighted summation is a "linear division", and the activation function must be non-linear to increase the dimension. The author used tanh (hyperbolic tangent) as the activation function.
is reflected in the actual neuron circuit, as shown in the figure below.
At the same time, the weight is stored in the thrower (used to adjust the ratio of items to generate random strings of different frequencies). The input is multiplied by the weight and passed through the module. Add up.
Regarding the circuit implementation, first calculate the addition through analog electrical calculations, and then convert it into digital electrical signals.
The accumulator is modified from the 2tick pipeline adder provided by another Up master so that it will not overflow.
The neurons are then stacked to form a fully connected layer.
The output of the last layer and the inter-layer buffer use the following analog counter, which can count the number of "1"s in the 5Hz string , the capacity is 1024.
Finally at the output layer, the upper 4 bits of the counter are connected to the counting board, and then the circuit selects the maximum value and displays it on the output panel.
At the end of the video, the author shows the final network structure, as shown in the figure below. Among them, the weight range is [-1, 1], the random string length is 1024, and the accuracy on the MNIST data set is about 80%. However, when the string length is 256, the accuracy is only 62%.
The above is the detailed content of "The owner of Bilibili UP successfully created the world's first redstone-based neural network, which caused a sensation on social media and was praised by Yann LeCun.". For more information, please follow other related articles on the PHP Chinese website!