Artificial neural networks (ANNs) have proven to be extremely useful for solving problems such as classification, regression, function estimation and dimensionality reduction. However, it turns out that different neural network architectures are able to achieve higher performances for certain problems. This article will provide an overview of the most common neural network architectures — including recurrent neural networks and convolutional neural — and how they can be implemented to aid blockchain technology.
Convolutional Neural Networks
Convolutional neural networks (CNNs) are a type of neural network that is designed to capture increasingly more complex features within its input data. To do this, CNNs are constructed from a sequence of layers, each of which consists of a series of cube-shaped filters. The most common layers that are used within CNNs are the convolutional layer, the max-pooling layer and the fully connected layer.
• Convolutional Layer: The convolutional layer consists of a set of cube-shaped filters that are convolved with the input data by computing the dot product between both, resulting in a so-called convolved feature map. The objective of a convolutional layer is to extract features from the input data, and usually, multiple convolutional layers are used within the same network to allow it to learn increasingly more complex features as the data is propagated.
• Pooling Layers: Pooling layers are periodically inserted in convolutional networks and are responsible for reducing the spatial size of the convolved features. The main reason for doing this is to decrease the computational power required to process the data by means of dimensionality reduction. In general, two types of pooling layers are commonly used: max pooling layers and average pooling layers.
• Fully Connected Layers: Fully connected layers are added to the end of the network and take as input the flattened vector representation of the convolutional and pooling…