Neural Network Visualisation

An interactive tool for visualizing and understanding neural network architectures


What This Application Does

NN-Visuals is an open-source web application designed to help researchers, students, and practitioners visualize and understand neural network architectures. It provides interactive 3D visualizations of various neural network models, allowing users to:

  • Explore the structure and components of different neural network architectures
  • Understand the connections and data flow between layers
  • Visualize how different architectures process information
  • Compare architectural differences between popular neural network models
  • Save and export visualizations for educational or research purposes

The tool aims to bridge the gap between theoretical understanding and practical implementation of neural networks by providing intuitive visualizations.

Available Neural Network Architectures

Single Layer Perceptron (SLP)

The simplest form of neural network with only input and output layers, a special case of FCNN.

Mathematical representation:

\[ y = \sigma\left(\sum_{i=1}^{n} w_i x_i + b\right) \]

Where:

\(\sigma\) is typically a step function, \(w_i\) are weights, \(x_i\) are inputs, and \(b\) is bias

Why it's a special case of FCNN: It's the simplest FCNN with no hidden layers, only capable of learning linearly separable patterns.

Multi-Layer Perceptron (MLP)

A feed-forward neural network with one or more hidden layers between input and output layers.

For each neuron in hidden layer \(l\):

\[ h^{(l)}_j = \sigma\left(\sum_{i=1}^{n^{(l-1)}} w^{(l)}_{ji} h^{(l-1)}_i + b^{(l)}_j\right) \]

Why it's a special case of FCNN: It's a specific type of FCNN with a strictly feed-forward architecture and fully connected layers, but without specialized structures like convolutional or recurrent connections.

Convolutional Neural Networks (CNN)

Specialized deep neural networks designed for processing structured grid data such as images.

Convolution operation:

\[ (f * g)(x) = \sum_{i=-\infty}^{\infty} f(i) \cdot g(x-i) \]

For a 2D image convolution with kernel \(K\):

\[ (I * K)(i,j) = \sum_{m} \sum_{n} I(i-m, j-n) K(m,n) \]

Learn More

Fully Connected Neural Networks (FCNN)

Traditional neural networks where each neuron is connected to every neuron in adjacent layers.

For each neuron:

\[ y = \sigma\left(\sum_{i=1}^{n} w_i x_i + b\right) \]

Where:

\(\sigma\) is the activation function, \(w_i\) are weights, \(x_i\) are inputs, and \(b\) is bias

Learn More

AlexNet

A pioneering deep CNN architecture that won the 2012 ImageNet competition and revolutionized computer vision.

Architecture consists of:

- 5 convolutional layers

- 3 fully connected layers

- ReLU activation: \[ f(x) = \max(0, x) \]

- Local response normalization (LRN)

Learn More

LeNet-5

One of the earliest CNNs developed by Yann LeCun, designed for handwritten and machine-printed character recognition.

Architecture consists of:

- 2 convolutional layers

- 2 subsampling (pooling) layers

- 3 fully connected layers

- Tanh activation: \[ \tanh(x) = \frac{e^x - e^{-x}}{e^x + e^{-x}} \]

Learn More

Basic Concepts in Deep Learning

Understanding Neural Network Types

Neural networks come in various architectures designed for different purposes. Here are the fundamental concepts:

Artificial Neural Networks (ANNs)

The broad category encompassing all computational systems inspired by biological neural networks. ANNs form the foundation of deep learning and include many specialized architectures.

Fully Connected Neural Networks (FCNNs)

A basic type of ANN where each neuron in one layer is connected to every neuron in the next layer. These are the traditional "vanilla" neural networks and serve as building blocks for more complex architectures.

Deep Neural Networks (DNNs)

An ANN (often an FCNN) with many hidden layers. The "deep" refers to the depth of the network architecture, with multiple processing layers allowing the network to learn hierarchical representations of the data.

Feed-Forward Neural Networks (FFNNs)

A fundamental neural network architecture where information flows in one direction only: from input to output, with no loops or cycles. Data passes through the network nodes sequentially without feedback connections, making these networks suitable for pattern recognition and classification tasks. FFNNs include simple perceptrons, multi-layer perceptrons, and many convolutional neural networks.

Mathematical representation:

\[ y = f(W \cdot x + b) \]

Where:

\(f\) is the activation function, \(W\) is the weight matrix, \(x\) is the input vector, and \(b\) is the bias vector

Generative Adversarial Networks (GANs)

A specific type of generative model that uses ANNs, frequently implemented as FCNNs or DNNs, as their Generator and Discriminator components. The Generator creates synthetic data samples while the Discriminator attempts to distinguish between real and generated samples, resulting in an adversarial training process that improves both networks.

Recurrent Neural Networks (RNNs)

A class of neural networks designed to recognize patterns in sequences of data by maintaining a form of memory through feedback connections. Unlike traditional feed-forward networks, RNNs can use their internal state (memory) to process variable length sequences of inputs, making them ideal for tasks like natural language processing, speech recognition, and time series analysis.

Mathematical representation:

\[ h_t = \sigma(W_{xh}x_t + W_{hh}h_{t-1} + b_h) \]

Where:

\(h_t\) is the current hidden state, \(x_t\) is the current input, \(h_{t-1}\) is the previous hidden state, \(W\) terms are weight matrices, and \(b_h\) is the bias

Technologies Used

This visualization tool was built with the following technologies:

D3.js

For data-driven document manipulation

Learn More
Three.js

For 3D visualization

Learn More
Bootstrap

For responsive design

Learn More